A proper setup at the start saves dozens of hours later.
Repository¶
- ☐ Git repo created
- ☐ Branch protection (main)
- ☐ README.md with description and setup instructions
- ☐ .gitignore correct
- ☐ LICENSE file
- ☐ CONTRIBUTING.md
Development¶
- ☐ Package manager lockfile committed
- ☐ Linting and formatting configured
- ☐ Pre-commit hooks (husky/pre-commit)
- ☐ Editor config (.editorconfig)
- ☐ Dockerfile + docker-compose for dev
CI/CD¶
- ☐ CI pipeline (build, test, lint)
- ☐ CD pipeline (staging, production)
- ☐ Dependency scanning
- ☐ Secret management
Quality¶
- ☐ Test framework set up
- ☐ Code coverage reporting
- ☐ Static analysis (SonarQube/CodeClimate)
- ☐ API documentation (OpenAPI)
Infrastructure¶
- ☐ Staging environment
- ☐ Logging configured
- ☐ Monitoring and alerting
- ☐ Error tracking (Sentry)
- ☐ Backup strategy
Documentation¶
- ☐ Architecture Decision Records (ADR)
- ☐ API documentation
- ☐ Deployment guide
- ☐ Onboarding guide for new developers
Automation¶
Create a template repo with everything pre-configured. New project = git clone template.
projektsetupbest practices