Thanks for your interest in contributing to Devflow! This guide covers everything you need to get started.
git clone https://github.com/dean0x/devflow.git
cd devflow
npm install
npm run build
node dist/cli.js initAfter setup, Devflow commands (/code-review, /implement, etc.) are available in Claude Code.
devflow/
├── shared/skills/ # 41 skills (single source of truth)
├── shared/agents/ # 12 shared agents (single source of truth)
├── plugins/devflow-*/ # 17 plugins (8 core + 9 optional)
├── scripts/hooks/ # Working Memory hooks
├── src/cli/ # TypeScript CLI (init, list, uninstall)
├── tests/ # Test suite (Vitest)
└── docs/reference/ # Detailed reference docs
For the full file organization, see docs/reference/file-organization.md.
- Create
shared/skills/{skill-name}/SKILL.mdwith frontmatter and Iron Law - Add the skill name to the relevant plugin's
skillsarray insrc/cli/plugins.ts - Run
npm run buildto distribute the skill to plugin directories - Run
node dist/cli.js initto install locally
Skills are read-only (allowed-tools: Read, Grep, Glob) and auto-activate based on context. Target ~120-150 lines per SKILL.md with progressive disclosure to references/ subdirectories.
- Create
shared/agents/{agent-name}.mdwith frontmatter - Add the agent name to the relevant plugin's
agentsarray insrc/cli/plugins.ts - Run
npm run buildto distribute the agent to plugin directories - Run
node dist/cli.js initto install locally
Agents target 50-150 lines depending on type (Utility 50-80, Worker 80-120).
See docs/reference/adding-commands.md for the full guide. The short version:
- Create a plugin directory under
plugins/devflow-{name}/ - Add a
plugin.jsonmanifest declaring commands, agents, and skills - Create command files in
plugins/devflow-{name}/commands/ - Register the plugin in
DEVFLOW_PLUGINSinsrc/cli/plugins.ts npm run build && node dist/cli.js init
npm test # Run all tests once
npm run test:watch # Run tests in watch modenpm run build # Full build (TypeScript + skill/agent distribution)
npm run build:cli # TypeScript compilation only
npm run build:plugins # Skill/agent distribution onlyWe use Conventional Commits:
feat:— New featurefix:— Bug fixdocs:— Documentation onlyrefactor:— Code change that neither fixes a bug nor adds a featuretest:— Adding or updating testschore:— Build process, tooling, or auxiliary changes
- Fork the repository
- Create a feature branch from
main - Make your changes with tests
- Run
npm run build && npm testto verify - Submit a PR against
main
Keep PRs focused on a single concern. Include a clear description of what changed and why.
Be respectful, constructive, and collaborative. We follow the Contributor Covenant.