- For node, that means it installs eslint + prettier / biome,
- setups all the plugins,
- sets up typescript with watch mode using tsx and alias support,
- installs vitest with all configuration,
- installs dotenvx and configures it to use separate development, staging, test and production configuration,
- installs commitlint, commitizen to ensure all your commit messages adhere to specific conventions,
- installs lefthook / husky to run tasks before commit, on push etc.
- Adds github actions for linting, running tests.
- Creates a docker development, testing, staging and production setup with different dockerfiles for each.
- Development version installs self signed localhost SSL certificates for use by nginx/traefik/caddy.
- Test environment runs all tests inside the container and shuts it down,
- Staging environment mimicks real production as closely as possible with minimal resource consumption.
- Production environment uses actual SSL certificates issued by the likes of zeroSSL or letsencrypt with a highly optimized dockerfile for minimal footage.
- Direct deployment to AWS / Azure / GCP
- Python version does a tonne of stuff too. Will share if anyone is curious
- What is special about this? As dependencies change, the boilerplate also updates itself, runs the tests and passing configuration is cached