RepoPilot

aaif-goose / goose

Search aaif-goose/goose

GitHub

Code

How aaif-goose/goose is laid out, and where to start for common changes.

A
Architecture grade
score 94/100
1
Import cycles
lower is better
336
Files mapped
179 imports between them
98%
Layering
of imports point one way

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.

Module map

Shade by
Standalonecrates542 files · 100+ commitsui416 files · 100+ commitsservices21 files · 1 commitevals4 files · 1 commitoidc-proxy2 files · 0 commitsbuzz1 file · 2 commitsworkflow_recipes1 file · 0 commits

7 modules, 0 links. A link means one module imports another; thicker lines mean more imports. Links come from 336 of 1,077 source files, so the real counts are higher. Select a module to trace it: blue lines go to what it uses, orange lines come from what uses it.

crates54200100+Standalone
ui41600100+Standalone
services21001Standalone
evals4001Standalone
oidc-proxy2000Standalone
buzz1002Standalone
workflow_recipes1000Standalone

Where to start reading

  1. Repository root
  2. Repository root
  3. Likely public API
  4. Likely public API
  5. Likely start-up file
  6. Likely start-up file
  7. Suggested starting pointAI
  8. Suggested starting pointAI

Find files for a task

AI

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.

Add a new CLI command or subcommand

  • Generate CLI documentation via crates/goose-cli/src/bin/generate_manpages.rs.

Extend the desktop application UI

  • Add UI state or component definition in ui/desktop/announcements/content.ts or ui/goose-acp/package.json.
  • Bind new UI actions to underlying agent via ui/goose-acp/bin/goose.mjs entry point.
  • Route handler calls through crates/goose-sdk/README.md for API consistency.

Change the public API

Trace runtime behavior

Add or update tests

Change build or automation

RepoPilot lists up to 500 files, so a file missing here may still exist.

  • Files marked “likely” are guessed from their names.
  • 1 suggested change pattern has no matching file and is left out.

Code quality and hotspots

Largest source files

  • Branch points72 per file on average
  • Code issues0 errors, 96 warnings
  • Largest file5,999 lines
  • Hotspot load10 high-risk files

Static checks on the 15 largest source files.

Tests, CI and tooling

  • CIGitHub Actions39 workflows
  • Tests241 test filesJest/Vitest · Rust test · 0.22 test files per source file (file count, not coverage)
  • Dependency updatesNo config detected

Test folders: crates/goose/src/agents/state_machine/tests · crates/goose-providers/tests · crates/goose-agent/tests

Hotspots

Files that change often and branch heavily, highest first. Branch points count if, loop, case, catch, ternary, && and || in the file.