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.
git clone --depth 1 https://github.com/GoranErhartic/cursor-development-rulesWrote 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/goranerhartic/cursor-development-rules/cdk-testing)<a href="https://agentmods.dev/rules/goranerhartic/cursor-development-rules/cdk-testing"><img src="https://agentmods.dev/badge/rules/goranerhartic/cursor-development-rules/cdk-testing/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/rules/goranerhartic/cursor-development-rules/cdk-testing"><img src="https://agentmods.dev/badge/rules/goranerhartic/cursor-development-rules/cdk-testing.svg" alt="Reviewed on agentmods" width="80" 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.00017 | $0.01110 |
| Opus 5.5 | $0.00007 | $0.00444 |
| Sonnet 5.5 | $0.00003 | $0.00222 |
| Haiku 4.5 | $0.00002 | $0.00111 |
Grade A, and why
cdk-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 1mo 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.
How it starts
The opening of the file, as written. The whole thing — 155 lines — stays where its author put it; the contents beside it link to each section on GitHub.
CDK Testing
Overview
Test CDK stacks and constructs with aws-cdk-lib/assertions. Use Template.fromStack() to inspect synthesized CloudFormation and assert on resources. Use snapshot tests for regression safety.
Dependencies
pnpm add -D aws-cdk-lib vitest
Template Assertions
// cdk/lib/stacks/api-stack.test.ts
import { describe, it, expect } from "vitest";
import { App } from "aws-cdk-lib";
import { Template } from "aws-cdk-lib/assertions";
import { ApiStack } from "./api-stack";
describe("ApiStack", () => {
it("should create a REST API and Lambda functions", () => {
const app = new App();
const stack = new ApiStack(app, "TestStack", {
dataTable: createMockTable(),
idempotencyTable: createMockTable(),
databaseSecret: createMockSecret(),
rdsProxyEndpoint: "proxy.example.com",
opensearchEndpoint: "https://search.example.com",
});
const template = Template.fromStack(stack);
template.resourceCountIs("AWS::ApiGateway::RestApi", 1);
template.resourceCountIs("AWS::Lambda::Function", 3);
template.hasResourceProperties("AWS::Lambda::Function", {
Runtime: "nodejs22.x",
Handler: "index.handler",
MemorySize: 512,
Timeout: 30,
});
template.hasResourceProperties("AWS::Lambda::Function", {
Environment: {
Variables: expect.objectContaining({
DYNAMODB_TABLE_NAME: expect.any(String),
}),
},
});
});
});
function createMockTable() {
return {} as any; // Use actual Table from a test stack or @aws-cdk-lib/aws-dynamodb
}
function createMockSecret() {
return {} as any;
}
Fine-Grained Assertions
const template = Template.fromStack(stack);
// At least one Lambda with these properties
template.hasResourceProperties("AWS::Lambda::Function", {
Runtime: "nodejs22.x",
Architectures: ["arm64"],
});
// SQS event source with reportBatchItemFailures
template.hasResourceProperties("AWS::Lambda::EventSourceMapping", {
EventSourceArn: expect.any(String),
FunctionName: expect.any(String),
BatchSize: 10,
});
// DynamoDB table with TTL
template.hasResourceProperties("AWS::DynamoDB::Table", {
BillingMode: "PAY_PER_REQUEST",
StreamSpecification: { StreamViewType: "NEW_AND_OLD_IMAGES" },
});
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.
- 1mo ago First seen · 155 lines · 17 tokens per session scan A 51d83137f17b
cdk-testing is a cursor rule published in the GitHub repository GoranErhartic/cursor-development-rules (19 stars, last pushed 7mo ago), licensed MIT. It adds 17 tokens to every session and 1,110 once invoked, about $0.0001 per session on Opus 5.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
use-contract-ir-factories
Use factory functions for creating ContractIR objects instead of manual object creation.
gonavi-go
A Go coding rule set for the GoNavi repository, based on common Go style guides and the project's own conventions. It covers file structure, errors, context, concurrency, logging, and tests.
workflow-level3
Defines the standard workflow for Level 3 (Intermediate Feature) tasks, guiding through comprehensive planning, targeted creative design, structured implementation, detailed reflection, and feature-specific archiving.
reflection-basic
Basic reflection format for Level 2 Simple Enhancement tasks.
rule-calling-guide
Comprehensive guide for calling VAN QA rules.
common-fixes
Utility for VAN QA common validation fixes.