- Rename frontend_analyzer.py → codebase_analyzer.py — now detects backend frameworks via package.json (NestJS, Express, Fastify) and project files (manage.py, requirements.txt for Django, FastAPI, Flask) - Add backend route extraction: NestJS @Controller/@Get decorators, Django urls.py path() patterns - Add model/entity extraction: Django models.Model fields, NestJS @Entity and DTO classes - Add stack_type detection (frontend / backend / fullstack) to analysis output - SKILL.md: add Supported Stacks table, backend directory guide, backend endpoint inventory template, backend page type strategies, backend pitfalls - references/framework-patterns.md: add NestJS, Express, Django, DRF, FastAPI pattern tables + database model patterns + backend validation patterns - references/prd-quality-checklist.md: add backend-specific checks (endpoints, DTOs, models, admin, middleware, migrations) - Update all descriptions and keywords across plugin.json, settings.json, marketplace.json, and /code-to-prd command Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
79 lines
2.5 KiB
Markdown
79 lines
2.5 KiB
Markdown
---
|
|
name: code-to-prd
|
|
description: Reverse-engineer a frontend codebase into a PRD. Usage: /code-to-prd [path]
|
|
---
|
|
|
|
# /code-to-prd
|
|
|
|
Reverse-engineer a frontend codebase into a complete Product Requirements Document.
|
|
|
|
## Usage
|
|
|
|
```bash
|
|
/code-to-prd # Analyze current project
|
|
/code-to-prd ./src # Analyze specific directory
|
|
/code-to-prd /path/to/project # Analyze external project
|
|
```
|
|
|
|
## What It Does
|
|
|
|
1. **Scan** — Run `codebase_analyzer.py` to detect framework, routes, APIs, enums, and project structure
|
|
2. **Scaffold** — Run `prd_scaffolder.py` to create `prd/` directory with README.md, per-page stubs, and appendix files
|
|
3. **Analyze** — Walk through each page following the Phase 2 workflow: fields, interactions, API dependencies, page relationships
|
|
4. **Generate** — Produce the final PRD with all pages, enum dictionary, API inventory, and page relationship map
|
|
|
|
## Steps
|
|
|
|
### Step 1: Analyze
|
|
|
|
Determine the project path (default: current directory). Run the frontend analyzer:
|
|
|
|
```bash
|
|
python3 {skill_path}/scripts/codebase_analyzer.py {project_path} -o .code-to-prd-analysis.json
|
|
```
|
|
|
|
Display a summary of findings: framework, page count, API count, enum count.
|
|
|
|
### Step 2: Scaffold
|
|
|
|
Generate the PRD directory skeleton:
|
|
|
|
```bash
|
|
python3 {skill_path}/scripts/prd_scaffolder.py .code-to-prd-analysis.json -o prd/
|
|
```
|
|
|
|
### Step 3: Fill
|
|
|
|
For each page in the inventory, follow the SKILL.md Phase 2 workflow:
|
|
- Read the page's component files
|
|
- Document fields, interactions, API dependencies, page relationships
|
|
- Fill in the corresponding `prd/pages/` stub
|
|
|
|
Work in batches of 3-5 pages for large projects (>15 pages). Ask the user to confirm after each batch.
|
|
|
|
### Step 4: Finalize
|
|
|
|
Complete the appendix files:
|
|
- `prd/appendix/enum-dictionary.md` — all enums and status codes found
|
|
- `prd/appendix/api-inventory.md` — consolidated API reference
|
|
- `prd/appendix/page-relationships.md` — navigation and data coupling map
|
|
|
|
Clean up the temporary analysis file:
|
|
```bash
|
|
rm .code-to-prd-analysis.json
|
|
```
|
|
|
|
## Output
|
|
|
|
A `prd/` directory containing:
|
|
- `README.md` — system overview, module map, page inventory
|
|
- `pages/*.md` — one file per page with fields, interactions, APIs
|
|
- `appendix/*.md` — enum dictionary, API inventory, page relationships
|
|
|
|
## Skill Reference
|
|
|
|
- `product-team/code-to-prd/SKILL.md`
|
|
- `product-team/code-to-prd/scripts/codebase_analyzer.py`
|
|
- `product-team/code-to-prd/scripts/prd_scaffolder.py`
|
|
- `product-team/code-to-prd/references/prd-quality-checklist.md`
|