Thanks for contributing.
- Use English for issues, pull requests, and docs.
- Keep user-facing text bilingual when practical (EN + DE).
- Prefer small, focused pull requests.
- Fork and clone the repository.
- Install dependencies:
npm run bootstrap
- Create
.envfrom.env.exampleand set Supabase credentials. - Start the app:
npm run dev
Run:
npm run checkFor localization-related changes, also verify:
npm run check:i18nFor deployment-path changes, verify production route smoke checks:
npm run smoke:routesFor user-critical flow changes, run end-to-end checks:
npm run test:e2eFor dependency or rendering changes, verify bundle budgets:
npm run check:bundleIf lint fails due existing baseline issues, include only changes relevant to your scope and mention remaining unrelated lint findings in the PR description.
- Use TypeScript types instead of
any. - Reuse existing UI primitives in
src/components/ui. - Keep business logic in hooks/utilities when possible.
- Add or update docs for behavior changes.
- Problem statement is clear.
- Screenshots/videos for UI changes (if relevant).
- Backward compatibility considered.
- New strings include EN + DE variants.
- Security/privacy impact assessed.
For significant architecture, moderation, governance, or security changes, open an RFC issue first using the RFC template and follow docs/RFC_PROCESS.md.
- i18n consolidation (single source of truth)
- strict typing improvements
- performance and bundle splitting
- test coverage
- moderation and community tooling