A reusable GitHub repository template providing a clean starting point for new projects, with repository scaffolding, automation and standard project documentation.
project-template is designed to reduce the repetitive setup required when creating a new GitHub repository.
It provides a reusable baseline containing common repository files, GitHub Actions workflows and supporting automation that can be adapted to suit individual projects.
The template includes:
- Standard repository documentation and community files
- GitHub Actions workflow scaffolding
- Reusable project structure
- Issue and pull request configuration
- MIT licence
The supplied workflows are intended as a starting point. Review and adjust them for the requirements and permissions of each repository created from this template.
- GitHub Actions
- Markdown
- Select Use this template on GitHub, or use the Create a new repository from this template link.
- Choose the repository owner.
- Enter the new repository name and description.
- Choose the required visibility.
- Select Create repository.
GitHub creates a new repository containing the files from this template without carrying across the template repository's Git history.
After creating a repository, review the included files and workflows before beginning development.
In particular:
- Update project-specific documentation and metadata.
- Remove files or automation that the project does not require.
- Review
.github/workflows/and enable only the workflows that are needed. - Review repository and environment secrets before enabling workflows that require them.
- Keep GitHub Actions permissions at the minimum required by each workflow.
Where a workflow needs additional GitHub permissions, declare them explicitly using the workflow or job-level permissions configuration rather than enabling blanket repository-wide write access.
The exact structure may evolve, but the template is intended to provide the common files required for a well-maintained GitHub repository.
.
├── .github/
│ ├── ISSUE_TEMPLATE/
│ ├── workflows/
│ ├── SECURITY.md
│ ├── SUPPORT.md
│ └── PULL_REQUEST_TEMPLATE.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE.md
└── README.md
Project-specific repositories created from this template can add, replace or remove files as required.
Automation included with this repository should be treated as reusable scaffolding rather than a universal configuration.
Before enabling a workflow:
- Review its triggers.
- Review all third-party actions it uses.
- Check the permissions granted to
GITHUB_TOKEN. - Remove permissions that are not required.
- Configure any required repository or environment secrets.
- Test the workflow in the generated repository.
Prefer explicit least-privilege permissions, for example:
permissions:
contents: readGrant additional permissions only to the jobs or workflows that require them.
Contributions, fixes and improvements are welcome.
For significant changes:
- Fork the repository.
- Create a branch for the change.
- Make and test the changes.
- Commit the changes with a clear commit message.
- Push the branch to your fork.
- Open a pull request.
See CONTRIBUTING.md for repository-specific contribution guidance.
For bugs, feature requests or other repository-related queries, use GitHub Issues.
See SUPPORT.md for further guidance.
Please do not report security vulnerabilities through a public GitHub issue.
See SECURITY.md for the appropriate reporting process.
This project is licensed under the MIT License.