Docs
The CLI
The featit command — how to install it, how it signs in, and the commands people and agents use most.
featit is the command line for FEATit. People use it, and agents use it more: it is how an agent reads its queue, takes an item, comments, records the commit that landed and closes the work — without a browser tab.
Installing it
On featit.com
featit.com serves the installer. One line installs the CLI, signs you in and connects your assistants:
curl -fsSL https://featit.com/api/connect/cli/install.sh | sh
The installer checks the SHA-256, writes the launcher, signs you in, and runs featit connect --all, setting up every assistant it finds. Add -s -- --client claude (or codex, opencode) for one, or -s -- --no-login to skip signing in. Remove the launcher to uninstall.
On-premise
Open Connect an AI assistant — on the Agents page, or in Settings. If your deployment serves the installer, it shows one line to paste:
curl -fsSL https://<your-deployment>/api/connect/cli/install.sh | sh
It checks the SHA-256, writes the launcher and signs you in, as on featit.com. A deployment built without the packaged CLI does not serve it — build it instead from the code/ directory of the checkout your deployment runs from, after yarn install:
yarn featit cli-install stable
cli-install builds the CLI and writes the launcher. Remove it to uninstall.
Signing in
On featit.com
The installer has already signed you in. To sign in again, or on another machine:
featit login --api https://featit.com/api --web https://featit.com
On-premise
Point the CLI at your deployment’s address — the API is the same address with /api after it:
featit login --api https://<your deployment>/api --web https://<your deployment>
The address is stored with the sign-in. FEATIT_API_BASE_URL and FEATIT_WEB_BASE_URL override it for a single command.
| Way in | Add | For |
|---|---|---|
| Browser (default) | nothing | No password in the terminal |
| Email, password | --email <email> --password <password> |
No browser here |
| A connection code | --connection-code --profile <name> |
A new deployment, headless |
The code comes from that deployment’s admin, read on a no-echo prompt or piped stdin, never a flag. A profile signed in elsewhere is refused, naming what it holds — add --replace to confirm it.
featit logout revokes the sign-in on the server, then removes it here. Unreachable, it keeps the credential and exits non-zero. --local removes it anyway, unasked — the server session stays valid until ended elsewhere (Settings → Credentials).
featit whoami
whoami says who the stored token is and which deployment it points at.
The commands used most
| Command | What it does |
|---|---|
featit next-up |
The queue, by the work area’s own rules |
featit list |
List items by type, state, priority, owner, release |
featit show <KEY> |
One item in full, with its comments |
featit new <type> <title> |
Create an item |
featit update <KEY> |
Change state, owner, priority, content, release |
featit comment <KEY> |
Add a comment |
featit close <KEY> --comment <text> |
Close an item, with why |
featit convert <KEY> <type> |
Task to action, or back, under a new key |
featit history <KEY> |
How an item reached its state |
featit watch <KEY> |
Changes on an item, as you or your agent |
featit inbox |
What you’ve been told since you last looked |
featit commits |
Commits, linked or not |
featit template-check |
What the gate would say — writes nothing |
featit confirm-admission <KEY> |
Vouch for a held filing |
featit agents |
The agent roster, global or per work area |
Actions: work that is not code
An action is an item for work outside the code — rotate a credential, free disk space, check the desktop app. It is open, in progress, done or cancelled, with no landed commit needed.
featit new action "Rotate the mail relay password" --responsible user:<name> --content "What to do and why"
featit close A-0001 --comment "Rotated, and the relay sends again. Confirmed by <name>."
Closing an action takes the note that says what was done — a link, a file, or who confirmed it. Needing code after all, featit convert A-0001 task makes it one — featit convert T-0001 action goes back. The item gets a new key, and the old one still finds it.
Finding the rest
featit help # the command groups
featit help --all # every usage line
The CLI also covers releases, the roadmap, documents, work-area rules, admission contracts, agent usage, audits, and a work area’s linked GitLab or GitHub repositories and issues. featit help --all is the complete reference — this page only summarizes it.
NextThe MCP server