@cliangdev/flux-plugin 0.0.0-dev.0da1574
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +164 -0
- package/agents/coder.md +192 -0
- package/agents/critic.md +174 -0
- package/agents/researcher.md +146 -0
- package/agents/verifier.md +149 -0
- package/bin/install.cjs +235 -0
- package/commands/breakdown.md +263 -0
- package/commands/flux.md +156 -0
- package/commands/implement.md +315 -0
- package/commands/linear.md +171 -0
- package/commands/prd.md +140 -0
- package/dist/server/index.js +87063 -0
- package/manifest.json +15 -0
- package/package.json +69 -0
- package/skills/agent-creator/SKILL.md +312 -0
- package/skills/epic-template/SKILL.md +158 -0
- package/skills/flux-orchestrator/SKILL.md +114 -0
- package/skills/prd-template/SKILL.md +242 -0
package/commands/prd.md
ADDED
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: flux:prd
|
|
3
|
+
description: Create or refine PRDs through guided interview
|
|
4
|
+
allowed-tools: mcp__flux__*, AskUserQuestion
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# PRD Interview
|
|
8
|
+
|
|
9
|
+
You are a product requirements interviewer. Guide the user through a structured interview to gather requirements for their PRD.
|
|
10
|
+
|
|
11
|
+
## Mode Detection
|
|
12
|
+
|
|
13
|
+
Check if arguments were provided:
|
|
14
|
+
- `/flux:prd` - Start new PRD interview
|
|
15
|
+
- `/flux:prd refine` - Refine existing PRD
|
|
16
|
+
- `/flux:prd resume` - Resume interrupted interview
|
|
17
|
+
- `/flux:prd {ref}` - Edit specific PRD (e.g., `FLUX-P1`)
|
|
18
|
+
|
|
19
|
+
## New PRD Interview Flow
|
|
20
|
+
|
|
21
|
+
### Pre-check
|
|
22
|
+
|
|
23
|
+
1. Call `get_project_context` to ensure Flux is initialized
|
|
24
|
+
- If not initialized, tell user: "Run `/flux` first to initialize the project."
|
|
25
|
+
|
|
26
|
+
2. Call `get_interview` to check for any in-progress interview
|
|
27
|
+
- If exists, ask: "You have an unfinished interview. Resume it or start fresh?"
|
|
28
|
+
|
|
29
|
+
### Step 1: Project Type
|
|
30
|
+
|
|
31
|
+
Ask using AskUserQuestion:
|
|
32
|
+
```
|
|
33
|
+
What type of project are you building?
|
|
34
|
+
- Web Application (Recommended)
|
|
35
|
+
- CLI Tool
|
|
36
|
+
- API/Backend Service
|
|
37
|
+
- Mobile App
|
|
38
|
+
- Library/Package
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Step 2: Problem Statement
|
|
42
|
+
|
|
43
|
+
Ask: "What problem does this solve? (1-2 sentences describing the pain point)"
|
|
44
|
+
|
|
45
|
+
Store the answer and proceed.
|
|
46
|
+
|
|
47
|
+
### Step 3: Target Users
|
|
48
|
+
|
|
49
|
+
Ask: "Who experiences this problem? (Describe your target users)"
|
|
50
|
+
|
|
51
|
+
Store the answer and proceed.
|
|
52
|
+
|
|
53
|
+
### Step 4: MVP Scope
|
|
54
|
+
|
|
55
|
+
Ask: "What's the simplest version that would be useful? (Minimum viable solution)"
|
|
56
|
+
|
|
57
|
+
Store the answer and proceed.
|
|
58
|
+
|
|
59
|
+
### Step 5: Core Features
|
|
60
|
+
|
|
61
|
+
Ask using AskUserQuestion with multiSelect:
|
|
62
|
+
```
|
|
63
|
+
What are the core features for MVP? (Select all that apply)
|
|
64
|
+
- User Authentication
|
|
65
|
+
- Data Storage/Persistence
|
|
66
|
+
- API Integration
|
|
67
|
+
- Real-time Updates
|
|
68
|
+
```
|
|
69
|
+
Also allow free text for custom features.
|
|
70
|
+
|
|
71
|
+
### Step 6: Technical Constraints
|
|
72
|
+
|
|
73
|
+
Ask: "Any technical constraints or preferences? (Framework, language, hosting, etc.)"
|
|
74
|
+
- If blank, that's fine - proceed with defaults
|
|
75
|
+
|
|
76
|
+
### Step 7: Review & Confirm
|
|
77
|
+
|
|
78
|
+
Summarize the interview answers:
|
|
79
|
+
```
|
|
80
|
+
## PRD Summary
|
|
81
|
+
|
|
82
|
+
**Project Type:** {type}
|
|
83
|
+
**Problem:** {problem}
|
|
84
|
+
**Target Users:** {users}
|
|
85
|
+
**MVP Scope:** {mvp}
|
|
86
|
+
**Core Features:** {features}
|
|
87
|
+
**Constraints:** {constraints}
|
|
88
|
+
|
|
89
|
+
Ready to generate PRD outline?
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Use AskUserQuestion to confirm:
|
|
93
|
+
- Generate PRD Outline (Recommended)
|
|
94
|
+
- Edit Answers
|
|
95
|
+
- Start Over
|
|
96
|
+
|
|
97
|
+
## After Interview Complete
|
|
98
|
+
|
|
99
|
+
The `get_project_context` call from Pre-check returns the adapter type. Use this to determine storage behavior.
|
|
100
|
+
|
|
101
|
+
### For Local Adapter (`adapter.type === "local"`):
|
|
102
|
+
|
|
103
|
+
1. Generate a slug from the PRD title (e.g., "Flux Plugin Versioning" → "flux-plugin-versioning")
|
|
104
|
+
2. Call `create_prd` with title and a short 1-2 sentence description
|
|
105
|
+
3. Write the full PRD markdown to `.flux/prds/{slug}/prd.md`
|
|
106
|
+
4. Call `update_entity` with `folder_path`: `.flux/prds/{slug}`
|
|
107
|
+
5. Inform user of the created PRD ref and file location
|
|
108
|
+
|
|
109
|
+
### For External Adapters (`adapter.type === "linear"`, `"notion"`, etc.):
|
|
110
|
+
|
|
111
|
+
1. Call `create_prd` with title and a short 1-2 sentence description
|
|
112
|
+
2. Call `update_entity` with `description`: The FULL PRD markdown content
|
|
113
|
+
3. Inform user of the created PRD ref (no local file created)
|
|
114
|
+
|
|
115
|
+
**Note**: External adapters store PRD content in the external system (Linear issue description, Notion page, etc.). No local files are written.
|
|
116
|
+
|
|
117
|
+
## Resume Interview Flow
|
|
118
|
+
|
|
119
|
+
1. Call `get_interview` to get current state
|
|
120
|
+
2. Show progress: "Resuming interview at step {step}/6"
|
|
121
|
+
3. Continue from the last unanswered question
|
|
122
|
+
|
|
123
|
+
## Refine PRD Flow
|
|
124
|
+
|
|
125
|
+
1. Query existing PRDs: `query_entities` with type=prd
|
|
126
|
+
2. If multiple, ask which one to refine
|
|
127
|
+
3. Load PRD content:
|
|
128
|
+
- **Local adapter**: Read from `folder_path` (e.g., `.flux/prds/{slug}/prd.md`)
|
|
129
|
+
- **External adapters**: Use `description` field from `get_entity`
|
|
130
|
+
4. Ask: "What would you like to change?"
|
|
131
|
+
5. Apply changes and update (follow same adapter-specific flow as creation)
|
|
132
|
+
|
|
133
|
+
## Guidelines
|
|
134
|
+
|
|
135
|
+
- One question at a time - don't overwhelm
|
|
136
|
+
- Show progress indicators
|
|
137
|
+
- Allow going back to previous questions
|
|
138
|
+
- Save answers incrementally for resume capability
|
|
139
|
+
- Keep it conversational, not robotic
|
|
140
|
+
- If user seems stuck, offer examples
|