Autowow
Set of commands to [auto]mate [w]ay [o]f [w]orking
You are viewing the README of version v0.16.1. You can find other releases here.
Branch | Status |
---|---|
Release | |
Development |
Disclaimer
Commands are purposefully opinionated. Use it on your own responsibility.
Usage
Install from source as rake install
.
Run autowow
or aw
to see available commands.
Commands
Commands in general
- start by outputting the status before execution
- end by outputting the status after execution
- are safe
- only touch files via other commands (e.g.
git
) - do not cause conflicted state
- only touch files via other commands (e.g.
- hard check for prerequisites
- store and restore uncommitted changes
- output executed commands that cause any change
- execute in current directory
- retain original output color
VCS
Commands related to version control systems. Currently only Git and the GitHub API are supported.
Branch merged
aw bm
/ autowow branch_merged
- Switches to master and pulls your merged changes
- Removes local working branch
Prerequisites: not on master
Update projects
aw up
/ autowow update_projects
- Updates local repositories
- Updates remote forks
- Searches for repositories on paths:
.
,./*/
Prerequisites: no uncommitted changes on master
Clear branches
aw cb
/ autowow clear_branches
- Removes branches without not pushed changes
- Keeps current and master branches
Add upstream
aw au
/ autowow add_upstream
- Adds parent repository as remote 'upstream'
Prerequisites: doesn't have remote called 'upstream'
Hi
aw hi
/ autowow hi
Day starter routine
- Updates projects (runs 'Update projects')
- Shows latest and deprecated repos
- Shows deprecated Ruby versions
Prerequisites: in a directory that contains git repos, not in the repo itself
Hi!
aw hi!
/ autowow hi!
Day starter routine for a new start
- Runs 'Add upstream' and 'Clear branches' for all projects
- Runs 'Hi'
Open
aw open
/ autowow open
- Opens project in browser
Force pull
aw fp
/ autowow force_pull
- Runs
git fetch --all
- Runs
git reset --hard origin/<current_branch_name>
Gem
Gem release
aw grls
autowow gem_release
- doc
Ruby check
aw rc
autowow ruby_check
- doc
Gem install source
aw gis
autowow gem_install_local
- doc
Gem clean
aw gc
/ autowow gem_clean
- Removes unused gems
Rubocop parallel autocorrect
aw rpa
/ autowow rubocop_parallel_autocorrect
- Runs
rubocop
in parallel mode, autocorrects offenses on single thread
Bundle exec
aw be <cmd>
/ autowow bundle_exec <cmd>
- Runs
cmd
withbundle exec
prefixed
Ruby
Ruby versions
aw rv
/ autowow ruby_versions
- Shows Ruby versions in use
- Searches for repositories on paths:
.
,./*/
Misc
Execute
aw e
/ autowow execute
- Executes given command
Feedback
Any feedback is much appreciated.
I can only tailor this project to fit use-cases I know about - which are usually my own ones. If you find that this might be the right direction to solve your problem too but you find that it's suboptimal or lacks features don't hesitate to contact me.
Please let me know if you make use of this project so that I can prioritize further efforts.
Conventions
This gem is developed using the following conventions:
- Bundler's guide for developing a gem
- Better Specs
- Semantic versioning
- RubyGems' guide on gem naming
- RFC memo about key words used to Indicate Requirement Levels
- Bundler improvements
- Minimal dependencies
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/thisismydesign/autowow.
License
The gem is available as open source under the terms of the MIT License.