I write a lot of code. When starting a new project there is always little bits and pieces I have to go around and grab when I want to start a new project. The goal of this project is to do all that boilerplate work for me with one command. I wanted to gear this towards C/C++ projects, and Shell projects. This tool is opinionated towards my preferred tools and workflow, but it can be easily swapped around to suit your preferences.
Your new project would look like this:
user@comp $ boil -n MyNewProj -u C++ -l mit user@comp $ tree -a MyNewProj MyNewProj/ ├── clang_complete ├── .git ├── .gitignore ├── include ├── LICENSE.md ├── makefile ├── MyNewProj.1 ├── README.md └── tests 3 directories, 6 files
make deps sudo make install # to uninstall sudo make uninstall
make deps installs the .boil directory at /home/user/
boil # run in interactive mode boil -n coolcode -u C -l bsd3 # setup C project named 'coolcode', with a BSD 3-Clause license boil -n deadbeef -u c++ -l art # setup C++ project named 'deadbeef', with a Artistic license boil -h # show a help message boil -v # show the version info # valid licenses to use with -l agpl # Affero General Public License apache # Apache 2.0 art # Artistic (aka Perl) License bsd0 # BSD 0-Clause (ISC-esque) bsd2 # BSD 2-Clause bsd3 # BSD 3-Clause bsd4 # BSD 4-Clause (Original BSD License) bsl # Boost Software License epl # Eclipse Public License gpl2 # General Public License v2 gpl3 # General Public License v3 isc # Internet Systems Consortium License lgpl2 # Lesser GPL v2 lgpl3 # Lesser GPL v3 mit # MIT License mpl # Mozilla Public License un # The Unlicense zlib # zlib/libpng License
When we make the LICENSE.md file from template, we use the global git username (
git config --global user.name) I would also like to expand this tool to allow for Python and Ruby projects.
This project is licensed under the 3-Clause BSD license. (See LICENSE.md) Please make sure to cook thoroughly before consuming. Artwork courtesy of macrovector.