Thanks for your interest in contributing to OpenWolf. This guide covers how to get involved.
- Fork the repository
- Clone your fork:
git clone https://github.com/your-username/openwolf.git cd openwolf - Install dependencies:
pnpm install
- Build:
pnpm build
- Test your local build:
node dist/bin/openwolf.js --help
src/
├── cli/ CLI commands and program setup
├── daemon/ Background task scheduler (cron engine)
├── designqc/ Screenshot capture for design evaluation
├── scanner/ Project structure scanner (anatomy.md)
├── tracker/ Token tracking and ledger
├── hooks/ Claude Code lifecycle hooks
├── dashboard/ React web dashboard (Vite + TailwindCSS)
├── buglog/ Bug memory system
├── utils/ Shared utilities
└── templates/ Files created by `openwolf init`
pnpm build # Full build (TypeScript + hooks + dashboard)
pnpm dev # Watch mode for TypeScript only
pnpm docs:dev # Local docs sitesrc/cli/program/register.subclis.ts— where CLI subcommands are registeredsrc/hooks/— the 6 Claude Code lifecycle hook scriptssrc/templates/— files copied into.wolf/onopenwolf initsrc/utils/platform.ts— platform detection (Windows/macOS/Linux)
- Create a branch:
git checkout -b my-change - Make your changes
- Build and verify:
pnpm build && node dist/bin/openwolf.js --help - Commit with a clear message describing what and why
- Push and open a pull request
- Keep PRs focused. One feature or fix per PR.
- Describe what your PR does and why in the description.
- If your change is platform-specific, note which platforms you tested on.
- Update
README.mdif you add or change commands. - Update
src/templates/if you change the.wolf/file structure.
Open an issue at github.com/cytostack/openwolf/issues with:
- Your OS and Node.js version
- Claude Code version
- Steps to reproduce
- Expected vs actual behavior
- Relevant logs (if any)
OpenWolf supports Windows, macOS, and Linux. Platform-specific code is centralized in src/utils/platform.ts. If your change involves process management, file paths, or shell commands, make sure it works across platforms or uses the platform utilities.
By contributing, you agree that your contributions will be licensed under the AGPL-3.0 license.