Autowow
Set of commands to [auto]mate [w]ay [o]f [w]orking
Status and support
- ✔ stable
- ✔ supported
- ✔ ongoing development
You are viewing the README of the development version. You can find the README of the latest release (v0.17.1) 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
-
DB migrate reset
aw dbmr
autowow db_migrate_reset
- 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
Contribution and feedback
This project is built around known use-cases. If you have one that isn't covered don't hesitate to open an issue and start a discussion.
Bug reports and pull requests are welcome on GitHub at https://github.com/thisismydesign/autowow. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
Conventions
This project follows C-Hive guides for code style, way of working and other development concerns.
License
The gem is available as open source under the terms of the MIT License.