document-feature-technical

A rule for writing the engineering record of a feature. It explains how the feature works, which files and data it uses, and the decisions and tests that support it.

In plain words
What is it for?
Use it after implementing or changing a feature to update its technical.md file. The document covers architecture, data flow, data models, authentication, validation, decisions, and tests.
Why use it?
It helps future maintainers understand the code without reconstructing the feature from scratch. Keeping one technical document current avoids scattered or obsolete notes.

Cursor rule for Cursor

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 rules/rafaelszago/doc-everything/document-feature-technical
Clone the repo
git clone --depth 1 https://github.com/rafaelszago/doc-everything

Made for: Cursor.

Per session 79 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 910 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. 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.00079 $0.00910
Opus 5 $0.00039 $0.00455
Sonnet 5 $0.00016 $0.00182
Haiku 4.5 $0.00008 $0.00091

Measured yesterday against content hash c80302b57325, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

document-feature-technical 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 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.

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.

.cursor/rules/document-feature-technical.mdc · 95 lines

How it starts

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

Document a feature — technical

Record the engineering view of a feature: how it actually works, the files that make it up, and the decisions a future maintainer needs. Companion to the document-feature-product rule (the user-facing view).

Where it goes

docs/features/<feature>/technical.md     ← this rule
docs/features/<feature>/product.md       ← document-feature-product rule
docs/features/README.md                  ← index (product rule owns it)
  • <feature> is a kebab-case slug. Match it to how the codebase already names the feature (its module/package/directory) so the docs are easy to trace back.
  • If this project pins the docs directory elsewhere (via .cursor/doc-everything.json or .claude/doc-everything.json docsPath, or the DOC_EVERYTHING_DOCS_PATH env var), use that path instead of docs/features/.
  • One file per feature — update the existing technical.md in place, don't spawn technical-v2.md. Keep it current with the code, not a changelog.

How to write it

  1. Read the code first. Describe what the code actually does today, never aspirational or planned behavior. If the project has architectural conventions (a data-access layer, a service pattern, a module boundary), describe the feature in those terms.
  2. Fill the template below. Drop sections that genuinely don't apply — say so in one line rather than leaving an empty stub.
  3. Link real files as clickable references (path/to/file:line), and cross-link the matching product.md.
  4. When you change a feature, update the affected sections (data model, files, decisions) — stale technical docs are worse than none.

Template

# <Feature> — technical

> Product view: ./product.md

## Summary
One or two lines: what this feature does at the system level.

## Status
scaffolded | in progress | shipped — and a line on what's real vs stubbed.

## Architecture & data flow
How it fits the app's architecture. Trace one representative action end to end
(what the user/client triggers → each layer it passes through → where it lands).
Note where reads come from vs where writes go.

## Files & responsibilities
| File | Role |
|------|------|
| `path/to/entry` | request entry / route / handler |
| `path/to/logic` | core logic / use-case / service |
| `path/to/data`  | data access / persistence |
| `path/to/ui`    | UI / presentation |

## Data model
Tables/collections/columns or types touched, and the migration(s) or schema
changes that introduced them. Note any fields with special handling.

## Auth, validation & authorization
Where the request is authenticated, where input is validated, and how access is
authorized. Note the trust boundary (what the client is/ isn't allowed to send).

## External dependencies & integrations
Third-party services, APIs, queues, env vars, or feature flags this relies on.

## Key decisions & trade-offs
Why it's built this way; alternatives rejected; known limitations / TODOs.

## Testing
What's covered (unit / integration / e2e), where those tests live, and how to
run them.

## Extending / gotchas
What a future change most likely touches, and traps to avoid.

Read the full file on GitHub · 95 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. yesterday First seen · 95 lines · 79 tokens per session scan A c80302b57325

Subscribe to this mod's changes

document-feature-technical is a cursor rule published in the GitHub repository rafaelszago/doc-everything (2 stars, last pushed 1mo ago), licensed MIT. It adds 79 tokens to every session and 910 once invoked, about $0.0004 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-31.