From 70ada54c952d428c87d9be837567c6fe326d7153 Mon Sep 17 00:00:00 2001 From: Reza Rezvani Date: Tue, 17 Mar 2026 12:20:16 +0100 Subject: [PATCH] =?UTF-8?q?feat(code-to-prd):=20add=20ecosystem=20integrat?= =?UTF-8?q?ion=20=E2=80=94=20command,=20settings,=20marketplace?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Fix plugin.json version: 1.0.0 → 2.1.2 (repo versioning) - Add /code-to-prd slash command (4-step workflow: analyze → scaffold → fill → finalize) - Add settings.json with command registration and platform metadata - Add code-to-prd entry to marketplace.json with keywords and category Co-Authored-By: Claude Opus 4.6 (1M context) --- .claude-plugin/marketplace.json | 21 +++++ commands/code-to-prd.md | 78 +++++++++++++++++++ .../code-to-prd/.claude-plugin/plugin.json | 2 +- product-team/code-to-prd/settings.json | 15 ++++ 4 files changed, 115 insertions(+), 1 deletion(-) create mode 100644 commands/code-to-prd.md create mode 100644 product-team/code-to-prd/settings.json diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index 185819a..15edbcc 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -392,6 +392,27 @@ "workspace-admin" ], "category": "development" + }, + { + "name": "code-to-prd", + "source": "./product-team/code-to-prd", + "description": "Reverse-engineer any frontend codebase into a complete PRD. Analyzes routes, components, state, APIs, and interactions. Framework-agnostic: React, Vue, Angular, Svelte, Next.js. 2 Python scripts (frontend_analyzer, prd_scaffolder), 2 reference guides, /code-to-prd slash command.", + "version": "2.1.2", + "author": { + "name": "Alireza Rezvani" + }, + "keywords": [ + "prd", + "product-requirements", + "reverse-engineering", + "frontend", + "documentation", + "code-analysis", + "react", + "vue", + "angular" + ], + "category": "product" } ] } diff --git a/commands/code-to-prd.md b/commands/code-to-prd.md new file mode 100644 index 0000000..ccb2ae4 --- /dev/null +++ b/commands/code-to-prd.md @@ -0,0 +1,78 @@ +--- +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 `frontend_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/frontend_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/frontend_analyzer.py` +- `product-team/code-to-prd/scripts/prd_scaffolder.py` +- `product-team/code-to-prd/references/prd-quality-checklist.md` diff --git a/product-team/code-to-prd/.claude-plugin/plugin.json b/product-team/code-to-prd/.claude-plugin/plugin.json index d768077..86d11f7 100644 --- a/product-team/code-to-prd/.claude-plugin/plugin.json +++ b/product-team/code-to-prd/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "code-to-prd", "description": "Reverse-engineer any frontend codebase into a complete Product Requirements Document (PRD). Analyzes routes, components, state, APIs, and interactions to generate business-readable documentation that engineers or AI agents can use to fully reconstruct every page. Framework-agnostic: React, Vue, Angular, Svelte, Next.js, Nuxt, and more.", - "version": "1.0.0", + "version": "2.1.2", "author": { "name": "Alireza Rezvani", "url": "https://alirezarezvani.com" diff --git a/product-team/code-to-prd/settings.json b/product-team/code-to-prd/settings.json new file mode 100644 index 0000000..e0c1f3d --- /dev/null +++ b/product-team/code-to-prd/settings.json @@ -0,0 +1,15 @@ +{ + "name": "code-to-prd", + "displayName": "Code → PRD", + "version": "2.1.2", + "description": "Reverse-engineer any frontend codebase into a complete PRD. Analyzes routes, components, state, APIs, and interactions. Framework-agnostic.", + "author": "Alireza Rezvani", + "license": "MIT", + "platforms": ["claude-code", "openclaw", "codex"], + "category": "product", + "tags": ["prd", "product-requirements", "reverse-engineering", "frontend", "documentation", "code-analysis", "react", "vue", "angular", "next-js"], + "repository": "https://github.com/alirezarezvani/claude-skills", + "commands": { + "code-to-prd": "/code-to-prd" + } +}