# ⚒️ Build your own CLI

Fig makes it easy to visually build your own Command Line Interface (CLI) for yourself, your team, and your company.&#x20;

A CLI built with Fig lets you directly execute scripts. For users who often don't remember input parameters, flags, or commands, it lets you build an [interactive runbook ](https://fig.gitbook.io/fig/interactive-runbooks-2)into the CLI. This makes traditional command line interfaces more discoverable, approachable, and interactive.&#x20;

### **How can I get started?**

1. Navigate to the directory where you want to save your CLI
   * e.g. your scripts folder in a shared repo
2. Run [`fig build`](https://fig.gitbook.io/fig/build-a-cli/fig-build) to visually create and edit your CLI tool
   * This will create a .fig file in that folder
3. Add the directory from Step 1 where your .fig file is saved to your [$FIGPATH](https://fig.gitbook.io/fig/the-fig-cli/figpath)&#x20;
   * You do this in [Settings](https://fig.gitbook.io/fig/get-started/fig-home/settings)
   * Make sure your teammates do the same
4. Run `fig CMD SUBCOMMAND`
   * where CMD is the name of your .fig file&#x20;
   * where SUBCOMMAND is a command you defined in `fig build`
   * Your teammates can do this too 😀

{% content-ref url="build-a-cli/fig-build" %}
[fig-build](https://fig.gitbook.io/fig/build-a-cli/fig-build)
{% endcontent-ref %}

![](https://1545242415-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MBzsiIfFzkblTOBPFTF%2F-MD8pv4ODFipQcBxpE5U%2F-MDBanS819ZwE3P4vc1b%2Ffig%20build.png?alt=media\&token=63ff2dd1-33bf-4988-82fd-546cefdd58b2)

### What is a .fig file?

A .fig file is the blueprint for your CLI tool. It is a JSON stringified object that contains the mapping for all of your subcommands.&#x20;

### How should I name my .fig file?

The name of your .fig file (e.g. `ACME.fig`) defines the root command used to access the subcommands you defined.

e.g. If I had a file named ACME.fig with a subcommand called `deploy`, I could access it by running `fig ACME deploy`

### How do I share this CLI tool with my team?

1. You can host the .fig file with Fig (coming soon)
2. You can put the .fig file in a shared repository
   1. Make sure your teammates add their local path to that shared repo to their [$FIGPATH](https://fig.gitbook.io/fig/the-fig-cli/figpath)
