Contributing hub
This file is the single-entry hub for contributing to Constellation. Use it to find the project's contributing guidelines, technical references, testing instructions and links to the more detailed docs in this folder.
Quick links
- Technical stack overview
- Project setup & quick start
- Code style & linters
- Accessibility & Lighthouse CI
- Testing guide and test templates: Testing guide, Test template, Testing summary
- Components, hooks & services reference: Components, Hooks, Services
- Performance & troubleshooting: Performance guide, Troubleshooting
- Quality Assurance
- Deployment and CI/CD notes
Getting started (local)
- Install dependencies
bun install
- Run the development server
bun dev
- Build for production
bun build
If your environment uses a different package manager or a containerized workflow, check the root package.json and the repository README for alternative commands.
How to contribute
- Open issues for bugs or feature requests. Provide a clear title, a description, steps to reproduce (if applicable), expected vs actual behaviour, and include screenshots or logs when helpful.
- Pick an issue labelled
good first issueorhelp wantedto begin. If you want to work on something else, leave a comment on the issue describing your plan. - Follow the Code Style guide and the project's TypeScript conventions.
- Add unit and integration tests for new features or bug fixes. See Testing guide and Test template for examples and expectations.
Branching, PRs and reviews
- Branch from
develop(or follow the branch policy listed in the repo README). Use descriptive branch names likefeat/<short-desc>orfix/<short-desc>. - Create a pull request with a clear description and link to the related issue. Include screenshots and test results when relevant.
- Use the PR checklist:
- Ensure linting and type checks pass locally.
- Add/adjust tests for changed behaviour.
- Update docs when public behaviour or setup changes.
- Mark breaking changes in the PR description.
Commit messages
Prefer conventional, concise messages. Example patterns:
- feat(scope): short description
- fix(scope): short description
- docs(scope): documentation only changes
- chore: tooling / build / CI updates
Include a reference to the issue number when relevant: fix(api): handle missing param (#123).
Code quality and checks
- Run linters and formatters before opening a PR. The project uses ESLint and Prettier (see repo config files in the project root).
- Type-check changes with
tsc(or via the project's build script) if your change touches TypeScript types or public APIs. - Run tests locally (see Testing guide for exact commands used by this repo's test harness).
Where to find help
- If you're stuck, ask in the project communication channel (Discord) or leave a detailed comment on the issue/PR.
- For onboarding or architecture questions, consult Project overview and Architecture guide.
Maintainers & governance
Maintainers review PRs and triage issues. If you're unsure who to @mention, check recent PRs or the repo owners in the project settings.
Updating this hub
Keep this file short and link to the richer documents in this directory. When adding or changing contributing processes, update this file to reflect the canonical location of the new guidance.
Thanks for contributing โ small, well-scoped PRs with tests and clear descriptions are the fastest path to merge.