A comprehensive GitHub repository template that provides the essential files and structure needed for any project, regardless of programming language. This template includes standard community health files, GitHub issue templates, and pull request templates to help you get started quickly with best practices for open source projects.
- 🌍 Language Agnostic: Works for any programming language or project type
- 🏥 Community Health Files: Includes standard files for project governance
- 🤝 GitHub Integration: Pre-configured issue and pull request templates
- 🔧 Modern Tooling: Pre-configured development workflow tools including Lefthook, Mise, Cocogitto, and Act
- 📁 Structured: Organized project layout with best practices
-
Clone the repository:
git clone https://github.com/TheRealZurvan/github-project-template.git cd github-project-template -
Setup environment:
# Install mise (if not already installed) curl https://mise.run | sh # Install configured tools (lefthook, cocogitto, act) mise install # Set up Git hooks lefthook install
If you have Docker installed, you can run GitHub Actions locally using act. This template includes a pre-configured mise task for testing pull request workflows:
mise run act-prThis command uses .github/act/pull_request.json to simulate a pull request event.
- Mise: Ensures consistent tool versions (cocogitto, lefthook, act) across different environments.
- Lefthook: Git hooks manager that runs checks before commits and pushes.
- Cocogitto: Enforces Conventional Commits and automates changelog generation.
- Act: Runs GitHub Actions locally for faster feedback loops.
This project uses Lefthook for Git hooks and follows Conventional Commits.
- Commit-msg: Validates commit messages using
cog verify. - Pre-push: Runs checks before pushing to the remote repository.
.
├── .github/
│ ├── ISSUE_TEMPLATE/ # Structured issue templates
│ └── act/ # Local CI testing configuration
├── scripts/ # Helper scripts
├── LICENSE # Apache License 2.0
├── README.md # You are here! 📍
├── SECURITY.md # Security policy
└── mise.toml # Tool versions configuration
- Replace this content with information about your project.
- Include sections such as Project description, Usage examples, and API documentation.
- The template includes the Apache License 2.0.
- Update the copyright notice or replace the file with your preferred license.
- CODE_OF_CONDUCT.md: Update the contact information in the "Enforcement" section.
- SECURITY.md: Update contact details and supported versions policy.
- Issue Templates: Modify fields, labels, and descriptions in
.github/ISSUE_TEMPLATE/. - Pull Request Template: Adjust the checklist items in
.github/PULL_REQUEST_TEMPLATE.md.
Contributions are welcome! Please follow these steps:
- Fork the project
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes using Conventional Commits
- Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Please see SECURITY.md for our security policy.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Happy coding! 🎉 If you find this template useful, please give it a ⭐️