Borrowing it
Nothing to install: this file belongs to mpfaffenberger/code_puppy. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/mpfaffenberger/code_puppy/main/AGENTS.mdgit clone --depth 1 https://github.com/mpfaffenberger/code_puppyWrote 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/mpfaffenberger/code_puppy/agents-md)<a href="https://agentmods.dev/instructions/mpfaffenberger/code_puppy/agents-md"><img src="https://agentmods.dev/badge/instructions/mpfaffenberger/code_puppy/agents-md/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/instructions/mpfaffenberger/code_puppy/agents-md"><img src="https://agentmods.dev/badge/instructions/mpfaffenberger/code_puppy/agents-md.svg" alt="Reviewed on agentmods" width="80" 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.1 | $0.02397 | $0.02397 |
| Opus 5.5 | $0.00959 | $0.00959 |
| Sonnet 5.5 | $0.00479 | $0.00479 |
| Haiku 4.5 | $0.00240 | $0.00240 |
Grade A, and why
code_puppy AGENTS.md scanned grade A with 0 findings 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 10d ago.
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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 143 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Contributing to Code Puppy
Golden rule: nearly all new functionality should be a plugin in the
code_puppy_core_pluginsrepository that hooks into core viacode_puppy/callbacks.py. Don't editcode_puppy/command_line/.
Rules
- Plugins over core — if a hook exists for it, use it
- One
register_callbacks.pyper plugin — register at module scope - 600-line hard cap — split into submodules
- Fail gracefully — never crash the app
- Return
Nonefrom commands you don't own - Always run linters —
ruff check --fix,ruff format . - NEVER ALLOW A CLAUDE CO-AUTHOR COMMIT
- Keep this file under 10,000 characters — Code Puppy drops everything
past that. Put reference material in
docs/;tests/test_agents_md_size.pyenforces the cap.
How Plugins Work
Plugins are discovered from three tiers, loaded in order:
| Tier | Location | When to use |
|---|---|---|
| Builtin | code_puppy_core_plugins/<name>/register_callbacks.py |
Official package discovered via Python entry points |
| User | ~/.code_puppy/plugins/<name>/register_callbacks.py |
Personal plugins, applied to every project |
| Project | <CWD>/.code_puppy/plugins/<name>/register_callbacks.py |
Repo-specific plugins, shared with your team via git |
All three tiers use the same pattern — drop a register_callbacks.py in a named subdirectory:
from code_puppy.callbacks import register_callback
def _on_startup():
print("my_feature loaded!")
register_callback("startup", _on_startup)
That's it. The plugin loader auto-discovers register_callbacks.py in subdirs.
Project Plugins
<CWD>/.code_puppy/plugins/<name>/register_callbacks.py, mirroring project
agents (.code_puppy/agents/) and skills (.code_puppy/skills/).
- Opt-in directory. Code Puppy never auto-creates
.code_puppy/plugins/. - Untrusted by default. Project plugins run repo code at import, so none
load until accepted in the
/pluginsTUI (select → Enter → typetrust); they then hot-load. Trust is a SHA-256 of the plugin dir, scoped to the project path in~/.code_puppy/trusted_plugins.json; any file change revokes it and everything else fails closed./plugins revoke <name>removes trust. Security model:code_puppy/plugins/trust.py. - Keep runtime state out of the plugin dir — it changes the hash. Use
~/.code_puppy/or a dot-path (e.g..state/), which hashing skips. - Load order is builtin → user → project, so project plugins win override-style hooks. On a name clash the project copy replaces the user plugin (as with agents); shadowing a builtin logs a warning.
- Namespaced imports:
project_plugins.<name>.register_callbacksinsys.modules, so they never collide with user plugins.
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.
- 10d ago Changed · -58 lines · -803 tokens per session 777b1328b91e
- 12d ago Changed · +34 tokens per session 3cf293c8804b
- 22d ago Changed · +1 lines · +77 tokens per session 6110f5eb8c57
- 24d ago Changed · +18 lines · +183 tokens per session 156f195bc821
- 28d ago Changed · +1 lines · +42 tokens per session 860fb605bbe9
- 1mo ago Changed · +1 lines · +40 tokens per session ebb4d614b77b
- 1mo ago Changed 9a97d3314a42
- 1mo ago First seen · 180 lines · 2,824 tokens per session scan A c17488f7dc34
code_puppy AGENTS.md is an instructions file published in the GitHub repository mpfaffenberger/code_puppy (870 stars, last pushed yesterday), licensed MIT. It adds 2,397 tokens to every session, about $0.0096 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other instructions, from other repositories
vscode buildNext.instructions.md
Working notes and architecture documentation for the new esbuild-based build system in build/next. Use when making changes to the new build pipeline (transpile/bundle commands, NLS plugin, source-map handling, resource copying, or self-hosting watch tasks).
next.js AGENTS.md
AGENTS.md instructions for vercel/next.js, covering next.js development guide, codebase structure, monorepo overview, core package: packages/next and other important packages.
vscode oss-third-party-notices.instructions.md
Instructions for microsoft/vscode, covering vs code oss third-party-notices pipeline, architecture, pipeline flow in ci, cache eligibility and rollout and applying the notice (cutover).
langchain AGENTS.md
AGENTS.md instructions for langchain-ai/langchain, covering global development guidelines for the langchain monorepo, corridor security analysis, project architecture and context, monorepo structure and development tools & commands.
vscode copilot-instructions.md
Copilot instructions for microsoft/vscode, covering vs code copilot instructions, project overview, root folders, core architecture (src/ folder) and built-in extensions (extensions/ folder).
deno copilot-instructions.md
Copilot instructions for denoland/deno, covering deno development guide for github copilot, network access, high level overview, key directories and key files to understand first.