ai-task-master CLAUDE.md

A repository guide for AI agents editing the ai-task-master TypeScript codebase. It sets rules for code structure, tests, changes, comments and commit messages.

In plain words
What is it for?
Use it when an agent is adding or changing ai-task-master source code, tests, configuration or commits.
Why use it?
It gives coding agents consistent project rules and helps prevent untested modules, unnecessary abstractions and leftover designs.

Instructions file

Install

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.

agentmods
npx agentmods add instructions/developerz-ai/ai-task-master/claude-md
Clone the repo
git clone --depth 1 https://github.com/developerz-ai/ai-task-master
Per session 2,937 This file is loaded in full into every session.
When invoked 2,937 The same file — it is already loaded in full.
Security scan A 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.02937 $0.02937
Opus 5 $0.01469 $0.01469
Sonnet 5 $0.00587 $0.00587
Haiku 4.5 $0.00294 $0.00294

Measured 2d ago against content hash 7d5415ce1b6f, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

ai-task-master CLAUDE.md scanned grade A 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 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.

Runs shell commandslowCapability

Expected in a hook, worth knowing in a rule or an instructions file.

- Use `node:fs/promises`, `node:child_process` / `execa`, web `fetch`. Avoid `Bun.file`, `Bun.$`, `Bun.spawn` in shipped code. They are fine in dev scripts and tests gated behind `if (process.versions.bun)`.
CLAUDE.md · 142 lines

How it starts

The opening of the file, as written. The whole thing — 142 lines — stays where its author put it; the contents beside it link to each section on GitHub.

CLAUDE.md

Instructions for Claude when editing aitm source. Not for end users.

House style

  • SOLID. One responsibility per module. If a file grows a second reason to change, split it.
  • Every module ships with tests. SRP + tested is the bar — no test, no merge.
  • No premature abstraction. Inline first, extract on the second real caller.
  • No legacy. When a design is replaced, the old one is DELETED — not kept behind a flag, an optional field, a fallback branch, or a rename alias. A superseded path that still runs is worse than no path: it is untested in anger, it drags its assumptions into new code, and it fires exactly when something else already went wrong. If a failure needs a safety net, the net is "do less" (skip the phase, let the caller proceed as it would have), never "run the thing we just rejected". Two exceptions, both about DATA rather than code: an on-disk state/config file written by an older version must still parse (state/ migrations), and a documented CLI/config key is renamed in one release with the old name removed, not aliased forever.
  • No comments unless the WHY is non-obvious. Names carry intent.
  • Conventional commits. No co-author trailers.

Runtime stance

  • Bun is the dev runtime — bun run, bun test, bun.lockb.
  • Code must run unchanged on Bun, Node ≥ 20, and Deno ≥ 1.40. Treat Bun-only APIs as a portability bug.
  • Use node:fs/promises, node:child_process / execa, web fetch. Avoid Bun.file, Bun.$, Bun.spawn in shipped code. They are fine in dev scripts and tests gated behind if (process.versions.bun).
  • Module system: ESM only. "type": "module" in package.json.

TypeScript

  • strict: true. No any, no as unknown as. Use unknown and narrow.
  • type for data shapes. interface only when declaration merging is actually needed.
  • Named exports only. No default exports.
  • File names: kebab-case. Type names: PascalCase. Function names: camelCase.

Provider

  • Only OpenRouter (OpenAI-compatible) is used for inference. No Anthropic SDK, ever.
  • Credentials reads OPENROUTER_API_KEY from env. No OAuth, no ~/.claude/.credentials.json.
  • The presence of CLAUDE.md in a target repo is a coding-style signal, not a provider signal — feed it to subagent system prompts.

Read the full file on GitHub · 142 lines

Changes

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.

  1. 2d ago First seen · 142 lines · 2,937 tokens per session scan A 7d5415ce1b6f

Subscribe to this mod's changes

ai-task-master CLAUDE.md is an instructions file published in the GitHub repository developerz-ai/ai-task-master (5 stars, last pushed 27d ago), licensed MIT. It adds 2,937 tokens to every session, about $0.0147 per session on Opus 5. A static security scan graded it A with 1 finding (runs shell commands). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.