34 lines
1.6 KiB
Markdown
34 lines
1.6 KiB
Markdown
# Contributing to Linear Void
|
|
|
|
Thank you for considering contributing to Linear Void!
|
|
|
|
## Development Process
|
|
|
|
1. **Read the Architecture First**: All design decisions are documented in `docs/architecture/README.md` (arc42 template) and the ADRs in `docs/architecture/adr/` (ADR-001 to ADR-007).
|
|
2. **Follow the Structure**: Use the folder layout defined in ADR-002 (`frontend/`, `backend/playout/`, `backend/chat/`, `infrastructure/`, etc.).
|
|
3. **Update Documentation Before Code**: Create or update an ADR before implementing significant changes.
|
|
4. **Update TODO.md**: Plan tasks in `.github/instructions/TODO.md`, mark as completed, and move finished sections to `DONE.md`.
|
|
5. **Commit Messages**: Reference the relevant ADR (e.g., "feat(playout): add R2 sync per ADR-001").
|
|
6. **Test with Docker**: Run `docker compose up --build` to test changes.
|
|
|
|
## Repository
|
|
|
|
- **Primary**: [git.allucanget.biz/zwitschi/linearvoid](https://git.allucanget.biz/zwitschi/linearvoid)
|
|
- **Container Registry**: `git.allucanget.biz/zwitschi/linearvoid/<service>:latest`
|
|
- **CI/CD**: Gitea Actions with self-hosted runners (see `.gitea/workflows/`)
|
|
|
|
## Code Style
|
|
|
|
- Go: Use standard formatting (`go fmt`).
|
|
- TypeScript: ESLint and Prettier.
|
|
- Tailwind: Follow the utility-first approach.
|
|
|
|
## Pull Requests
|
|
|
|
- Open PRs on [Gitea](https://git.allucanget.biz/zwitschi/linearvoid).
|
|
- Reference the related ADR in the PR description.
|
|
- Ensure all tests pass and documentation is updated.
|
|
- The CI workflow will validate normalization, linting, and Docker builds.
|
|
|
|
See the ADRs for architectural decisions and `docs/architecture/README.md` for the big picture. Thank you for contributing!
|