:toc: macro :toclevels: 5 :figure-caption!: :bash_link: link:https://www.gnu.org/software/bash[Bash] :ruby_version_managers_link: link:https://alchemists.io/articles/ruby_version_managers[Ruby Version Manager] = Pennyworth Pennyworth is a command line interface and the perfect companion to link:https://www.alfredapp.com[Alfred]. With Pennyworth, you can unlock the full potential of the Ruby language by leveraging a modern version of Ruby through Alfred Workflows. Perfect for when you want to advance beyond the basic workflows Alfred provides by default. toc::[] == Features * Adds Ruby support to link:https://www.alfredapp.com[Alfred]. * Supports building advanced link:https://www.alfredapp.com/help/workflows[Workflows] for personal augmentation. == Screencast video::https://alchemists.io/videos/projects/pennyworth/demo.mp4[poster=https://alchemists.io/images/projects/pennyworth/demo.png,width=706,height=631,role=focal_point] == Requirements . link:https://www.apple.com/macos[macOS] . {bash_link} . link:https://www.alfredapp.com[Alfred] . link:https://www.alfredapp.com/purchase[Alfred Powerpack] . link:https://www.ruby-lang.org[Ruby] While using a {ruby_version_managers_link} is not a hard requirement, it is strongly encouraged since a version manager will give you the freedom to toggle between different Ruby versions since this gem has strict Ruby version requirements (especially in regards to using a modern version of Ruby). All of the workflows, scripts, examples for this gem use {bash_link} syntax. That said, if you are comfortable with translating Bash syntax to your shell syntax of choice, you can make this gem work in different shells too. That is beyond the scope of this document, though, so leave that exercise to you. == Setup To install _with_ security, run: [source,bash] ---- # 💡 Skip this line if you already have the public certificate installed. gem cert --add <(curl --compressed --location https://alchemists.io/gems.pem) gem install pennyworth --trust-policy HighSecurity ---- To install _without_ security, run: [source,bash] ---- gem install pennyworth ---- When using the `--git_hub` CLI option, you'll want to supply your GitHub login and link:https://github.com/settings/tokens[Personal Access Token] with at least _read_ access via the following environment variables: [source,bash] ---- GITHUB_API_LOGIN= GITHUB_API_TOKEN= ---- You can configure these environment variables via link:https://direnv.net[direnv] if using the CLI or through the link:https://www.alfredapp.com/help/workflows/advanced/variables/#environment[Alfred Workflow Environment]. ⚠️ When using Alfred Workflow environment variables, please ensure you check the _Don't Export_ option for these variables so you don't expose your credentials when exporting/sharing workflows with others. == Usage === Command Line Interface (CLI) From the command line, type `pennyworth` to view usage: image:https://alchemists.io/images/projects/pennyworth/screenshots/usage.png[Usage,width=667,height=499,role=focal_point] While the command line options are nice, the real power comes from using Pennyworth in conjunction with link:https://www.alfredapp.com/help/workflows/inputs/script-filter/json[Alfred Script Filters]. Without having Alfred wired up to consume the CLI output, you'll only get a JSON in your console. To explain better, continue reading or skip ahead to the _Workflows_ section. === Customization This gem can be configured via a global configuration: .... ~/.config/pennyworth/configuration.yml .... It can also be configured via link:https://alchemists.io/projects/xdg[XDG] environment variables. The default configuration is as follows: [source,yaml] ---- inflections: - "Base64": "Base64" - "Bigdecimal": "BigDecimal" - "Cgi": "CGI" - "Cmath": "CMath" - "Csv": "CSV" - "Dbm": "DBM" - "Drb": "Distributed Ruby" - "Dry Auto Inject": "Dry AutoInject" - "Dry Cli": "Dry CLI" - "E2mmap": "Exception to Message Mapper" - "Erb": "ERB" - "Fileutils": "File Utilities" - "Gdbm": "GDBM" - "Getoptlong": "Get Option Long" - "Http Fake": "HTTP Fake" - "Io Console": "IO Console" - "Io Nonblock": "IO Nonblock" - "Io Wait": "IO Wait" - "Ipaddr": "IP Address" - "Irb": "IRB" - "Json": "JSON" - "Mac Os Config": "macOS Configuration" - "Mac Os": "MacOS" - "Net Ftp": "Net FTP" - "Net Http": "Net HTTP" - "Net Imap": "Net IMAP" - "Net Pop": "Net POP" - "Net Smtp": "Net SMTP" - "Nkf": "NKF" - "Open Uri": "OpenURI" - "Openssl": "OpenSSL" - "Optparse": "Option Parser" - "Ostruct": "OpenStruct" - "Pkce": "PKCE" - "Pp": "PP" - "Prawn Plus": "Prawn+" - "Prettyprint": "Pretty Print" - "Pstore": "PStore" - "Rbs": "RBS" - "Rdoc": "RDoc" - "Rexml": "REXML" - "Rss": "RSS" - "Rubocop Ast": "RuboCop AST" - "Rubocop Capybara": "RuboCop Capybara" - "Rubocop Factory Bot": "RuboCop FactoryBot" - "Rubocop Md": "RuboCop Markdown" - "Rubocop Performance": "RuboCop Performance" - "Rubocop Rails": "RuboCop Rails" - "Rubocop Rake": "RuboCop Rake" - "Rubocop Rspec": "RuboCop RSpec" - "Rubocop Sequel": "RuboCop Sequel" - "Rubocop Thread Safety": "RuboCop Thread Safety" - "Rubocop": "RuboCop" - "Ruby2_keywords": "Ruby to Keywords" - "Rubygems": "RubyGems" - "Sdbm": "SDBM" - "Securerandom": "Secure Random" - "Stringio": "String IO" - "Strscan": "String Scan" - "Tempfile": "Temporary File" - "Thwait": "Threads Wait" - "Tmpdir": "Temporary Directory" - "Tsort": "TSort" - "Typeprof": "Type Profiler" - "Un": "un" - "Uri": "URI" - "Weakref": "Weak Reference" - "Win32ole": "Windows 32 OLE" - "Xdg": "XDG" - "Xmlrpc": "XMLRPC" - "Yaml": "YAML" git_hub: api_url: "https://api.github.com" http: statuses: url: "https://developer.mozilla.org/docs/Web/HTTP/Status" ruby_gems: api_url: "https://rubygems.org/api/v1" standard_gems: api_url: "https://stdgems.org" ---- Feel free to take this default configuration, modify, and save as your own custom `configuration.yml`. === Themes image:https://alchemists.io/images/projects/pennyworth/screenshots/alchemists-theme.png[Alchemists Theme,width=706,height=632,role=focal_point] The above is shared as the link:https://www.alfredapp.com/extras/theme/FSz9kjN1wX[Alchemists Alfred Theme] which can be link:alfred://theme/?t=eyJhbGZyZWR0aGVtZSI6eyJyZXN1bHQiOnsidGV4dFNwYWNpbmciOjEwLCJzdWJ0ZXh0Ijp7InNpemUiOjEyLCJjb2xvclNlbGVjdGVkIjoiI0Q2RDZENkZGIiwiZm9udCI6IkhlbHZldGljYSIsImNvbG9yIjoiI0Q2RDZENkZGIn0sInNob3J0Y3V0Ijp7InNpemUiOjE2LCJjb2xvclNlbGVjdGVkIjoiI0ZGRkZGRkZGIiwiZm9udCI6IkhlbHZldGljYSIsImNvbG9yIjoiI0ZFRkNGRkZGIn0sImJhY2tncm91bmRTZWxlY3RlZCI6IiNBMDI2MThGRiIsInRleHQiOnsic2l6ZSI6MTYsImNvbG9yU2VsZWN0ZWQiOiIjRkZGRkZGRkYiLCJmb250IjoiSGVsdmV0aWNhIiwiY29sb3IiOiIjRTFERURFRkYifSwiaWNvblBhZGRpbmdIb3Jpem9udGFsIjo1LCJyb3VuZG5lc3MiOjAsInBhZGRpbmdWZXJ0aWNhbCI6NiwiaWNvblNpemUiOjQwfSwic2VhcmNoIjp7ImJhY2tncm91bmRTZWxlY3RlZCI6IiNCMkQ3RkZGRiIsInBhZGRpbmdIb3Jpem9udGFsIjo4LCJzcGFjaW5nIjoxMCwidGV4dCI6eyJzaXplIjozNiwiY29sb3JTZWxlY3RlZCI6IiMwMDAwMDBGRiIsImZvbnQiOiJIZWx2ZXRpY2EiLCJjb2xvciI6IiNGRkZGRkZGRiJ9LCJiYWNrZ3JvdW5kIjoiIzEyMTIxMkZGIiwicm91bmRuZXNzIjowLCJwYWRkaW5nVmVydGljYWwiOjJ9LCJ3aW5kb3ciOnsiY29sb3IiOiIjNzAwQTAwRkYiLCJwYWRkaW5nSG9yaXpvbnRhbCI6MTAsIndpZHRoIjo2MjAsImJvcmRlclBhZGRpbmciOjEwLCJib3JkZXJDb2xvciI6IiMwMDAwMDAzRiIsImJsdXIiOjAsInJvdW5kbmVzcyI6MTIsInBhZGRpbmdWZXJ0aWNhbCI6MTB9LCJjcmVkaXQiOiJCcm9va2UgS3VobG1hbm4iLCJzZXBhcmF0b3IiOnsiY29sb3IiOiIjMDAwMDAwNjYiLCJ0aGlja25lc3MiOjJ9LCJzY3JvbGxiYXIiOnsiY29sb3IiOiIjMDAwMDAwNjYiLCJ0aGlja25lc3MiOjJ9LCJuYW1lIjoiQWxjaGVtaXN0cyJ9fQ==[installed directly]. === Workflows Not all workflows require Pennyworth to run properly (see the _Other_ section below for details). For the workflows that _do_ require Pennyworth support, the following assumptions are made: 1. Your link:https://alchemists.io/projects/dotfiles[Dotfiles] are configured to use {bash_link} and load your environment appropriately. Bash is not a hard requirement, though. You can use _any shell_ you are comfortable with as long as you teach Alfred to load your development environment before running the Alfred Workflow. 2. You have the latest version of Alfred, Ruby, and Pennyworth installed. 3. You are using a {ruby_version_managers_link} which ensures Ruby is on your load path. As mentioned in the _Requirements_ section above, this is not a hard requirement so if you have the correct version of Ruby required by this gem on your path, that'll work too. With the above requirements in mind, the following sections document how to download and install all Pennyworth workflows that are compatible with Alfred. Should you want to tweak any of these workflows, you'd only need to edit an existing workflow or build your own with these settings: image:https://alchemists.io/images/projects/pennyworth/screenshots/script_filter.png[Script Filter,width=776,height=635,role=focal_point] Before diving into each workflow, I want to highlight that the following capabilities are available to all workflows depending on what kind of item is currently selected within the Alfred UI: * `SHIFT` or `COMMAND + y` will launch link:https://www.alfredapp.com/help/features/previews[Quicklook] for any URL based workflow. * `ENTER` or `COMMAND + c` will copy selections to clipboard (depends on context, though). * `COMMAND + l` will launch link:https://www.alfredapp.com/help/features/large-type[Large Type] of current selection. * `ENTER` Will either copy selection to clipboard or launch URL in default web browser. ==== Alchemists image:https://alchemists.io/images/projects/pennyworth/screenshots/alchemists-projects.png[Alchemists Projects,width=706,height=631,role=focal_point] Provides quick access to link:https://alchemists.io[Alchemists] resources. 1. link:https://alchemists.io/public/alfred/workflows/alchemists.alfredworkflow[Download] and double click to install. 2. Click on _Configure Workflow_ to view documentation. ==== Dry RB image:https://alchemists.io/images/projects/pennyworth/screenshots/dry.png[Dry Gems,width=706,height=631,role=focal_point] Provides quick access to link:https://dry-rb.org[Dry RB] resources. 1. link:https://alchemists.io/public/alfred/workflows/dry.alfredworkflow[Download] and double click to install. 2. Click on _Configure Workflow_ to view documentation. ==== RuboCop image:https://alchemists.io/images/projects/pennyworth/screenshots/rubocop-projects.png[Rubocop Projects,width=706,height=632,role=focal_point] Provides quick access to link:https://docs.rubocop.org/rubocop[RuboCop] resources. 1. link:https://alchemists.io/public/alfred/workflows/rubocop.alfredworkflow[Download] and double click to install. 2. Click on _Configure Workflow_ to view documentation. ==== Ruby image:https://alchemists.io/images/projects/pennyworth/screenshots/ruby.png[Ruby workflow screenshot,width=706,height=631,role=focal_point] Provides quick access to link:https://www.ruby-lang.org[Ruby] resources. 1. link:https://alchemists.io/public/alfred/workflows/ruby.alfredworkflow[Download] and double click to install. 2. Click on _Configure Workflow_ to view documentation. ==== Other The following workflows don't require this gem to use but are provided for convenience in case they are of aid to your own productivity. ===== Acronyms image:https://alchemists.io/images/projects/pennyworth/screenshots/acronyms.png[Acronyms workflow screenshot.,width=1001,height=610,role=focal_point] Expands acronyms so you can think and type in terms of an acronym but appear as if you typed out the full definition each time. 1. link:https://alchemists.io/public/alfred/workflows/acronyms.alfredworkflow[Download] and double click to install. 2. Click on _Configure Workflow_ to view documentation. ===== Alpine image:https://alchemists.io/images/projects/pennyworth/screenshots/alpine.png[Alpine Linux workflow screenshot.,width=706,height=632,role=focal_point] Provides quick access to link:https://www.alpinelinux.org[Alpine Linux] resources. 1. link:https://alchemists.io/public/alfred/workflows/alpine.alfredworkflow[Download] and double click to install. 2. Click on _Configure Workflow_ to view documentation. ===== Applications image:https://alchemists.io/images/projects/pennyworth/screenshots/applications.png[Applications workflow screenshot.,width=706,height=362,role=focal_point] Launches your engineering environment but can be tweaked to your preferences. Using Alfred in this manner ensures your machine boots quickly so you have more control over _what_ is launched. 1. link:https://alchemists.io/public/alfred/workflows/applications.alfredworkflow[Download] and double click to install. 2. Click on _Configure Workflow_ to view documentation. ===== Bash image:https://alchemists.io/images/projects/pennyworth/screenshots/bash.png[Bash workflow screenshot.,width=706,height=362,role=focal_point] Provides quick access to link:https://www.gnu.org/software/bash[Bash] resources. 1. link:https://alchemists.io/public/alfred/workflows/bash.alfredworkflow[Download] and double click to install. 2. Click on _Configure Workflow_ to view documentation. ===== Bio image:https://alchemists.io/images/projects/pennyworth/screenshots/bio.png[Bio workflow screenshot.,width=706,height=200,role=focal_point] Provides biographical calculations and information. 1. link:https://alchemists.io/public/alfred/workflows/bio.alfredworkflow[Download] and double click to install. 2. Click on _Configure Workflow_ to view documentation. ===== Browsers image:https://alchemists.io/images/projects/pennyworth/screenshots/browsers.png[Browsers workflow screenshot.,width=706,height=307,role=focal_point] Provides quick access to browser resources. 1. link:https://alchemists.io/public/alfred/workflows/browsers.alfredworkflow[Download] and double click to install. 2. Click on _Configure Workflow_ to view documentation. ===== Bundler image:https://alchemists.io/images/projects/pennyworth/screenshots/bundler.png[Bundler workflow screenshot.,width=706,height=524,role=focal_point] Provides quick access to link:https://bundler.io[Bundler] related resources. 1. link:https://alchemists.io/public/alfred/workflows/bundler.alfredworkflow[Download] and double click to install. 2. Click on _Configure Workflow_ to view documentation. ===== Circle CI image:https://alchemists.io/images/projects/pennyworth/screenshots/circle_ci.png[Circle CI workflow screenshot.,width=706,height=416,role=focal_point] Provides quick access to link:https://circleci.com/[Circle CI] resources. 1. link:https://alchemists.io/public/alfred/workflows/circle_ci.alfredworkflow[Download] and double click to install. 2. Click on _Configure Workflow_ to view documentation. ===== Crystal image:https://alchemists.io/images/projects/pennyworth/screenshots/crystal.png[Crystal workflow screenshot.,width=706,height=632,role=focal_point] Provides quick access to link:https://crystal-lang.org[Crystal] resources. 1. link:https://alchemists.io/public/alfred/workflows/crystal.alfredworkflow[Download] and double click to install. 2. Click on _Configure Workflow_ to view documentation. ===== CSS image:https://alchemists.io/images/projects/pennyworth/screenshots/css.png[CSS workflow screenshot.,width=706,height=470,role=focal_point] Provides quick access to link:https://www.w3.org/Style/CSS/specs.en.html[CSS] resources. 1. link:https://alchemists.io/public/alfred/workflows/css.alfredworkflow[Download] and double click to install. 2. Click on _Configure Workflow_ to view documentation. ===== Docker image:https://alchemists.io/images/projects/pennyworth/screenshots/docker.png[Docker workflow screenshot.,width=706,height=470,role=focal_point] Provides quick access to link:https://www.docker.com[Docker] resources. 1. link:https://alchemists.io/public/alfred/workflows/docker.alfredworkflow[Download] and double click to install. 2. Click on _Configure Workflow_ to view documentation. ===== Elm image:https://alchemists.io/images/projects/pennyworth/screenshots/elm.png[Elm workflow screenshot.,width=706,height=469,role=focal_point] Provides quick access to link:https://elm-lang.org[Elm] resources. 1. link:https://alchemists.io/public/alfred/workflows/elm.alfredworkflow[Download] and double click to install. 2. Click on _Configure Workflow_ to view documentation. ===== Farnam Street image:https://alchemists.io/images/projects/pennyworth/screenshots/farnam_street.png[Farnam Street workflow screenshot.,width=706,height=631,role=focal_point] Provides quick access to link:https://fs.blog[Farnam Street] resources. 1. link:https://alchemists.io/public/alfred/workflows/farnam_street.alfredworkflow[Download] and double click to install. 2. Click on _Configure Workflow_ to view documentation. ===== Git image:https://alchemists.io/images/projects/pennyworth/screenshots/git.png[Git workflow screenshot.,width=706,height=523,role=focal_point] Provides quick access to link:https://git-scm.com[Git] resources. 1. link:https://alchemists.io/public/alfred/workflows/git.alfredworkflow[Download] and double click to install. 2. Click on _Configure Workflow_ to view documentation. ===== GitHub image:https://alchemists.io/images/projects/pennyworth/screenshots/github.png[GitHub workflow screenshot.,width=706,height=632,role=focal_point] Provides quick access to link:https://github.com[GitHub] resources. 1. link:https://alchemists.io/public/alfred/workflows/github.alfredworkflow[Download] and double click to install. 2. Click on _Configure Workflow_ to view documentation. ===== Hanami image:https://alchemists.io/images/projects/pennyworth/screenshots/hanami.png[Hanami workflow screenshot.,width=706,height=632,role=focal_point] Provides quick access to the link:https://hanamirb.org[Hanami] web framework. 1. link:https://alchemists.io/public/alfred/workflows/hanami.alfredworkflow[Download] and double click to install. 2. Click on _Configure Workflow_ to view documentation. ===== HTML image:https://alchemists.io/images/projects/pennyworth/screenshots/html.png[HTML workflow screenshot.,width=706,height=631,role=focal_point] Provides quick access to the link:https://html.spec.whatwg.org/multipage[HTML] language. 1. link:https://alchemists.io/public/alfred/workflows/html.alfredworkflow[Download] and double click to install. 2. Click on _Configure Workflow_ to view documentation. ===== HTMX image:https://alchemists.io/images/projects/pennyworth/screenshots/htmx.png[HTMX workflow screenshot.,width=706,height=523,role=focal_point] Provides quick access to the link:https://htmx.org[HTMX] JavaScript library. 1. link:https://alchemists.io/public/alfred/workflows/htmx.alfredworkflow[Download] and double click to install. 2. Click on _Configure Workflow_ to view documentation. ===== Icon image:https://alchemists.io/images/projects/pennyworth/screenshots/icon.png[Icon workflow screenshot.,width=706,height=631,role=focal_point] Provides quick access to icon resources. 1. link:https://alchemists.io/public/alfred/workflows/icon.alfredworkflow[Download] and double click to install. 2. Click on _Configure Workflow_ to view documentation. ===== Internet Protocol (IP) image:https://alchemists.io/images/projects/pennyworth/screenshots/ip.png[IP workflow screenshot.,width=706,height=415,role=focal_point] Provides quick access to link:https://en.wikipedia.org/wiki/Internet_Protocol[IP] tooling and resources. 1. link:https://alchemists.io/public/alfred/workflows/ip.alfredworkflow[Download] and double click to install. 2. Click on _Configure Workflow_ to view documentation. ===== Jitsi image:https://alchemists.io/images/projects/pennyworth/screenshots/jitsi.png[Jitsi workflow screenshot.,width=706,height=254,role=focal_point] Provides quick access to link:https://jitsi.org[Jitsi] resources. 1. link:https://alchemists.io/public/alfred/workflows/jitsi.alfredworkflow[Download] and double click to install. 2. Click on _Configure Workflow_ to view documentation. ===== macOS image:https://alchemists.io/images/projects/pennyworth/screenshots/mac_os.png[macOS workflow screenshot.,width=706,height=200,role=focal_point] Provides quick access to macOS resources. 1. link:https://alchemists.io/public/alfred/workflows/mac_os.alfredworkflow[Download] and double click to install. 2. Click on _Configure Workflow_ to view documentation. ===== Rack image:https://alchemists.io/images/projects/pennyworth/screenshots/rack.png[Rack workflow screenshot.,width=706,height=470,role=focal_point] Provides quick access to link:https://github.com/rack/rack[Rack] resources. 1. link:https://alchemists.io/public/alfred/workflows/rack.alfredworkflow[Download] and double click to install. 2. Click on _Configure Workflow_ to view documentation. ===== Roda image:https://alchemists.io/images/projects/pennyworth/screenshots/roda.png[Roda workflow screenshot.,width=706,height=577,role=focal_point] Provides quick access to the link:http://roda.jeremyevans.net[Roda] web framework. 1. link:https://alchemists.io/public/alfred/workflows/roda.alfredworkflow[Download] and double click to install. 2. Click on _Configure Workflow_ to view documentation. ===== ROM image:https://alchemists.io/images/projects/pennyworth/screenshots/rom.png[ROM workflow screenshot.,width=706,height=415,role=focal_point] Provides quick access to link:https://rom-rb.org[Ruby Object Mapper (ROM)] resources. 1. link:https://alchemists.io/public/alfred/workflows/rom.alfredworkflow[Download] and double click to install. 2. Click on _Configure Workflow_ to view documentation. ===== RSpec image:https://alchemists.io/images/projects/pennyworth/screenshots/rspec.png[RSpec workflow screenshot.,width=706,height=362,role=focal_point] Provides quick access to link:https://rspec.info[RSpec] resources. 1. link:https://alchemists.io/public/alfred/workflows/rspec.alfredworkflow[Download] and double click to install. 2. Click on _Configure Workflow_ to view documentation. ===== Ruby on Rails image:https://alchemists.io/images/projects/pennyworth/screenshots/ruby_on_rails.png[Ruby on Rails workflow screenshot.,width=706,height=524,role=focal_point] Provides access to the link:https://https://rubyonrails.org[Ruby on Rails] web framework. 1. link:https://alchemists.io/public/alfred/workflows/ruby_on_rails.alfredworkflow[Download] and double click to install. 2. Click on _Configure Workflow_ to view documentation. ===== Search image:https://alchemists.io/images/projects/pennyworth/screenshots/search.png[Search workflow screenshot.,width=706,height=631,role=focal_point] Provides quick access to search resources. 1. link:https://alchemists.io/public/alfred/workflows/search.alfredworkflow[Download] and double click to install. 2. Click on _Configure Workflow_ to view documentation. ===== Slack image:https://alchemists.io/images/projects/pennyworth/screenshots/slack.png[Slack workflow screenshot.,width=706,height=524,role=focal_point] Provides quick access to link:https://slack.com[Slack] resources. 1. link:https://alchemists.io/public/alfred/workflows/slack.alfredworkflow[Download] and double click to install. 2. Click on _Configure Workflow_ to view documentation. ===== SSL image:https://alchemists.io/images/projects/pennyworth/screenshots/ssl.png[SSL workflow screenshot.,width=706,height=362,role=focal_point] Provides quick access to SSL resources for the security conscious. 1. link:https://alchemists.io/public/alfred/workflows/ssl.alfredworkflow[Download] and double click to install. 2. Click on _Configure Workflow_ to view documentation. ===== Tana image:https://alchemists.io/images/projects/pennyworth/screenshots/tana.png[Tana workflow screenshot.,width=706,height=631,role=focal_point] Provides quick access to link:https://tana.inc[Tana] resources. 1. link:https://alchemists.io/public/alfred/workflows/tana.alfredworkflow[Download] and double click to install. 2. Click on _Configure Workflow_ to view documentation. ===== Terraform image:https://alchemists.io/images/projects/pennyworth/screenshots/terraform.png[Terraform workflow screenshot.,width=706,height=632,role=focal_point] Provides quick access to link:https://www.terraform.io[Terraform] resources. 1. link:https://alchemists.io/public/alfred/workflows/terraform.alfredworkflow[Download] and double click to install. 2. Click on _Configure Workflow_ to view documentation. ===== Text image:https://alchemists.io/images/projects/pennyworth/screenshots/text.png[Text workflow screenshot.,width=1000,height=610,role=focal_point] Provides general text manipulation utilities beyond the Pennyworth powered _text_ macro which is part of the _Ruby_ workflow (mentioned earlier). 1. link:https://alchemists.io/public/alfred/workflows/text.alfredworkflow[Download] and double click to install. 2. Click on _Configure Workflow_ to view documentation. === Troubleshooting * When your Alfred Workflow yields no output, you might want to open the link:https://www.alfredapp.com/help/workflows/utilities/debug[Alfred Debugger], rerun your workflow, and check for errors. You can also jump to the CLI and run Pennyworth directly. * If you get GitHub authorization errors, make sure you have defined the appropriate credentials (mentioned earlier) for both within your shell where you are running Pennyworth or within the Alfred Workflow environment. == Development To contribute, run: [source,bash] ---- git clone https://github.com/bkuhlmann/pennyworth cd pennyworth bin/setup ---- You can also use the IRB console for direct access to all objects: [source,bash] ---- bin/console ---- === Architecture The following documents the workflow used to process all actions from Alfred. image::https://alchemists.io/images/projects/pennyworth/doc/architecture.svg[Architecture Diagram] == Tests To test, run: [source,bash] ---- bin/rake ---- == link:https://alchemists.io/policies/license[License] == link:https://alchemists.io/policies/security[Security] == link:https://alchemists.io/policies/code_of_conduct[Code of Conduct] == link:https://alchemists.io/policies/contributions[Contributions] == link:https://alchemists.io/projects/pennyworth/versions[Versions] == link:https://alchemists.io/community[Community] == Credits * Built with link:https://alchemists.io/projects/gemsmith[Gemsmith]. * Engineered by link:https://alchemists.io/team/brooke_kuhlmann[Brooke Kuhlmann].