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/movahedan/monobun/typescriptgit clone --depth 1 https://github.com/movahedan/monobunWhat 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.00000 | $0.00486 |
| Opus 5 | $0.00000 | $0.00243 |
| Sonnet 5 | $0.00000 | $0.00097 |
| Haiku 4.5 | $0.00000 | $0.00049 |
Grade A, and why
typescript 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.
What it actually says
TypeScript and React (agent deltas)
Enforced elsewhere — do not restate
Open before debating style:
tools/typescript/base.json—strict, unused locals/parameters, module settingsbiome.json—noExplicitAny, formatting, suspicious rulestools/typescript/AGENTS.md— which preset (base,vite,nextjs, …) to extend
Self-documenting code
- No inline comments; names and structure carry intent
- No JSDoc except on a module’s main file when behavior is non-obvious
- Group related lines; blank line between logical groups
Naming
| Kind | Convention |
|---|---|
| Files | kebab-case |
| Functions, variables | camelCase |
| Classes, types, interfaces | PascalCase |
| Constants | ALL_CAPS |
| Generic params | T prefix (TEntity) |
Type patterns (Biome/tsconfig gaps)
- Prefer discriminated unions over bags of optionals for state machines
- Prefer
interfaceextends over intersection types (type A & B) for composition - Explicit return types on non-component functions; components may omit
- Use type guards for
unknownnarrowing - Prefer
as constobjects over numeric enums - Named exports; default export only where the framework requires (e.g. Next.js pages)
Imports
Order: React → third-party → local (absolute) → relative.
React
- Functional components with
readonlyprops interfaces - Custom hooks: explicit return type interfaces
- Event handlers:
React.FormEvent,React.ChangeEvent, etc. - Early return for loading / error UI branches
Errors
- Prefer
Result<T, E>for parse/validate paths when throwing would scatter control flow - Custom error classes with
namewhen throwing domain errors
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 · 57 lines · 486 tokens per session scan A 86bf0311e550
typescript is a cursor rule published in the GitHub repository movahedan/monobun (18 stars, last pushed 4d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 486 tokens. 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 cursor rules, from other repositories
typescript
Changes to these high-fan-out internals can affect every message, delta, element, or rerun. Keep work in them minimal, and benchmark changes with representative stress-test apps.
ai-agent-specialist
Cursor rules for TypeScript, React, Node.js, clean architecture, testing, and WHY-oriented engineering guidance.
05-web-development
Use the following format for code blocks.
rules.general
Cursor rule "rules.general" from lingyuanli/MultiGen, covering 项目开发规范, 技术栈, 代码规范, typescript and react/next.js.
00-persona
Senior TypeScript / React front-end persona & base behaviour.
frontend-patterns
React/TypeScript patterns for src/ code.