- This template can be used as a base layer for any of your future repositories/projects.
- Make your project easy to maintain with 8 issue templates.
- Quick start your documentation with personalized README badges and an extraordinary README structure.
- Manage your issues with 20 issue labels created just for you!
- Make your community healthier with all the guides like code of conduct, contributing, support, security...
- Learn more with the official GitHub guide on creating repositories from a template.
- To start using it; "click use this template" and create your new repository,
- All the basic setup is made through an easy script that will auto-detect all your data to make it lightning fast! π²π² Clone your new repository and execute the
SETUP_TEMPLATE.sh
shell script to personalize the files with your private details. Check how to run it here. - All the markdown follows "MarkdownLint" rules.
-
To create a new repository from this template, generate your new repository from this template; for more information or guidance, follow the GitHub guide.
-
Install the π€ used GitHub bots (recommended)
-
Clone your new repository generated from this template and
cd
into it. -
Execute the
SETUP_TEMPLATE.sh
shell script to customize the files with your data.bash SETUP_TEMPLATE.sh
Or
./SETUP_TEMPLATE.sh
Additionally, watch this video to see how to execute the script or use
bash SETUP_TEMPLATE.sh --help
to obtain some extra information.If the automatic detection of the username, project name or email is NOT correct, please post an issue, and you can manually correct them using the optional arguments like:
bash SETUP_TEMPLATE.sh --username=whatever --projectName=whatever --email=whatever --projectType=whatever
-
Review every single file and customize it as you like.
-
Build your project. π
-
A
SETUP_TEMPLATE.sh
script that MUST be executed right when you clone your repository. The script will customize all the data with yours in all the files.- A README template file with a default template to start documenting your project. (it includes personalized badges and text with your project details)
- A CHANGELOG template file based on Keep a Changelog.
- An issue_label_bot.yaml file to use the issue adder GitHub bot. Activate it or check its documentation.
- A config.yml file to modify multiple bot's behaviours.
- A settings.yml file to use the popular settings GitHub bot. Activate it or check its documentation.
- A CONTRIBUTING explaining how to contribute to the project. Learn more with the GitHub guide.
- A SUPPORT explaining how to support the project. Learn more with the GitHub guide.
- A SECURITY with a guide on how to post a security issue. Learn more with the GitHub guide.
- A CODEOWNERS with the new user as the principal owner. Learn more with the GitHub guide.
- A CODE_OF_CONDUCT with a basic code of conduct. Learn more with the GitHub guide.
- A PULL_REQUEST_TEMPLATE with a template for your pull request that closes issues with keywords. Learn more with the GitHub guide.
- Multiple issues templates. Learn more with the GitHub guide.
- A config.yml with the config and information about the issue templates.
- A Blank issue template with the super basic stuff, all the issues should contain.
- A Bug issue template.
- A Failing test issue template.
- A Documentation issue template.
- A Feature request issue template.
- An Enhancement request issue template.
- A Security report issue template.
- A Question or support issue template.
Files that will get removed after the execution of SETUP_TEMPLATE.sh
are not shown! π
.
βββ CHANGELOG.md
βββ .github
β βββ CODE_OF_CONDUCT.md
β βββ CODEOWNERS
β βββ config.yml
β βββ CONTRIBUTING.md
β βββ FUNDING.yml
β βββ issue_label_bot.yaml
β βββ ISSUE_TEMPLATE
β β βββ 1-bug-report.md
β β βββ 2-failing-test.md
β β βββ 3-docs-bug.md
β β βββ 4-feature-request.md
β β βββ 5-enhancement-request.md
β β βββ 6-security-report.md
β β βββ 7-question-support.md
β β βββ config.yml
β βββ ISSUE_TEMPLATE.md
β βββ pull_request_template.md
β βββ SECURITY.md
β βββ settings.yml
β βββ SUPPORT.md
βββ .gitignore
βββ README.md
2 directories, 22 files
-
After generating your new repo with this template, make sure to, right after you clone it, run the script
SETUP_TEMPLATE.sh
. -
Then, after 'cloning' the repository you will be presented with all the files modified with your project details and information. It is essential to manually review every file to check if it fits your requirements and performs any necessary changes to customize the project as you want.
-
If you are using Windows and you don't know how to execute the
SETUP_TEMPLATE.sh
script:- Install git for Windows.
- Right-click on the git repository folder and click "git bash here".
- Then just perform
bash SETUP_TEMPLATE.sh
orchmod u x SETUP_TEMPLATE.sh && ./SETUP_TEMPLATE.sh
.
These are recommended bots that are prepared and configured for this template. If you install them, your coding experience will probably be much better. We sincerely recommend at least installing the issue label bot as this bot is the one that adds all the labels used in the issue templates.
- The
issue_label_bot.yaml
file depends on the issue label bot (β highly recommended). - The
settings.yml
file depends on the settings label bot (optional). - The
config.yml
file depends on the bot welcome bot and to-do bot (optional).
A couple of screenshots to delight you before you use this template.
Badges and texts will be replaced with your project details!
Or watch this video to see the whole README template.
If the bot probot-settings is not installed you will not have these beautiful labels! (there are more issue labels than in the image!)
(project name and project type will be replaced with yours)
For the proper maintenance of the CHANGELOG.md, we recommend this VSCode extension and the read and understanding of the keep a changelog guide. Please read and comment about it in this dev.to post. We also recommend installing all the used bots.
If you want to improve the development of this project, you must, after changing or improving whatever, run the project's tests to prove that they are working.
To do so:
bash tests/TESTS_RUNNER.sh
We are currently looking for new donators to help and maintain this project! β€οΈ
By donating, you will help the development of this project, and you will be featured in this project's README.md, so everyone can see your kindness and visit your content β.
Enjoy! π
β οΈ Remember that this template should be reviewed and modified to fit your requirements. The script SETUP_TEMPLATE.sh should be executed right when you clone your new repository generated from here. There will be files that will need manual revisionβ οΈ
Made with a lot of β€οΈβ€οΈ by @Josee9988