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 rules/evtapps/ditto-mcp/typescript-stylegit clone --depth 1 https://github.com/evtapps/ditto-mcpWhat 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.00014 | $0.00203 |
| Opus 5 | $0.00007 | $0.00102 |
| Sonnet 5 | $0.00003 | $0.00041 |
| Haiku 4.5 | $0.00001 | $0.00020 |
Grade A, and why
typescript-style 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.
What it actually says
TypeScript Style & Typing Rules
- Prefer
unknownoverany. Never cast toany. Narrow with type guards. - Use
import type { ... }for types. Keep value/type imports separate. - Exported APIs and public functions should have explicit parameter and return types.
- Prefer early returns and guard clauses; avoid deep nesting.
- Name functions as verbs; variables and constants as nouns. Avoid abbreviations.
- Use generics for reusable logic. Avoid over-broad types.
- Never swallow errors. Convert unknown errors to strings via a helper (see
errorToStringinsrc/index.ts). - Keep modules small and single-responsibility. Cross-module imports should respect boundaries documented in the Architecture Guide.
- Avoid side effects in modules except the CLI entrypoint.
- Never log raw secrets; rely on the redacting logger.
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 · 15 lines · 14 tokens per session scan A ad94533e8bdc
typescript-style is a cursor rule published in the GitHub repository evtapps/ditto-mcp (0 stars, last pushed 9mo ago), licensed MIT. It adds 14 tokens to every session and 203 once invoked, about $0.0001 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.
Other cursor rules, from other repositories
as-contract-cast-smell
// ❌ WRONG — bypasses the family ContractSerializer seam const contract = JSON.parse(raw) as Contract; const contract = JSON.parse(raw) as Contract .
no-barrel-files
Avoid barrel files and unnecessary re-exports.
angular-typescript-cursorrules-prompt-file
Cursor rules for Angular development with TypeScript integration.
vue-typescript-patterns
Cursor rule "vue-typescript-patterns" from soaring-xiongkulu/easyaiot, covering vue3 + typescript 开发规范, vue 组件规范, vue sfc 组件规范, typescript 规范 and 状态管理.
ts
Cursor rule "ts" from un-pany/v3-admin-vite, covering ts 开发规范, 类型, 命名, 代码组织 and 错误处理.
project-overview
这是一个基于 uniapp + Vue3 + TypeScript + Vite5 + UnoCSS 的跨平台开发框架。.