production-code

production-code is a cursor rule for Windsurf from loiane/specs-driven-development-spring-angular. It costs 0 tokens per session (333 once invoked), scanned A, original, MIT.

A coding rule that requires a failing test before production Java code is changed, then applies stated Spring Boot design conventions.

In plain words
What is it for?
Use it when editing files under src/main to enforce test-first development, feature-based packages, no new Lombok code, and the listed Spring security and architecture conventions.
Why use it?
It prevents implementation work from starting without a test that demonstrates the missing behavior and keeps new code consistent with the project's package and Java style rules.

Cursor rule for Windsurf

Written for Windsurf: installed under .windsurf/.

Good fit Use it when editing files under src/main to enforce test-first development, feature-based packages, no new Lombok code, and the listed Spring security and architecture conventions.

Compare 6 cursor rules from other repositories ↓
Install with agentmods
npx agentmods add rules/loiane/specs-driven-development-spring-angular/production-code
Install

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.

Clone the repo
git clone --depth 1 https://github.com/loiane/specs-driven-development-spring-angular

Made for: Windsurf.

Wrote 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.

agentmods badge for production-code

README.md
[![agentmods](https://agentmods.dev/badge/rules/loiane/specs-driven-development-spring-angular/production-code/github.svg)](https://agentmods.dev/rules/loiane/specs-driven-development-spring-angular/production-code)
Your own site
<a href="https://agentmods.dev/rules/loiane/specs-driven-development-spring-angular/production-code"><img src="https://agentmods.dev/badge/rules/loiane/specs-driven-development-spring-angular/production-code/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.

agentmods 80×15 button for production-code

Your own site · 80×15
<a href="https://agentmods.dev/rules/loiane/specs-driven-development-spring-angular/production-code"><img src="https://agentmods.dev/badge/rules/loiane/specs-driven-development-spring-angular/production-code.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 0 Nothing until a file matches its globs; then the whole rule loads.
When invoked 333 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00000 $0.00333
Opus 5.5 $0.00000 $0.00133
Sonnet 5.5 $0.00000 $0.00067
Haiku 4.5 $0.00000 $0.00033

Measured 4d ago against content hash f85359e37988, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

production-code 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 4d 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.

.windsurf/rules/production-code.md · 20 lines

What it actually says

Production code rule

When about to edit any file under src/main/**:

  1. Read .specs/<active-feature>/.tdd-state.json.
  2. Verify tasks[<active-task>].phase == "red" and red_failure_excerpt is non-empty AND the file appears in files_in_scope.
  3. If verification fails, stop and tell the user: "No failing test for task <task-id>. Invoke /build <task-id> to write the test first."

Apply skills: .windsurf/skills/spring-boot-4-conventions/SKILL.md, archunit-rules/SKILL.md, spring-security-baseline/SKILL.md, clarity-over-cleverness/SKILL.md.

Hard convention: package by feature/domain, not by layer. Top-level packages are bounded contexts (e.g. giftcard, order), each with api (published) and internal (private) sub-packages. Never create top-level controller, service, repository, model, dto, or util packages.

Hard convention: no Lombok in any new code. Use Java records, explicit constructors, and LoggerFactory.getLogger(...) instead of @Data, @Getter, @Setter, @Builder, @RequiredArgsConstructor, @Slf4j, etc.

Changes

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.

  1. 4d ago First seen · 20 lines · 0 tokens per session scan A f85359e37988

Subscribe to this mod's changes

production-code is a cursor rule published in the GitHub repository loiane/specs-driven-development-spring-angular (62 stars, last pushed 3d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 333 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-10-12.