# HooCode Documentation

HooCode is a minimal terminal coding harness. It is designed to stay small at the core while being extended through TypeScript extensions, skills, prompt templates, themes, and hoocode packages.

## Quick start

One command, no runtime to install first.

**macOS and Linux**

```bash
curl -fsSL https://kolisachint.github.io/hoocode/install.sh | sh
```

**Windows**

```powershell
irm https://kolisachint.github.io/hoocode/install.ps1 | iex
```

Or, if you already have Node 20+:

```bash
npm install -g @kolisachint/hoocode-agent
```

See [Install](install.md) for the standalone archives, offline and container
setups, and building from source.

Then run it in a project directory:

```bash
hoocode
```

Authenticate with `/login` for subscription providers, or set an API key such as `ANTHROPIC_API_KEY` before starting hoocode.

For the full first-run flow, see [Quickstart](quickstart.md).

## Start here

- [Install](install.md) - one-click installers, npm, standalone archives, offline setups.
- [Quickstart](quickstart.md) - authenticate and run a first session.
- [Using HooCode](usage.md) - interactive mode, slash commands, context files, and CLI reference.
- [Providers](providers.md) - subscription and API-key setup for built-in providers.
- [Settings](settings.md) - global and project settings.
- [Keybindings](keybindings.md) - default shortcuts and custom keybindings.
- [Sessions](sessions.md) - session management, branching, and tree navigation.
- [Compaction](compaction.md) - context compaction and branch summarization.
- [Modes](modes.md) - ask, plan, build, and debug, and the planning workflow.

## Extending hoocode

- [MCP](mcp.md) - connect Model Context Protocol servers and their tools.
- [Plugins](plugins.md) - install capabilities from marketplaces, and the trust model.
- [Canvas](canvas.md) - interactive surfaces the agent can drive.
- [Subagent delegation](routing.md) - hand focused work to a separate agent.

## Customization

- [Extensions](extensions.md) - TypeScript modules for tools, commands, events, and custom UI.
- [Skills](skills.md) - Agent Skills for reusable on-demand capabilities.
- [Prompt templates](prompt-templates.md) - reusable prompts that expand from slash commands.
- [Themes](themes.md) - built-in and custom terminal themes.
- [HooCode packages](packages.md) - bundle and share extensions, skills, prompts, and themes.
- [Custom models](models.md) - add model entries for supported provider APIs.
- [Custom providers](custom-provider.md) - implement custom APIs and OAuth flows.

## Programmatic usage

- [SDK](sdk.md) - embed hoocode in Node.js applications.
- [RPC mode](rpc.md) - integrate over stdin/stdout JSONL.
- [JSON event stream mode](json.md) - print mode with structured events.
- [TUI components](tui.md) - build custom terminal UI for extensions.

## Reference

- [Session format](session-format.md) - JSONL session file format, entry types, and SessionManager API.

## Platform setup

- [Windows](windows.md)
- [Termux on Android](termux.md)
- [tmux](tmux.md)
- [Terminal setup](terminal-setup.md)
- [Shell aliases](shell-aliases.md)

## Development

- [Development](development.md) - local setup, project structure, and debugging.
