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

# Quick Start

> Welcome to sudocode!

This quickstart guide will augment your agent-coding experience in just a few minutes.
By the end, you'll be creating specs and issues through your AI agent, with an optional web UI for visualization.

## Step 1: Install sudocode

```bash theme={null}
npm install -g sudocode
```

## Step 2: Initialize project

```bash theme={null}
cd your-project
sudocode init
```

## Step 3: Configure your agent to use sudocode

Set up the sudocode MCP integration with your AI agent.

<AccordionGroup>
  <Accordion title="Claude" defaultOpen>
    <Note>
      **Version requirement:** Make sure you're running an up to date version of Claude Code.

      Check your version:

      ```bash theme={null}
      claude --version
      ```

      If your version is lower than 2.0.35, update Claude Code:

      ```bash theme={null}
      claude update
      ```
    </Note>

    <Steps>
      <Step title="Add sudocode plugin from marketplace and install">
        ```bash theme={null}
        claude plugin marketplace add sudocode-ai/sudocode
        claude plugin install sudocode
        ```

        <Accordion title="Expected output">
          ```
          ✓ Added sudocode-ai/sudocode to plugin marketplace
          ✓ Installed sudocode plugin
          ✓ MCP server configured
          ```
        </Accordion>
      </Step>

      <Step title="Verify installation">
        Start Claude Code and test the integration:

        ```bash theme={null}
        claude
        ```

        Then ask Claude:

        ```
        Can you create a "Hello World" issue?
        ```

        If you see Claude using tools like `plugin:sudocode:sudocode - upsert_issue`, the setup is working!
      </Step>
    </Steps>

    <Check>
      Claude Code is now configured with sudocode! The plugin automatically handles MCP server configuration and working directory detection.
    </Check>
  </Accordion>

  <Accordion title="Codex">
    <Steps>
      <Step title="Add MCP Server">
        Add the sudocode MCP server to Codex:

        ```bash theme={null}
        codex mcp add sudocode-mcp -- sudocode-mcp
        ```
      </Step>

      <Step title="Verify Setup">
        Test that sudocode is working:

        ```bash theme={null}
        codex "create me a hello world issue"
        ```

        If the setup is working, you'll see Codex use the sudocode MCP tools to create the issue:

        <Accordion title="Expected output">
          ```
          • Called sudocode-mcp.upsert_issue({"title":"Hello World example","description":"Create a simple Hello World program or script and include basic run instructions.","status":"open","priority":3})
            └ {"id": "i-5hio", "title": "Hello World example", "status": "open"}
          ```
        </Accordion>
      </Step>
    </Steps>

    <Check>
      Codex is now configured with sudocode!
    </Check>
  </Accordion>

  <Accordion title="Cursor IDE/CLI">
    Cursor CLI uses an MCP configuration file in the `.cursor` directory of your project root.

    <Steps>
      <Step title="Create .cursor directory">
        In your project root directory, create a `.cursor` directory if it doesn't exist:

        ```bash theme={null}
        mkdir -p .cursor
        ```
      </Step>

      <Step title="Create or edit .cursor/mcp.json">
        Open or create `.cursor/mcp.json` and add the following configuration:

        ```json theme={null}
        {
          "mcpServers": {
            "sudocode-mcp": {
              "command": "sudocode-mcp"
            }
          }
        }
        ```

        <Info>
          If you already have other MCP servers configured, just add the `"sudocode-mcp"` entry inside the existing `"mcpServers"` object.
        </Info>
      </Step>

      <Step title="Enable the MCP Server (IDE Only)">
        Note, this step is only relevant if you want to communicate with sudocode inside of the cursor IDE, in addition to the CLI.

        After creating the configuration, enable the MCP server in Cursor:

        **Option A: Click Enable (when prompted)**

        When Cursor detects the new MCP configuration, an **Enable** button will appear on the left side. Click it to activate the sudocode MCP server.

        <img src="https://mintcdn.com/sudocode/VmFvSjKSGjh69l2V/images/agent-setup/cursor/enable-mcp.png?fit=max&auto=format&n=VmFvSjKSGjh69l2V&q=85&s=bbe0e84ff1e4f08608502bf9bb702cef" alt="Cursor showing Enable button for sudocode MCP server" width="1382" height="272" data-path="images/agent-setup/cursor/enable-mcp.png" />

        **Option B: Enable via Settings**

        Alternatively, you can manually enable the MCP server:

        1. Go to **Cursor > Settings > Cursor Settings**
        2. Enable the MCP server

        <img src="https://mintcdn.com/sudocode/VmFvSjKSGjh69l2V/images/agent-setup/cursor/settings-enable-mcp.png?fit=max&auto=format&n=VmFvSjKSGjh69l2V&q=85&s=f136a8c74945f77ad4b78a530da7cb58" alt="Cursor Settings page showing MCP enable option" width="1946" height="910" data-path="images/agent-setup/cursor/settings-enable-mcp.png" />

        <Info>
          Restart may be required to see the MCP Server under the list of tools! Once you enable the MCP server, it will be active immediately.
        </Info>
      </Step>

      <Step title="Verify Setup">
        <Accordion title="CLI Flow" defaultOpen>
          Test that sudocode is working via the Cursor CLI:

          ```bash theme={null}
          cursor-agent agent create me a hello world issue
          ```

          If the setup is working, you'll see Cursor use the sudocode MCP tools:

          <Accordion title="Expected output">
            ```
            sudocode-mcp: upsert_issue(
              {
                "title": "Create hello world example",
                "description": "Add a minimal hello world example (text output) and ensure it can be executed easily from the repository.\n\nAcceptance:\n- A new hello world entry point exists and prints a greeting.\n- Include simple instructions to run it.",
                "priority": 3,
                "tags": [
                  "docs",
                  "example",
                  "hello-world"
                ],
                "status": "open"
              }
            )
            ```
          </Accordion>
        </Accordion>

        <Accordion title="IDE Flow">
          If you want to use sudocode within the Cursor IDE (not just the CLI), you can test it by asking Cursor to create an issue:

          ```
          Can you create a "Hello World" issue using sudocode?
          ```

          If the setup is working, you'll see Cursor use the sudocode MCP tools:

          <img src="https://mintcdn.com/sudocode/VmFvSjKSGjh69l2V/images/agent-setup/cursor/verify-agent-issue.png?fit=max&auto=format&n=VmFvSjKSGjh69l2V&q=85&s=9c779aebabbf646c510033b072b666cc" alt="Cursor successfully creating an issue using sudocode MCP" width="1716" height="596" data-path="images/agent-setup/cursor/verify-agent-issue.png" />
        </Accordion>
      </Step>
    </Steps>

    <Check>
      Cursor is now configured with sudocode! The MCP server will automatically run when you use sudocode tools in Cursor.
    </Check>
  </Accordion>

  <Accordion title="GitHub Copilot CLI">
    <Steps>
      <Step title="Start GitHub Copilot CLI">
        Start the Copilot CLI:

        ```bash theme={null}
        copilot
        ```
      </Step>

      <Step title="Configure MCP Server">
        In the Copilot CLI, run:

        ```
        /mcp
        ```

        This will open the MCP server configuration screen:

        ```
        Add New MCP Server

        Server Name:
        Unique name for this MCP server
        ╭──────────────────────────────────────────────────────────────────╮
        │                                                                  │
        ╰──────────────────────────────────────────────────────────────────╯

        Server Type:
        Press 1 for Local, 2 for HTTP, 3 for SSE
        [1] Local [2] HTTP [3] SSE

        Command:
        Command to start the server (e.g., python -m my_server)
        ╭──────────────────────────────────────────────────────────────────╮
        ╰──────────────────────────────────────────────────────────────────╯

        Environment Variables:
        Path is automatically inherited. All other environment variables must be configured
        ╭──────────────────────────────────────────────────────────────────╮
        ╰──────────────────────────────────────────────────────────────────╯

        Tools:
        Tools to include: "*" for all, or comma-separated list (no quotes needed)
        ╭──────────────────────────────────────────────────────────────────╮
        │*                                                                 │
        ╰──────────────────────────────────────────────────────────────────╯

        Navigation:
        • Tab/Shift+Tab: Navigate fields
        • Ctrl+S: Save server
        • Esc: Cancel
        ```

        Fill in the following:

        * **Server Name**: `sudocode-mcp`
        * **Server Type**: Select `[1] Local` (default)
        * **Command**: `sudocode-mcp`
        * **Tools**: `*` (default, for all tools)

        Press `Ctrl+S` to save the server configuration.
      </Step>

      <Step title="Verify Setup">
        Test that sudocode is working:

        ```bash theme={null}
        copilot -i "Create a hello world issue"
        ```

        If the setup is working, you'll see a prompt asking to approve the tool call:

        <Accordion title="Expected output">
          ```
          ● upsert_issue

          ╭────────────────────────────────────────────────────────────────╮
          │ upsert_issue                                                   │
          │                                                                │
          │ ╭────────────────────────────────────────────────────────────╮ │
          │ │ {                                                          │ │
          │ │   "title": "Hello World",                                  │ │
          │ │   "description": "A simple hello world issue to get        │ │
          │ │                   started.",                               │ │
          │ │   "status": "open"                                         │ │
          │ │ }                                                          │ │
          │ ╰────────────────────────────────────────────────────────────╯ │
          │                                                                │
          │ Do you want to use this tool?                                  │
          │                                                                │
          │ ❯ 1. Yes                                                       │
          │   2. Yes, and approve tool "upsert_issue" from server         │
          │      "sudocode-mcp" for the rest of the running session       │
          │   3. Yes, and approve all tools from server "sudocode-mcp"    │
          │      for the rest of the running session                      │
          │   4. No, and tell Copilot what to do differently (Esc)        │
          │                                                                │
          │ Confirm with number keys or ↑↓ keys and Enter, Cancel with   │
          │ Esc                                                            │
          ╰────────────────────────────────────────────────────────────────╯
          ```
        </Accordion>
      </Step>
    </Steps>

    <Check>
      GitHub Copilot CLI is now configured with sudocode!
    </Check>

    <Accordion title="Optional IDE Support">
      If you want to use sudocode within VS Code (not just the CLI), you can set it up using the Command Palette or by creating a configuration file:

      **Method 1: Command Palette (Recommended)**

      <Steps>
        <Step title="Open Command Palette">
          Press `Cmd+Shift+P` (macOS) or `Ctrl+Shift+P` (Windows/Linux) to open the Command Palette.

          Type and select:

          ```
          MCP: Add Server
          ```

          <img src="https://mintcdn.com/sudocode/VmFvSjKSGjh69l2V/images/agent-setup/vscode/01-command-palette-mcp-add-server.png?fit=max&auto=format&n=VmFvSjKSGjh69l2V&q=85&s=95fdb67fbd4d57975f699b841a41c94c" alt="VS Code Command Palette showing MCP: Add Server command" width="3906" height="2392" data-path="images/agent-setup/vscode/01-command-palette-mcp-add-server.png" />
        </Step>

        <Step title="Select Command (stdio)">
          When prompted for the server type, select **Command (stdio)**.

          <img src="https://mintcdn.com/sudocode/VmFvSjKSGjh69l2V/images/agent-setup/vscode/02-choose-server-type-stdio.png?fit=max&auto=format&n=VmFvSjKSGjh69l2V&q=85&s=534be2a509b903477780e9a3b7f850a9" alt="MCP server type selection dialog showing Command (stdio) option" width="2086" height="836" data-path="images/agent-setup/vscode/02-choose-server-type-stdio.png" />
        </Step>

        <Step title="Enter command">
          Type the command:

          ```
          sudocode-mcp
          ```

          <img src="https://mintcdn.com/sudocode/VmFvSjKSGjh69l2V/images/agent-setup/vscode/03-enter-command.png?fit=max&auto=format&n=VmFvSjKSGjh69l2V&q=85&s=a520a5791b30a78e5d3997ceb9e7f1d6" alt="Enter Command dialog with sudocode-mcp typed in" width="1752" height="546" data-path="images/agent-setup/vscode/03-enter-command.png" />
        </Step>

        <Step title="Name the server">
          Give it a name (we recommend `sudocode-mcp`).

          <img src="https://mintcdn.com/sudocode/VmFvSjKSGjh69l2V/images/agent-setup/vscode/04-enter-server-id.png?fit=max&auto=format&n=VmFvSjKSGjh69l2V&q=85&s=995df6efedb9887ad78751533d488e9e" alt="Enter Server ID dialog with sudocode-mcp as the name" width="1718" height="542" data-path="images/agent-setup/vscode/04-enter-server-id.png" />
        </Step>

        <Step title="Choose Workspace">
          When prompted to choose between Global or Workspace, select **Workspace**.

          <Warning>
            Make sure to select **Workspace** (not Global) so the MCP server runs in your project directory.
          </Warning>

          <img src="https://mintcdn.com/sudocode/VmFvSjKSGjh69l2V/images/agent-setup/vscode/05-choose-workspace.png?fit=max&auto=format&n=VmFvSjKSGjh69l2V&q=85&s=289efc4df164d6a1fc9d28016534775a" alt="Installation location dialog showing Global vs Workspace options with Workspace selected" width="1746" height="562" data-path="images/agent-setup/vscode/05-choose-workspace.png" />
        </Step>

        <Step title="Verify configuration">
          Check that `.vscode/mcp.json` was created in your project root:

          ```bash theme={null}
          cat .vscode/mcp.json
          ```

          You should see something like this:

          ```json theme={null}
          {
            "servers": {
              "sudocode-mcp": {
                "type": "stdio",
                "command": "sudocode-mcp",
                "args": []
              }
            },
            "inputs": []
          }
          ```

          <img src="https://mintcdn.com/sudocode/VmFvSjKSGjh69l2V/images/agent-setup/vscode/06-verify-mcp-json.png?fit=max&auto=format&n=VmFvSjKSGjh69l2V&q=85&s=b7e77b99da99d6e80f3eb66f0432985c" alt="VS Code showing the created .vscode/mcp.json file with sudocode-mcp configuration" width="1670" height="934" data-path="images/agent-setup/vscode/06-verify-mcp-json.png" />
        </Step>
      </Steps>

      **Method 2: Manual Configuration**

      Alternatively, create `.vscode/mcp.json` manually:

      ```json theme={null}
      {
        "servers": {
          "sudocode-mcp": {
            "type": "stdio",
            "command": "sudocode-mcp",
            "args": []
          }
        },
        "inputs": []
      }
      ```

      Then reload VS Code to apply the configuration.

      **Verify Setup**

      Test that MCP tools are available in VS Code by opening GitHub Copilot and asking:

      ```
      Can you create a "Hello World" issue using sudocode?
      ```

      <Check>
        You should see a tool call from sudocode. You're all set!

        <img src="https://mintcdn.com/sudocode/VmFvSjKSGjh69l2V/images/agent-setup/vscode/verify-agent-issue.png?fit=max&auto=format&n=VmFvSjKSGjh69l2V&q=85&s=dca29475ebfb1de8ba316689dc31744f" alt="Example of sudocode creating a hello world issue" width="942" height="1242" data-path="images/agent-setup/vscode/verify-agent-issue.png" />
      </Check>
    </Accordion>
  </Accordion>
</AccordionGroup>

## Step 4: Create a test issue

With the MCP integration configured, you can now use your agent to create and link spec or issue docs as needed. No extra steps required.

**Start a conversation with your agent to define work:**

```
> User: I want to add dark mode support to our app. Can you create
  a spec for this?

⏺ Agent: I'll create a spec capturing the dark mode requirements.

⏺ plugin:sudocode:sudocode - upsert_spec (MCP)
  (title: "Dark Mode Support",
   description: "# Dark Mode Support

## Overview
Add dark mode theming to the application.

## Requirements
- Toggle between light and dark themes
- Persist user preference across sessions
- Respect system-level theme preference

## Open Questions
- Should we support custom accent colors?
- How should we handle third-party component theming?
")
  ⎿  { "id": "s-4x2k", ... }

⏺ Agent: Created spec s-4x2k. Now let me create an issue to start
  implementation.

⏺ plugin:sudocode:sudocode - upsert_issue (MCP)
  (title: "Implement dark mode theme toggle",
   description: "Add a theme toggle component and implement CSS
   custom properties for light/dark themes.

   Implements [[s-4x2k]]",
   status: "open",
   priority: 2)
  ⎿  { "id": "i-7m3n", ... }

⏺ plugin:sudocode:sudocode - link (MCP)
  (from_id: "i-7m3n", to_id: "s-4x2k", type: "implements")

⏺ Agent: Created issue i-7m3n linked to the spec. Ready to start
  implementation whenever you are.
```

Your specs and issues are now stored locally in the `sudocode/` directory of your project. You can continue discussing, refining, and breaking down the work entirely through your agent.

## Step 5: Visualize with the web UI (optional)

To get a visual overview of your specs, issues, and their relationships, start the sudocode web server:

```bash theme={null}
sudocode server
```

The server will start at `http://localhost:3000`. Navigate there in your browser to see the project selector:

<Frame>
  <img src="https://mintcdn.com/sudocode/jD7tbur9b9xr5ZvW/images/quickstart/project-selector.png?fit=max&auto=format&n=jD7tbur9b9xr5ZvW&q=85&s=2483dd1235cd9a9b6074c3fc2e3b6286" alt="Project selector in the sudocode web interface" width="3252" height="1976" data-path="images/quickstart/project-selector.png" />
</Frame>

After selecting your project, you'll see the issue board — a visual hub for tracking the specs and issues you created through your agent:

<Frame>
  <img src="https://mintcdn.com/sudocode/jD7tbur9b9xr5ZvW/images/quickstart/issue-board.png?fit=max&auto=format&n=jD7tbur9b9xr5ZvW&q=85&s=936d37a7d9370d65c77345bb00da9ee9" alt="Issue board showing project tasks" width="3812" height="1980" data-path="images/quickstart/issue-board.png" />
</Frame>

From the web UI you can also create and edit specs and issues, run issues, and monitor execution sessions:

<Frame>
  <img src="https://mintcdn.com/sudocode/jD7tbur9b9xr5ZvW/images/quickstart/issue-start.png?fit=max&auto=format&n=jD7tbur9b9xr5ZvW&q=85&s=d4d66ff439e3cbb20db6fa71660eedb2" alt="Running an issue in the sudocode web interface" width="3820" height="1974" data-path="images/quickstart/issue-start.png" />
</Frame>

## Next Steps

Now that you've set up sudocode and created your first spec and issue, explore these guides to learn more:

<CardGroup cols={3}>
  <Card title="Tracking Context Agentically" icon="code" href="/examples/tracking-work-agentically">
    See how sudocode fits into a normal coding session
  </Card>

  <Card title="Test-Driven Debugging" icon="bug" href="/examples/test-driven-debugging">
    Track a bug investigation as a chain of issues
  </Card>

  <Card title="Spec-Driven Development" icon="graduation-cap" href="/examples/spec-driven-development">
    Plan and implement features with specs and issues
  </Card>
</CardGroup>

<CardGroup cols={3}>
  <Card title="Creating Issues" icon="list-check" href="/mcp/issue-creation">
    Learn different methods for creating and organizing issues
  </Card>

  <Card title="Creating Specs" icon="file-lines" href="/mcp/spec-creation">
    Write specifications that guide your AI agents
  </Card>

  <Card title="Web Interface Overview" icon="browser" href="/web/overview">
    Explore all features of the sudocode web interface
  </Card>
</CardGroup>
