Definition

Supplies are external tools and integrations that extend Farmwork's capabilities. Like stocking a farm with feed, tools, and equipment, supplies give your development environment the resources it needs to be productive.

Supplies come in two categories: Built-in supplies are development tools installed as dependencies, while MCP supplies are Model Context Protocol integrations that give Claude access to external services.

Philosophy

Core Principle

A well-stocked farm is a productive farm. Supplies are optional enhancements - you choose what you need. Not every farm needs every tool, but having the right supplies makes all the difference.

Farmwork is opinionated about workflow but flexible about tooling. Supplies let you customize your setup without cluttering the core experience. Install what you need, skip what you don't.

Why Supplies?

  • Keep core installation lightweight
  • Choose tools that fit your project
  • Easy to add later as needs evolve
  • MCP integrations expand Claude's capabilities
  • Consistent installation experience

Built-in Supplies

Built-in supplies are development tools that integrate with Farmwork's workflow. They're installed as project dependencies and used by skills and agents.

Supply Purpose Used By
just Command runner for project tasks Farm operations, custom commands
beads Local issue tracking in markdown Farm audit, task management
knip Dead code detection farm-inspect, code-cleaner agent

just - Command Runner

just is a handy way to save and run project-specific commands. Farmwork uses it for common operations like building, testing, and deploying.

justfile
# Run development server
dev:
    npm run dev

# Run all quality gates
check:
    npm run lint && npm run test && npm run build

# Deploy to production
deploy:
    npm run build && vercel --prod

beads - Issue Tracking

beads provides local, markdown-based issue tracking. Issues live in your repo as _BEADS/ files, keeping tasks close to your code.

knip - Dead Code Detection

knip finds unused files, dependencies, and exports in your project. When enabled, it runs during farm-inspect and reports findings in _AUDIT/KNIP.md.

knip output
Unused files (2)
  src/utils/deprecated.ts
  src/components/OldButton.tsx

Unused dependencies (1)
  lodash

Unused exports (3)
  src/utils/helpers.ts: formatDate, parseDate
  src/api/client.ts: legacyFetch

Knip Reports Only

Knip reports findings but doesn't auto-delete. Review each finding - some exports may be used dynamically, and some dependencies may be peer deps.

MCP Supplies

MCP (Model Context Protocol) supplies connect Claude to external services. They install as MCP servers and create corresponding skills for common workflows.

Supply Purpose Requires
Storybook Component documentation & testing Storybook installed
Context7 Up-to-date library documentation None
Sentry Error tracking & monitoring SENTRY_AUTH_TOKEN
Images AI image generation API keys (Gemini/OpenAI)

Storybook Integration

The Storybook supply connects Claude to your component library. It can read stories, understand component props, and help maintain documentation.

Context7

Context7 provides Claude with up-to-date documentation for libraries and frameworks. Instead of relying on training data, Claude can fetch current docs.

Sentry

The Sentry supply lets Claude access your error tracking. It can search issues, view error details, and help debug production problems.

Image Generation

Generate images using AI models. Supports both Google Gemini and OpenAI's gpt-image-1 (GPT-4o). Creates a /generate-image skill for easy access.

generate-image skill
/generate-image a friendly robot farmer tending to digital crops

# Generates image and saves to project

API Keys Required

MCP supplies that connect to external services require API keys. These are configured during installation and stored securely in your Claude configuration.

Usage

Add supplies during farmwork init or anytime with the farmwork supply command:

terminal
# During init, you'll be asked about supplies
farmwork init

# Add supplies later
farmwork supply

# Add a specific supply
farmwork supply images
1
farmwork supply
->
2
Select supplies
->
3
Configure keys
->
4
Install MCP + Skill

Adding Custom Supplies

Farmwork's supply system is extensible. You can add custom MCP integrations by following the supply definition pattern:

supply definition
export const mySupply = {
  id: "my-supply",
  name: "My Custom Supply",
  description: "What it does",
  mcp: {
    name: "my-mcp-server",
    command: "npx",
    args: ["-y", "@my/mcp-server"]
  },
  skill: {
    name: "my-skill",
    content: `Your skill prompt here...`
  }
};

Community Supplies

Found an MCP server that would make a great supply? Open an issue or PR on GitHub. The more supplies available, the more powerful everyone's farm becomes.