planflow-plugin 0.1.0
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/LICENSE +21 -0
- package/README.md +93 -0
- package/bin/cli.js +169 -0
- package/bin/postinstall.js +87 -0
- package/commands/pfActivity/SKILL.md +725 -0
- package/commands/pfAssign/SKILL.md +623 -0
- package/commands/pfCloudLink/SKILL.md +192 -0
- package/commands/pfCloudList/SKILL.md +222 -0
- package/commands/pfCloudNew/SKILL.md +187 -0
- package/commands/pfCloudUnlink/SKILL.md +152 -0
- package/commands/pfComment/SKILL.md +227 -0
- package/commands/pfComments/SKILL.md +159 -0
- package/commands/pfConnectionStatus/SKILL.md +433 -0
- package/commands/pfDiscord/SKILL.md +740 -0
- package/commands/pfGithubBranch/SKILL.md +672 -0
- package/commands/pfGithubIssue/SKILL.md +963 -0
- package/commands/pfGithubLink/SKILL.md +859 -0
- package/commands/pfGithubPr/SKILL.md +1335 -0
- package/commands/pfGithubUnlink/SKILL.md +401 -0
- package/commands/pfLive/SKILL.md +185 -0
- package/commands/pfLogin/SKILL.md +249 -0
- package/commands/pfLogout/SKILL.md +155 -0
- package/commands/pfMyTasks/SKILL.md +198 -0
- package/commands/pfNotificationSettings/SKILL.md +619 -0
- package/commands/pfNotifications/SKILL.md +420 -0
- package/commands/pfNotificationsClear/SKILL.md +421 -0
- package/commands/pfReact/SKILL.md +232 -0
- package/commands/pfSlack/SKILL.md +659 -0
- package/commands/pfSyncPull/SKILL.md +210 -0
- package/commands/pfSyncPush/SKILL.md +299 -0
- package/commands/pfSyncStatus/SKILL.md +212 -0
- package/commands/pfTeamInvite/SKILL.md +161 -0
- package/commands/pfTeamList/SKILL.md +253 -0
- package/commands/pfTeamRemove/SKILL.md +115 -0
- package/commands/pfTeamRole/SKILL.md +160 -0
- package/commands/pfTestWebhooks/SKILL.md +722 -0
- package/commands/pfUnassign/SKILL.md +134 -0
- package/commands/pfWhoami/SKILL.md +258 -0
- package/commands/pfWorkload/SKILL.md +219 -0
- package/commands/planExportCsv/SKILL.md +106 -0
- package/commands/planExportGithub/SKILL.md +222 -0
- package/commands/planExportJson/SKILL.md +159 -0
- package/commands/planExportSummary/SKILL.md +158 -0
- package/commands/planNew/SKILL.md +641 -0
- package/commands/planNext/SKILL.md +1200 -0
- package/commands/planSettingsAutoSync/SKILL.md +199 -0
- package/commands/planSettingsLanguage/SKILL.md +201 -0
- package/commands/planSettingsReset/SKILL.md +237 -0
- package/commands/planSettingsShow/SKILL.md +482 -0
- package/commands/planSpec/SKILL.md +929 -0
- package/commands/planUpdate/SKILL.md +2518 -0
- package/commands/team/SKILL.md +740 -0
- package/locales/en.json +1499 -0
- package/locales/ka.json +1499 -0
- package/package.json +48 -0
- package/templates/PROJECT_PLAN.template.md +157 -0
- package/templates/backend-api.template.md +562 -0
- package/templates/frontend-spa.template.md +610 -0
- package/templates/fullstack.template.md +397 -0
- package/templates/ka/backend-api.template.md +562 -0
- package/templates/ka/frontend-spa.template.md +610 -0
- package/templates/ka/fullstack.template.md +397 -0
- package/templates/sections/architecture.md +21 -0
- package/templates/sections/overview.md +15 -0
- package/templates/sections/tasks.md +22 -0
- package/templates/sections/tech-stack.md +19 -0
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: planExportCsv
|
|
3
|
+
description: Export PROJECT_PLAN.md tasks as a CSV file
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Plan Export to CSV
|
|
7
|
+
|
|
8
|
+
Export PROJECT_PLAN.md tasks as a CSV file for spreadsheet applications.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
/planExportCsv
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Step 0: Load Configuration
|
|
17
|
+
|
|
18
|
+
```javascript
|
|
19
|
+
function getConfig() {
|
|
20
|
+
if (fileExists("./.plan-config.json")) {
|
|
21
|
+
try { return JSON.parse(readFile("./.plan-config.json")) } catch {}
|
|
22
|
+
}
|
|
23
|
+
const globalPath = expandPath("~/.config/claude/plan-plugin-config.json")
|
|
24
|
+
if (fileExists(globalPath)) {
|
|
25
|
+
try { return JSON.parse(readFile(globalPath)) } catch {}
|
|
26
|
+
}
|
|
27
|
+
return { "language": "en" }
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const config = getConfig()
|
|
31
|
+
const language = config.language || "en"
|
|
32
|
+
const t = JSON.parse(readFile(`locales/${language}.json`))
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Step 1: Read PROJECT_PLAN.md
|
|
36
|
+
|
|
37
|
+
If not found:
|
|
38
|
+
```
|
|
39
|
+
{t.commands.update.planNotFound}
|
|
40
|
+
|
|
41
|
+
{t.commands.update.runPlanNew}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Step 2: Parse Project Data
|
|
45
|
+
|
|
46
|
+
Extract all task information.
|
|
47
|
+
|
|
48
|
+
## Step 3: Create CSV Structure
|
|
49
|
+
|
|
50
|
+
```csv
|
|
51
|
+
Task ID,Task Name,Phase,Status,Complexity,Estimated Hours,Dependencies,Description
|
|
52
|
+
T1.1,Project Setup,1,DONE,Low,2,None,"Initialize project..."
|
|
53
|
+
T1.2,Database Setup,1,DONE,Medium,3,T1.1,"Setup PostgreSQL..."
|
|
54
|
+
T1.3,Authentication,1,TODO,High,6,T1.2,"Implement JWT auth..."
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
**Important:** Escape commas and quotes in content properly.
|
|
58
|
+
|
|
59
|
+
## Step 4: Write File
|
|
60
|
+
|
|
61
|
+
Write to `project-plan.csv`
|
|
62
|
+
|
|
63
|
+
**Success Card:**
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
╭──────────────────────────────────────────────────────────────────────────────╮
|
|
67
|
+
│ ✅ SUCCESS │
|
|
68
|
+
├──────────────────────────────────────────────────────────────────────────────┤
|
|
69
|
+
│ │
|
|
70
|
+
│ Exported to: project-plan.csv │
|
|
71
|
+
│ │
|
|
72
|
+
│ ── CSV Details ─────────────────────────────────────────────────────────── │
|
|
73
|
+
│ │
|
|
74
|
+
│ 📊 Rows: [X] tasks │
|
|
75
|
+
│ 📋 Columns: 8 │
|
|
76
|
+
│ │
|
|
77
|
+
│ ── Use This For ────────────────────────────────────────────────────────── │
|
|
78
|
+
│ │
|
|
79
|
+
│ • Excel/Sheets import │
|
|
80
|
+
│ • Data analysis │
|
|
81
|
+
│ • Project management tools │
|
|
82
|
+
│ • Reporting │
|
|
83
|
+
│ │
|
|
84
|
+
├──────────────────────────────────────────────────────────────────────────────┤
|
|
85
|
+
│ │
|
|
86
|
+
│ 💡 View file: cat project-plan.csv │
|
|
87
|
+
│ │
|
|
88
|
+
╰──────────────────────────────────────────────────────────────────────────────╯
|
|
89
|
+
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Error Handling
|
|
93
|
+
|
|
94
|
+
**Write Error Card:**
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
╭──────────────────────────────────────────────────────────────────────────────╮
|
|
98
|
+
│ ❌ ERROR │
|
|
99
|
+
├──────────────────────────────────────────────────────────────────────────────┤
|
|
100
|
+
│ │
|
|
101
|
+
│ Cannot write export file. │
|
|
102
|
+
│ │
|
|
103
|
+
│ Please check directory permissions and try again. │
|
|
104
|
+
│ │
|
|
105
|
+
╰──────────────────────────────────────────────────────────────────────────────╯
|
|
106
|
+
```
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: planExportGithub
|
|
3
|
+
description: Export PROJECT_PLAN.md tasks as GitHub Issues
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Plan Export to GitHub Issues
|
|
7
|
+
|
|
8
|
+
Export PROJECT_PLAN.md tasks as GitHub Issues with labels and dependencies.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
/planExportGithub
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Step 0: Load Configuration
|
|
17
|
+
|
|
18
|
+
```javascript
|
|
19
|
+
function getConfig() {
|
|
20
|
+
if (fileExists("./.plan-config.json")) {
|
|
21
|
+
try { return JSON.parse(readFile("./.plan-config.json")) } catch {}
|
|
22
|
+
}
|
|
23
|
+
const globalPath = expandPath("~/.config/claude/plan-plugin-config.json")
|
|
24
|
+
if (fileExists(globalPath)) {
|
|
25
|
+
try { return JSON.parse(readFile(globalPath)) } catch {}
|
|
26
|
+
}
|
|
27
|
+
return { "language": "en" }
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const config = getConfig()
|
|
31
|
+
const language = config.language || "en"
|
|
32
|
+
const t = JSON.parse(readFile(`locales/${language}.json`))
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Step 1: Read PROJECT_PLAN.md
|
|
36
|
+
|
|
37
|
+
If not found:
|
|
38
|
+
```
|
|
39
|
+
{t.commands.update.planNotFound}
|
|
40
|
+
|
|
41
|
+
{t.commands.update.runPlanNew}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Step 2: Check Prerequisites
|
|
45
|
+
|
|
46
|
+
### Check GitHub CLI
|
|
47
|
+
```bash
|
|
48
|
+
gh --version
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
**GitHub CLI Not Found Card:**
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
╭──────────────────────────────────────────────────────────────────────────────╮
|
|
55
|
+
│ ❌ ERROR │
|
|
56
|
+
├──────────────────────────────────────────────────────────────────────────────┤
|
|
57
|
+
│ │
|
|
58
|
+
│ {t.commands.export.ghNotFound} │
|
|
59
|
+
│ │
|
|
60
|
+
│ {t.commands.export.ghInstall} │
|
|
61
|
+
│ {t.commands.export.ghUrl} │
|
|
62
|
+
│ │
|
|
63
|
+
╰──────────────────────────────────────────────────────────────────────────────╯
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Check Authentication
|
|
67
|
+
```bash
|
|
68
|
+
gh auth status
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**Not Authenticated Card:**
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
╭──────────────────────────────────────────────────────────────────────────────╮
|
|
75
|
+
│ ❌ ERROR │
|
|
76
|
+
├──────────────────────────────────────────────────────────────────────────────┤
|
|
77
|
+
│ │
|
|
78
|
+
│ {t.commands.export.ghNotAuth} │
|
|
79
|
+
│ │
|
|
80
|
+
│ 💡 {t.ui.labels.nextSteps} │
|
|
81
|
+
│ • {t.commands.export.ghAuthCommand} │
|
|
82
|
+
│ │
|
|
83
|
+
╰──────────────────────────────────────────────────────────────────────────────╯
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Check Git Repository
|
|
87
|
+
```bash
|
|
88
|
+
git rev-parse --is-inside-work-tree
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
**Not a Git Repository Card:**
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
╭──────────────────────────────────────────────────────────────────────────────╮
|
|
95
|
+
│ ⚠️ WARNING │
|
|
96
|
+
├──────────────────────────────────────────────────────────────────────────────┤
|
|
97
|
+
│ │
|
|
98
|
+
│ Not a Git repository. │
|
|
99
|
+
│ │
|
|
100
|
+
│ To export to GitHub Issues: │
|
|
101
|
+
│ 1. Initialize a Git repo: git init │
|
|
102
|
+
│ 2. Create a GitHub repo: gh repo create │
|
|
103
|
+
│ 3. Or run this command in an existing Git repo │
|
|
104
|
+
│ │
|
|
105
|
+
╰──────────────────────────────────────────────────────────────────────────────╯
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## Step 3: Parse Project Data
|
|
109
|
+
|
|
110
|
+
Extract from PROJECT_PLAN.md:
|
|
111
|
+
- Project name
|
|
112
|
+
- All tasks (ID, name, status, complexity, estimate, dependencies, description)
|
|
113
|
+
- Phases
|
|
114
|
+
|
|
115
|
+
## Step 4: Create Labels
|
|
116
|
+
|
|
117
|
+
Create these labels (if they don't exist):
|
|
118
|
+
- `phase-1`, `phase-2`, `phase-3`, `phase-4`
|
|
119
|
+
- `complexity-low`, `complexity-medium`, `complexity-high`
|
|
120
|
+
- `status-todo`, `status-in-progress`, `status-done`, `status-blocked`
|
|
121
|
+
- `plan-plugin`
|
|
122
|
+
|
|
123
|
+
## Step 5: Create Issues
|
|
124
|
+
|
|
125
|
+
For each task:
|
|
126
|
+
|
|
127
|
+
### Issue Title Format
|
|
128
|
+
```
|
|
129
|
+
[Phase N] TX.Y: Task Name
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### Issue Body Format
|
|
133
|
+
```markdown
|
|
134
|
+
## Task Details
|
|
135
|
+
|
|
136
|
+
**Phase**: [N] - [Phase Name]
|
|
137
|
+
**Complexity**: [Low/Medium/High]
|
|
138
|
+
**Estimated Effort**: [X] hours
|
|
139
|
+
**Status**: [TODO/IN_PROGRESS/DONE/BLOCKED]
|
|
140
|
+
|
|
141
|
+
## Description
|
|
142
|
+
|
|
143
|
+
[Full task description from plan]
|
|
144
|
+
|
|
145
|
+
## Dependencies
|
|
146
|
+
|
|
147
|
+
[List of dependency task IDs, or "None"]
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
*Exported from PROJECT_PLAN.md*
|
|
152
|
+
*Created by plan-plugin*
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### Create Issue Command
|
|
156
|
+
```bash
|
|
157
|
+
gh issue create \
|
|
158
|
+
--title "[Phase 1] T1.1: Project Setup" \
|
|
159
|
+
--body "$(cat <<'EOF'
|
|
160
|
+
[Issue body content here]
|
|
161
|
+
EOF
|
|
162
|
+
)" \
|
|
163
|
+
--label "phase-1,complexity-low,status-todo,plan-plugin"
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
## Step 6: Show Progress
|
|
167
|
+
|
|
168
|
+
**Success Card:**
|
|
169
|
+
|
|
170
|
+
```
|
|
171
|
+
╭──────────────────────────────────────────────────────────────────────────────╮
|
|
172
|
+
│ ✅ SUCCESS │
|
|
173
|
+
├──────────────────────────────────────────────────────────────────────────────┤
|
|
174
|
+
│ │
|
|
175
|
+
│ GitHub Issues created! │
|
|
176
|
+
│ │
|
|
177
|
+
│ ── Created Issues ──────────────────────────────────────────────────────── │
|
|
178
|
+
│ │
|
|
179
|
+
│ ✅ [Phase 1] T1.1: Project Setup (#1) │
|
|
180
|
+
│ ✅ [Phase 1] T1.2: Database Setup (#2) │
|
|
181
|
+
│ ✅ [Phase 1] T1.3: Authentication (#3) │
|
|
182
|
+
│ ... │
|
|
183
|
+
│ │
|
|
184
|
+
│ ── Export Summary ──────────────────────────────────────────────────────── │
|
|
185
|
+
│ │
|
|
186
|
+
│ 📋 Total Issues Created: 18 │
|
|
187
|
+
│ │
|
|
188
|
+
│ 🏷️ Labels Created: │
|
|
189
|
+
│ • phase-1, phase-2, phase-3, phase-4 │
|
|
190
|
+
│ • complexity-low, complexity-medium, complexity-high │
|
|
191
|
+
│ │
|
|
192
|
+
├──────────────────────────────────────────────────────────────────────────────┤
|
|
193
|
+
│ │
|
|
194
|
+
│ 💡 View all issues: │
|
|
195
|
+
│ • gh issue list --label plan-plugin │
|
|
196
|
+
│ • https://github.com/user/repo/issues │
|
|
197
|
+
│ │
|
|
198
|
+
╰──────────────────────────────────────────────────────────────────────────────╯
|
|
199
|
+
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
## Error Handling
|
|
203
|
+
|
|
204
|
+
**GitHub CLI Error Card:**
|
|
205
|
+
|
|
206
|
+
```
|
|
207
|
+
╭──────────────────────────────────────────────────────────────────────────────╮
|
|
208
|
+
│ ❌ ERROR │
|
|
209
|
+
├──────────────────────────────────────────────────────────────────────────────┤
|
|
210
|
+
│ │
|
|
211
|
+
│ gh command failed. │
|
|
212
|
+
│ │
|
|
213
|
+
│ [Error message from gh CLI] │
|
|
214
|
+
│ │
|
|
215
|
+
│ ── Possible Solutions ──────────────────────────────────────────────────── │
|
|
216
|
+
│ │
|
|
217
|
+
│ 1. Authenticate: gh auth login │
|
|
218
|
+
│ 2. Check repo access: gh repo view │
|
|
219
|
+
│ 3. Verify network connection │
|
|
220
|
+
│ │
|
|
221
|
+
╰──────────────────────────────────────────────────────────────────────────────╯
|
|
222
|
+
```
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: planExportJson
|
|
3
|
+
description: Export PROJECT_PLAN.md as a structured JSON file
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Plan Export to JSON
|
|
7
|
+
|
|
8
|
+
Export PROJECT_PLAN.md as a structured JSON file.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
/planExportJson
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Step 0: Load Configuration
|
|
17
|
+
|
|
18
|
+
```javascript
|
|
19
|
+
function getConfig() {
|
|
20
|
+
if (fileExists("./.plan-config.json")) {
|
|
21
|
+
try { return JSON.parse(readFile("./.plan-config.json")) } catch {}
|
|
22
|
+
}
|
|
23
|
+
const globalPath = expandPath("~/.config/claude/plan-plugin-config.json")
|
|
24
|
+
if (fileExists(globalPath)) {
|
|
25
|
+
try { return JSON.parse(readFile(globalPath)) } catch {}
|
|
26
|
+
}
|
|
27
|
+
return { "language": "en" }
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const config = getConfig()
|
|
31
|
+
const language = config.language || "en"
|
|
32
|
+
const t = JSON.parse(readFile(`locales/${language}.json`))
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Step 1: Read PROJECT_PLAN.md
|
|
36
|
+
|
|
37
|
+
If not found:
|
|
38
|
+
```
|
|
39
|
+
{t.commands.update.planNotFound}
|
|
40
|
+
|
|
41
|
+
{t.commands.update.runPlanNew}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Step 2: Parse Project Data
|
|
45
|
+
|
|
46
|
+
Extract all project information:
|
|
47
|
+
- Project name, description, type
|
|
48
|
+
- Progress statistics
|
|
49
|
+
- Tech stack
|
|
50
|
+
- All phases and tasks
|
|
51
|
+
|
|
52
|
+
## Step 3: Create JSON Structure
|
|
53
|
+
|
|
54
|
+
```json
|
|
55
|
+
{
|
|
56
|
+
"project": {
|
|
57
|
+
"name": "Project Name",
|
|
58
|
+
"description": "Project description",
|
|
59
|
+
"type": "Full-Stack / Backend / Frontend",
|
|
60
|
+
"status": "In Progress",
|
|
61
|
+
"progress": {
|
|
62
|
+
"total": 14,
|
|
63
|
+
"completed": 3,
|
|
64
|
+
"in_progress": 1,
|
|
65
|
+
"blocked": 0,
|
|
66
|
+
"percentage": 21
|
|
67
|
+
},
|
|
68
|
+
"created": "2026-01-26",
|
|
69
|
+
"updated": "2026-01-26"
|
|
70
|
+
},
|
|
71
|
+
"techStack": {
|
|
72
|
+
"frontend": ["React", "TypeScript", "Tailwind CSS"],
|
|
73
|
+
"backend": ["Node.js", "Express", "PostgreSQL"],
|
|
74
|
+
"devops": ["Docker", "GitHub Actions"],
|
|
75
|
+
"testing": ["Jest", "Playwright"]
|
|
76
|
+
},
|
|
77
|
+
"phases": [
|
|
78
|
+
{
|
|
79
|
+
"id": 1,
|
|
80
|
+
"name": "Foundation",
|
|
81
|
+
"tasks": [
|
|
82
|
+
{
|
|
83
|
+
"id": "T1.1",
|
|
84
|
+
"name": "Project Setup",
|
|
85
|
+
"status": "DONE",
|
|
86
|
+
"complexity": "Low",
|
|
87
|
+
"estimated_hours": 2,
|
|
88
|
+
"dependencies": [],
|
|
89
|
+
"description": "Initialize project structure...",
|
|
90
|
+
"phase": 1
|
|
91
|
+
}
|
|
92
|
+
],
|
|
93
|
+
"progress": {
|
|
94
|
+
"total": 4,
|
|
95
|
+
"completed": 2,
|
|
96
|
+
"percentage": 50
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
],
|
|
100
|
+
"exportedAt": "2026-01-26T12:00:00Z",
|
|
101
|
+
"exportedBy": "plan-plugin v1.2.0"
|
|
102
|
+
}
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## Step 4: Write File
|
|
106
|
+
|
|
107
|
+
Write to `project-plan.json`
|
|
108
|
+
|
|
109
|
+
**Success Card:**
|
|
110
|
+
|
|
111
|
+
```
|
|
112
|
+
╭──────────────────────────────────────────────────────────────────────────────╮
|
|
113
|
+
│ ✅ SUCCESS │
|
|
114
|
+
├──────────────────────────────────────────────────────────────────────────────┤
|
|
115
|
+
│ │
|
|
116
|
+
│ Exported to: project-plan.json │
|
|
117
|
+
│ │
|
|
118
|
+
│ ── Export Details ──────────────────────────────────────────────────────── │
|
|
119
|
+
│ │
|
|
120
|
+
│ 📁 Project: Task Manager │
|
|
121
|
+
│ 📋 Tasks: 18 total │
|
|
122
|
+
│ 🎯 Phases: 4 │
|
|
123
|
+
│ 📄 Format: JSON │
|
|
124
|
+
│ │
|
|
125
|
+
│ ── Use This File For ───────────────────────────────────────────────────── │
|
|
126
|
+
│ │
|
|
127
|
+
│ • Custom integrations │
|
|
128
|
+
│ • Data analysis │
|
|
129
|
+
│ • Importing into other tools │
|
|
130
|
+
│ • Version control tracking │
|
|
131
|
+
│ │
|
|
132
|
+
├──────────────────────────────────────────────────────────────────────────────┤
|
|
133
|
+
│ │
|
|
134
|
+
│ 💡 View file: cat project-plan.json │
|
|
135
|
+
│ │
|
|
136
|
+
╰──────────────────────────────────────────────────────────────────────────────╯
|
|
137
|
+
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
## Error Handling
|
|
141
|
+
|
|
142
|
+
**Write Error Card:**
|
|
143
|
+
|
|
144
|
+
```
|
|
145
|
+
╭──────────────────────────────────────────────────────────────────────────────╮
|
|
146
|
+
│ ❌ ERROR │
|
|
147
|
+
├──────────────────────────────────────────────────────────────────────────────┤
|
|
148
|
+
│ │
|
|
149
|
+
│ Cannot write export file. │
|
|
150
|
+
│ │
|
|
151
|
+
│ The file may be: │
|
|
152
|
+
│ • In use by another program │
|
|
153
|
+
│ • In a read-only directory │
|
|
154
|
+
│ • Blocked by permissions │
|
|
155
|
+
│ │
|
|
156
|
+
│ Please check and try again. │
|
|
157
|
+
│ │
|
|
158
|
+
╰──────────────────────────────────────────────────────────────────────────────╯
|
|
159
|
+
```
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: planExportSummary
|
|
3
|
+
description: Export PROJECT_PLAN.md as a condensed Markdown summary
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Plan Export to Summary
|
|
7
|
+
|
|
8
|
+
Export PROJECT_PLAN.md as a condensed Markdown summary.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
/planExportSummary
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Step 0: Load Configuration
|
|
17
|
+
|
|
18
|
+
```javascript
|
|
19
|
+
function getConfig() {
|
|
20
|
+
if (fileExists("./.plan-config.json")) {
|
|
21
|
+
try { return JSON.parse(readFile("./.plan-config.json")) } catch {}
|
|
22
|
+
}
|
|
23
|
+
const globalPath = expandPath("~/.config/claude/plan-plugin-config.json")
|
|
24
|
+
if (fileExists(globalPath)) {
|
|
25
|
+
try { return JSON.parse(readFile(globalPath)) } catch {}
|
|
26
|
+
}
|
|
27
|
+
return { "language": "en" }
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const config = getConfig()
|
|
31
|
+
const language = config.language || "en"
|
|
32
|
+
const t = JSON.parse(readFile(`locales/${language}.json`))
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Step 1: Read PROJECT_PLAN.md
|
|
36
|
+
|
|
37
|
+
If not found:
|
|
38
|
+
```
|
|
39
|
+
{t.commands.update.planNotFound}
|
|
40
|
+
|
|
41
|
+
{t.commands.update.runPlanNew}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Step 2: Parse Project Data
|
|
45
|
+
|
|
46
|
+
Extract summary information:
|
|
47
|
+
- Overall progress
|
|
48
|
+
- Current focus (next task, in progress, blocked)
|
|
49
|
+
- Phase breakdown
|
|
50
|
+
- Tech stack
|
|
51
|
+
|
|
52
|
+
## Step 3: Create Summary Structure
|
|
53
|
+
|
|
54
|
+
```markdown
|
|
55
|
+
# [Project Name] - Summary
|
|
56
|
+
|
|
57
|
+
**Type**: [Full-Stack/Backend/Frontend]
|
|
58
|
+
**Progress**: [X]% complete ([Y]/[Z] tasks done)
|
|
59
|
+
**Status**: [In Progress/Blocked/Complete]
|
|
60
|
+
|
|
61
|
+
## Current Focus
|
|
62
|
+
|
|
63
|
+
🎯 **Next Task**: T[X].[Y] - [Name]
|
|
64
|
+
🔄 **In Progress**: [N] tasks
|
|
65
|
+
🚫 **Blocked**: [M] tasks
|
|
66
|
+
|
|
67
|
+
## Progress by Phase
|
|
68
|
+
|
|
69
|
+
| Phase | Name | Progress | Status |
|
|
70
|
+
|-------|------|----------|--------|
|
|
71
|
+
| 1 | Foundation | █████░░░░░ 50% | In Progress |
|
|
72
|
+
| 2 | Core Features | ░░░░░░░░░░ 0% | Not Started |
|
|
73
|
+
| 3 | Advanced | ░░░░░░░░░░ 0% | Not Started |
|
|
74
|
+
| 4 | Testing & Deploy | ░░░░░░░░░░ 0% | Not Started |
|
|
75
|
+
|
|
76
|
+
## Task Checklist
|
|
77
|
+
|
|
78
|
+
### Phase 1: Foundation
|
|
79
|
+
- [x] T1.1: Project Setup (DONE)
|
|
80
|
+
- [x] T1.2: Database Setup (DONE)
|
|
81
|
+
- [ ] T1.3: Authentication (TODO)
|
|
82
|
+
- [ ] T1.4: Basic API (TODO)
|
|
83
|
+
|
|
84
|
+
### Phase 2: Core Features
|
|
85
|
+
- [ ] T2.1: User CRUD (TODO)
|
|
86
|
+
- [ ] T2.2: Dashboard (TODO)
|
|
87
|
+
...
|
|
88
|
+
|
|
89
|
+
## Tech Stack
|
|
90
|
+
|
|
91
|
+
**Frontend**: [Frameworks]
|
|
92
|
+
**Backend**: [Frameworks]
|
|
93
|
+
**Database**: [Database]
|
|
94
|
+
|
|
95
|
+
## Quick Stats
|
|
96
|
+
|
|
97
|
+
- 📅 Started: [Date]
|
|
98
|
+
- 📅 Updated: [Date]
|
|
99
|
+
- ⏱️ Total Estimated: [X] hours
|
|
100
|
+
- ✅ Completed: [Y] hours
|
|
101
|
+
- 📋 Remaining: [Z] hours
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
*Generated by plan-plugin*
|
|
106
|
+
*Full plan: PROJECT_PLAN.md*
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## Step 4: Write File
|
|
110
|
+
|
|
111
|
+
Write to `PROJECT_SUMMARY.md`
|
|
112
|
+
|
|
113
|
+
**Success Card:**
|
|
114
|
+
|
|
115
|
+
```
|
|
116
|
+
╭──────────────────────────────────────────────────────────────────────────────╮
|
|
117
|
+
│ ✅ SUCCESS │
|
|
118
|
+
├──────────────────────────────────────────────────────────────────────────────┤
|
|
119
|
+
│ │
|
|
120
|
+
│ Exported to: PROJECT_SUMMARY.md │
|
|
121
|
+
│ │
|
|
122
|
+
│ ── Summary Includes ────────────────────────────────────────────────────── │
|
|
123
|
+
│ │
|
|
124
|
+
│ • Overall progress │
|
|
125
|
+
│ • Phase breakdown │
|
|
126
|
+
│ • Task checklist │
|
|
127
|
+
│ • Tech stack overview │
|
|
128
|
+
│ │
|
|
129
|
+
│ ── Use This For ────────────────────────────────────────────────────────── │
|
|
130
|
+
│ │
|
|
131
|
+
│ • Quick project overview │
|
|
132
|
+
│ • Sharing with team │
|
|
133
|
+
│ • Status reports │
|
|
134
|
+
│ • README updates │
|
|
135
|
+
│ │
|
|
136
|
+
├──────────────────────────────────────────────────────────────────────────────┤
|
|
137
|
+
│ │
|
|
138
|
+
│ 💡 View file: cat PROJECT_SUMMARY.md │
|
|
139
|
+
│ │
|
|
140
|
+
╰──────────────────────────────────────────────────────────────────────────────╯
|
|
141
|
+
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## Error Handling
|
|
145
|
+
|
|
146
|
+
**Write Error Card:**
|
|
147
|
+
|
|
148
|
+
```
|
|
149
|
+
╭──────────────────────────────────────────────────────────────────────────────╮
|
|
150
|
+
│ ❌ ERROR │
|
|
151
|
+
├──────────────────────────────────────────────────────────────────────────────┤
|
|
152
|
+
│ │
|
|
153
|
+
│ Cannot write export file. │
|
|
154
|
+
│ │
|
|
155
|
+
│ Please check directory permissions and try again. │
|
|
156
|
+
│ │
|
|
157
|
+
╰──────────────────────────────────────────────────────────────────────────────╯
|
|
158
|
+
```
|