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/dafthunk-com/dafthunk/01-software-design-guidelinesgit clone --depth 1 https://github.com/dafthunk-com/dafthunkWhat 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.00258 | $0.00258 |
| Opus 5 | $0.00129 | $0.00129 |
| Sonnet 5 | $0.00052 | $0.00052 |
| Haiku 4.5 | $0.00026 | $0.00026 |
Grade A, and why
01-software-design-guidelines 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
Software design and refactoring guidelines
- Minimize complexity: Treat every design choice as a cost measured in future cognitive load. Eliminate unnecessary state and conditionals.
- Prefer deep modules: expose a small, simple API that hides rich internal logic; avoid “wide” interfaces that mirror implementation details.
- Pull complexity downward: if high-level code feels intricate, move that intricacy into a lower abstraction layer.
- One purpose per abstraction: any class or function that can't be described in a single sentence should be split.
- Optimize for read-time, not write-time: it's worth extra effort now to make future maintenance obvious.
- Capture the why: use comments to record design intent and trade-offs; leave how to the code.
- Design it twice: prototype at least two distinctly different solutions before settling on one.
- Working ≠ finished: once the feature runs, refactor and polish interfaces until they're as simple as possible.
- Decide big things early, small things late: lock in module boundaries or concurrency models first; postpone naming tweaks or parameter tuning.
- Example-driven APIs: write the calling code you wish you had, then shape the real interface to match it.
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 · 17 lines · 258 tokens per session scan A 91019aed2eb5
01-software-design-guidelines is a cursor rule published in the GitHub repository dafthunk-com/dafthunk (119 stars, last pushed 6d ago), licensed MIT. It adds 258 tokens to every session, about $0.0013 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-30.
Other cursor rules, from other repositories
frontend-architecture
Vite + React SPA architecture - directory layout, providers, bundle splitting. Tailwind styling in tailwind.mdc.
on-load-rule
This guide outlines the critical development principles for this Swift project.
analyze-pr-changes
Comprehensive analysis of Pull Request changes.
project-rules
Cursor rule "project-rules" from Ahmet-Ruchan/ML-Engineer-RoadMap, covering 🏗️ 1. general structure, 🧩 2. technology stack, ⚙️ 3. core principles, 🗄️ 4. database rules and core tables.
angular-20
This rule provides comprehensive best practices and coding standards for Angular development, focusing on modern TypeScript, standalone components, signals, and performance optimizations.
dev-standard
Apache Superset development standards and guidelines for Cursor IDE.