Complete Guide
Everything you need to know to set up, configure, and master Farmwork in your projects.
Prerequisites
Before installing Farmwork, ensure you have the following tools installed:
Required
| Tool | Version | Installation |
|---|---|---|
| Node.js | 18+ (22 recommended) | nvm install 22 |
| npm | 9+ | Comes with Node.js |
| Claude Code | Latest | npm install -g @anthropic-ai/claude-code |
Recommended
| Tool | Purpose | Installation |
|---|---|---|
| Beads | Local issue tracking | cargo install beads |
| Just | Command runner | brew install just |
Claude Code Required
Farmwork is designed for Claude Code. While AGENTS.md provides basic support for other AI assistants, the full skill and agent system requires Claude Code.
Installation
Install Farmwork globally via npm:
npm install -g farmwork
Verify the installation:
farmwork --version
You should see the current version number (e.g., 1.4.6).
Initialization
Navigate to your project directory and run the interactive setup wizard:
cd your-project
farmwork init
What Gets Created
The init command creates the complete Farmwork structure:
your-project/
├── CLAUDE.md # Main instructions (lean)
├── AGENTS.md # Generic AI guide
├── .claude/
│ ├── settings.local.json # Skill activation hook
│ ├── skills/ # 6 auto-activating workflows
│ │ ├── farm-audit/
│ │ ├── farm-inspect/
│ │ ├── garden/
│ │ ├── research/
│ │ ├── production/
│ │ └── market/
│ ├── agents/ # 13 specialized agents
│ │ ├── the-farmer.md
│ │ ├── code-quality.md
│ │ ├── security-auditor.md
│ │ └── ... (10 more)
│ └── commands/ # 2 slash commands
│ ├── push.md
│ └── office.md
├── _AUDIT/ # 8 living audit documents
│ ├── FARMHOUSE.md
│ ├── GARDEN.md
│ ├── COMPOST.md
│ └── ... (5 more)
├── _OFFICE/ # Product strategy
│ ├── GREENFIELD.md
│ └── BROWNFIELD.md
├── _PLANS/ # Implementation plans
├── _RESEARCH/ # Research documents
└── justfile # Navigation commands
Init Options
| Flag | Effect |
|---|---|
-f, --force |
Overwrite existing files |
Existing Projects
Running init on a project that already has Farmwork files will skip existing files unless you use --force. Be careful with force on projects with customized configurations.
Verification
After initialization, verify your setup with the doctor command:
farmwork doctor
The doctor checks:
- Core Files — CLAUDE.md, AGENTS.md present
- Skills — All 6 skills installed correctly
- Agents — All 13 agents installed correctly
- Commands — /push and /office configured
- Audit System — _AUDIT/ directory and files
- Office System — _OFFICE/ directory and files
- Research System — _RESEARCH/ directory exists
- Navigation — justfile present
- Issue Tracking — Beads configuration (if installed)
- Security — .gitignore includes sensitive paths
Farmwork Doctor
Core Files ✓ All present
Skills ✓ 6/6 installed
Agents ✓ 13/13 installed
Commands ✓ 2/2 configured
Audit System ✓ Healthy
Office System ✓ Configured
Research ✓ Directory exists
Navigation ✓ justfile present
Issue Tracking ✓ Beads configured
Security ✓ .gitignore updated
All systems healthy!
Check Status
For a quick metrics overview, use status:
farmwork status
First Session
With Farmwork installed, start Claude Code and run your first commands:
claude
Step 1: Open the Farm
Start every session by opening the farm:
> open the farm
✓ Running farm audit...
✓ Updating FARMHOUSE.md...
✓ Checking idea garden...
✓ Reviewing research freshness...
Farm Status:
- Ideas: 0 fresh, 0 wilting
- Research: 0 documents
- Issues: 0 open
- Health: All systems nominal
Step 2: Set Up Strategy (Optional)
If this is a new project, run the office command to set up your product strategy:
> /office
Welcome to the Office Setup Wizard!
Let's define your product vision...
Step 3: Start Working
Now you're ready to use Farmwork naturally:
# Capture an idea
> I have an idea for dark mode support
# Research before planning
> let's research authentication patterns
# Create a plan
> make a plan for user authentication
# Implement when ready
> let's implement user authentication
# Push when done
> /push
Daily Workflow
A typical Farmwork development session follows this pattern:
Morning Routine
- Start Claude Code
- Say "open the farm" to audit systems
- Review any wilting ideas or stale research
- Check beads issues for today's work
During Development
- Work on beads issues systematically
- Capture new ideas as they arise
- Research unfamiliar topics before planning
- Create plans before implementing features
Before Pushing
- Use /push to run quality gates
- Fix any lint, test, or build failures
- Review the generated commit message
- Confirm the push
Command Reference
CLI Commands
| Command | Description |
|---|---|
farmwork init |
Initialize Farmwork in current directory |
farmwork status |
Display project metrics and health |
farmwork doctor |
Diagnose setup and check for issues |
Natural Language Skills
| Phrase | Skill | Action |
|---|---|---|
"open the farm" |
farm-audit | Audit systems, update FARMHOUSE |
"count the herd" |
farm-inspect | Full code inspection, dry run |
"I have an idea for..." |
garden | Plant idea in GARDEN.md |
"water the garden" |
garden | Generate 10 new ideas |
"let's research..." |
research | Create research document |
"make a plan for..." |
(built-in) | Create implementation plan |
"go to production" |
production | Production readiness check |
"go to market" |
market | i18n and accessibility audit |
Slash Commands
| Command | Description |
|---|---|
/push |
Clean, lint, test, build, commit, push |
/office |
Interactive strategy setup wizard |
Troubleshooting
Skills Not Activating
If skills don't activate when you speak naturally:
- Check that
.claude/settings.local.jsonexists - Verify it contains the UserPromptSubmit hook
- Restart Claude Code after making changes
Doctor Reports Missing Files
If doctor reports missing components:
- Run
farmwork initto create missing files - Use
farmwork init --forceto recreate all files
/push Failing
If /push fails at a quality gate:
- Read the error message carefully
- Fix the reported issue (lint, test, or build)
- Run /push again
Getting Help
For issues not covered here, check the GitHub Issues or create a new issue with details about your problem.