Contributing
How to contribute to Fyren.
We welcome contributions to Fyren! Whether it's bug reports, feature requests, documentation improvements, or code changes — every contribution helps.
Getting Started
Prerequisites
Development Setup
- Fork and clone the repository:
git clone https://github.com/fyrendev/fyren.git
cd fyren- Install dependencies:
bun install- Start the development databases:
docker compose up -d db redis- Copy the example environment file:
cp .env.example .env- Run database migrations:
bun run db:migrate- Start the development server:
bun run devProject Structure
Fyren uses a monorepo structure with Turborepo:
apps/api— Hono API serverapps/web— Public status page (Next.js)apps/admin— Admin dashboard (Next.js)packages/db— Drizzle schema and migrationspackages/shared— Shared types, validation, and utilities
Guidelines
Code Style
- TypeScript strict mode is enabled
- Use Prettier for formatting (
bun run format) - Follow existing patterns in the codebase
Commits
Use Conventional Commits:
feat:— New featuresfix:— Bug fixesdocs:— Documentation changesrefactor:— Code changes that neither fix bugs nor add featurestest:— Adding or updating tests
Pull Requests
- Create a feature branch from
main - Make your changes with clear, atomic commits
- Add tests for new functionality
- Ensure all tests pass (
bun run test) - Open a pull request with a clear description
Reporting Issues
Found a bug or have a feature request? Open an issue on GitHub.
License
By contributing to Fyren, you agree that your contributions will be licensed under the Elastic License 2.0 (ELv2) for core components and MIT for SDK components.