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/tailcallhq/forgecode/agents-mdgit clone --depth 1 https://github.com/tailcallhq/forgecodeWhat 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.01742 | $0.01742 |
| Opus 5 | $0.00871 | $0.00871 |
| Sonnet 5 | $0.00348 | $0.00348 |
| Haiku 4.5 | $0.00174 | $0.00174 |
Grade A, and why
forgecode 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 2d 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.
Copies of this mod
1 near-identical copy found in the catalogue:
- codegraff2 AGENTS.md — 97% identical, 2 lines differ
How it starts
The opening of the file, as written. The whole thing — 247 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Agent Guidelines
This document contains guidelines and best practices for AI agents working with this codebase.
Error Management
- Use
anyhow::Resultfor error handling in services and repositories. - Create domain errors using
thiserror. - Never implement
Fromfor converting domain errors, manually convert them
Writing Tests
-
All tests should be written in three discrete steps:
use pretty_assertions::assert_eq; // Always use pretty assertions fn test_foo() { let setup = ...; // Instantiate a fixture or setup for the test let actual = ...; // Execute the fixture to create an output let expected = ...; // Define a hand written expected result assert_eq!(actual, expected); // Assert that the actual result matches the expected result } -
Use
pretty_assertionsfor better error messages. -
Use fixtures to create test data.
-
Use
assert_eq!for equality checks. -
Use
assert!(...)for boolean checks. -
Use unwraps in test functions and anyhow::Result in fixtures.
-
Keep the boilerplate to a minimum.
-
Use words like
fixture,actualandexpectedin test functions. -
Fixtures should be generic and reusable.
-
Test should always be written in the same file as the source code.
-
Use
new, Default and derive_setters::Setters to createactual,expectedand speciallyfixtures. For example:Good:
User::default().age(12).is_happy(true).name("John") User::new("Job").age(12).is_happy() User::test() // Special test constructorBad:
User {name: "John".to_string(), is_happy: true, age: 12} User::with_name("Job") // Bad name, should stick to User::new() or User::test() -
Use
unwrap()unless the error information is useful. Useexpectinstead ofpanic!when error message is useful. For example:Good:
users.first().expect("List should not be empty")Bad:
if let Some(user) = users.first() { // ... } else { panic!("List should not be empty") }
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.
- 2d ago First seen · 247 lines · 1,742 tokens per session scan A f6fc40414b48
forgecode AGENTS.md is an instructions file published in the GitHub repository tailcallhq/forgecode (7,599 stars, last pushed 2d ago), licensed Apache-2.0. It adds 1,742 tokens to every session, about $0.0087 per session on Opus 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
workflowbuilder CLAUDE.md
Instructions for synergycodes/workflowbuilder, covering workflow builder, quick reference, agent signals, monorepo structure and per-workspace docs.
agent-ready-repo AGENTS.md
Instructions for eugenelim/agent-ready-repo, covering agents.md, project overview, rule lookups, documentation and development workflow.
AIWiki CLAUDE.md
Claude Code instructions for XuebinMa/AIWiki, covering claude.md — aiwiki 项目记忆, 这是什么, 每次动手前必读(按顺序), 写作 / 翻译用 skill(不要手搓流程) and 保持连贯的硬规则(防止跨会话的风格 / 内容漂移).
atelier CLAUDE.md
Instructions for ahamedzoha/atelier, covering claude.md, first thing, every session, skills available in this repo, memory and mode reminder.
apijack AGENTS.md
AGENTS.md instructions for normalled/apijack, covering apijack, quick start, code generation, routine system and routine yaml format.
apijack GEMINI.md
Gemini CLI instructions for normalled/apijack, covering apijack, quick start, code generation, routine system and routine yaml format.