github-template
github-template copied to clipboard
GitHub template for small projects.
GitHub template for small projects
This GitHub template is independent of to the programming language used, uses GitHub Actions to manage issues and pull requests, and helps enforce best practices for small projects.
Why use a template (even for small projects)
- Write better documentation for you and the community
- Write more consistent code and foster collaboration
- Increase security
- Follow recognized ethical principles
- Promote Free and Open-source software
How this template helps you
Documentation
- README.md according to www.makeareadme.com
- CHANGELOG.md according to keepachangelog.com
- Automated CHANGELOG.md via git-cliff
- package.json according to npm docs
- Accessible documentation via gh-pages
Consistency
- Consistent formatting via Prettier
- Consistent commit messages according to Conventional Commits via husky
- Consistent versioning via Semantic Versioning
- Consistent fork and pull workflow via GitHub branch protection
- Consistent issues via issue templates
- Consistent labels for pull requests via labeler
Security
- SECURITY.md according to GitHub
- GitHub security alerts
- Integrity via GitHub branch protection
Ethics
- CODE_OF_CONDUCT.md according to Contributor Covenant
- Friendly first interactions via greetings
FOSS
- LICENSE.md according to choosealicense.com
Installation
To initialize the template, generate a new project and follow this guide:
- [ ] add
FULLNAME
,USERNAME
,REPO_NAME
andSHORT_DESCRIPTION
to README.template.md - [ ] add
USERNAME
andREPO_NAME
to package.json - [ ] add favicons to
./
, for example via favicon.io - [ ] activate gh-pages
- [ ] add
USERNAME
andREPO_NAME
to SECURITY.md - [ ] protect the main branch to enforce a fork and pull workflow
- [ ] activate GitHub security alerts
- [ ] install the latest LTS version or higher of Node and all dependencies via npm, or via pnpm or via yarn.
# npm
npm install commitizen -g
npm install
npm run prepare
# pnpm
pnpm add commitizen -g
pnpm install
pnpm run prepare
# yarn
yarn global add commitizen
yarn
yarn run prepare
- [ ] change
[INSERT CONTACT METHOD]
in CODE_OF_CONDUCT.md and in SECURITY.md - [ ] choose an appropriate license with choosealicense.com and update README.template.md and LICENSE.md
- [ ] delete README.md
- [ ] rename README.template.md to README.md
Usage
Check if all files are formatted correctly.
npm run check
Format all files.
npm run format
Run the wizard to write meaningful commit messages.
npm run commit
Support
This project is maintained by @maehr. Please understand that we won't be able to provide individual support via email. We also believe that help is much more valuable if it's shared publicly, so that more people can benefit from it.
Type | Platforms |
---|---|
🚨 Bug Reports | GitHub Issue Tracker |
🎁 Feature Requests | GitHub Issue Tracker |
🛡 Report a security vulnerability | See SECURITY.md |
Roadmap
No changes are currently planned.
Contributing
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
Authors and acknowledgment
- Moritz Mähr - Initial work - maehr
See also the list of contributors who participated in this project.
License
This project is licensed under the GNU General Public License v3.0 - see the LICENSE.md file for details