Thanks for your interest in contributing to Dashlight.
- Node.js 22 — matches the Docker runtime
- pnpm 10 —
npm install -g pnpmor via corepack - Docker + Docker Compose — for running the full stack locally
- A GitHub OAuth App — see the setup guide in the README
git clone https://github.com/your-username/dashlight.git
cd dashlight
pnpm install # installs deps and sets up git hooks (husky)
cp env.example .env # fill in GITHUB_CLIENT_ID, GITHUB_CLIENT_SECRET, SESSION_SECRET
pnpm dev # starts server (localhost:8080) and web (localhost:5174) in watch modeThe Vite dev server proxies /auth, /api, /proxy, and /system to the server automatically — no CORS setup needed.
packages/
server/ — Hono TypeScript server (Node 22)
web/ — React 19 frontend (TanStack Router + React Query)
- Fork the repo and create a branch from
develop(notmain) - Make your changes
- Add or update tests — coverage thresholds are enforced
- Run the full check suite:
pnpm lint
pnpm typecheck
pnpm test
pnpm buildThese also run automatically on git commit via the pre-commit hook.
- Target the
developbranch, notmain - Keep PRs focused — one feature or fix per PR
- Describe what changed and why in the PR description
- Link any related issues
CI runs lint, typecheck, tests, and build on every PR. All checks must pass before a PR can be merged.
Use the bug report template.
Use the feature request template.