Thanks for wanting to contribute to Flare Stack! Every PR improves the engine for everyone.
- Node.js ≥ 20.0.0
- npm (comes with Node.js)
- Git with worktree support
# Fork and clone
git clone https://github.com/YOUR_USERNAME/flare-stack.git
cd flare-stack
# Install dependencies
npm install
# Build
npm run build
# Run tests
npm testmain— production, protected. You cannot push directly.develop— integration branch. Submit PRs here.- Feature branches — branch off
developwith a descriptive name.
git checkout develop
git checkout -b feat/my-feature- Fork the repo and create your branch from
develop. - Write tests for any new functionality.
- Run the test suite — all 160 tests must pass:
npm test - Run the type checker — zero errors:
npm run lint
- Open a PR against
develop(notmain).
We use Conventional Commits:
feat: add new command
fix: resolve timeout issue
docs: update README
test: add scavenger unit tests
refactor: simplify model router
chore: update dependencies
- TypeScript — strict mode, no
anyunless absolutely necessary. - ESM — all imports use
.jsextensions. - Prettier — formatting is handled by
.prettierrc. Runnpx prettier --write .before committing. - EditorConfig — see
.editorconfigfor indentation rules.
src/
├── commands/ # CLI commands (Commander.js)
├── config/ # Config loading and schema validation
├── core/ # Core engine (worktrees, AI executor, pipeline)
├── extras/ # Loom generator, shadow load, TTS narrator
├── quality/ # Entropy hunter, scavenger, vision QA
├── sources/ # Jira MCP integration
└── ui/ # Dashboard (Ink/React TUI)
tests/ # Vitest test suites
prompts/ # AI pipeline prompt templates
workflows/ # Flare workflow documentation
Tests use Vitest. Every module should have a corresponding test file in tests/.
# Run all tests
npm test
# Run in watch mode
npm run test:watch
# Run a specific test file
npx vitest run tests/worktree-manager.test.tsNew features should include a maturity badge in the README:
— battle-tested with comprehensive tests
— unit tests pass, not yet verified end-to-end
— functional, but tests may be incomplete
Open an issue or start a discussion. We're happy to help.