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

# Runegraft

> The most customizable, beautiful, simple CLI framework.

Build CLIs the way you *wish* every CLI was built: clean command routes, strong typing, an interactive shell out of the box, and quality-of-life features that make your tool feel like a real product.

<Tip>
  Run your tool with **no args** to drop into Runegraft’s interactive shell. You still get the normal “one-shot CLI” behavior when you pass a command.
</Tip>

<Columns cols={3}>
  <Card title="Quickstart" icon="rocket" href="/quickstart">
    Install, create your first CLI, and ship a polished entrypoint.
  </Card>

  <Card title="Command Routes" icon="route" href="/concepts/command-routes">
    Flask-like routes for CLIs: <code>install \<url:url></code>, types, and defaults.
  </Card>

  <Card title="Interactive Shell" icon="terminal" href="/concepts/shell">
    Completion, history, aliases, <code>source</code> scripts, and more.
  </Card>
</Columns>

<Columns cols={3}>
  <Card title="Options & Flags" icon="sliders" href="/concepts/options">
    Typed options with nice help text, short/long forms, and defaults.
  </Card>

  <Card title="Type Converters" icon="wand-2" href="/concepts/types">
    Built-ins like <code>int</code>, <code>bool</code>, <code>url</code>, <code>json</code>, <code>uuid</code>, and custom converters.
  </Card>

  <Card title="Recipes" icon="book-open" href="/recipes">
    Real-world patterns: installers, git-like subcommands, and task runners.
  </Card>
</Columns>

***

## Install in one command

```bash theme={null}
pip install runegraft
```

<Tip>Prefer editable installs while developing your CLI? Clone the repo and run <code>pip install -e .</code>.</Tip>

## Sneak peek

<CodeGroup>
  ```bash normal-cli theme={null}
  $ runegraft install https://example.com/pkg.zip --optional-flag 3
  Installing from https://example.com/pkg.zip (optional_flag=3)
  ```

  ```bash interactive-shell theme={null}
  $ runegraft
  runegraft> help
  runegraft> install https://example.com/pkg.zip -f 3
  runegraft> alias set i "install -f 3"
  runegraft> i https://example.com/pkg.zip
  runegraft> history show
  runegraft> exit
  ```
</CodeGroup>

## Where to start

<Steps>
  <Step title="Quickstart">
    Install Runegraft and ship your first command in minutes in the <a href="/quickstart">Quickstart</a>.
  </Step>

  <Step title="Command routes">
    See how Flask-like routes power typed arguments in <a href="/concepts/command-routes">Command Routes</a>.
  </Step>

  <Step title="Live shell">
    Explore completion, history, and scripts in <a href="/concepts/shell">Interactive Shell</a>.
  </Step>

  <Step title="Polish the UX">
    Add flags, converters, and real-world patterns in <a href="/concepts/options">Options & Flags</a> and <a href="/concepts/types">Type Converters</a>.
  </Step>

  <Step title="Copy-paste patterns">
    Grab ready-to-use snippets in <a href="/recipes">Recipes</a>.
  </Step>
</Steps>
