A minimal template for any language or framework. Ships pre-configured with formatting enforcement, pre-commit hooks, and CI.
Create a new repository from this template on GitHub using this link, or clone it locally and point it at your own remote.
Install Lefthook and dprint, then register the pre-commit hook:
lefthook installReplace or extend the template files to fit your project:
.github/workflows/ci.yaml— Extend or replace the CI workflow..github/dependabot.yaml— Adjust update frequency or add more package ecosystems.CLAUDE.md— Replace with guidance specific to your project.dprint.json— Add or remove dprint plugins for your language.lefthook.yaml— Add more pre-commit checks or other Git hooks.LICENSE— Replace with your preferred license, or keep the Unlicense.README.md— Replace with a description of your project.
Each git commit runs the pre-commit hook registered during setup, which checks your changes and fixes what it can in place. If it fails, fix any reported issues, re-stage the changed files, and commit again.
After committing, push to main or open a pull request from another branch — CI will run the same checks across all files.
For a more opinionated starting point in a specific language or framework:
- Action Starter — JavaScript GitHub Action projects.
- C++ Starter — C++ projects.
- CMake Starter — CMake projects.
- Composite Action Starter — Composite GitHub Action projects.
- Discord Bot Starter — Discord bot projects.
- Node.js Starter — Node.js projects.
- Python Starter — Python projects.
- React Starter — React app projects.
- Rust Starter — Rust projects.