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/maccman/ai-monorepo-scaffold/typescriptgit clone --depth 1 https://github.com/maccman/ai-monorepo-scaffoldWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/rules/maccman/ai-monorepo-scaffold/typescript)<a href="https://agentmods.dev/rules/maccman/ai-monorepo-scaffold/typescript"><img src="https://agentmods.dev/badge/rules/maccman/ai-monorepo-scaffold/typescript.svg" alt="Measured on agentmods" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00000 | $0.00451 |
| Opus 5 | $0.00000 | $0.00226 |
| Sonnet 5 | $0.00000 | $0.00090 |
| Haiku 4.5 | $0.00000 | $0.00045 |
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 6d 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:
- typescript — 88% identical, 6 lines differ
What it actually says
TypeScript Best Practices
Type System
- Prefer interfaces over types for object definitions
- Use type for unions, intersections, and mapped types
- NEVER use
anyoras anytypes or coercion - Use strict TypeScript configuration
- Leverage TypeScript's built-in utility types
- Use generics for reusable type patterns
- Use
unknownfor variables that are not yet typed - Use
Zodfor schema validation - Use the type guards pattern for runtime type checking
- Use
assertStringfor runtime string checking
Naming Conventions
- Use PascalCase for type names and interfaces
- Use camelCase for variables and functions
- Use UPPER_CASE for constants
- Use descriptive names with auxiliary verbs (e.g., isLoading, hasError)
- Prefix interfaces for React props with 'Props' (e.g., ButtonProps)
Code Organization
- Keep type definitions close to where they're used
- Export types and interfaces from dedicated type files when shared
- Use barrel exports (index.ts) for organizing exports
- Place shared types in a
types.tsfile - Co-locate component props with their components
- Prefer to use multiple files.
- Never place two classes or components in the same file.
Functions
- Use explicit return types for public functions
- Use arrow functions for callbacks and methods
- Use function overloads for complex type scenarios
- Prefer async/await over Promises
- Prefer function declarations over function expressions.
- Prefer functional programming over classes.
Best Practices
- Enable strict mode in tsconfig.json
- Use readonly for immutable properties
- Leverage discriminated unions for type safety
- Implement proper null checking
Imports
- ALWAYS use
@/style imports vs relative imports, except when importing from the same directory. - NEVER do an inline
await import(...)call. - NEVER use
'UNKNOWN'or'UNKNOWN_VALUE', or similar to indicate an unknown value - usenullinstead.
Error Handling
- DO NOT proactively add error handling
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.
- 6d ago First seen · 65 lines · 451 tokens per session scan A 3503e070a137
typescript is a cursor rule published in the GitHub repository maccman/ai-monorepo-scaffold (304 stars, last pushed 10mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 451 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
vue-typescript-patterns
Cursor rule "vue-typescript-patterns" from soaring-xiongkulu/easyaiot, covering vue3 + typescript 开发规范, vue 组件规范, vue sfc 组件规范, typescript 规范 and 状态管理.
nextjs-typescript-app-cursorrules-prompt-file
Cursor rules for Next.js development with TypeScript integration.
ts
Cursor rule "ts" from un-pany/v3-admin-vite, covering ts 开发规范, 类型, 命名, 代码组织 and 错误处理.
platform-pattern-2-filesystem-operations
Cursor rule "platform-pattern-2-filesystem-operations" from PaulJPhilp/EffectPatterns, covering platform pattern 2: filesystem operations and example.
handle-unexpected-errors-by-inspecting-the-cause
Cursor rule "handle-unexpected-errors-by-inspecting-the-cause" from PaulJPhilp/EffectPatterns, covering handle unexpected errors by inspecting the cause and example.
modeling-tagged-unions-with-datacase
Cursor rule "modeling-tagged-unions-with-datacase" from PaulJPhilp/EffectPatterns, covering modeling tagged unions with data.case and example.