A community-driven registry for Claude, Cursor, Windsurf, Cline & more. Not affiliated with Anthropic.
Are you the author? Sign in to claim
Governed local runtime for AI coding agents: task lifecycle, mandatory gates, reviews, doc-impact checks, and auditable
Governed workflows for AI coding agents.
Garda supports multiple AI coding agent provider surfaces through one canonical workflow. See Supported Providers for the current provider list, entrypoints, bridge profiles, and known provider-specific limitations.
GARDA = Governed Agent Runtime, Deployment, and Audit.
Website · Quick Start · User Guide · Providers · Architecture · Work Example · CLI Reference · Configuration · Changelog
| Without Garda | With Garda |
|---|---|
| Agent jumps straight into edits | Agent enters a controlled task workflow |
| Tests, reviews, and docs checks depend on discipline | Gates run in a defined order |
| Completion means whatever the agent claims | Completion is checked before being accepted |
| Review context can drift | Review artifacts are required |
| No shared audit trail | Task-event history records the workflow |
| Each provider needs separate habits | One workflow surface across agents |
Task -> enter-task-mode -> load-rule-pack -> preflight -> compile -> review-context -> required reviews -> doc-impact -> completion
Garda does not replace your coding agent. It gives every agent the same controlled path to done.
AI coding agents are powerful, but in real repositories they can skip steps, lose context, avoid reviews, and mark work as done too early.
Garda adds a governance layer:
TODO → IN_PROGRESS → IN_REVIEW → DONEnpm install -g garda-agent-orchestrator
garda setup
Then give AGENT_INIT_PROMPT.md to your coding agent. The agent reuses existing init answers, confirms active agent files, initializes or refreshes project memory from repository evidence, offers optional skill packs, and finishes with garda agent-init.
After garda agent-init passes, pick a task from TASK.md and tell the agent:
Execute task T-001 from TASK.md strictly through all mandatory orchestrator gates.
The active profile (balanced, fast, strict, docs-only) provides the default execution mode; use explicit depth= only as a one-run override.
Mandatory gate order:
enter-task-mode -> load-rule-pack -> handshake-diagnostics -> shell-smoke-preflight -> classify-change -> load-rule-pack -> compile-gate -> build-review-context -> required-reviews-check -> doc-impact-gate -> completion-gate
Temporary fallback without global install:
npx -y garda-agent-orchestrator setup
npx runs the package once and does not keep garda or gao in your PATH.
If you want persistent commands, install globally.
| Feature | Description |
|---|---|
| Many Provider Surfaces | One canonical workflow with provider-specific entrypoints and bridges; see Supported Providers for the current list |
| Mandatory Quality Gates | Preflight → Compile → Review → Doc-Impact → Completion |
| Token Economy | Reviewer-context compaction, scoped diffs, gate output filtering — saves 60–100% on green builds |
| Task Lifecycle | TODO → IN_PROGRESS → IN_REVIEW → DONE with hash-chain integrity |
| Specialist Review Lanes | code, db, security, refactor, api, test, performance, infra, and dependency reviews when the task scope requires them |
| Node Runtime | Public CLI and gate flows run through the Node/TypeScript router with no shell runtime dependency |
| Compact Command Hints | Agent rules teach efficient CLI flags for everyday commands |
The provider list is maintained in docs/providers.md. That page documents current entrypoints, bridge profiles, shared AGENTS.md providers, and Antigravity 2.0 / CLI delegated-review support notes.
| Command | Description |
|---|---|
garda | Safe overview: help + current project status |
garda setup | First-run CLI onboarding without requiring an agent for the 6 answers |
garda agent-init | Hard code-level gate that finalizes agent onboarding |
garda next-step | Show the exact next orchestrator command for a task |
garda status | Short project status snapshot |
garda doctor | Run verify + manifest validation from existing answers |
garda preprompt | Build a read-only task brief with current context and canonical next commands |
garda html | Write a static read-only HTML report with optional snapshots |
garda ui | Start a read-only localhost UI with lazy task details |
garda status why-blocked | Explain why blocked or stalled tasks cannot progress, including task-event lock blockers |
garda doctor explain | Print remediation steps for known failure IDs |
garda bootstrap | Bundle-only deploy without install |
garda install | Deploy/refresh orchestrator (requires init-answers.json) |
garda init | Re-materialize live/ from existing answers |
garda reinit | Change init answers without full reinstall |
garda check-update | Compare current deployment with a newer npm package or local source |
garda update | Apply the update workflow directly (--dry-run for preview) |
garda update git | Apply or preview an update from a git repo or local clone |
garda rollback | Roll back to a specific version or restore from the latest rollback snapshot |
garda cleanup | Preview/apply tiered runtime retention and inspect review-artifact policy |
garda repair | Inspect or rebuild runtime indexes, protected manifests, and stale lock state |
garda uninstall | Remove orchestrator with keep/delete choices |
garda skills | List, suggest, add, remove, and validate optional built-in skill packs |
garda profile | List, switch, create, delete, and validate workspace profiles |
Published command names: garda, gao, garda-agent-orchestrator
Full reference: docs/cli-reference.md
garda-agent-orchestratorVERSIONpackage.json, package-lock.jsonnpm install -g garda-agent-orchestratorgarda setupnpx -y garda-agent-orchestrator setupnode_modules/.bin: npm install garda-agent-orchestratorgarda-agent-orchestratorgarda, gao, garda-agent-orchestratorbin/garda.jsgit status and git diff from the local repository to derive task scope, dirty-worktree baselines, zero-diff evidence, protected control-plane drift, and review freshness. The hosting service does not matter: GitHub, GitLab, Bitbucket, a private server, or no remote at all are all acceptable as long as the project is a local Git repository and the git CLI is available.package.json engines, CI matrix coverage, release validation, runtime diagnostics, and documentation. Node 24 remains the primary line.src/**/*.ts is the source of truth, src/bin/garda.ts compiles into the public bin/garda.js launcher, and that launcher executes compiled JavaScript from dist/src/**/*.js or the staged .node-build/src/**/*.js test build. Raw src/**/*.ts files are never executed directly.tsconfig.build.json runs strict:true for src/**/*.ts, and the wider repo graph (tsconfig.node-foundation.json / tsconfig.tests.json) covers src/**/*.ts, tests/node/**/*.ts, and scripts/node-foundation/**/*.ts.npm run release:preflight runs static readiness, a short test:release-smoke runtime-contract suite, then the full validate:release proof. npm run validate:release still requires a clean tracked/untracked worktree, proves build -> embedded bundle parity when present -> test -> pack -> install/invoke, and checks the worktree again before release handoff.ci.yml runs typecheck, test, validate:release, and a cross-platform lifecycle smoke that installs from the current workflow branch instead of drifting to the repository default branch.tsconfig.json extends tsconfig.node-foundation.json, so editors like IntelliJ IDEA or WebStorm can discover the repository without custom setup.| Node.js line | 1.1.x support status | Release/CI contract |
|---|---|---|
| Node 24 LTS | Official primary runtime | package.json allows >=24.0.0; GitHub Actions typecheck, unit, release validation, and cross-platform smoke run on Node 24. |
| Node 22.13+ LTS | Official compatibility runtime | package.json allows ^22.13.0; GitHub Actions typecheck, unit, release validation, and cross-platform smoke run on Node 22.13+. |
| Node 23, Node 22 before 22.13, and Node 20 or older | Untested / not officially supported | Outside the `^22.13.0 |
| Document | Description |
|---|---|
| HOW_TO.md | Step-by-step user guide |
| docs/cli-reference.md | Complete CLI command reference |
| docs/architecture.md | Design, runtime model, deployed files |
| docs/configuration.md | Token economy, output filters, review capabilities |
| docs/node-platform-foundation.md | Node foundation, execution model, validators, and build/test skeleton |
| docs/work-example.md | Task lifecycle walkthrough |
| AGENT_INIT_PROMPT.md | Setup prompt for coding agents |
| CHANGELOG.md | Full changelog |
| MANIFEST.md | Bundle file manifest |
Garda was not started from scratch in this repository. Earlier versions were developed privately as shell/Python prototypes before being rewritten and consolidated into the current Node/TypeScript implementation. This public repository intentionally starts from the first stable public release, v1.0.0, so the earlier internal incubation history is not reflected in the public commit log.
src/bin/garda.ts now owns the public CLI launcher and bin/garda.js is build-generated only.npm run build explicitly before using the generated launcher and compiled runtime from source.dist/ state.tsconfig.json for standard editor/IDE TypeScript discovery and included it in the published package surface.tests/node/** baseline now completes cleanly without temp workspace helper noise.enabled=true with enabled_depths=[1,2].garda, gao, garda-agent-orchestrator aliases.garda setup can collect the 6 init answers itself and write runtime/init-answers.json without an agent.AGENT_INIT_PROMPT.md so the agent reuses existing init answers, clarifies language when it cannot recognize it confidently, explicitly confirms which agent entrypoint files are actively used, initializes or refreshes live/docs/project-memory/** from repository evidence, optionally manages built-in skill packs, and finishes with the hard garda agent-init gate.runtime/agent-init-state.json, garda status and garda preprompt task surface the state-gated project-memory init/refresh prompt while the state does not yet record both ProjectMemoryInitialized=true and ProjectMemoryValidated=true. Malformed agent-init state is reported as invalid first; rerun garda agent-init after repair so the memory readiness fields can be trusted. Once both flags are true, green-path task startup does not ask for full memory initialization again.live/config/skills-index.json index. After the user selects a built-in pack, it should be installed into live/skills/** without reading the full optional SKILL.md immediately. Full optional skill files should be opened only later, when the selected skill is actually activated for a task or a hard activation rule requires it.garda without arguments is now non-destructive and only prints overview/help.--trust-override --no-prompt, and ordinary CLI flows ignore the legacy GARDA_UPDATE_TRUST_OVERRIDE environment variable.garda-agent-orchestrator/runtime/task-events/*.lock and review-artifact locks under garda-agent-orchestrator/runtime/reviews/*.lock. Use garda doctor --cleanup-stale-locks --dry-run before removing stale lock directories.bin/garda.js is a generated launcher compiled from src/bin/garda.ts; repository builds run from dist/src/**/*.js, tests can stage .node-build/src/**/*.js, and packaged installs invoke the same compiled contract from node_modules.tsconfig.json is the editor-facing entrypoint and simply extends tsconfig.node-foundation.json.docs/ directory.GARDA is an independent open-source project for governed AI coding workflows.
Support helps cover AI tokens, model subscriptions, release validation, documentation, compatibility testing, and maintenance.
Apache License 2.0. See LICENSE.
npx CLI installing 100+ agents, commands, hooks, and integrations in one command
干净、强大、属于你的 AI Agent 平台 --AI agents, without the clutter.
Native macOS app to monitor Claude AI usage limits and watch your coding sessions live
Pocket Flow: Codebase to Tutorial