A comprehensive template repository with best practices for modern GitHub projects. Fork this repository to quickly set up new projects with standardized community guidelines, documentation, and GitHub configurations.
Features • Getting Started • What's Included • Customization • Contributing • License • Discussions
- 👥 Community Guidelines - Code of conduct, contributing guide, and support information
- 🔒 Security Policy - Vulnerability reporting and security expectations
- ⚙️ GitHub Configurations - Issue/PR templates, funding information, and workflow examples
- 📚 Documentation Templates - Readme, changelog, development guide, and roadmap
- 📁 Project Structure - Common directories and file templates
- Click "Use this template" on GitHub to create a new repository based on this template
- Clone your new repository
- Run the setup script to customize the template for your project:
./scripts/setup.sh
- Update the documentation files with your project-specific information
- Set up your development environment based on the development guide
- Start developing!
This template can be used with any type of project. Depending on the type of project you're creating, you might use one of these installation approaches:
# Using npm
npm install your-project-name
# Using yarn
yarn add your-project-name
# Using pnpm
pnpm add your-project-name
# Using pip
pip install your-project-name
# Using poetry
poetry add your-project-name
# Pull the image
docker pull username/project-name:latest
# Run the container
docker run -d username/project-name
After setting up your project from this template, you can customize it for your specific needs:
# Example: Adding a new feature in JavaScript project
npm run dev
# Example: Running tests
npm test
For detailed usage instructions specific to your project, replace this section with appropriate documentation.
README.md
- Project introduction and main documentationCHANGELOG.md
- Keep a Changelog-formatted version historyCODE_OF_CONDUCT.md
- Contributor Covenant code of conductCONTRIBUTING.md
- Guide for contributing to the projectDEVELOPMENT.md
- Development environment setup instructionsLICENSE
- MIT License by default (customize as needed)ROADMAP.md
- Project goals and planned featuresSECURITY.md
- Security policy and vulnerability reportingSUPPORT.md
- How to get help with your project
.github/ISSUE_TEMPLATE/
- Templates for bug reports and feature requests.github/PULL_REQUEST_TEMPLATE.md
- Pull request template.github/FUNDING.yml
- Funding links configuration.github/workflows/
- CI/CD workflows for validation and releases
.gitignore
- Common ignore patterns.editorconfig
- Consistent coding styles across editorsdocs/
- Extended documentation directoryexamples/
- Example code directoryscripts/
- Utility scripts directory
This template is designed to be customized for your specific project. You should:
- Update all documentation files with your project details
- Choose appropriate GitHub workflow files for your language/framework
- Customize ignore patterns and editor configurations
- Remove any unnecessary components
- Add language-specific files and directories
Contributions to improve this template are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request
Please make sure to:
- Update documentation as needed
- Follow the existing code style
- Respect the purpose of the template
Have questions or ideas? Join the conversation in GitHub Discussions.
This template is available under the MIT License. See the LICENSE file for details.
- Keep a Changelog - Guidelines for maintaining a changelog
- Contributor Covenant - Code of conduct framework
- Semantic Versioning - Versioning guidelines
- GitHub Community Standards - Open source community guidelines
Made with ❤️ by greggh