Skip to content
/ shinit Public

Initialize Bourne shell with Git repository.

License

Notifications You must be signed in to change notification settings

macie/shinit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

shinit

Quality check status License

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 targets
  • LICENSE file
  • README.md with basic info.

Usage

To initialize new project inside ~/dev directory type:

shinit ~/dev

Installation

The instruction is for Linux. On different OSes, you may need to use different commands

  1. Download latest stable release from GitHub:

    wget https://github.com/macie/shinit/releases/latest/download/shinit
  2. (OPTIONAL) Verify downloading:

    wget https://github.com/macie/shinit/releases/latest/download/shinit.sha256sum
    sha256sum -c shinit.sha256sum
  3. Set execute permission:

    chmod +x shinit
  4. Move to directory from PATH environment variable:

    mv shinit /usr/local/bin/

Development version

git clone [email protected]:macie/shinit.git
cd shinit
make install

Development

Use make (GNU or BSD):

  • make - run checks
  • make test - run test
  • make check - perform static code analysis
  • make install - install in /usr/local/bin
  • make dist - prepare distribution
  • make clean - remove development artifacts
  • make info - print system info (useful for debugging).

Versioning

shinit is versioned according to the scheme YY.0M.MICRO (calendar versioning). Releases are tagged in Git.

License

MIT (explanation in simple words)