---
title: "Build with an AI assistant — Anis Developers"
description: "Give your AI coding assistant the files it needs, so the code it writes follows the rules that protect your money."
url: https://developers.anis.ly/docs/ai-assistants/
language: en
---

> Every page of this documentation: https://developers.anis.ly/llms.txt

# Build with an AI assistant

AI coding assistants write much of today’s integration code. They are confident — and on this API a confident mistake can buy cards twice, or lose card codes that were paid for. Everything on this site is also published in forms an assistant reads directly. Give it these before it writes code.

Every file for AI models is in English, whatever the language of the page you are reading — models work best in it, and one version cannot drift from another. Your assistant still answers in the language you ask in.

## Give your assistant the rules

[The rules for AI assistants](https://developers.anis.ly/agents/anis-partners/SKILL.md) hold, on one page, what an assistant must never get wrong: how to retry an order, where card codes appear, how to sign and verify, how to enrol. Each rule links to the page that explains it. Add the file to your assistant:

| Assistant | Where the file goes |
| --- | --- |
| Claude Code | `.claude/skills/anis-partners/SKILL.md` in your project |
| Cursor | a rule in `.cursor/rules/` |
| GitHub Copilot | `.github/copilot-instructions.md` |
| Others | `AGENTS.md` at the root of your project, or paste it at the start of the conversation |

```bash
mkdir -p .claude/skills/anis-partners
curl -o .claude/skills/anis-partners/SKILL.md https://developers.anis.ly/agents/anis-partners/SKILL.md
```

## Point it at the documentation

- [`/llms.txt`](https://developers.anis.ly/llms.txt) — an index of every page, with each page’s Markdown address. Paste this address into your assistant and it can find the rest.
- **Every page as Markdown:** add `.md` to its address — `/docs/orders-and-recovery.md`.
- [`/llms-full.txt`](https://developers.anis.ly/llms-full.txt) — the whole site in one file.
- On every page, **Copy for AI** copies the page as Markdown, and **Open in Claude** or **Open in ChatGPT** starts a conversation about it.

## Give tools the data

| File | What it holds |
| --- | --- |
| [`/openapi.json`](https://developers.anis.ly/openapi.json) | Every call, field and answer, for generating request and response types. It cannot describe signing — generate the types from it, never the signing. |
| [`/errors.json`](https://developers.anis.ly/errors.json) | Every error code: its status, whether to send it again unchanged, whether an order was placed, and what to do. |
| [`/vectors/index.json`](https://developers.anis.ly/vectors/index.json) | The [signing test vectors](https://developers.anis.ly/docs/test-vectors.md): exact requests, answers and signatures. |

## Check what it wrote

> **Review the order code yourself**
>
> Before anything goes live, check three things by hand. The operation id is created once per purchase and stored before the call — never inside a retry. A timeout, an answer that fails verification, or a refusal that may still complete resumes the order with the **same** id. Card codes are stored before anything else, and never logged.

If the assistant wrote the signing code, it is not finished until every [test vector](https://developers.anis.ly/docs/test-vectors.md) passes and [Check your signature](https://developers.anis.ly/reference/check-signature.md) accepts a call made with your real key.
