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/evilfreelancer/zaezd/testinggit clone --depth 1 https://github.com/EvilFreelancer/zaezdWhat 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.01068 |
| Opus 5 | $0.00000 | $0.00534 |
| Sonnet 5 | $0.00000 | $0.00214 |
| Haiku 4.5 | $0.00000 | $0.00107 |
Grade A, and why
testing 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.
How it starts
The opening of the file, as written. The whole thing — 94 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Unit tests
Vitest, tests/**/*.test.ts. Unit tests protect the deterministic core; the observable
behavior of the product is protected by the Gherkin specs in features/
(see @bdd-specs.mdc). Write the spec first, the unit test second, the code third.
Layout and naming
- File:
tests/<module>.test.ts, mirroring the module under test. describe('<module or function>'),it('<observable behavior>'). The sentence initreads as a fact:it('pulls check-in one day earlier for a morning event').- Arrange / Act / Assert, in that order, with a blank line between the blocks.
- One behavior per test. A test that asserts four unrelated things hides which one broke.
What is unit tested
The pure layer, exhaustively. Everything in src/composer/ that has no I/O, plus payload
normalization in src/sources/ and the cache key builder.
The mandatory set, from specs/08-repozitoriy.md; each one is a real defect that has been
observed or is one payload away:
- An online event builds no trip.
- An empty or unrecognized
venueyields no precise marker. - Check-in is one day before
start_datefor a morning event. - An event finishing late adds one more night.
- Arrival after
starts_atminus 60 minutes is flagged and cannot be the primary package. - The hotel price is not multiplied by the number of nights (
price_basis: "stay_total"). - The total price includes both the outbound and the return leg.
- A hotel
geo_idis never taken from a transport response. - A hotel checkout built without
offerpack_hashis not labelled a cart. - Equivalent argument shapes produce one cache key.
- A partial transport-mode failure is not turned into "there is no such transport".
- A free-text event price stays out of the sum.
Twelve more that the plan review surfaced, each a defect one payload away:
- An ISO time with an offset is compared on the right calendar day: 11:59+03:00 must not cross noon or slide to the neighbouring date on the way through UTC.
- Zero nights is a legal answer and produces a hotel-less package, not a forced night.
- Every tie in the three package rules is broken by a stable secondary key.
- Working days burnt differ between a night departure and a midday one, so "Без отпуска" does not collapse into "Дешевле всего".
- "от 7 000 ₽" parses as a lower bound and the total is labelled as one.
- The cache does not store a rejected promise, coalesces identical in-flight requests and respects its size ceiling.
trip_idround-trips Cyrillic, sorts its keys canonically, and rejects a corrupted string, an unknown version and one over the length ceiling.- Every string from a source is escaped in text, in attributes, in URLs and inside the embedded JSON.
- A walking time is never derived from an OSRM car-profile answer.
- A total assembled without a hotel is not called the full participation price.
- Empty sets: no return leg, no hotel, no feasible pair at all.
- In
replaythe reference date is the fixture'srecorded_at, not the wall clock.
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 · 94 lines · 0 tokens per session scan A daddf1d29f29
testing is a cursor rule published in the GitHub repository EvilFreelancer/zaezd (1 stars, last pushed 13d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,068 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-31.
Other cursor rules, from other repositories
swift-development
Swift development: SwiftUI, Combine, async/await, iOS patterns, and Apple platform conventions.
cursorrules
When the user asks about social media, use social-media-ai-mcp tools: schedulepost, generatehashtags, analyzeengagement, plancontentcalendar, getaudienceinsights.
cursorrules
This is an MCP (Model Context Protocol) server that provides Notion integration tools and AI agent workflows. Built with TypeScript, using the MCP SDK for server implementation.
lighter-safety
Safety contract for the Lighter MCP server. Apply whenever a lighter tool is invoked.
commits
Conventional Commits standards for clear, semantic commit messages.
nix-security
Nix Security and Sandboxing.