From f358d39bdb07dec746524db7452a8288a23bfe3a Mon Sep 17 00:00:00 2001
From: Josee9988
Date: Thu, 8 Jul 2021 13:32:32 +0200
Subject: [PATCH] =?UTF-8?q?Revert=20"Set=20up=20'@Josee9988/project-templa?=
=?UTF-8?q?te'=20template:=20Personalized=20files=20by=20executing=20the?=
=?UTF-8?q?=20SETUP=5FTEMPLATE.sh=20script.=F0=9F=9A=80"?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This reverts commit 46a83d9d5e7c78bcff1b37b08c56de66d96449ad.
---
.github/CODEOWNERS | 6 +-
.github/CODE_OF_CONDUCT.md | 2 +-
.github/FUNDING.yml | 3 +-
.github/ISSUE_TEMPLATE/1-bug-report.md | 2 +-
.github/ISSUE_TEMPLATE/2-failing-test.md | 2 +-
.github/ISSUE_TEMPLATE/3-docs-bug.md | 2 +-
.github/ISSUE_TEMPLATE/4-feature-request.md | 2 +-
.../ISSUE_TEMPLATE/5-enhancement-request.md | 2 +-
.github/ISSUE_TEMPLATE/6-security-report.md | 4 +-
.github/ISSUE_TEMPLATE/7-question-support.md | 2 +-
.github/ISSUE_TEMPLATE/config.yml | 2 +-
.github/SECURITY.md | 2 +-
.github/config.yml | 2 +-
.gitignore | 4 +-
CHANGELOG.md | 244 +++++++++++++++++-
LICENSE | 21 ++
README.md | 237 ++++++++++++++---
bin/FUNCTION_HELPERS.sh | 191 ++++++++++++++
18 files changed, 666 insertions(+), 64 deletions(-)
create mode 100644 LICENSE
create mode 100644 bin/FUNCTION_HELPERS.sh
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 4534ddd..4cb66d4 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -1,6 +1,6 @@
# These owners will be the default owners for everything in
# the repo. Unless a later match takes precedence,
-# @FAKE_TEST_USERNAME will be requested for
+# @Josee9988 will be requested for
# review when someone opens a pull request.
-# if you want to add more owners just write it after @FAKE_TEST_USERNAME
-* @FAKE_TEST_USERNAME
+# if you want to add more owners just write it after @Josee9988
+* @Josee9988
diff --git a/.github/CODE_OF_CONDUCT.md b/.github/CODE_OF_CONDUCT.md
index f1d964a..b60dfc1 100644
--- a/.github/CODE_OF_CONDUCT.md
+++ b/.github/CODE_OF_CONDUCT.md
@@ -55,7 +55,7 @@ further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing or otherwise unacceptable behaviour may be
-reported by contacting the project team at FAKE_TEST_EMAIL. All
+reported by contacting the project team at jgracia9988@gmail.com. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality concerning the reporter of an incident.
diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
index c942e4e..a2d624f 100644
--- a/.github/FUNDING.yml
+++ b/.github/FUNDING.yml
@@ -1 +1,2 @@
-# add your own funding links
+github: Josee9988
+custom: ['https://www.paypal.me/josee9988']
diff --git a/.github/ISSUE_TEMPLATE/1-bug-report.md b/.github/ISSUE_TEMPLATE/1-bug-report.md
index a6e11cc..1376422 100644
--- a/.github/ISSUE_TEMPLATE/1-bug-report.md
+++ b/.github/ISSUE_TEMPLATE/1-bug-report.md
@@ -3,7 +3,7 @@ name: "π Bug Report"
about: "Report an issue to help the project improve."
title: "[Bug] "
labels: "Type: Bug"
-assignees: FAKE_TEST_USERNAME
+assignees: Josee9988
---
diff --git a/.github/ISSUE_TEMPLATE/2-failing-test.md b/.github/ISSUE_TEMPLATE/2-failing-test.md
index 9b1cee9..a239f2a 100644
--- a/.github/ISSUE_TEMPLATE/2-failing-test.md
+++ b/.github/ISSUE_TEMPLATE/2-failing-test.md
@@ -3,7 +3,7 @@ name: "π Failing Test"
about: "Report failing tests or CI jobs."
title: "[Test] "
labels: "Type: Test"
-assignees: FAKE_TEST_USERNAME
+assignees: Josee9988
---
diff --git a/.github/ISSUE_TEMPLATE/3-docs-bug.md b/.github/ISSUE_TEMPLATE/3-docs-bug.md
index 855d1d4..f987493 100644
--- a/.github/ISSUE_TEMPLATE/3-docs-bug.md
+++ b/.github/ISSUE_TEMPLATE/3-docs-bug.md
@@ -3,7 +3,7 @@ name: "π Documentation or README.md issue report"
about: "Report an issue in the project's documentation or README.md file."
title: ""
labels: "Documentation"
-assignees: FAKE_TEST_USERNAME
+assignees: Josee9988
---
# **π Documentation Issue Report**
diff --git a/.github/ISSUE_TEMPLATE/4-feature-request.md b/.github/ISSUE_TEMPLATE/4-feature-request.md
index 9550f60..33ecf94 100644
--- a/.github/ISSUE_TEMPLATE/4-feature-request.md
+++ b/.github/ISSUE_TEMPLATE/4-feature-request.md
@@ -3,7 +3,7 @@ name: "ππ Feature Request"
about: "Suggest an idea or possible new feature for this project."
title: ""
labels: "Type: Feature"
-assignees: FAKE_TEST_USERNAME
+assignees: Josee9988
---
diff --git a/.github/ISSUE_TEMPLATE/5-enhancement-request.md b/.github/ISSUE_TEMPLATE/5-enhancement-request.md
index 6e0c123..2b29bd5 100644
--- a/.github/ISSUE_TEMPLATE/5-enhancement-request.md
+++ b/.github/ISSUE_TEMPLATE/5-enhancement-request.md
@@ -3,7 +3,7 @@ name: "πβ Enhancement Request"
about: "Suggest an enhancement for this project. Improve an existing feature"
title: ""
labels: "Type: Enhancement"
-assignees: FAKE_TEST_USERNAME
+assignees: Josee9988
---
diff --git a/.github/ISSUE_TEMPLATE/6-security-report.md b/.github/ISSUE_TEMPLATE/6-security-report.md
index 3306b9d..81f6fef 100644
--- a/.github/ISSUE_TEMPLATE/6-security-report.md
+++ b/.github/ISSUE_TEMPLATE/6-security-report.md
@@ -3,7 +3,7 @@ name: "β οΈ Security Report"
about: "Report an issue to help the project improve."
title: ""
labels: "Type: Security"
-assignees: FAKE_TEST_USERNAME
+assignees: Josee9988
---
@@ -25,7 +25,7 @@ certain personal information or involves personal identifiable data, or you beli
that the data that you might leak by exposing the way on how to attack the project
could be considered as a data leak or could violate the privacy of any kind of
data or sensible data, please do not post it here and directly email the developer:
-(FAKE_TEST_EMAIL). You should post the issue with the least amount of
+(jgracia9988@gmail.com). You should post the issue with the least amount of
sensible or private data as possible to help us manage the security issue, and
with the extra data sent from your email to the developer (if any), we will deeply
analyze and try to fix it as fast as possible.
diff --git a/.github/ISSUE_TEMPLATE/7-question-support.md b/.github/ISSUE_TEMPLATE/7-question-support.md
index 2b10fb5..ec98c81 100644
--- a/.github/ISSUE_TEMPLATE/7-question-support.md
+++ b/.github/ISSUE_TEMPLATE/7-question-support.md
@@ -3,7 +3,7 @@ name: "β Question or Support Request"
about: "Questions and requests for support."
title: ""
labels: "Type: Question"
-assignees: FAKE_TEST_USERNAME
+assignees: Josee9988
---
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
index af993b3..a053b0d 100644
--- a/.github/ISSUE_TEMPLATE/config.yml
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -1,5 +1,5 @@
blank_issues_enabled: true
contact_links:
- name: Send an e-mail the developer
- url: mailto:FAKE_TEST_EMAIL
+ url: mailto:jgracia9988@gmail.com
about: Please do NOT use this email to post issues or feature requests (only important business/personal contact).
diff --git a/.github/SECURITY.md b/.github/SECURITY.md
index a8d01ff..30a193d 100644
--- a/.github/SECURITY.md
+++ b/.github/SECURITY.md
@@ -8,6 +8,6 @@ To report a security issue, go to the project's issues and create a new issue us
Read carefully the instructions of this issue template, and if your report could leak data or might expose
how to gain access to a restricted area or break the system,
-please email [FAKE_TEST_EMAIL](mailto:FAKE_TEST_EMAIL) and include the word "SECURITY" in the subject line.
+please email [jgracia9988@gmail.com](mailto:jgracia9988@gmail.com) and include the word "SECURITY" in the subject line.
We'll endeavour to respond quickly, and will keep you updated throughout the process.
diff --git a/.github/config.yml b/.github/config.yml
index 91e895a..1e537f7 100644
--- a/.github/config.yml
+++ b/.github/config.yml
@@ -2,7 +2,7 @@
# Comment to be posted to on first time issues
newIssueWelcomeComment: >
- Thanks for opening your first issue in FAKE_TEST_USERNAME/project-template! Be sure to follow the issue template and provide every bit of information to help the developers!
+ Thanks for opening your first issue in Josee9988/project-template! Be sure to follow the issue template and provide every bit of information to help the developers!
# Configuration for new-pr-welcome - https://github.com/behaviorbot/new-pr-welcome
diff --git a/.gitignore b/.gitignore
index f89f074..49c69d3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,4 @@
-###> FAKE_TEST_USERNAME/FAKE_TEST_PROJECT_NAME ###
+###> Josee9988/project-template ###
# Folders
.vscode/
@@ -13,4 +13,4 @@ ignore.*
.env.test
*.pem
-###< FAKE_TEST_USERNAME/FAKE_TEST_PROJECT_NAME ###
+###< Josee9988/project-template ###
diff --git a/CHANGELOG.md b/CHANGELOG.md
index ae8df3e..03f1f20 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,14 +1,252 @@
# **Change Log** ππ
-All notable changes to the "**FAKE_TEST_PROJECT_NAME**" DICK will be documented in this file.
+All notable changes to the "**Project template**" repository will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
---
-## [**0.0.1**] - 2021-07-08
+## [**1.7.2**] - 2021-07-08
### Added
-* The basic project structure from **[josee9988/project-template](https://github.com/Josee9988/project-template)**.
+* Multiple new .gitignore lines and improved its comment structure.
+
+### Fixed
+
+* Minnor typo in the generated README.md
+
+## [**1.7.1**] - 2021-07-01
+
+### Added
+
+* `.env` file will be ignored in the `.gitignore`.
+* Disabled some markdownlint rules in the generated README.md
+* Fixed some minnor errors in the README.md file
+
+## [**1.7.0**] - 2021-06-01
+
+### Added
+
+* Type: Test issue label.
+* Failing test issue template adds the new Type Test issue label.
+* Updated README.md with the new label.
+
+## [**1.6.0**] - 2021-05-21
+
+### Added
+
+* Divided the feature request into feature and enhancement request, each one with its respective labels.
+
+### Changed
+
+* Position of disclaimers and comments in the issue templates are moved to the bottom (but the security report) as some users directly erased everything to not read the text.
+* Image of the issue templates in the readme.md file.
+
+## [**1.5.0**] - 2021-05-15
+
+### Added
+
+* Auto-detection of user email.
+
+## [**1.4.5**] - 2021-04-24
+
+### Added
+
+* Sponsor section in the project's main readme.md file.
+* Improved and added documentation in the scripts.
+
+### Fixed
+
+* Readme "What does it include" fixed list of files.
+* Sponsor link in the generated README.md file.
+* Some typos
+
+## [**1.4.4**] - 2021-04-22
+
+### Added
+
+* --help option in the script.
+* More documentation and information for the user in the script prompts
+
+## [**1.4.3**] - 2021-04-21
+
+### Added
+
+* Support for Github todo app.
+
+## [**1.4.2**] - 2021-04-20
+
+### Added
+
+* An extra informational message in the script.
+* Welcome bot and its config (.github/config.yml)
+
+### Fixed
+
+* Issue templates now auto assigns the new labels.
+
+## [**1.4.1**] - 2021-04-20
+
+### Added
+
+* Security label
+
+### Changed
+
+* Project tree to its updated version.
+
+## [**1.4.0**] - 2021-04-19
+
+### Added
+
+* Readme file with the section with the recommended/used bots that the users should install.
+* Some informational comments in the script referencing the project's documentation.
+* A total of 18 new labels will be created right when you clone your repo using Github Probot settings.
+
+## [**1.3.0**] - 2021-04-14
+
+### Added
+
+* CODEOWNERS file inside the .github folder.
+
+### Fixed
+
+* Some README.md markdownlint bugs.
+
+## [**1.2.0**] - 2021-04-07
+
+### Added
+
+* Bug report issue templates have the preceding "[BUG]" title.
+* Multiple readme template headings (About the project, project tree, screenshots, donators).
+* Improved README.md template by fixing some minor problems.
+
+## [**1.1.1**] - 2021-04-02
+
+### Added
+
+* Username and project name are automatically selected (user can manually force change them using bash parameters [Username] [Project-Name])
+
+### Changed
+
+* Asciinema video
+
+## [**1.1.0**] - 2021-03-31
+
+### Added
+
+* Gitignore file ignores all \*.ignore.\* files.
+* Basic README.md template.
+* bin/FUNCTION_HELPERS script to improve the readability of the SETUP_TEMPLATE.sh file.
+
+### Changed
+
+* Header's emoji from the end of the README.md headers to the beginning to be shown better by the new GitHub's README table of contents.
+
+### Fixed
+
+* Git status is shown before the commit.
+
+### Fixed
+
+* Some typos in the CHANGELOG.md.
+
+## [**1.0.11**] - 2021-03-20
+
+### Added
+
+* Social links of the repo in the README.md file.
+* Added badges in the README.md file.
+* Added sponsor link in the contributing.yml file.
+
+### Fixed
+
+* Some minor typos in the README.md file.
+
+## [**1.0.10**] - 2021-03-17
+
+### Changed
+
+* `EXECUTEME.sh` script changed to `SETUP_TEMPLATE.sh`.
+* Changed the execution video from the README.md file (Asciinema's video).
+
+## [**1.0.9**] - 2021-03-17
+
+### Added
+
+* The script will git add and commit the new files/changes for you.
+
+## [**1.0.8**] - 2021-03-17
+
+### Changed
+
+* Improved README.md structure and fixed some typos.
+
+### Added
+
+* 'Extra recommendations' section in the README.md file.
+
+## [**1.0.7**] - 2021-03-16
+
+### Fixed
+
+* Some minor typos
+
+## [**1.0.6**] - 2021-03-16
+
+### Changed
+
+* Simplified PR template to make it easier.
+
+## [**1.0.5**] - 2021-03-13
+
+### Added
+
+* Checks to the shell script (check if the files exist)
+* Colourized the output of the script.
+
+## [**1.0.4**] - 2021-02-26
+
+### Added
+
+* Markdownlint disable the rule in the CHANGELOG.md file"
+
+## [**1.0.3**] - 2021-02-23
+
+### Removed
+
+* Josee's funding links.
+
+### Added
+
+* Shell script now checks if the .github directory exists.
+
+## [**1.0.2**] - 2020-09-08
+
+### Added
+
+* One more screenshot to the README.md file showing the community profile.
+* Documentation for the SETUP_TEMPLATE.sh script.
+
+### Changed
+
+* The project tree view showing the new LICENSE file.
+
+## [**1.0.1**] - 2020-09-08
+
+### Added
+
+* A LICENSE for the project will be removed with the SETUP_TEMPLATE.sh script.
+
+### Changed
+
+* The location of the pull request template to the .github/ folder.
+
+## [**1.0.0**] - 2020-09-08
+
+### Added
+
+* Added a CHANGELOG.md.
+* Support for the CHANGELOG in the SETUP_TEMPLATE.sh file (when run, it will remove all of the content and create a new file from scratch).
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..97d7d26
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2020 Jose Gracia Berenguer
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/README.md b/README.md
index 642a694..6cd70c9 100644
--- a/README.md
+++ b/README.md
@@ -1,97 +1,248 @@
-
-# π₯ **FAKE_TEST_USERNAME/FAKE_TEST_PROJECT_NAME**
+# π₯ **Josee9988's Github Project Template**
-
+
+
+
+
---
-## π€ **About the project**
+## π€ **What is this template all about?**
-*
+* 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**.
+* Quickstart your documentation with personalized **readme badges** and a cool 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](https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/creating-a-repository-from-a-template).
+* To start using it; "**[click use this template](https://github.com/Josee9988/project-template/generate)**", 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 execute it [here](https://asciinema.org/a/398761).
+* All the markdown follows [MarkdownLint rules](https://github.com/DavidAnson/markdownlint).
---
## β‘ **Installation**
-*
+1. To create a new repository from this template **[generate your new repository from this template](https://github.com/Josee9988/project-template/generate)**
+for more information or guidance, follow the [Github guide](https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/creating-a-repository-from-a-template).
+2. Clone your new repository **[generated from this template](https://github.com/Josee9988/project-template/generate)** and `cd` into it.
+3. **Execute** the `SETUP_TEMPLATE.sh` shell script to **customize** the files with your data.
+
+ ```bash
+ bash SETUP_TEMPLATE.sh # additional parameters [Username] [Project-Name] [Email]
+ ```
----
+ Or you can also do it like this:
+
+ ```bash
+ chmod u+x SETUP_TEMPLATE.sh && ./SETUP_TEMPLATE.sh # additional parameters [Username] [Project-Name] [Email]
+ ```
-## π **Usage**
+ Additionally, watch *[this video](https://asciinema.org/a/404568)* 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 right, please post an issue, and you can **manually correct** them like: `bash SETUP_TEMPLATE.sh RightUsername RightProjectName RightEmail` being `$1` the new username, `$2` the new project name and `$3` the new email.
-*
+4. **Review** every single file and **customize** it as you like.
+5. Build your project. π
+
+β οΈ _Customize every file to fit your requirements_ β οΈ
---
-## π² **Project tree**
+## π **What does it include?**
+
+1. A **`SETUP_TEMPLATE.sh`** script that **MUST be executed right when you clone your repository**.
+The script will replace Jose's username and email (the author) with yours from all the.
+
+ 1. A README template file with a default template to start documenting your project. (it includes personalized badges and text with your project details)
+ 1. A CHANGELOG template file based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
+ 1. An [issue_label_bot.yaml](/.github/issue_label_bot.yaml) file to use the issue adder Github bot. [Activate it or check its documentation](https://github.com/marketplace/issue-label-bot).
+ 1. A [config.yml](/.github/config.yml) file to modify multiple bot's behaviours.
+ 1. A [settings.yml](/.github/settings.yml) file to use the popular settings Github bot. [Activate it or check its documentation](https://probot.github.io/apps/settings/).
+ 1. A [CONTRIBUTING](/.github/CONTRIBUTING.md) explaining how to contribute to the project. [Learn more with the Github guide](https://docs.github.com/en/github/building-a-strong-community/setting-guidelines-for-repository-contributors).
+ 1. A [SUPPORT](/.github/SUPPORT.md) explaining how to support the project. [Learn more with the Github guide](https://docs.github.com/en/github/building-a-strong-community/adding-support-resources-to-your-project).
+ 1. A [SECURITY](/.github/SECURITY.md) with a guide on how to post a security issue. [Learn more with the Github guide](https://docs.github.com/es/github/managing-security-vulnerabilities/adding-a-security-policy-to-your-repository).
+ 1. A [CODEOWNERS](/.github/CODEOWNERS) with the new user as the main owner. [Learn more with the Github guide](https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners).
+ 1. A [CODE_OF_CONDUCT](/.github/CODE_OF_CONDUCT.md) with a basic code of conduct. [Learn more with the Github guide](https://docs.github.com/en/github/building-a-strong-community/adding-a-code-of-conduct-to-your-project).
+ 1. A [PULL_REQUEST_TEMPLATE](/.github/pull_request_template.md) with a template for your pull request that closes issues with keywords. [Learn more with the Github guide](https://docs.github.com/es/github/building-a-strong-community/creating-a-pull-request-template-for-your-repository).
+ 1. Multiple [issues templates](/.github/ISSUE_TEMPLATE). [Learn more with the Github guide](https://docs.github.com/en/github/building-a-strong-community/configuring-issue-templates-for-your-repository).
+ 1. A [config.yml](/.github/ISSUE_TEMPLATE/config.yml) with the config and information about the issue templates.
+ 1. A [Blank issue template](/.github/ISSUE_TEMPLATE) with the super basic stuff, all the issues should contain.
+ 1. A [Bug issue template](/.github/ISSUE_TEMPLATE/1-bug-report.md).
+ 1. A [Failing test issue template](/.github/ISSUE_TEMPLATE/2-failing-test.md).
+ 1. A [Documentation issue template](/.github/ISSUE_TEMPLATE/3-docs-bug.md).
+ 1. A [Feature request issue template](/.github/ISSUE_TEMPLATE/4-feature-request.md).
+ 1. A [Security report issue template](/.github/ISSUE_TEMPLATE/5-security-report.md).
+ 1. A [Question or support issue template](/.github/ISSUE_TEMPLATE/6-question-support.md).
-
+---
+
+### π² **Project tree**
+
+Files that will get removed after the execution of `SETUP_TEMPLATE.sh` are not shown! π
+
+```text
+.
+βββ CHANGELOG.md
+βββ .github
+βΒ Β βββ CODE_OF_CONDUCT.md
+βΒ Β βββ CODEOWNERS
+βΒ Β βββ CONTRIBUTING.md
+βΒ Β βββ FUNDING.yml
+βΒ Β βββ issue_label_bot.yaml
+βΒ Β βββ config.yml
+βΒ Β βββ 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, 21 files
+```
---
## π **Additional notes**
-*
+* After **[generating your new repo with this template](https://github.com/Josee9988/project-template/generate)**, make sure to, right after you clone it, run the script `SETUP_TEMPLATE.sh`.
+
+* Then you will be presented with all the files modified with your project details and information. It is very important 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:
+ 1. Install **[git for Windows](https://git-scm.com/download/win)**.
+ 2. Right-click on the git repository folder and click "*git bash here*".
+ 3. Then just perform *`bash SETUP_TEMPLATE.sh`* **or** *`chmod u+x SETUP_TEMPLATE.sh && ./SETUP_TEMPLATE.sh`*.
+
+### π€ **Used Github bots**
+
+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 deeply recommend at least installing the [issue label bot](https://github.com/marketplace/issue-label-bot) as this bot is the one that adds all the labels used in the issue templates.
+
+1. The `issue_label_bot.yaml` file depends on the **[issue label bot](https://github.com/marketplace/issue-label-bot)**.
+2. The `settings.yml` file depends on the **[settings label bot](https://probot.github.io/apps/settings/)**.
+3. The `config.yml` file depends on the bot **[welcome bot](https://probot.github.io/apps/welcome/)** and **[todo bot](https://probot.github.io/apps/todo/)**
---
## πΈ **Screenshots**
-
+A couple of screenshots to delight you before you use this template.
----
+### πΊ All the issue templates
-## π° **Supporters and donators**
+
+
+
-We are currently looking for new donators to help and maintain this project! β€οΈ
+### π» An issue template opened
-By donating, you will help the development of this project, and *you will be featured in this FAKE_TEST_PROJECT_NAME's README.md* so everyone can see your kindness and visit your content β.
+
+
+
-
-
-
+### π The README template
-
+Badges and texts will be replaced with your project details!
----
+
+
+
+ Or watch [this video](https://gifs.com/gif/josee9988-s-readme-md-MwO5E3) to see the whole README template.
+
-FAKE_TEST_PROJECT_NAME was generated from *[Josee9988/project-template](https://github.com/Josee9988/project-template)* π
+### π The labels for your issues
----
+If the bot [probot-settings](https://probot.github.io/apps/settings/) is not installed you will not have these beautiful labels! (there are actually 1 more issue label than in the screenshot!)
+
+
+
+
-## π΅οΈ Extra recommendations
+### π The CHANGELOG template
-*
+(project name and project type will be replaced with yours)
+
+
+
+
+
+### π‘οΈ Security policy
+
+
+
+
+
+### πΌ Community profile at 100%
+
+
+
+
---
-## π Was the DICK helpful? Help us raise these numbers up
+## π΅οΈ **Extra recommendations**
-[![Github followers](https://img.shields.io/github/followers/FAKE_TEST_USERNAME.svg?style=social)](https://github.com/FAKE_TEST_USERNAME)
-[![Github stars](https://img.shields.io/github/stars/FAKE_TEST_USERNAME/FAKE_TEST_PROJECT_NAME.svg?style=social)](https://github.com/FAKE_TEST_USERNAME/FAKE_TEST_PROJECT_NAME/stargazers)
-[![Github watchers](https://img.shields.io/github/watchers/FAKE_TEST_USERNAME/FAKE_TEST_PROJECT_NAME.svg?style=social)](https://github.com/FAKE_TEST_USERNAME/FAKE_TEST_PROJECT_NAME/watchers)
-[![Github forks](https://img.shields.io/github/forks/FAKE_TEST_USERNAME/FAKE_TEST_PROJECT_NAME.svg?style=social)](https://github.com/FAKE_TEST_USERNAME/FAKE_TEST_PROJECT_NAME/network/members)
-
-[![Sponsor](https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=github-sponsors&color=red&style=social)](https://github.com/sponsors/FAKE_TEST_USERNAME)
+For the right maintenance of the CHANGELOG.md, we recommend this [VSCode extension](https://github.com/Josee9988/Changelog-and-Markdown-snippets)
+and the read and understanding of the [keep a changelog guide](https://keepachangelog.com/en/1.0.0/).
+Read and comment about it in this [dev.to post](https://dev.to/josee9988/the-ultimate-github-project-template-1264).
+We also recommend installing all the [used bots](https://github.com/Josee9988/project-template#-used-github-bots).
-Enjoy! π
+## π **Project tests**
+
+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
+bash tests/TESTS_RUNNER.sh
+```
---
-## βοΈπ **License and Changelog**
+## π° **Supporters and donators**
-See the license in the '**[LICENSE](LICENSE)**' file.
+We are currently looking for new donators to help and maintain this project! β€οΈ
-Watch the changes in the '**[CHANGELOG.md](CHANGELOG.md)**' file.
+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 β.
+
+
+
+
---
-_Made with a lot of β€οΈβ€οΈ by **[@FAKE_TEST_USERNAME](https://github.com/FAKE_TEST_USERNAME)**_
+## π Was the template helpful? Help us raise these numbers up
+
+[![Github followers](https://img.shields.io/github/followers/Josee9988.svg?style=social)](https://github.com/Josee9988)
+[![Github stars](https://img.shields.io/github/stars/Josee9988/project-template.svg?style=social)](https://github.com/Josee9988/project-template/stargazers)
+[![Github watchers](https://img.shields.io/github/watchers/Josee9988/project-template.svg?style=social)](https://github.com/Josee9988/project-template/watchers)
+[![Github forks](https://img.shields.io/github/forks/Josee9988/project-template.svg?style=social)](https://github.com/Josee9988/project-template/network/members)
+
+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.
+> There will be files that will need *manual revision*β οΈ
+
+_Made with a lot of β€οΈβ€οΈ by **[@Josee9988](https://github.com/Josee9988)**_
diff --git a/bin/FUNCTION_HELPERS.sh b/bin/FUNCTION_HELPERS.sh
new file mode 100644
index 0000000..368005c
--- /dev/null
+++ b/bin/FUNCTION_HELPERS.sh
@@ -0,0 +1,191 @@
+#!/bin/bash
+
+#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#
+# PURPOSE: Secondary (helper) script that is called by the main SETUP_TEMPLATE.sh file by
+# obtaining some functions to better modularize the code.
+# TITLE: FUNCTION_HELPERS
+# AUTHOR: Jose Gracia
+# VERSION: See in CHANGELOG.md
+# NOTES: This script will auto remove itself, and in case of wanting to run it again, the user must download
+# it again or do a 'git stash' and revert the changes.
+# BASH_VERSION: 5.0.17(1)-release
+# LICENSE: see in ../LICENSE (project root) or https://github.com/Josee9988/project-template/blob/master/LICENSE
+# GITHUB: https://github.com/Josee9988/
+# REPOSITORY: https://github.com/Josee9988/project-template
+# ISSUES: https://github.com/Josee9988/project-template/issues
+# MAIL: jgracia9988@gmail.com
+#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#
+
+# SCRIPT WITH EXPORTED FUNCTIONS AND VARIABLES USED IN THE MAIN SETUP_TEMPLATE
+RED='\033[1;31m'
+NC='\033[0m' # No Color
+UPurple='\033[4;35m'
+BBLUE='\033[1;34m'
+
+# Function that centers a text in the terminal
+center() {
+ term_width="$(tput cols)"
+ padding="$(printf '%0.1s' ={1..500})"
+ echo -e "\n\n${BBLUE}$(printf '%*.*s %s %*.*s\n' 0 "$(((term_width - 2 - ${#1}) / 2))" "$padding" "$1" 0 "$(((term_width - 1 - ${#1}) / 2))" "$padding")${NC}\n"
+}
+
+checkFiles() {
+ ### Check if the .github directory does exist ###
+ if [ ! -d ".github/" ] || [ ! -d ".github/ISSUE_TEMPLATE" ]; then
+ echo -e "${RED}Directory .github/ DOES NOT EXIST WITH ALL THE FILES NEEDED.${NC}"
+ displayErrorInstructions
+ exit 1 # exit with error code 1
+ fi
+
+ ### Checks if the root files exist and some extra important files ###
+ if [ ! -f "CHANGELOG.md" ] || [ ! -f "README.md" ] || [ ! -f ".gitignore" ] || [ ! -f "LICENSE" ] || [ ! -f ".github/settings.yml" ] || [ ! -f ".github/pull_request_template.md" ] || [ ! -f ".github/ISSUE_TEMPLATE/1-bug-report.md" ] || [ ! -f ".github/ISSUE_TEMPLATE/config.yml" ]; then
+ echo -e "${RED}The script couldn't find one or many of the template main files${NC}."
+ displayErrorInstructions
+ exit 1 # exit with error code 1
+ fi
+}
+
+displayErrorInstructions() {
+ echo -e "${RED}There are files missing! Have you modified the repository before executing this command?${NC}"
+ echo -e "\nYou should try to 'git stash' your changes and execute this script from the project root again, or clone again the repository (the template) without any changes.\n"
+ echo -e "For more information visit: ${UPurple}https://github.com/Josee9988/project-template${NC}"
+ echo -e "If you think this may be an issue please post it at: ${UPurple}https://github.com/Josee9988/project-template/issues${NC}"
+}
+
+helpCommand() {
+ if [[ "$1" == *"--help" ]] || [[ "$1" == *"-h" ]]; then # if the user specified help command
+ displayHelpTexts
+ exit 0
+ fi
+}
+
+displayHelpTexts() {
+ center "User help"
+ echo -e "Script usage: ${BBLUE}$0 [Username] [Project-Name] [Email]${NC} (The project name should not contain spaces)${NC}\n"
+ echo "Arguments of username, project-name and email are automatically gathered from your git repository and git config, so they are optional in case they are not detected correctly."
+ echo -e "Make sure you have ${BBLUE}read the documentation before executing${NC} this script: ${UPurple}https://github.com/Josee9988/project-template${NC}"
+ echo -e "If you have any questions or if any issue is found, please make sure to report it at: ${UPurple}https://github.com/Josee9988/project-template/issues${NC}"
+}
+
+writeREADME() {
+ PROJECT_NAME_PARSED=${PROJECT_NAME/-/ }
+ bash -c "NEW_USERNAME='NEW_USERNAME' PROJECT_NAME='PROJECT_NAME' PROJECT_TYPE='PROJECT_TYPE'; cat << EOF > README.md
+
+
+# π₯ **$NEW_USERNAME/$PROJECT_NAME**
+
+
+
+---
+
+## π€ **About the project**
+
+*
+
+---
+
+## β‘ **Installation**
+
+*
+
+---
+
+## π **Usage**
+
+*
+
+---
+
+## π² **Project tree**
+
+
+
+---
+
+## π **Additional notes**
+
+*
+
+---
+
+## πΈ **Screenshots**
+
+
+
+---
+
+## π° **Supporters and donators**
+
+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_NAME's README.md* so everyone can see your kindness and visit your content β.
+
+
+
+
+
+
+
+---
+
+$PROJECT_NAME was generated from *[Josee9988/project-template](https://github.com/Josee9988/project-template)* π
+
+---
+
+## π΅οΈ Extra recommendations
+
+*
+
+---
+
+## π Was the $PROJECT_TYPE helpful? Help us raise these numbers up
+
+[![Github followers](https://img.shields.io/github/followers/$NEW_USERNAME.svg?style=social)](https://github.com/$NEW_USERNAME)
+[![Github stars](https://img.shields.io/github/stars/$NEW_USERNAME/$PROJECT_NAME.svg?style=social)](https://github.com/$NEW_USERNAME/$PROJECT_NAME/stargazers)
+[![Github watchers](https://img.shields.io/github/watchers/$NEW_USERNAME/$PROJECT_NAME.svg?style=social)](https://github.com/$NEW_USERNAME/$PROJECT_NAME/watchers)
+[![Github forks](https://img.shields.io/github/forks/$NEW_USERNAME/$PROJECT_NAME.svg?style=social)](https://github.com/$NEW_USERNAME/$PROJECT_NAME/network/members)
+
+[![Sponsor](https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=github-sponsors&color=red&style=social)](https://github.com/sponsors/$NEW_USERNAME)
+
+Enjoy! π
+
+---
+
+## βοΈπ **License and Changelog**
+
+See the license in the '**[LICENSE](LICENSE)**' file.
+
+Watch the changes in the '**[CHANGELOG.md](CHANGELOG.md)**' file.
+
+---
+
+_Made with a lot of β€οΈβ€οΈ by **[@$NEW_USERNAME](https://github.com/$NEW_USERNAME)**_
+EOF"
+}
+
+writeCHANGELOG() {
+ ACTUAL_DATE=$(date '+%Y-%m-%d')
+ bash -c "PROJECT_NAME='PROJECT_NAME' PROJECT_TYPE='PROJECT_TYPE' ACTUAL_DATE='ACTUAL_DATE'; cat << EOF > CHANGELOG.md
+
+# **Change Log** ππ
+
+All notable changes to the \"**$PROJECT_NAME**\" $PROJECT_TYPE will be documented in this file.
+
+The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+
+---
+
+## [**0.0.1**] - $ACTUAL_DATE
+
+### Added
+
+* The basic project structure from **[josee9988/project-template](https://github.com/Josee9988/project-template)**.
+EOF"
+}