How to Contribute

Fork the Repository

Click the Fork button on GitHub to create your own copy.

Create a Feature Branch

git checkout -b feat/your-feature

Make Your Changes

Write code, fix bugs, improve docs — whatever you'd like to contribute.

Commit with a Clear Message

git commit -m 'feat: add your feature'

Push and Open a Pull Request

git push origin feat/your-feature

Then open a PR on GitHub. Describe what you changed and why.

Development Setup

See the full Getting Started guide for detailed prerequisites and installation steps. Quick summary:

git clone https://github.com/theja-vanka/NightFlow.git && cd NightFlow
npm install --legacy-peer-deps   # or: bun install
npx tauri dev                    # or: bunx tauri dev
💡 Hot Reload

The frontend supports Vite HMR — changes to JSX/CSS are reflected instantly. Rust backend changes require a recompile (automatic in tauri dev).

Code Style & Linting

Frontend (JavaScript / JSX)

Backend (Rust)

Commit Conventions

We follow Conventional Commits:

Prefix Purpose Example
feat: New feature feat: add confusion matrix export
fix: Bug fix fix: resolve SSH timeout on slow networks
docs: Documentation docs: update architecture diagram
refactor: Code refactor refactor: extract chart utils
chore: Tooling / deps chore: bump Tauri to v2.3

Reporting Issues

Found a bug or have a feature request? Open an issue with:

Project Structure

See the Architecture page for a full breakdown. Key directories:

Directory Contents
src/ Frontend — views, components, state, DB, utils
src-tauri/ Rust backend — Tauri commands, config
public/ Static assets (Netron, icons)
docs/ Documentation site (GitHub Pages)

License

NightFlow is distributed under the Apache License 2.0. By contributing, you agree that your contributions will be licensed under the same license.

📄 Read the full license →