Flannel - Bash Looks Better in Plaid
This is a modular bash framework for sharing common scripts between your friends and fellow coders!
This is opinionated code! Chances are if what your doing doesn't fit in here, you can easily re factor it to play nice.
This is just a beginning of a project, note that we haven't reached beta yet, we haven't even reached a version number! This will use semantic versions with tagged releases when we get there. Nothing revolutionary should change to the usage API but I'm making no promises yet!
There is also a proof of concept environment variable manager for visual effects inspired by @odgrim. @odgrim did the ground work on auto completion and prompt as well as inspired this whole project / provided the specs and use cases for environment manager proof of concept.
For a more developer oriented overview see the developers markdown. In general the more complex modules should have an associated README.md with them, for example vfx, pather, fuzzy_plaid.
Manifesto
- If you do it twice, automate it
- Nice code is nice, automation is nicer, make pretty a secondary concern
- improve over time
- share lots. :)
Installation
OSX/Unix/Linux: ( one liner sources in bash_profile )
git clone git@github.com:fuag15/flannel ~/.flannel && echo "[[ -s ~/.flannel/init.bash ]] && . ~/.flannel/init.bash" >> ~/.bash_profile && . ~/.bash_profile
Windows: ( look into power shell? glhf )
I could provide a power shell conversion of this if there is interest. Let me know if you'd like to see one.
Chekcing out a store
Flannels basic module sharing system is thrift, it allows you to clone named / versioned git repos into contrib. The main thrift store is located at
To fetch this store:
thrift_fetch git@github.com:fuag15/thrift fuag15 thrift
Basic Usage
Once Installed the important functions are vest
- load a module and jacket
- load default config, named config, local configs.
Vest currently supports a form of auto complete.
vest
: vest module_path_glob [options]
vest contrib/fuag15/thrift/prompt
jacket
: jacket [named config]
jacket # will reload ~/.flannelrc and any ./.plaid_patch files
jacket work # will reload ~/.flannelrc then ~/.work.flannelrc then any ./.plaid_patch files
More Documentation / References
- Roadmap where are we going
- Developers how do I write code for this
- Contributing how can I help
- Change Log What has changed
- Breaking Changes What did you break? Why?
- Legal / Licensing I'd like to use this for work or profit or play, how do I play nice?
- thrift repo Main store for modules
- thrift examples Some examples of more involved modules / packages
- thrift experimental Modules i've thrown together for personal use