pascalandy / mine-a-block-using-sha256

BashLava makes your bash scripts a bunch of pieces of cakes.

Home Page:https://git.io/bashlava

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

 

FirePress

 

BashLava

BashLaVa makes your bash scripts a bunch of pieces of cakes.

It's for developers that use git commands regularly. BashLaVa makes following git workflow a breeze without having to leave your terminal or use the GitHub GUI.

In other word, the Agile release cycle should be something you master. BashLaVa helps you to get there.

Technically speaking, it's a CLI utility (or a CLI aggregator). The idea is to abstract a workflow to minimize the time to do some repetitive actions.

The abstraction is deep. In expert-mode (it means, you know what you do no question asked), you can accomplish all these steps in one command:

Context: you made few commits on your DEV branch. You are ready to release. So you need to:

  1. version the project
  2. squash + rebase + merge code to master (not squashing is possible as well)
  3. Generate or update the CHANGELOG
  4. tag with version & push tag to master branch
  5. push the release on GitHub with a template message
  6. reset your DEV (edge) branch (to avoid any conflicts)
  7. Back to work for the next release!

In. One. Command.

 

bashLaVa-help

 

BashLaVa Demo - The full git workflow in 120 seconds!

bashlava_2020-02-14

For more explanations, check these videos:

When starting with BashLava, I recommend to use these four commands:

c "UPDATE: that feat that does X"
v 3.5.1
m-
r

It also allows you:

Installation

Step-by-step on YouTube

    1. git clone this repo
    1. create a symlink to your PATH for both files.
ln -s /Volumes/myuser/Github/firepress-org/bashlava/bashlava.sh /usr/local/bin/bashlava.sh

ln -s /Volumes/myuser/Github/firepress-org/bashlava/.bashcheck.sh /usr/local/bin/.bashcheck.sh

Assuming your $path is /usr/local/bin

    1. Test your installation. run: bashlava.sh test

Requirements

  • A Mac. I didn't test BashLaVa on other systems. Let's me know if you want to help for this :)
  • Docker: (markdown viewer, password generator, lint checker, etc.)
  • Hub: needed to push release to Github.
  • nano (brew install nano): needed to edit your changelog when the system prompt.

How To, Examples & Quick wins

Click to expand this section.

You should use an alias like: alias uu=bashlava.sh (with a space at the end) to really benefit from this app.

Example: test

$1 value is: test
$2 value is: not-set
$3 value is: not-set

——> Date is: 2020-02-14_10H49s21
——> Run on Darwin (Mac).

——> Hub is installed.
——> Docker version 19.03.5, build 633a0ea is installed.

Example: push commit

bashlava.sh c "README / Add requirement section"

——> ERROR: You must provide a Git message.

Example: list available functions

bashlava.sh list

   Core functions

 c   ...... "commit" all changes + git push | usage: c "FEAT: new rule to avoid this glitch"
 v   ...... "version" update your app | usage: v 1.50.1 (+ no attribute)
 m   ...... "master" .. squash + rebase + merge edge to m + update the CHANGELOG | usage: m 3.5.1
 m-ns   ... "master" no squash + rebase + merge edge to m + update the CHANGELOG | usage: m 3.5.1
 r   ...... "release" generate CHANGELOG + push tag on m + push r on GitHub| usage: r 3.5.1


   Utilities functions

  ci   ..... "continous integration" CI status from Github Actions (no attribute)
 cr   ..... "changelog read" (no attribute)
 d   ...... "diff" show me diff in my code (no attribute)
 e   ...... "edge" recrete a fresh edge branch from master (no attribute)
 h   ...... "help" alias are also set to: -h, --help, help (no attribute)
 hash   ... "hash" Show me the latest hash commit (no attribute)
 l   ...... "log" show me the latest commits (no attribute)
 list   ... "list" all core functions (no attribute)
 log   .... "log" Show me the lastest commits (no attribute)
 mdv   ..... "markdown viewer" | usage: mdv README.md
 oe   ..... "out edge" Basic git checkout (no attribute)
 om   ..... "out master" Basic git checkout (no attribute)
 rr   ..... "release read" Show release from Github (attribute are optionnal)
 s   ...... "status" show me if there is something to commit (no attribute)
 shorturl   "shortner" limited github repos | usage: shorturl firepress-org ghostfire (+ no attribute)
 sq   ..... "squash" commits | usage: sq 3 "Add fct xyz"
 test   ... "test" test if requirements for bashLaVa are meet (no attribute)
 tr   ..... "tag read" the actual tag (no attribute)
 vr   ..... "version read" Show app's version (no attribute)

Website hosting

If you are looking for an alternative to WordPress, Ghost might be the CMS you are looking for. Check out our hosting plans.

ghost-v2-review

Why, Contributing, License

Click to expand this section.

Why all this work?

Our mission is to empower freelancers and small organizations to build an outstanding mobile-first website.

Because we believe your website should speak up in your name, we consider our mission completed once your site has become your impresario.

Find me on Twitter @askpascalandy.

The FirePress Team 🔥📰

Contributing

The power of communities pull request and forks means that 1 + 1 = 3. You can help to make this repo a better one! Here is how:

  1. Fork it
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request

Check this post for more details: Contributing to our Github project. Also, by contributing you agree to the Contributor Code of Conduct on GitHub.

License

About

BashLava makes your bash scripts a bunch of pieces of cakes.

https://git.io/bashlava

License:Other


Languages

Language:Shell 96.4%Language:Dockerfile 3.6%