shinit interactively initializes empty project for a Bourne shell script.
shinit
asks user for:
- project name (by default:
sh-<hash>
), - author name (by default: user from git config or current OS user),
- license ID from corporate-safe selection:
- MIT (default) - to maximize chance of mass adoption by preserving authorship information only,
- GPL-3.0-only - to secure access to the source code at the cost of adoption across for-profit organizations,
- MIT-0 - to release the source code into the public domain, even in jurisdictions without the public domain.
Based on answers, shinit
creates a new directory with:
- initialized Git repository and
.gitignore
allow list - shell script with executable permissions
Makefile
with configured development targetsLICENSE
fileREADME.md
with basic info.
To initialize new project inside ~/dev
directory type:
shinit ~/dev
The instruction is for Linux. On different OSes, you may need to use different commands
-
Download latest stable release from GitHub:
wget https://github.com/macie/shinit/releases/latest/download/shinit
-
(OPTIONAL) Verify downloading:
wget https://github.com/macie/shinit/releases/latest/download/shinit.sha256sum sha256sum -c shinit.sha256sum
-
Set execute permission:
chmod +x shinit
-
Move to directory from
PATH
environment variable:mv shinit /usr/local/bin/
git clone git@github.com:macie/shinit.git
cd shinit
make install
Use make
(GNU or BSD):
make
- run checksmake test
- run testmake check
- perform static code analysismake install
- install in/usr/local/bin
make dist
- prepare distributionmake clean
- remove development artifactsmake info
- print system info (useful for debugging).
shinit
is versioned according to the scheme YY.0M.MICRO
(calendar versioning). Releases are tagged in Git.