# Claude Code Setup

Set up [Claude Code](https://docs.anthropic.com/en/docs/claude-code) to generate idiomatic adk-fluent and Google ADK code.

## 1. Project rules — `CLAUDE.md`

Claude Code reads `CLAUDE.md` from your project root automatically at the start of every session.

### If you cloned the repo

The file is already generated at `CLAUDE.md` in the project root. Nothing to do — Claude Code picks it up automatically.

:::\{note}
`CLAUDE.md` is auto-generated by `scripts/llms_generator.py` from the ADK manifest. It updates automatically when the API changes via `just docs` or CI. Do not edit it manually.
:::

### If you installed via pip

Download the rules file into your project:

```bash
curl -L https://raw.githubusercontent.com/vamsiramakrishnan/adk-fluent/master/CLAUDE.md \
  -o CLAUDE.md
```

### Quick use — llms.txt

You can also reference the hosted `llms.txt` directly in a conversation:

```
#fetch https://vamsiramakrishnan.github.io/adk-fluent/llms.txt
```

## 2. MCP server — live documentation access

MCP servers give Claude Code on-demand access to the full adk-fluent documentation, including API references, cookbook recipes, and method signatures.

### Option A: adk-fluent GitMCP (free)

Uses [GitMCP](https://gitmcp.io) to serve documentation directly from the GitHub repository.

```bash
claude mcp add --transport http adk-fluent https://gitmcp.io/vamsiramakrishnan/adk-fluent
```

No authentication required. Claude Code will automatically have access to all adk-fluent documentation.

**Usage** — just ask naturally:

```
Build me a pipeline with a researcher agent that searches the web,
then a writer agent that summarizes the findings using adk-fluent.
```

### Option B: Context7 MCP

Community MCP server that provides documentation context for many libraries including adk-fluent.

::::\{tab-set}
:::\{tab-item} HTTP transport

```bash
claude mcp add --transport http context7 https://mcp.context7.com/mcp
```

:::
:::\{tab-item} Local (stdio)

```bash
claude mcp add context7 -- npx -y @upstash/context7-mcp
```

:::
::::

**Usage** — append `use context7` to your prompt:

```
Build me a pipeline with a researcher and writer agent using adk-fluent. use context7
```

## 3. Verify the setup

After adding `CLAUDE.md` and an MCP server, test it with a prompt like:

```
Create an adk-fluent agent that classifies customer support tickets
into categories, then routes them to specialized handler agents.
Use a FanOut for parallel processing and write results to state.
```

Claude Code should:

- Import from `adk_fluent` (not internal modules)
- Use the fluent builder pattern with method chaining
- Call `.build()` to produce native ADK objects
- Use `.writes()` for state management
- Follow the project conventions from `CLAUDE.md`
