AGENTS.md
AGENTS.mdAGENTS.mdroot
Quality
100/100
Scores the file, not the repository.Length
627 words
21 headings · 8 code blocksRepository
52k
— · pushed 0 days agoLast changed
3 days ago
First indexed 3 days ago.1# AGENTS Instructions23goose is an AI agent framework in Rust with CLI and Electron desktop interfaces.45## Contribution Workflow67The issue is the source of truth for work intended for an upstream pull request. Track issue status on the [Goose Issues board](https://github.com/orgs/aaif-goose/projects/1).89- Before implementing an issue for a pull request, confirm that it is on the board with Status **Ready**.10- Do not implement issues in **Inbox**, **Needs info**, or **Accepted / design**. Help resolve the issue discussion instead.11- Read the agreed design, constraints, non-goals, and verification plan before changing code.12- Keep the implementation within the issue's agreed scope.13- If implementation reveals a material design change, return to the issue before continuing.14- Every external pull request must link the Ready issue it implements and explain how the verification plan was performed.1516Maintainer-directed work, urgent security fixes, release automation, and local or exploratory changes do not require a Ready issue.1718## Setup19```bash20source bin/activate-hermit21cargo build22```2324## Commands2526### Build27```bash28cargo build # debug29cargo build --release # release30just release-binary # release binary31```3233### Test34```bash35cargo test # all tests36cargo test -p goose # specific crate37cargo test --package goose --test mcp_integration_test38just record-mcp-tests # record MCP39```4041### Lint/Format42```bash43cargo fmt44cargo clippy --all-targets -- -D warnings45```4647### UI48```bash49just run-ui # start desktop50cd ui/desktop && pnpm run typecheck51cd ui/desktop && pnpm test # test UI52```5354## Structure55```56crates/57├── goose # core logic58├── goose-acp-macros # ACP proc macros59├── goose-cli # CLI entry60├── goose-mcp # MCP extensions61├── goose-test # test utilities62└── goose-test-support # test helpers6364ui/desktop/ # Electron app65```6667## Development Loop68```bash69# 1. source bin/activate-hermit70# 2. Make changes71# 3. cargo fmt72```7374### Run these only if the user has asked you to build/test your changes:75```76# 1. cargo build77# 2. cargo test -p <crate>78# 3. cargo clippy --all-targets -- -D warnings79```8081## Rules8283- Test: Prefer tests/ folder, e.g. crates/goose/tests/84- Test: When adding features, update goose-self-test.yaml, rebuild, then run `goose run --recipe goose-self-test.yaml` to validate85- Error: Use anyhow::Result86- Provider: Implement Provider trait see providers/base.rs87- MCP: Extensions in crates/goose-mcp/88- UI Desktop: Use ACP SDK types or local `src/types/*` types. Do not import generated OpenAPI types/client code from `ui/desktop/src/api`8990## Code Quality9192- Comments: Write self-documenting code - prefer clear names over comments93- Comments: Never add comments that restate what code does94- Comments: Only comment for complex algorithms, non-obvious business logic, or "why" not "what"95- Simplicity: Don't make things optional that don't need to be - the compiler will enforce96- Simplicity: Booleans should default to false, not be optional97- Errors: Don't add error context that doesn't add useful information (e.g., `.context("Failed to X")` when error already says it failed)98- Simplicity: Avoid overly defensive code - trust Rust's type system99- Logging: Clean up existing logs, don't add more unless for errors or security events100101## Never102103- Never: Recreate `ui/desktop/src/api` or add `@hey-api/openapi-ts` to `ui/desktop`104- Cargo.toml: For human-authored dependency changes, use `cargo add` instead of manually editing dependency entries unless there is a specific reason not to.105- Cargo.toml: Automated dependency bump PRs are exempt; when manual edits are necessary, keep `Cargo.lock` consistent.106- Never: Skip cargo fmt107- Never: Merge without running clippy108- Never: Comment self-evident operations (`// Initialize`, `// Return result`), getters/setters, constructors, or standard Rust idioms109- Never: Overwrite a live binary in place (e.g. `cp`/`fs.copyFileSync` onto an existing executable) - unlink or atomic-rename the destination first, otherwise macOS SIGKILLs running processes with "Code Signature Invalid"110111## Entry Points112- CLI: crates/goose-cli/src/main.rs113- UI: ui/desktop/src/main.ts114- Agent: crates/goose/src/agents/agent.rs115
Also in aaif-goose/goose
Diff this repo’s formatsOne repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| aaif-goose/goose.github/copilot-instructions.md · 52k | Copilot instructions | setuptestlint-formatstyle+5 | 86/100 | 3 days ago | |
| aaif-goose/goosedocumentation/AGENTS.md · 52k | AGENTS.md | lint-formatstyledocs | 33/100 | 3 days ago |
Similar configs
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| n8n-io/n8npackages/@n8n/agents/AGENTS.md · 199k | AGENTS.md | buildteststylearch+3 | 100/100 | 3 days ago | |
| duckduckgo/content-scope-scriptsspecial-pages/AGENTS.md · 70 | AGENTS.md | buildteststylearch+3 | 100/100 | 3 days ago | |
| wpscanteam/wpscanAGENTS.md · 9.7k | AGENTS.md | setupbuildteststyle+6 | 100/100 | 2 days ago | |
| code-yeongyu/oh-my-openagentpackages/web/AGENTS.md · 67k | AGENTS.md | setupbuildtestlint-format+6 | 100/100 | 2 days ago | |
| mui/material-uiAGENTS.md · 99k | AGENTS.md | setupbuildtestlint-format+9 | 100/100 | 3 days ago | |
| TryGhost/Ghoste2e/AGENTS.md · 55k | AGENTS.md | setupteststylearch+2 | 100/100 | 3 days ago | |
| ethereum/go-ethereumAGENTS.md · 51k | AGENTS.md | buildtestlint-formatgit+1 | 100/100 | 3 days ago | |
| elastic/elasticsearchx-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/AGENTS.md · 78k | AGENTS.md | buildtestlint-formatstyle+2 | 100/100 | 3 days ago |
