mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-02-15 02:42:45 +08:00
- Implemented main render function for the issue discovery view. - Added data loading functions to fetch discoveries, details, findings, and progress. - Created rendering functions for discovery list and detail sections. - Introduced filtering and searching capabilities for findings. - Implemented actions for exporting and dismissing findings. - Added polling mechanism to track discovery progress. - Included utility functions for HTML escaping and cleanup.
163 lines
4.7 KiB
Markdown
163 lines
4.7 KiB
Markdown
# Phase 1: Requirements Discovery
|
|
|
|
Collect user requirements and generate configuration for the manual generation process.
|
|
|
|
## Objective
|
|
|
|
Gather essential information about the software project to customize the manual generation:
|
|
- Software type and characteristics
|
|
- Target user audience
|
|
- Documentation scope and depth
|
|
- Special requirements
|
|
|
|
## Execution Steps
|
|
|
|
### Step 1: Software Information Collection
|
|
|
|
Use `AskUserQuestion` to collect:
|
|
|
|
```javascript
|
|
AskUserQuestion({
|
|
questions: [
|
|
{
|
|
question: "What type of software is this project?",
|
|
header: "Software Type",
|
|
options: [
|
|
{ label: "Web Application", description: "Frontend + Backend web app with UI" },
|
|
{ label: "CLI Tool", description: "Command-line interface tool" },
|
|
{ label: "SDK/Library", description: "Developer library or SDK" },
|
|
{ label: "Desktop App", description: "Desktop application (Electron, etc.)" }
|
|
],
|
|
multiSelect: false
|
|
},
|
|
{
|
|
question: "Who is the target audience for this manual?",
|
|
header: "Target Users",
|
|
options: [
|
|
{ label: "End Users", description: "Non-technical users who use the product" },
|
|
{ label: "Developers", description: "Developers integrating or extending the product" },
|
|
{ label: "Administrators", description: "System admins deploying and maintaining" },
|
|
{ label: "All Audiences", description: "Mixed audience with different sections" }
|
|
],
|
|
multiSelect: false
|
|
},
|
|
{
|
|
question: "What documentation scope do you need?",
|
|
header: "Doc Scope",
|
|
options: [
|
|
{ label: "Quick Start", description: "Essential getting started guide only" },
|
|
{ label: "User Guide", description: "Complete user-facing documentation" },
|
|
{ label: "API Reference", description: "Focus on API documentation" },
|
|
{ label: "Comprehensive", description: "Full documentation including all sections" }
|
|
],
|
|
multiSelect: false
|
|
},
|
|
{
|
|
question: "What difficulty levels should code examples cover?",
|
|
header: "Example Levels",
|
|
options: [
|
|
{ label: "Beginner Only", description: "Simple, basic examples" },
|
|
{ label: "Beginner + Intermediate", description: "Basic to moderate complexity" },
|
|
{ label: "All Levels", description: "Beginner, Intermediate, and Advanced" }
|
|
],
|
|
multiSelect: false
|
|
}
|
|
]
|
|
});
|
|
```
|
|
|
|
### Step 2: Auto-Detection (Supplement)
|
|
|
|
Automatically detect project characteristics:
|
|
|
|
```javascript
|
|
// Detect from package.json
|
|
const packageJson = Read('package.json');
|
|
const softwareName = packageJson.name;
|
|
const version = packageJson.version;
|
|
const description = packageJson.description;
|
|
|
|
// Detect tech stack
|
|
const hasReact = packageJson.dependencies?.react;
|
|
const hasVue = packageJson.dependencies?.vue;
|
|
const hasExpress = packageJson.dependencies?.express;
|
|
const hasNestJS = packageJson.dependencies?.['@nestjs/core'];
|
|
|
|
// Detect CLI
|
|
const hasBin = !!packageJson.bin;
|
|
|
|
// Detect UI
|
|
const hasPages = Glob('src/pages/**/*').length > 0 || Glob('pages/**/*').length > 0;
|
|
const hasRoutes = Glob('**/routes.*').length > 0;
|
|
```
|
|
|
|
### Step 3: Generate Configuration
|
|
|
|
Create `manual-config.json`:
|
|
|
|
```json
|
|
{
|
|
"software": {
|
|
"name": "{{detected or user input}}",
|
|
"version": "{{from package.json}}",
|
|
"description": "{{from package.json}}",
|
|
"type": "{{web|cli|sdk|desktop}}"
|
|
},
|
|
"target_audience": "{{end_users|developers|admins|all}}",
|
|
"doc_scope": "{{quick_start|user_guide|api_reference|comprehensive}}",
|
|
"example_levels": ["beginner", "intermediate", "advanced"],
|
|
"tech_stack": {
|
|
"frontend": "{{react|vue|angular|vanilla}}",
|
|
"backend": "{{express|nestjs|fastify|none}}",
|
|
"language": "{{typescript|javascript}}",
|
|
"ui_framework": "{{tailwind|mui|antd|none}}"
|
|
},
|
|
"features": {
|
|
"has_ui": true,
|
|
"has_api": true,
|
|
"has_cli": false,
|
|
"has_config": true
|
|
},
|
|
"agents_to_run": [
|
|
"overview",
|
|
"ui-guide",
|
|
"api-docs",
|
|
"config",
|
|
"troubleshooting",
|
|
"code-examples"
|
|
],
|
|
"screenshot_config": {
|
|
"enabled": true,
|
|
"dev_command": "npm run dev",
|
|
"dev_url": "http://localhost:3000",
|
|
"wait_timeout": 5000
|
|
},
|
|
"output": {
|
|
"filename": "{{name}}-使用手册.html",
|
|
"theme": "light",
|
|
"language": "zh-CN"
|
|
},
|
|
"timestamp": "{{ISO8601}}"
|
|
}
|
|
```
|
|
|
|
## Agent Selection Logic
|
|
|
|
Based on `doc_scope`, select agents to run:
|
|
|
|
| Scope | Agents |
|
|
|-------|--------|
|
|
| quick_start | overview |
|
|
| user_guide | overview, ui-guide, config, troubleshooting |
|
|
| api_reference | overview, api-docs, code-examples |
|
|
| comprehensive | ALL 6 agents |
|
|
|
|
## Output
|
|
|
|
- **File**: `manual-config.json`
|
|
- **Location**: `.workflow/.scratchpad/manual-{timestamp}/`
|
|
|
|
## Next Phase
|
|
|
|
Proceed to [Phase 2: Project Exploration](02-project-exploration.md) with the generated configuration.
|