Add a new external tool or capability via MCP
- Define tool schema in crates/goose-mcp/README.md and implement handler as an MCP resource.
- Use goose-acp-macros in crates/goose-acp-macros/src/lib.rs to generate capability schema.
How aaif-goose/goose is laid out, and where to start for common changes.
From the map of which files import which, built when the code was last read in full. It shows what depends on what, not a reading order.
RepoPilot lists up to 500 files, so a file missing here may still exist.
Static checks on the 15 largest source files.
Test folders: crates/goose/src/agents/state_machine/tests · crates/goose-providers/tests · crates/goose-agent/tests
Files that change often and branch heavily, highest first. Branch points count if, loop, case, catch, ternary, && and || in the file.