A command-line reference tool for tracking project build systems
Howzit is a tool that allows you to keep Markdown-formatted notes about a project's tools and procedures. It functions as an easy lookup for notes about a particular task, as well as a task runner to automatically execute appropriate commands.
- Match topic titles with any portion of title
- Automatic pagination of output, with optional Markdown highlighting
@open()to perform actions within a build notes file
@include()to import another topic's tasks
- Use fenced code blocks to include/run embedded scripts
- Sets iTerm 2 marks on topic titles for navigation when paging is disabled
- Inside of git repositories, howzit will work from subdirectories, assuming build notes are in top level of repo
- Templates for easily including repeat tasks
- Grep topics for pattern and choose from matches
- Ruby 2.4+ (It probably works on older Rubys, but is untested prior to 2.4.1.)
- Optional: if
fzfis available, it will be used for handling multiple choice selections
- Optional: if
batis available it will page with that
mdcatfor formatting output
You can install
howzit by running:
gem install howzit
See the wiki for documentation.
Brett Terpstra - brettterpstra.com
This project is licensed under the MIT License - see the LICENSE.txt file for details.
This software is provided "as is" and without any express or implied warranties, including, without limitation, the implied warranties of merchantibility and fitness for a particular purpose.
- Howzit Wiki.
- YARD documentation is hosted by RubyDoc.info.
- Interactive documentation is hosted by Omniref.
Development and Testing
The howzit source is hosted on GitHub. Clone the project with
$ git clone https://github.com/ttscoff/howzit.git
Install the development dependencies with
$ rake -T to see all Rake tasks.
rake build # Build howzit-2.0.1.gem into the pkg directory rake bump:current[tag] # Show current gem version rake bump:major[tag] # Bump major part of gem version rake bump:minor[tag] # Bump minor part of gem version rake bump:patch[tag] # Bump patch part of gem version rake bump:pre[tag] # Bump pre part of gem version rake bump:set # Sets the version number using the VERSION environment variable rake clean # Remove any temporary products rake clobber # Remove any generated files rake install # Build and install howzit-2.0.1.gem into system gems rake install:local # Build and install howzit-2.0.1.gem into system gems without network access rake release[remote] # Create tag v2.0.1 and build and push howzit-2.0.1.gem to Rubygems rake rubocop # Run RuboCop rake rubocop:auto_correct # Auto-correct RuboCop offenses rake spec # Run RSpec code examples rake test # Run test suite rake yard # Generate YARD Documentation
Guard tasks have been separated into the following groups:
$ guard will generate documentation, lint, and run unit tests.
Please submit and comment on bug reports and feature requests.
To submit a patch:
- Fork it (https://github.com/ttscoff/howzit/fork).
- Create your feature branch (
git checkout -b my-new-feature).
- Make changes. Write and run tests.
- Commit your changes (
git commit -am 'Add some feature').
- Push to the branch (
git push origin my-new-feature).
- Create a new Pull Request.