agentsclimarketplace

Ddd check incremental

Skill aiskillstore/marketplace/skills/bookiosk/ddd-check-incremental

Incremental DDD compliance check — scans only changed/new Java files in git diff and validates against DDD layer rules. Use before every commit.From its SKILL.md

Install
npx -y skills add aiskillstore/marketplace --skill ddd-check-incremental

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.

SKILL.md

4.1 KB, ~1.0k tokens by cl100k_base, as published. Nobody here has run it

DDD Incremental Compliance Check

Check only new or modified Java files against DDD layer rules. Fast, pre-commit focused.

Trigger

Run when user says "check my changes", "DDD check", "review this code", or before committing.

Workflow

Step 1: Find Changed Files

# Staged changes (pre-commit)
git diff --cached --name-only --diff-filter=ACMR | grep '\.java$'

# Unstaged changes (working tree)
git diff --name-only --diff-filter=ACMR | grep '\.java$'

# Both
git diff HEAD --name-only --diff-filter=ACMR | grep '\.java$'

If no Java files changed, report: "No Java files changed — nothing to check."

Step 2: Classify Each File by Layer

Map file path to DDD layer:

Package PatternLayerRule File
**/ddd/common/**Common(structural rules only)
**/ddd/domain/**Domainrules/domain-layer.md
**/ddd/application/**Applicationrules/application-layer.md
**/ddd/adaptor/**Adaptorrules/adaptor-layer.md
**/ddd/infrastructure/**Infrastructurerules/infrastructure-layer.md
**/ddd/client/**Clientrules/client-layer.md
**/ddd/model/**Modelrules/model-layer.md

Step 3: Read Relevant Rule Files

Load only the rule files matching the changed layers. Plus always load rules/anti-patterns.md.

Step 4: Check Each Changed File

For each changed file, read it and validate against:

  1. Structural rules — correct base class, correct package, correct naming
  2. Dependency rules — no forbidden imports (e.g. domain must not import infrastructure)
  3. Anti-patterns — cross-check against rules/anti-patterns.md

Step 5: Report

Format output as:

## DDD Check: {branch} → {n} files changed

### {FilePath}.java — {Layer}
🔴 CRITICAL: {problem}. {fix}.
🟡 HIGH: {problem}. {fix}.

### Summary
- {n} files checked
- {x} violations (C: {a}, H: {b}, M: {c}, L: {d})

Severity

LevelCriteria
CRITICALArchitecture violation — wrong layer dependency, missing base class, domain depends on infrastructure
HIGHRule violation — wrong naming, public setter on aggregate, wrong exception mode
MEDIUMConvention deviation — missing JavaDoc, wrong file location
LOWStyle suggestion

Key Checks

Domain Layer (MOST CRITICAL):

  • All aggregates extend BaseAggregate<ID>
  • All entities extend BaseEntity<ID>
  • All value objects extend BaseValue
  • setId() is protected, not public
  • No infrastructure imports (no Mapper, no JPA, no SQL)
  • Repository interfaces extend AggregateRepository<T, ID, Q>
  • External calls go through GatewayI interfaces
  • Aggregate methods = business behaviors, not CRUD
  • Design patterns FORBIDDEN in domain (Strategy, Factory, etc.)
  • 阻断型 throws exception, 分支型 returns ResultDO (see references/exception-handling.md)

Application Layer:

  • Cmd services extend ApplicationCmdService
  • Qry services extend ApplicationQueryService
  • APP catches Domain/Adaptor exceptions, converts to ResultDO
  • APP never throws exceptions to Adaptor

Infrastructure Layer:

  • Repository impls in correct package
  • PO classes separate from domain objects
  • Converter/Assembler between PO and domain
  • All GatewayI implementations here, not in domain

Client Layer:

  • All DTOs extend BaseDTO
  • No domain classes exposed in DTOs

Important

  • Do NOT check unchanged files — incremental only
  • Reference the specific rule section when flagging violations (e.g. "rules/domain-layer.md Section A.3")
  • Suggest the exact fix, not just the problem
  • If a violation is intentional, note it but don't flag as CRITICAL
  • Only report real problems — don't report "looks good" for files with zero issues

What ships with it: 1 file

24.6 KB alongside SKILL.md

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.