Skeleton GitHub Course Generator.
This project aims to be a skeleton generator for course projects deployed on GitHub.
-
README.md
-
notes.md
- Deploy script (optional) with auto create tag, auto commit to
notes.md
files & deploy on GitHub - Self-Update script
- Docker scripts & images (optional)
In you project directory, run:
curl https://raw.githubusercontent.com/filipe1309/shubcogen/main/.shub/bin/get.sh | sh
After running the script from step 2, you'll be prompted to choose the configs of your project. Don't worry, you can always change the configs later at shub-config.json
.
โ Important: You'll be prompt to enter a couse type (
class
,episode
, etc), and after that to initialize a new branch base on the course type. If you choose so, you'll be able to use the deploy script, and automate tag creation, commit tonotes.md
files and deploy on GitHub (see the section below).
You can deploy using the shub-deploy.sh
script. This script auto-increments the version number of the branch and creates a new tag from branch name.
So you must be in a branch with a number at the end, like my-branch-1
or my-branch-1.1
.
For example, if your actual branch is my-branch-1.1
, after running this script, the steps below will be performed:
- A new tag
my-branch-1.1-some-description
will be created - The actual branch will be automatically merged into
main
- The
main
branch will be sent to GitHub with the new tag (withgit push && git push --tags
) - A new branch
my-branch-1.2
will be created notes.md
will be update with the new "version number"
./shub-deploy.sh
- Add sementic versioning
- Add versioning into templates file
- Add as a global npm package & php package
- Backup existing files
- Improve gitignore files (get from
https://github.com/github/gitignore
) - Add badges generation
- Add color deploy script
- Improve project setup
bin/generate.sh
(with 2 types:Class
orEpisode
, or another type set by user) - Add an visual interface to create the
README.md
& setup project configs - Simplify deploy script
- Add an option to append an extra script to
deploy.sh
(like achangelog.sh
) - Save deploy state (if an error occurs)
- Add tests (with Bat)
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Push from your terminal to active auto-versioning & auto-tagging (from pre-push
git hook).
Push with deploy.sh
script.
git clone https://github.com/filipe1309/shubcogen.git
cd shubcogen
cp bin/pre-push .git/hooks/pre-push
./test/bats/bin/bats test/test.bats
Done with โฅ by Filipe Leuch Bonfim ๐