Architectural code analysis for design quality. Evaluates simplicity (Rich Hickey), functional core/imperative shell (Gary Bernhardt), and coupling (Constantine & Yourdon)...
Review architecture through three complementary lenses:
Perform a review by default. Do not edit code unless the user explicitly asks for changes.
Honor an explicit user-provided review scope before applying defaults. Accept files, directories, snippets, diffs, commits, branches, pull-request refs, or the whole repository. A comparison-base option by itself configures branch comparison; it is not a review scope.
When the user does not specify a scope:
HEAD.main.HEAD, then review from the merge base through
HEAD. This includes already-pushed feature commits instead of comparing a feature branch
only with its same-named remote tracking branch.Read enough surrounding code, tests, configuration, and documentation to validate each finding. Distinguish problems introduced by the selected changes from relevant pre-existing context. Exclude generated, vendored, minified, lock, and snapshot files unless requested.
Run all three lenses unless the user selects one. If independent workers or subagents are available, the lenses may run in parallel with the same scope. Otherwise, run them sequentially. Parallelism is an optimization, not a requirement.
Evaluate semantics rather than syntax. Infer state, effects, contracts, dependency direction, and module boundaries using the repository's language, framework, tests, and conventions.
Report a candidate only when all of the following hold:
Do not report style preferences, speculative future abstractions, or intentional tradeoffs without evidence of harm. Mention a tradeoff when the current design is reasonable.
Lead with findings ordered by severity, then provide a short summary. Do not assign an overall letter grade; severity, confidence, evidence, and impact carry the assessment.
For each finding include:
### [high|medium|low] Concise title
- Location: `path:line`
- Lens: simplicity | functional-core | coupling
- Confidence: 80-100%
- Evidence: What the code does and the relevant surrounding context.
- Impact: The concrete failure mode or change cost.
- Recommendation: The smallest design change that addresses the cause.
Use high for likely correctness, data, security, or systemic architecture failures; medium for material changeability, testability, or operability costs; and low for bounded issues worth addressing. If no qualifying findings exist, say so directly and note any limits in the reviewed scope.
Claude Code users may invoke /decomplect for a standalone install or
/decomplect:decomplect for the plugin, optionally with --simplicity, --fcis, --coupling,
or --sequential. Treat a lens flag as selecting only that lens, treat --sequential as
disabling parallel workers, and treat remaining arguments as the explicit review scope. Other
agents should follow this file directly.