Skip to content

Enhance Architecture Reviewer Agent to Recognize Spring Boot Patterns #23

@shawnewallace

Description

@shawnewallace

Description

Update the existing Architecture Reviewer agent (.github/agents/architecture-reviewer.agent.md) to recognize and validate both .NET and Spring Boot architectural patterns.

Note: This enhances the current agent rather than creating a new one. The Architecture Reviewer agent concepts are already mostly stack-agnostic.

Acceptance Criteria

  • Add Spring Boot pattern recognition to agent context section
  • Recognize Spring Boot module structure (domain/application/infrastructure/api)
  • Validate Spring Boot dependency directions (same Clean Architecture rules)
  • Detect Spring Boot-specific violations:
    • Domain depending on Spring frameworks
    • Infrastructure concerns in Application layer
    • Repository pattern violations (stored procedures, etc.)
  • Test agent with both .NET and Spring Boot code samples
  • Update agent documentation/examples to show both stacks
  • No need for separate agent - one agent handles both

Context Section Update

Add to agent's context:

## Context

This project supports two technology stacks following Clean Architecture:

**.NET 9:**
- Structure: TaskManager.Domain / .Application / .Infrastructure / .Api
- Layers enforce dependency direction: Domain ← Application ← Infrastructure ← Api

**Spring Boot 3.x:**
- Structure: taskmanager-domain / -application / -infrastructure / -api (Maven modules)
- Same dependency direction enforcement
- Recognizes Spring annotations but enforces architectural boundaries

**Common Violations to Detect (Both Stacks):**
- Domain layer depending on frameworks or external libraries
- Application layer containing infrastructure concerns
- Circular dependencies between layers
- Primitive obsession (no strongly-typed IDs)
- Direct navigation between aggregates

Testing

Validate with:

Related Issues

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions