A minimalist template for starting a new project on GitHub.
This template provides a basic setup for any kind of project on GitHub, independent of the project’s language or framework, with built-in support for formatting and continuous integration.
- Supports formatting with dprint.
- Fixes formatting during pre-commit hooks using Lefthook.
- Preconfigured workflows for Dependabot and GitHub Actions.
This guide explains how to use this template to start a new project on GitHub.
Follow this link to create a new project based on this template. For more information about creating a repository from a template on GitHub, refer to this documentation.
Next, clone the project you just created to your local machine. For more information, refer to this documentation. Alternatively, you can skip creating a new project and directly clone this repository to begin using the template.
This template uses Lefthook to manage Git hooks, especially the pre-commit hook. If you don't want to use Git hooks, you can skip this step.
If Lefthook is not installed on your system, install it by following this documentation. Then, install the Git hooks by running the following command:
lefthook install
After that, each commit to the project will trigger hooks that check for formatting. This ensures that committed files follow the specified rules. For more information on Lefthook and how it manages hooks, refer to this documentation.
By default, this template is unlicensed. Before modifying the template, it is recommended to replace the LICENSE
file with the license you want to use for your project. For more information about licensing a repository, refer to this documentation.
Alternatively, you can remove the LICENSE
file or leave it as is to keep the project unlicensed.
Modify each file in this template according to your needs. Refer to each file for more information about what to update.
Alternatively, if you're looking for a language- or framework-specific template, you can refer to the following list:
- Node.js Starter: for starting a new Node.js project.
- Action Starter: for starting a new GitHub Action project.
- Discord Bot Starter: for starting a new Discord bot project.
- Python Starter: for starting a new Python project.
- C++ Starter: for starting a new C++ project.
- CMake Starter: for starting a new CMake project.
- Composite Action Starter: for starting a new composite GitHub Action project.
After making your changes, commit them and push to GitHub. Each push to the main
branch will trigger a GitHub Actions workflow for continuous integration. For more details on GitHub Actions workflows, refer to this documentation.
Instead of pushing directly to the main
branch, it is recommended to push to a separate branch and then create a pull request to merge into main
. This allows changes to be reviewed and validated by GitHub Actions before merging. For more information on pull requests, refer to this documentation.
Next, you can release the project or share it with others. You can also create a new issue if you find something wrong in this template or open a new pull request if you have a suggestion for improvement.