Quickstart
This section describes how to get started with this project: how to clone or create your own copy, and how to launch the app in different ways (locally, with Docker, or in Codespaces).
How to Get the Project
!
If you want to start your own project based on this boilerplate, use GitHub’s “Use this template” button:
workflow
- Go to the repository page.
- Click Use this template (top right).
- Create a new repository under your GitHub account.
- Clone your new repository:
If you want to contribute here or just try the boilerplate as-is:
workflow
- Go to the repository page.
- Click Code > Download ZIP (or clone the repo).
- Extract the ZIP file (if used).
- Navigate into the project directory:
How to Run the Project
!
workflow
- On GitHub, click Code > Codespaces > Create codespace on main.
- Or, open the project in VS Code with the Dev Containers extension.
- Choose “Reopen in Container” when prompted.
- Wait while all dependencies and tools are installed automatically.
- You can now use all
make
commands, run the app, tests, etc.
Requirements: Python 3.10+, uv (or pip if you know what you’re doing).
workflow
- Install uv (recommended):
- Install dependencies & set up pre-commit hooks:
- Run the app:
- Run tests, linter, formatter as needed:
Best for: Consistent dev environment, works anywhere Docker runs.
workflow
- Build the development Docker image:
- Start the dev container (in background):
- Enter a shell in the container (if needed):
- View logs, stop, or remove the container as needed:
Dev Docker specifics
- Uses
dev.Dockerfile
anddev.dockerignore
- Before building it runs
cp dev.dockerignore .dockerignore
to specify files to ignore
- Before building it runs
- Loads environment from
.env.development
- Supports hot reload and development tools
Best for: Testing production-like runs or deployment.
workflow
- Build the production image:
- Run the production container:
- Enter a shell in the container (if needed):
- Run container with
bash
or view logs:
Prod Docker specifics
- Uses
prod.Dockerfile
andprod.dockerignore
- Before building it runs
cp prod.dockerignore .dockerignore
to specify files to ignore
- Before building it runs
- Loads environment from
.env.production
- Optimized for minimal size and performance
Useful Tips
- All common tasks (init, test, lint, format, docs, etc.) are available as simple
make
commands. - See docs/usage/commands.md for the full list.
- Environments and secrets are configured via
.env.*
files (see.env.example
). - The project is ready for CI/CD with GitHub Actions and GitLab CI out of the box.
Troubleshooting
- If you have permission errors with git hooks, run:
- For Docker issues, ensure Docker is running and you have permissions (try
sudo
if needed). - For Codespaces/Dev Containers, see the Dev Containers docs.
More Info
- See Features for detailed explanations of tools and setup.
- See Project Structure for a file/folder overview.