Skip to content

Latest commit

 

History

History
48 lines (37 loc) · 2.89 KB

File metadata and controls

48 lines (37 loc) · 2.89 KB

Cookiecutters

Carefully designed collection of Cookiecutter templates for various project types.

Philosophy

Each template tries to implement best practices, here are few of them:

  • AGENTS.md file used to work with AI agents like OpenCode, Claude code, Gemini CLI, etc.
  • README.md file with indications to quickly start
  • CHANGELOG.md file based on Keep a Changelog principles
  • Use of Semantic Versioning
  • Makefile with commands for common tasks (e.g. building, testing, running, linting, formatting)
  • Source code linted with carefully chosen linters and reporting no issue
  • Usage of pre-commit to run linters and formatters before each commit
  • Dependencies and transitive dependencies continuously updated using Dependabot or Renovate
  • Dockerfile optimized for image size and performance to quickly deploy to any environment
  • Structured logging frameworks configured with sensible defaults
  • Sample dotenv files to manage environment variables
  • Configuration file for application parameters
  • Unit and integration tests ready to use, high code coverage and coverage reports already configured
  • Use of semantic-release or Release Please to automatically manage releases and changelogs
  • Preconfigured CI/CD pipelines using GitHub Actions, Gitlab CI/CD or others
  • Badges taken from shields.io or Markdown Badges to show build status, code coverage, technologies, etc.

Usage

Just install cookiecutter and run it pointing to the desired template.

# Install cookiecutter with 'pip' or 'pipx'
python -m pip install --user cookiecutter
# or
pipx install cookiecutter

# Run cookiecutter pointing to the desired template (here 'python/fast-api-simple' as an example)
cd ~/workspace
cookiecutter https://github.com/bgaillard/cookiecutters.git --directory python/fast-api-simple

Available templates

Each template has a much more detailed README.md file explaining how to use it and its features.

Technology Template name Description
Python python/fast-api-simple Simple FastAPI application.
Python python/simple Simple Python application.