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/omergulcicek/omergulcicek.com/typescriptgit clone --depth 1 https://github.com/omergulcicek/omergulcicek.comWhat 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.00354 |
| Opus 5 | $0.00000 | $0.00177 |
| Sonnet 5 | $0.00000 | $0.00071 |
| Haiku 4.5 | $0.00000 | $0.00035 |
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 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.
This is a copy
86% identical to typescript — 16 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
What it actually says
TypeScript
Constraints
- Zod-First: Write Zod schemas for API/Domain contracts. Derive types via
z.infer. - Strict: Operate in
strict: truemode. - Arrays: Use
T[]. UseArray<T>only for nested types. - Enums: Use
z.enumoras constobjects. Nativeenumis forbidden. - Immutability: Use
readonlyoras const. - Return Types: Explicitly define return types for exported functions.
- Generics: Use constraints (
T extends object).
Bans
any.as Type(except in tests).!(Non-null assertion).- Using Interface and Type simultaneously.
IorTprefixes (IUser).- Type soup (
Pick<Omit<Partial<...>>>). - Type soup (Pick<Omit<Partial<...>>> nesting > 2).
Exception: Deriving Form schemas from API schemas using Zod's
.pick(),.omit(), or.extend()is encouraged to maintain SSOT.
Correct Implementation
Incorrect Implementation
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 · 47 lines · 0 tokens per session scan A bcddb5b5a0aa
typescript is a cursor rule published in the GitHub repository omergulcicek/omergulcicek.com (15 stars, last pushed 7d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 354 tokens. A static security scan graded it A with 0 findings. It is 86% identical to typescript, differing in 16 lines, and is treated as a copy.
Other cursor rules, from other repositories
js-and-ts
When writing JavaScript or TypeScript code, use this guide for JavaScript best practices and guidance.
cursorrules
You are working on IC Reactor v3, a type-safe TypeScript library for building Internet Computer (IC) applications. It leverages TanStack Query for state management and caching, and the repo uses @icp-sdk/ packages for IC agent/auth/candid primitives.
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.
vue-typescript-patterns
Cursor rule "vue-typescript-patterns" from soaring-xiongkulu/easyaiot, covering vue3 + typescript 开发规范, vue 组件规范, vue sfc 组件规范, typescript 规范 and 状态管理.
compose-resource-lifecycles-with-layermerge
Cursor rule "compose-resource-lifecycles-with-layermerge" from PaulJPhilp/EffectPatterns, covering compose resource lifecycles with layer.merge and example.