😀 The Fig CLI

Fig CLI Structure

Fig's CLI makes it easy to access apps, commonly used files (like interactive runbooks), and commonly used scripts.

The general syntax for Fig commands is:

fig <command, app name, or file name> [subcommands] [inputs]

Below

  1. CLI Hierarchy explains how Fig parses and routes every command it receives

  2. Examples gives some examples CLI commands and how Fig would route them

Remember: Fig commands can display websites, fig apps, interactive runbooks (.run files). and execute scripts

CLI Hierarchy

Fig follows a specific hierarchy when determining how to parse any given command. Fig has a hierarchy to avoid conflicts. For example, fig deploy could refer to an app named deploy and a script in your $FIGPATH named deploy.

Let's say you run fig CMD. Fig will check (in this order):

  1. Fig Overrides

    • Is CMD a native Fig command that can't be overridden?

  2. Fig Aliases

    • Have you defined a custom Fig Alias for CMD?

  3. $FIGPATH

    • Is there a file like CMD.fig, CMD/index.html, CMD.run, CMD.html or an executable like CMD, CMD.sh, CMD.py, or CMD.js in any of the directories you have specified in your $FIGPATH

    • For help setting up your $FIGPATH, go to Settings

  4. Fig Apps

    • Is there an App on the Fig App Store called CMD

Examples

  • fig dir --> Opens the dir app

  • fig google hello world --> Opens the Google app and searches "hello world"

  • fig run heroku--> Opens the interactive runbook, heroku.run, located in your current working directory

  • fig web https://github.com/pulls --> Open your Pulls page in Github

  • fig local index.html --> Opens the index.html file in your current working directory

  • fig deploy --flag --> Runs the deploy.sh script and passes in a flag

  • fig acme forkdb --> Runs the forkdb subcommand specified by your acme.fig file

Hint: Just running fig gives you a list of all the subcommands you have available.