add-framework-adapterlisted
Install: claude install-skill uchetsai-creator/project_starter_v5
# Contributing a Framework Adapter
`verify_spec_code.py` catches spec-code drift by comparing a spec document against real source
code. It never has framework-specific knowledge itself — that logic lives entirely in
**capability adapters** and **detectors**. This guide tells you exactly what to build when your
framework, language, or tool isn't covered yet.
---
## Two-layer architecture (Phase 52.5)
```
verify_spec_code.py
│ --adapter <name> [--framework <hint>]
▼
Capability Adapter (one per project type, plus `logging` which applies to all — 8 total)
│ extract_spec() — parses the shared spec format for this project type
│ extract_code() — discovers source files, dispatches to detector(s)
├── Framework Detector A (e.g. FastAPIDetector)
├── Framework Detector B (e.g. FlaskDetector)
└── Framework Detector C (e.g. ExpressDetector)
│
▼
NormalizedForm objects → compared by verify_spec_code.py
```
- **Capability adapter** — owns the spec format for a whole project type (Web App, CLI Tool,
Data Pipeline, etc.) and discovers source files. All web-API frameworks, for example, share
the same `api-contract.md` format, so `WebAPIAdapter` parses it once for all of them.
- **Detector** — the only framework-specific piece. Receives a pre-discovered file list from its
capability adapter and returns `NormalizedForm` objects. **Does not** touch the filesystem or
parse the spec.
**The 8 existing c