Thank you for your interest in contributing to RaiFlow.
RaiFlow is built in public under the OpenRai umbrella. Contributions of all kinds are welcome — bug reports, documentation improvements, RFCs, examples, and core implementation work.
- Open issues — report bugs, ask questions, suggest improvements
- Propose RFCs — use the RFC format to propose design changes or new capabilities
- Write examples — demonstrate RaiFlow in real application contexts
- Test and review — test integrations, review open PRs, challenge assumptions
- Help with implementation — see
docs/progress.mdfor the current frontier
# Install dependencies
pnpm install
# Build all packages
pnpm build
# Run all tests
pnpm test
# Run docs site locally
pnpm site:devRequirements:
- Node.js v20+
- pnpm v10+
RaiFlow uses lightweight RFCs for durable design decisions.
RFCs exist to:
- define terms
- record alternatives considered
- explain why a design was chosen
- freeze decisions so they are not re-litigated in every PR
When proposing a significant change:
- Check existing RFCs first — the decision may already be made
- Copy the RFC format for a new proposal if needed
- Open a PR or issue for discussion
RFCs are short and opinionated. They are not project management documents.
RaiFlow uses four layers, each with one job:
| Document | Job |
|---|---|
README.md |
current project identity and quickstart |
ROADMAP.md |
long-horizon milestone map |
docs/progress.md |
current execution frontier |
rfcs/*.md |
architecture decisions and tradeoffs |
Architectural review docs (docs/architectural-review*.md) are implementation notes, not authoritative references.
All contributors are expected to follow the Code of Conduct.
By contributing to RaiFlow, you agree that your contributions will be licensed under the project's MIT License.