Contributing
How to contribute to Rustrak.
Setup
Prerequisites
- Rust 1.75+
- Node.js 20+
- pnpm 9+
- PostgreSQL 15+
- Docker (optional)
Clone and install
git clone https://github.com/AbianS/rustrak.git
cd rustrak
pnpm installStart development
# Start PostgreSQL
docker compose -f docker-compose.dev.yml up -d postgres
# Run server
cd apps/server && cargo run
# Run dashboard (separate terminal)
cd apps/webview-ui && pnpm devProject structure
rustrak/
├── apps/
│ ├── server/ # Rust API server
│ ├── webview-ui/ # Next.js dashboard
│ └── docs/ # Documentation
├── packages/
│ ├── client/ # TypeScript API client
│ └── test-sentry/ # Test CLI tool
└── docker-compose.ymlWorkflow
Branches
main– Stable releasefeat/*– New featuresfix/*– Bug fixes
Commits
Use conventional commits:
feat: Add issue muting
fix: Correct rate limit calculation
docs: Update deployment guidePull requests
- Create feature branch
- Make changes
- Run tests
- Submit PR
- Address feedback
Server (Rust)
Tests
cd apps/server
cargo testStyle
cargo fmt
cargo clippyMigrations
sqlx migrate add description
sqlx migrate runDashboard (Next.js)
Tests
cd apps/webview-ui
pnpm test
pnpm lintDocumentation
Run locally
cd apps/docs
pnpm devAdd pages
- Create
.mdxincontent/ - Add to
_meta.js - Link from related pages
Getting help
- Issues: Report bugs
- Discussions: Ask questions
- Docs: Check documentation first
Thanks for contributing!
Last updated on