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

39 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 git@github.com: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)

About

Initialize Bourne shell with Git repository.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks