Supplies
External tools and MCP integrations that extend your farm's capabilities. Stock up on the tools you need for productive development.
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.
# 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.
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 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:
# During init, you'll be asked about supplies
farmwork init
# Add supplies later
farmwork supply
# Add a specific supply
farmwork supply images
Adding Custom Supplies
Farmwork's supply system is extensible. You can add custom MCP integrations by following the supply definition pattern:
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.