# Fig-CLI **Repository Path**: pomelo72/Fig-CLI ## Basic Information - **Project Name**: Fig-CLI - **Description**: Fig 是一个命令行智能提示工具,支持 Git、文件系统、NPM、K8S、Docker、SSH 等众多 CLI 工具 - **Primary Language**: TypeScript - **License**: MIT - **Default Branch**: master - **Homepage**: https://www.oschina.net/p/fig-cli - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2024-05-07 - **Last Updated**: 2024-05-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

Fig logo Fig logo

--- [![Badge: macOS](https://img.shields.io/badge/os-%20macOS-light)](#) [![Badge: Sign up (public beta)](https://img.shields.io/badge/signup-public%20beta-blueviolet)](https://fig.io?ref=github_autocomplete) [![Badge: Documentation](https://img.shields.io/badge/documentation-black)](https://fig.io/docs/) [![Badge: contributors](https://img.shields.io/github/contributors/withfig/autocomplete)](#Contributors) [![Badge: Join the Discord server](https://img.shields.io/discord/837809111248535583?color=5865F2&label=discord)](https://fig.io/community) [![Badge: Follow on Twitter](https://img.shields.io/twitter/follow/fig.svg?style=social&label=Follow)](https://twitter.com/intent/follow?screen_name=fig) **[Fig](https://fig.io?ref=github_autocomplete) makes the command line easier for individuals and more collaborative for teams.** Our most popular product is Autocomplete. As you type, Fig pops up subcommands, options, and contextually relevant arguments in your existing terminal. ## ⚡️ Installation - **macOS**: - **DMG**: Download from our website: [fig.io](https://fig.io/welcome) - **Homebrew**: `brew install fig` - **Windows/Linux**: - Join the [waitlist](https://withfig.typeform.com/linux) - **Remote machines** - [Autocomplete in SSH](https://fig.io/user-manual/autocomplete/ssh) - [Autocomplete in Docker Containers](https://fig.io/user-manual/autocomplete/docker) > NOTE: Once it's downloaded, launch the app to set up Fig!
![Demo of Fig's visual autocomplete in a terminal](https://fig.io/gifs/demo-with-header.gif)
## 👋 What are "completion specs"? A completion spec is a _declarative_ schema that specifies the `subcommands`, `options` and `args` for a CLI tool. Fig uses these schemas to generate suggestions.
## 😎 Contribute your first spec in < 3 minutes Use the steps below or follow our getting started guide: [fig.io/docs](https://fig.io/docs) **Prerequisites:** - Download Fig for macOS - Node and Pnpm
**Steps** 1. Make sure you have `pnpm` [installed](https://pnpm.io/installation), as that's the package manager used in this repo. 2. Click [here](https://GitHub.com/withfig/autocomplete/fork/) to fork this repo. 3. Clone your forked repo and create an example spec ```bash # Replace `YOUR_GITHUB_USERNAME` with your own GitHub username git clone https://github.com/YOUR_GITHUB_USERNAME/autocomplete.git fig-autocomplete cd fig-autocomplete # Add withfig/autocomplete as a remote git remote add upstream https://github.com/withfig/autocomplete.git # Install packages pnpm install # Create an example spec (call it "abc") pnpm create-spec abc # Turn on "dev mode" pnpm dev ``` 4. Now go to your terminal and type `abc[space]`. Your example spec will appear. 😊 #### Other things to know - Edit your spec in TypeScript in the `src/` folder - On save, specs are compiled to the `build/` folder - In **dev mode**, specs are read from the `build` folder, and generators run every keystroke.
## 🪄 Add AI to completions You can use Fig's autocomplete for your own tools too. Here's how to create private completions: ```ts import { ai } from "@fig/autocomplete-generators" ... generators: [ ai({ // the prompt prompt: "Generate a git commit message", // Send any relevant local context. message: async ({ executeShellCommand }) => { return executeShellCommand("git diff") }, // turn each newline into a suggestion (can specify instead a `postProcess1 function if more flexibility is required) splitOn: "\n", }) ] ```
## 📦 Other available package.json commands ```bash # Typecheck all specs in the src/ folder pnpm test # Compile typescripts specs from src/ folder to build/ folder pnpm build # Lint and fix issues pnpm lint:fix ``` ## 🔥 Contributions We would love contributions for: - new completion specs - errors with existing completion specs (e.g. missing subcommands, options, or arguments) - [generators](https://fig.io/docs/getting-started/generating-argument-suggestions) for argument suggestions - better descriptions, icons etc - [themes](https://github.com/withfig/themes)! If you aren't able to contribute, please feel free to open an [issue](https://github.com/withfig/autocomplete/issues/new/choose). ## 😊 Need Help?

Join our community
Discord logo

## 🧑‍💻 Teams / Enterprise Want to use Fig to add autocomplete internal CLI tools? Or want to use Fig at work but have security / compliance concerns? We would love to help get you set up. Please email [enterprise@fig.io](mailto:enterprise@fig.io) ## 🙋‍♀️ FAQ #### What terminals does Fig work with? Fig works with the native macOS Terminal app, [iTerm], [Tabby], [Hyper], [Kitty], [WezTerm], and [Alacritty]. It also works in the integrated terminals of [VSCode], [JetBrains IDEs], [Android Studio], and [Nova]. [iterm]: https://iterm2.com [tabby]: https://tabby.sh [hyper]: https://hyper.is [kitty]: https://sw.kovidgoyal.net/kitty [wezterm]: https://wezfurlong.org/wezterm/ [alacritty]: https://alacritty.org/ [vscode]: https://code.visualstudio.com/ [jetbrains ides]: https://www.jetbrains.com/ [android studio]: https://developer.android.com/studio [nova]: https://nova.app/ Want to see another terminal included? Check our [issue tracker](https://github.com/withfig/fig) and add your support for it! #### How does Fig work? Fig uses the Accessibility API on Mac to position the window, and integrates with your shell to read what you've typed. #### Does Fig work on Windows or Linux? Not yet, Fig is only available on macOS for now. [Windows](https://github.com/withfig/fig/issues/35) and [Linux](https://github.com/withfig/fig/issues/34) support is in progress! #### How can I download Fig? Run `brew install fig` or, downloading the app at [fig.io/download](https://fig.io/download). Then, launch the Fig app! #### Can I use Fig to build autocomplete for my team's internal scripts and CLI tools? Yes! Check out our guide on how to [get started building autocomplete specs](https://fig.io/docs/getting-started). #### How do I submit a PR? Check out our [How to Contribute](https://fig.io/docs/getting-started/contributing) guide. Many of Fig's 200+ contributors made their first open source contribution to Fig! #### Fig doesn't work for me! [Join the Discord server](https://fig.io/community) and we'll debug it. Fixing Fig in your setup will fix it for other people too! 🙂 #### Did we miss something? Get in touch at hello@fig.io or chat with us on [Discord](https://fig.io/community).
## ✨ Contributors Grid of profile icons of the 200+ contributors