Grabby: Complete Static Guide
Grabby is a CLI-first framework for AI-assisted software development. It converts plain-language requests into structured feature contracts, then runs them through validation, planning, backlog generation, prompt bundling, approval, execution, and post-run audit. This guide follows the main path: use your preferred LLM service and run Grabby locally for predictable, reviewable, repeatable delivery.
Quick Start Navigation
Use this path for first-time onboarding.
Main Workflow: Prompt Claude First
Primary path for this repo: create the contract draft in Claude, then enforce delivery with Grabby.
You are helping me create a Grabby feature contract. Request: <describe the feature request here> Output requirements: - Return a complete feature contract markdown. - Include clear scope, non-goals, directories, files, dependencies, testing, and done-when criteria. - Keep the contract implementation-ready and bounded. Use filename: contracts/<request-slug>.fc.md
# Save Claude output into: # contracts/<request-slug>.fc.md
grabby validate contracts/<request-slug>.fc.md grabby plan contracts/<request-slug>.fc.md grabby approve contracts/<request-slug>.fc.md
Good vs Bad Claude prompt
Good: clear scope, strict output format, explicit constraints.
Create a Grabby feature contract for this request: "Add login regression tests for redirect edge cases." Output only valid contract markdown for: contracts/login-redirect-regression.fc.md Requirements: - Include objective, scope, non-goals, directories, files table, dependencies, testing, and done-when. - Keep scope bounded to tests and related auth redirect logic. - Do not propose broad refactors or unrelated enhancements.
Bad: vague request with no boundaries or expected structure.
Make a contract for login.
Setup (Highest Priority)
# Keep using your preferred LLM client/service. # Grabby runs locally in your repo to enforce workflow and governance.
npm install -g grabby grabby --help
cd your-project grabby init grabby init-hooks
grabby setup --quick # or manual baseline flow # grabby validate SETUP-BASELINE.fc.md # grabby plan SETUP-BASELINE.fc.md # grabby approve SETUP-BASELINE.fc.md # grabby complete-baseline SETUP-BASELINE
Contributor/developer install from source
git clone https://github.com/Raccoon-King/ai-feature-contracts.git cd ai-feature-contracts npm install npm link grabby --help
Offline / airgapped install
# connected machine npm ci npm pack # airgapped machine npm install -g ./grabby-2.0.0.tgz grabby --help
First Day Plan (User-Focused)
# Use the Claude template above to generate: # contracts/login-flow-regression.fc.md
grabby validate contracts/<ID>.fc.md grabby plan contracts/<ID>.fc.md grabby approve contracts/<ID>.fc.md
grabby execute contracts/<ID>.fc.md grabby session contracts/<ID>.fc.md --check grabby audit contracts/<ID>.fc.md
Feature Validation Source
.grabby/features.index.json, .grabby/history/history-001.yaml, .grabby/history/history-002.yaml.
Snapshot timestamp: 2026-03-08T18:27:14.976Z. Archived feature count: 126.
Coverage Areas
Core + Setup Task/Ticket/Orchestrate Agent Workflow Feature Lifecycle Validation + Audit Git Safety Git + Release PolicyDaily Workflow
Default path for most work requests.
# Prompt Claude with the template above. # Save output as contracts/<request-slug>.fc.md
grabby validate contracts/<ID>.fc.md grabby plan contracts/<ID>.fc.md grabby approve contracts/<ID>.fc.md
grabby execute contracts/<ID>.fc.md grabby session contracts/<ID>.fc.md --check grabby audit contracts/<ID>.fc.md
grabby feature:close <id> grabby features:refresh
Command Explorer (LLM-First Surfaces)
Agents + Persona Routing
Ari -> Archie -> Val -> Sage -> Dev -> Tess -> Iris, with Flash for quick bounded paths and Conductor for orchestration.
grabby agent list grabby agent architect grabby orchestrate "request" grabby party grabby workflow <name>
Governance and Safety Gates
grabby context:lint grabby policy:check grabby guard contracts/<ID>.fc.md grabby session --check-all
Git + Release Process
Current repo policy: merge normal work to development; release through main.
git checkout development git pull origin development # feature branch from development # PR target: development
git checkout main git merge --ff-only development $env:GRABBY_RELEASE="1"; git push origin main
git tag -a vX.Y.Z -m "release" git push origin vX.Y.Z
Release tag pre-push gate
Tag push is blocked if contracts/ contains active .fc.md files.
Troubleshooting
"Bootstrap gate active"
Complete setup baseline flow or run grabby setup --quick.
"Execution blocked"
Run validate -> plan -> approve for the target contract before execute.
Hooks not applying
Reinstall hooks: grabby init-hooks.
Coverage or generated files are noisy
Do not PR generated local noise unless intentional. Re-check with git status before committing.