Quality, Automation & CI/CD
Automation prevents human error and ensures every project meets a shared quality baseline.
| Area | Requirement | Why |
|---|---|---|
| CI/CD | GitHub Actions | Integrated, reliable, easy to standardise. Non-Profit discounts. |
| Static Analysis | ESLint | Enforces code correctness and style. |
| Formatting | Prettier | Automatic, consistent formatting. |
| Testing | Jest · Supertest · faker | Clean, realistic, reliable tests. |
| Git Hooks | Husky + lint-staged | Prevent bad code or incorrectly formatted commits from entering the repo. |
| Commits | Conventional Commits | Enables automated versioning, readable history & changelog generation. Docs |
| Commit Signing | SSH or GPG signatures | Verifies commit authenticity and protects against impersonation. Required via branch protection. SSH signatures are easier to set up. Setup Guide |
| Releases | Release Please | Automated, consistent semantic releases. It works based on Conventional Commits. Docs |
| Dependency Updates | Renovate | Automated dependency update PRs via .github/renovate.json5 (config:recommended + minimumReleaseAge: 7 days, so releases must be at least 7 days old). The Dependency Dashboard must be enabled (dependencyDashboard: true). Dependabot must not be used — remove any .github/dependabot.yml and disable it in repo settings. Docs |
| Connectivity | Tailscale | Tailscale is a mesh VPN service that creates secure, private networks between your devices and servers using WireGuard encryption, without requiring complex configuration. |