Contributing
Thanks for your interest in contributing to Rungu!
Development Setup
bash
# Prerequisites
rustup (Rust 1.86+)
Node.js 22+
# Clone
git clone https://github.com/codecoradev/rungu.git
cd rungu
# Backend
cargo build
cargo test
# Frontend
cd web && npm install && npm run dev
# Run full stack
cargo run -- serveProject Structure
rungu/
├── crates/
│ ├── rungu-proto/ Wire types
│ ├── rungu-core/ Storage + business logic
│ ├── rungu-auth/ OAuth + JWT session
│ ├── rungu-api/ REST API handlers
│ ├── rungu-mcp/ MCP server
│ └── rungud/ Binary entrypoint
├── web/ SvelteKit 5 frontend
├── docs/ VitePress documentation
└── docker/ Docker filesCode Style
- Rust:
rustfmt.toml— 120 char width, max heuristics - Clippy: All warnings must pass
- Frontend: SvelteKit 5 runes mode, Tailwind v4, shadcn-svelte
Commit Messages
Follow Conventional Commits:
feat: add threaded comments
fix: vote toggle race condition
docs: update auth setup guide
refactor: extract OAuth provider trait
test: add store integration testsPR Process
- Create feature branch from
develop - Make changes + tests
- Push and open PR targeting
develop - CI must pass: Check, Format, Clippy, Test, Build, Cora Review
- PR is merged to
develop - Periodic merge:
develop→mainfor releases
Branch Protection
develop: PR required, status checks requiredmain: PR required, status checks required, strict mode (must be up to date)
Questions?
Open a GitHub Discussion or create an issue.