Thank you for your interest in contributing to Flow-IO! This document explains how to get started.
- Fork the repository and clone it locally
- Copy
.env.exampleto.env.localand fill in the required values - Install dependencies:
npm install - Start the development server:
npm run dev
For a full local environment including Supabase, use Docker:
cp .env.docker.example .env.docker
docker compose upRun the full check suite — all must pass:
npm run type-check # TypeScript
npm run lint # ESLint
npm test # Vitest unit tests
npm run build # Production build- TypeScript strict mode — no
anytypes - Naming: files in
kebab-case, components inPascalCase, functions incamelCase - No hardcoded strings in JSX — use the i18n system (
next-intl) - Follow the UI patterns documented in docs/ui-patterns.md
- Write unit tests for all utility functions and business logic in
tests/unit/ - When you discover a bug, write a test that reproduces it before fixing it
- Integration tests go in
tests/integration/
Use Conventional Commits:
feat: add knowledge base document upload
fix: resolve RLS policy issue for assistants table
test: add integration tests for call session creation
docs: update README with deployment instructions
- Open a PR against
main - Fill in the PR description with what changed and why
- All CI checks must pass
- At least one maintainer review is required before merging
Use GitHub Issues. Please include:
- Steps to reproduce
- Expected vs. actual behavior
- Environment details (OS, Node version, browser if relevant)
For security vulnerabilities, see SECURITY.md instead.