Appwrite SDK Generator is a PHP library that creates software development kits for multiple programming languages and platforms from API specifications. It helps developers produce client libraries with services, methods, models, enums, and related types from formats such as OpenAPI.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add instructions/appwrite/sdk-generator/agents-mdgit clone --depth 1 https://github.com/appwrite/sdk-generatorWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/instructions/appwrite/sdk-generator/agents-md)<a href="https://agentmods.dev/instructions/appwrite/sdk-generator/agents-md"><img src="https://agentmods.dev/badge/instructions/appwrite/sdk-generator/agents-md.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.03980 | $0.03980 |
| Opus 5 | $0.01990 | $0.01990 |
| Sonnet 5 | $0.00796 | $0.00796 |
| Haiku 4.5 | $0.00398 | $0.00398 |
Grade C, and why
sdk-generator AGENTS.md scanned grade C with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Recursive force deletehighDestructive command
rm -rf with a variable or a broad path is one typo away from removing the wrong tree.
rm -rf examples/dart examples/flutter How it starts
The opening of the file, as written. The whole thing — 384 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Agents Guide — SDK Generator
This file provides guidance for AI agents (Claude Code and subagents) working in this repository.
Critical Rules for Agents
Rule 1: Always regenerate after template edits
Templates are not used directly — they're rendered at generation time. The examples/ folder is the ground truth for what the generator actually produces. Always regenerate after making template changes.
Rule 2: New files require getFiles() registration
The generator does not auto-discover templates. Every output file must have an explicit entry in the getFiles(): array method of the corresponding Language class. Forgetting this means the file silently doesn't get generated.
Rule 3: Check language inheritance before changing parent templates
| Parent | Children affected |
|---|---|
JS |
Web, Deno |
Web |
Node, ReactNative |
Dart |
Flutter |
Swift |
Apple |
Kotlin |
Android |
Go |
CLI |
Modifying a parent's template or getFiles() affects all children. Regenerate and verify child SDKs too.
One coupling is not visible in the hierarchy.
templates/cli/install.sh.twig and templates/cli/install.ps1.twig build every download
URL from language.params.npmPackage. The same parameter names release assets produced
by .goreleaser.yaml and consumed by the Scoop manifest and npm platform packages.
Change the asset naming in one place and all four must move together.
Regenerate the CLI after changing any of them:
php example.php cli
Rule 4: copy scope = no Twig processing
Files with 'scope' => 'copy' are copied verbatim — no variable substitution happens. If your new file needs template variables, use 'scope' => 'default' (or service, method, etc.).
Rule 5: Destination paths are also Twig templates
The destination string in each getFiles() entry supports Twig expressions and filters:
'destination' => 'src/Services/{{ service.name | caseCamel }}.php',
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 384 lines · 3,980 tokens per session scan C d9765d49edf4
sdk-generator AGENTS.md is an instructions file published in the GitHub repository appwrite/sdk-generator (325 stars, last pushed today), licensed MIT. It adds 3,980 tokens to every session, about $0.0199 per session on Opus 5. A static security scan graded it C with 1 finding (recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other instructions, from other repositories
moon AGENTS.md
AGENTS.md instructions for moonrepo/moon, covering agents.md, repository layout, prerequisites, rust workflow and conventions.
FlyEnv AGENTS.md
AGENTS.md instructions for xpf0000/FlyEnv, covering flyenv - ai agent development guide, project overview, technology stack, core technologies and additional libraries.
bun CLAUDE.md
Claude Code instructions for oven-sh/bun, covering building and running bun, build commands, changes that don't require a build, testing and running tests.
trufos typescript-react-electron.instructions.md
TypeScript, React, and Electron coding standards for the Trufos project.
moon CLAUDE.md
Claude Code instructions for moonrepo/moon, a project described as: A build system and monorepo management tool for the web ecosystem, written in Rust.
apm python.instructions.md
Python development guidelines.