> For the complete documentation index, see [llms.txt](https://docs.seismic.systems/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.seismic.systems/claude-code/templates.md).

# CLAUDE.md Templates

A `CLAUDE.md` file is a markdown file in your project root that Claude Code reads at the start of every session. It tells Claude about your project's APIs, patterns, and constraints — filling the knowledge gap for libraries that aren't in Claude's training data.

## What's in each template

Every template follows the same structure:

| Section              | Purpose                                                         |
| -------------------- | --------------------------------------------------------------- |
| **Seismic Overview** | What Seismic is and how it differs from Ethereum                |
| **Key Concepts**     | Shielded types, TxSeismic, precompiles, signed reads            |
| **SDK**              | Installation, imports, and key exports for the specific library |
| **Core Patterns**    | Code snippets showing the correct way to use the SDK            |
| **Common Mistakes**  | Gotchas that Claude would otherwise get wrong                   |
| **Networks**         | Chain IDs, RPC URLs, and faucet links                           |
| **Links**            | Pointers to the full SDK documentation                          |

## Setup

1. Pick the template that matches your primary SDK
2. Copy the entire code block from the template page
3. Save it as `CLAUDE.md` in your project root (next to `package.json`, `Cargo.toml`, etc.)

That's it. Claude Code detects the file automatically.

## Combining templates

If your project uses multiple SDKs — for example, Solidity contracts with a TypeScript frontend — concatenate the relevant templates into a single `CLAUDE.md` file:

```bash
# Example: Solidity + Viem project
cat claude-solidity.md claude-viem.md > CLAUDE.md
```

The shared sections (Seismic Overview, Key Concepts, Networks) are intentionally short and repeated across templates, so duplicating them is fine. Claude handles redundant context gracefully.

## Customizing

After pasting a template, you should edit a few things:

* **Project name** — Replace the placeholder at the top with your actual project name
* **Contract addresses** — Add your deployed contract addresses
* **ABI paths** — Point to where your ABIs live in the project
* **Custom patterns** — Add any project-specific conventions Claude should follow

## Templates

* [Seismic Solidity](/claude-code/templates/seismic-solidity.md) — Smart contract development with shielded types
* [Seismic Viem](/claude-code/templates/seismic-viem.md) — TypeScript dapp development
* [Seismic React](/claude-code/templates/seismic-react.md) — React frontend development
* [Seismic Alloy (Rust)](/claude-code/templates/seismic-alloy.md) — Rust dapp development
* [Seismic Python](/claude-code/templates/seismic-python.md) — Python scripts and backends


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.seismic.systems/claude-code/templates.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
