Guidelines
Code Style
Section titled “Code Style”- No comments unless absolutely necessary — code should be self-explanatory
- Explicit types on function signatures — no implicit
any - Error handling — use try/catch with specific error types, not generic catches
- Naming — descriptive variable and function names, no abbreviations
TypeScript
Section titled “TypeScript”- Strict mode is enabled — no
any, no unchecked index access - Use
verbatimModuleSyntax— explicittypeimports for type-only imports - Return types on all functions
Git Workflow
Section titled “Git Workflow”- Fork the repository
- Create a feature branch:
git checkout -b feat/your-feature - Commit your changes with clear, descriptive messages
- Push to your fork and open a pull request
Commit Messages
Section titled “Commit Messages”Use conventional commit format:
feat: add email notification for failed deploymentsfix: correct webhook signature verificationdocs: update installation instructionsPull Requests
Section titled “Pull Requests”- Describe what the PR does and why
- Link related issues
- Keep PRs focused — one feature or fix per PR
- Update documentation if behavior changes
Testing
Section titled “Testing”Currently the project does not have an automated test suite. When contributing:
- Test manually with
npm run dev - Verify the web UI works as expected
- Test webhook delivery with a real GitHub repo
- Check email notifications if your change affects them
Areas That Need Help
Section titled “Areas That Need Help”- Tests — unit tests for helpers, integration tests for routes
- Session persistence — database-backed sessions instead of in-memory
- Queue persistence — survive restarts without losing queued deployments
- Log rotation — automatic cleanup of old deployment logs
- Multi-user support — team accounts with roles
- API documentation — OpenAPI/Swagger spec
- Docker support — containerized deployment option