> ## Documentation Index
> Fetch the complete documentation index at: https://apidocs.neetodesk.com/llms.txt
> Use this file to discover all available pages before exploring further.

# AI assistants

> Teach Claude, Cursor, Codex, Copilot, Gemini or Windsurf how to drive the neetodesk CLI.

`neetodesk setup` writes NeetoDesk instructions into the place your assistant already reads, so
it knows which commands exist and how to call them. Run it once per project or per machine,
depending on the assistant.

<Note>
  This is not the same thing as the [MCP server](/mcp/introduction). `setup` teaches an assistant
  to run the CLI as a shell command using your CLI session. The MCP server exposes NeetoDesk as
  tools over HTTP, with its own connection and credentials. Use whichever suits the assistant in
  front of you, or both.
</Note>

## What each command writes

| Command                    | Writes to                           | Scope   |
| -------------------------- | ----------------------------------- | ------- |
| `neetodesk setup claude`   | `~/.config/neetodesk/claude-plugin` | Machine |
| `neetodesk setup cursor`   | `.cursor/rules/neetodesk.mdc`       | Project |
| `neetodesk setup windsurf` | `.windsurf/rules/neetodesk.md`      | Project |
| `neetodesk setup copilot`  | `.github/copilot-instructions.md`   | Project |
| `neetodesk setup gemini`   | `GEMINI.md`                         | Project |
| `neetodesk setup codex`    | `AGENTS.md`                         | Project |

The project-scoped commands write into the working directory, so run them from the repository
root. Files that hold other instructions are not overwritten: Copilot, Gemini and Codex get a
`## NeetoDesk CLI` section appended, and re-running replaces just that section. Cursor and
Windsurf rule files are left alone if they already exist, and the command says so rather than
clobbering your edits.

## Claude Code

Claude Code installs plugins through interactive slash commands, so `setup claude` extracts the
plugin and then tells you the two commands to run:

```bash theme={"system"}
neetodesk setup claude
```

```
NeetoDesk plugin extracted to /Users/you/.config/neetodesk/claude-plugin

To finish installation, open Claude Code and run these slash commands:
  /plugin marketplace add /Users/you/.config/neetodesk/claude-plugin
  /plugin install neetodesk@neetodesk
```

The command fails if `~/.claude/` does not exist, which means Claude Code has not been run on
this machine yet.

## Everything else

```bash theme={"system"}
neetodesk setup cursor
neetodesk setup windsurf
neetodesk setup copilot
neetodesk setup gemini
neetodesk setup codex
```

Restart the assistant, or start a new conversation, so it picks the instructions up.

## Output for agents

Assistants read command output as text, and JSON spends a lot of tokens on punctuation.
`--toon` emits the same data in a more compact encoding:

```bash theme={"system"}
neetodesk tickets list --toon
```

See [Output formats](/cli/output-formats) for the other modes.
