Skip to Content

gofasta ai

Install project-specific configuration for AI coding agents — permission allowlists, hooks, conventions files, and slash commands. Every gofasta project ships AGENTS.md by default (the universal file every modern agent reads); per-agent configuration is opt-in via this command so developers who don’t use AI agents aren’t cluttered with dotfiles they don’t need.

Every installer is idempotent — re-running after a gofasta update refreshes the config without touching files you’ve edited.

Usage

gofasta ai <agent> [--dry-run] [--force] [--switch] gofasta ai list gofasta ai status gofasta ai uninstall <agent> [--dry-run]

Inherits the global --json flag for machine-parseable output.

Flags

gofasta ai <agent> (the installer):

FlagTypeDefaultDescription
--dry-runboolfalsePreview what would be written without touching disk
--forceboolfalseOverwrite existing files whose contents differ from the template
--switchboolfalseReplace the currently-installed agent with this one (uninstalls the previous agent first). Useful when you want to try a different agent without manually running uninstall then install.

gofasta ai uninstall <agent>:

FlagTypeDefaultDescription
--dry-runboolfalsePreview what would be removed without touching disk

Supported agents

KeyAgentWhat gofasta ai <key> installs
claudeClaude Code .claude/settings.json (project permissions), .claude/hooks/pre-commit.sh (runs gofasta verify), .claude/commands/ (project slash commands: /verify, /scaffold, /inspect)
cursorCursor .cursor/rules/gofasta.mdc (project rules referencing AGENTS.md)
codexOpenAI Codex .codex/config.toml (command allowlist pointing at AGENTS.md)
aiderAider .aider.conf.yml (auto-test + auto-lint) + .aider/CONVENTIONS.md
windsurfWindsurf .windsurfrules (project rules)

Subcommands

gofasta ai list

Prints every supported agent:

$ gofasta ai list KEY NAME DESCRIPTION claude Claude Code Anthropic's official CLI coding agent cursor Cursor AI-first IDE with project-level rules and MCP support codex OpenAI Codex OpenAI's coding agent — reads AGENTS.md by default aider Aider Open-source pair-programming CLI agent windsurf Windsurf Codeium's AI-native IDE

gofasta ai status

Shows which agents are currently installed in this project, when they were installed, and which CLI version wrote the templates:

$ gofasta ai status AGENT NAME INSTALLED AT CLI VERSION claude Claude Code 2026-04-18 15:04 UTC v0.2.0 cursor Cursor 2026-04-18 15:06 UTC v0.2.0

gofasta ai uninstall <agent>

Removes everything the installer added — every file in the manifest’s created list, plus reverses any documentation-file rename (e.g. CLAUDE.md → AGENTS.md). Files you’ve modified since install are preserved, not silently overwritten — they’re reported in the output so you can review them.

$ gofasta ai uninstall claude renamed: CLAUDE.md → AGENTS.md removed: .claude/settings.json removed: .claude/hooks/pre-commit.sh removed: .claude/commands/verify.md preserved (locally modified): .claude/commands/scaffold.md

Pass --dry-run to preview what would be removed without touching disk:

gofasta ai uninstall claude --dry-run

Examples

Install Claude Code config:

gofasta ai claude

Preview what Cursor would install without writing:

gofasta ai cursor --dry-run

Install Aider and overwrite any previously-edited file:

gofasta ai aider --force

List supported agents in JSON:

gofasta ai list --json

Switch from Claude to Aider (uninstalls Claude, installs Aider, in one step):

gofasta ai aider --switch

Remove all Cursor configuration:

gofasta ai uninstall cursor

Idempotency + upgrade path

Re-running gofasta ai <agent> after a gofasta release is safe:

  • Unchanged files: skipped silently.
  • Files we wrote last time that we now want to update: overwritten if --force, else halt with an error pointing at the diff.
  • Files you modified after install: respected — no overwrite without --force.

Tracked via .gofasta/ai.json — a small manifest that records the installed CLI version per agent. gofasta ai status reads it.

Output shape (JSON)

{ "agent": "claude", "created": [ ".claude/settings.json", ".claude/hooks/pre-commit.sh", ".claude/commands/verify.md", ".claude/commands/scaffold.md", ".claude/commands/inspect.md" ], "skipped": [], "replaced": [], "would_replace": [] }

Why this exists

Every modern AI coding agent has its own preferred configuration format — Claude Code reads .claude/, Cursor reads .cursor/rules/, Aider reads .aider.conf.yml, OpenAI Codex reads AGENTS.md + .codex/, Windsurf reads .windsurfrules. Pre-shipping all of them in the scaffold clutters projects for developers who don’t use agents; shipping none means every user has to write them from scratch.

The installer is the middle path: scaffold stays clean (just AGENTS.md), agent-specific files land only when you explicitly ask. Adding a sixth, seventh, or tenth agent later is a template directory — zero changes to the CLI.

Last updated on