agpod is a Rust CLI for three concrete workflows:
- minimize git diffs for LLM context
- track exploration work as structured cases
- print repository paths with Git or Jujutsu branch metadata
- summarize oversized file diffs
- reduce empty-line noise while preserving patch structure
- optionally save review chunks with a
REVIEW.mdchecklist
- open, redirect, close, and resume structured exploration cases
- record findings, decisions, blockers, and ordered execution steps
- emit machine-readable JSON and support MCP-based automation
- append branch or bookmark metadata to paths
- filter to repository paths only
- fit shell pipelines such as
zoxide,fzf, and custom prompts
git clone https://github.com/towry/agpod.git
cd agpod
cargo build --releaseBuilt binaries:
target/release/agpodtarget/release/agpod-mcp
git diff | agpod diff
git diff | agpod diff --save
git diff | agpod diff --save --save-path custom/pathSee docs/SAVE_OPTION_SUMMARY.md.
agpod case open \
--goal "find the root cause" \
--direction "inspect the failing path first"
agpod case current
agpod case step add \
--id C-550e8400-e29b-41d4-a716-446655440000 \
--title "collect logs" \
--start
agpod case record \
--id C-550e8400-e29b-41d4-a716-446655440000 \
--kind evidence \
--summary "captured the failing request"echo "/path/to/repo" | agpod vcs-path-info
echo "/path/to/repo" | agpod vcs-path-info -f "{path} [{branch}]"
zoxide query --list | agpod vcs-path-info --filter -f "{path} [{branch}]" | fzfGlobal config:
$XDG_CONFIG_HOME/agpod/config.toml~/.config/agpod/config.toml
Repo-local override:
.agpod.toml
Example:
version = "1"
[log]
level = "warning"
[diff]
output_dir = "llm/diff"
large_file_changes_threshold = 100
large_file_lines_threshold = 500
max_consecutive_empty_lines = 2
[case]
server_addr = "127.0.0.1:6142"
auto_start = true
access_mode = "local_server"
semantic_recall_enabled = false
vector_digest_job_enabled = false
[case.plugins.honcho]
enabled = false
sync_enabled = true
# base_url = "https://api.honcho.dev"
# workspace_id = "ws_123"
# api_key = "honcho_secret"
# api_key_env = "HONCHO_API_KEY"See examples/config.toml and docs/case-configuration.md.
Environment variables still override file config. Common Honcho-related overrides:
AGPOD_CASE_HONCHO_ENABLED=trueAGPOD_CASE_HONCHO_SYNC_ENABLED=trueAGPOD_CASE_SEMANTIC_RECALL=trueHONCHO_BASE_URL=https://api.honcho.devHONCHO_WORKSPACE_ID=ws_123AGPOD_CASE_HONCHO_API_KEY=...AGPOD_CASE_HONCHO_API_KEY_ENV=HONCHO_API_KEYHONCHO_API_KEY=...
Logs default to warning and are written under the platform data directory in agpod/logs/, for example ~/Library/Application Support/agpod/logs/agpod.log, agpod-case-server.log, and agpod-mcp.log.
crates/agpod- CLI entrypointcrates/agpod-core- shared configuration helperscrates/agpod-diff- diff minimizationcrates/agpod-case- exploration case trackercrates/agpod-vcs-path- VCS path formattingcrates/agpod-mcp- MCP server for case workflows
cargo build
cargo test
cargo clippy --all-targets --all-features -- -D warnings
cargo fmt --allMIT. See LICENSE.