Syndication Icon
Published October 30, 2019 Updated June 14, 2020


  • Duration


  • Operating System


  • Shell


  • Terminal



# Hello and welcome to the Alchemists Screencasts!
# Today, we'll look at Gemsmith:

# Gemsmith allows you to build/manage Ruby gems with best practices:

gemsmith --help

# The Gemsmith workflow centers around the `--generate` command:

gemsmith --help --generate

# You can customize these options via your `~/.config/gemsmith/configuration.yml` file.
# Gem creation looks like this (using "example" as the gem name):

gemsmith --generate example
cd example

# We now have a workable gem structure for adding new functionality:


# As a bonus, Git is initialized and the master branch is clean:

git status --short --branch

# We can also see Gemsmith crafted our first commit for us:


# 💡 See the *Git Log Pretty* screencast for details on the `gl` alias.

# Rake has been set up with the default tasks as well.
# This means we can check the status of our gem code with a single command:

bundle exec rake

# Additionally, a gem can be customized by enabling/disabling what you need:

cd ..
rm -rf example
gemsmith --generate example --cli

# In this case, command line supports adds additional structure:

tree example

# If enabling/disabling Gemsmith settings often, add them to your global configuration:

gemsmith --help --config
gemsmith --config --info

# Please see the README for additional capabilities.

# Enjoy!
# ☿ 🜔 🜍 🜂 🜃 🜁 🜄