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,212 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pfSyncStatus
|
|
3
|
+
description: Show synchronization status between local and PlanFlow cloud
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# PlanFlow Sync Status
|
|
7
|
+
|
|
8
|
+
Show synchronization status between local PROJECT_PLAN.md and PlanFlow cloud with comparison card.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
/pfSyncStatus
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Step 0: Load Configuration
|
|
17
|
+
|
|
18
|
+
```javascript
|
|
19
|
+
function getConfig() {
|
|
20
|
+
const localConfigPath = "./.plan-config.json"
|
|
21
|
+
let localConfig = {}
|
|
22
|
+
if (fileExists(localConfigPath)) {
|
|
23
|
+
try { localConfig = JSON.parse(readFile(localConfigPath)) } catch {}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const globalConfigPath = expandPath("~/.config/claude/plan-plugin-config.json")
|
|
27
|
+
let globalConfig = {}
|
|
28
|
+
if (fileExists(globalConfigPath)) {
|
|
29
|
+
try { globalConfig = JSON.parse(readFile(globalConfigPath)) } catch {}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
return { ...globalConfig, ...localConfig }
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
const config = getConfig()
|
|
36
|
+
const language = config.language || "en"
|
|
37
|
+
const cloudConfig = config.cloud || {}
|
|
38
|
+
const isAuthenticated = !!cloudConfig.apiToken
|
|
39
|
+
const projectId = cloudConfig.projectId
|
|
40
|
+
const apiUrl = cloudConfig.apiUrl || "https://api.planflow.tools"
|
|
41
|
+
|
|
42
|
+
const t = JSON.parse(readFile(`locales/${language}.json`))
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Step 1: Validate Prerequisites
|
|
46
|
+
|
|
47
|
+
**Not authenticated card:**
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
|
|
51
|
+
โ โ ERROR โ
|
|
52
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
|
|
53
|
+
โ โ
|
|
54
|
+
โ {t.commands.sync.notAuthenticated} โ
|
|
55
|
+
โ โ
|
|
56
|
+
โ You must be logged in to check sync status. โ
|
|
57
|
+
โ โ
|
|
58
|
+
โ ๐ก {t.ui.labels.nextSteps} โ
|
|
59
|
+
โ โข /pfLogin Sign in to PlanFlow โ
|
|
60
|
+
โ โ
|
|
61
|
+
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**Not linked card:**
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
|
|
68
|
+
โ โ ERROR โ
|
|
69
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
|
|
70
|
+
โ โ
|
|
71
|
+
โ {t.commands.sync.notLinked} โ
|
|
72
|
+
โ โ
|
|
73
|
+
โ This project is not linked to any cloud project. โ
|
|
74
|
+
โ โ
|
|
75
|
+
โ ๐ก {t.ui.labels.nextSteps} โ
|
|
76
|
+
โ โข /pfCloudLink Link to a cloud project โ
|
|
77
|
+
โ โข /pfCloudList View available projects โ
|
|
78
|
+
โ โ
|
|
79
|
+
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Step 2: Fetch and Compare Status
|
|
83
|
+
|
|
84
|
+
**Loading Card:**
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
|
|
88
|
+
โ ๐ Sync Status โ
|
|
89
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
|
|
90
|
+
โ โ
|
|
91
|
+
โ โ น {t.ui.labels.fetching} โ
|
|
92
|
+
โ โ
|
|
93
|
+
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Step 3: Display Sync Status Card
|
|
97
|
+
|
|
98
|
+
```
|
|
99
|
+
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
|
|
100
|
+
โ ๐ {t.commands.sync.status} โ
|
|
101
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
|
|
102
|
+
โ โ
|
|
103
|
+
โ โโ Local vs Cloud โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
104
|
+
โ โ
|
|
105
|
+
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
106
|
+
โ โ ๐ LOCAL โ โ๏ธ CLOUD โ โ
|
|
107
|
+
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค โ
|
|
108
|
+
โ โ PROJECT_PLAN.md โ {projectName} โ โ
|
|
109
|
+
โ โ Modified: 5 min ago โ Synced: 2 hours ago โ โ
|
|
110
|
+
โ โ Tasks: 15 done, 5 in progress โ Tasks: 13 done, 7 in progress โ โ
|
|
111
|
+
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
112
|
+
โ โ
|
|
113
|
+
โ โโ Sync Status โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
114
|
+
โ โ
|
|
115
|
+
โ โญโโโโโโโโโโโโโโโโโโโโฎ โ
|
|
116
|
+
โ โ โ ๏ธ Local Ahead โ โ
|
|
117
|
+
โ โฐโโโโโโโโโโโโโโโโโโโโฏ โ
|
|
118
|
+
โ โ
|
|
119
|
+
โ โโ Changes Detected โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
120
|
+
โ โ
|
|
121
|
+
โ Local changes (not synced): โ
|
|
122
|
+
โ โข โ
T2.1 marked as done โ
|
|
123
|
+
โ โข โ
T2.2 marked as done โ
|
|
124
|
+
โ โข ๐ T3.1 description changed โ
|
|
125
|
+
โ โ
|
|
126
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
|
|
127
|
+
โ โ
|
|
128
|
+
โ ๐ก {t.ui.labels.nextSteps} โ
|
|
129
|
+
โ โข /pfSyncPush Push local changes to cloud โ
|
|
130
|
+
โ โข /pfSyncPull Pull cloud changes (overwrites local) โ
|
|
131
|
+
โ โ
|
|
132
|
+
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
|
|
133
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
**In Sync Card:**
|
|
137
|
+
|
|
138
|
+
```
|
|
139
|
+
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
|
|
140
|
+
โ ๐ Sync Status โ
|
|
141
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
|
|
142
|
+
โ โ
|
|
143
|
+
โ โโ Local vs Cloud โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
144
|
+
โ โ
|
|
145
|
+
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
146
|
+
โ โ ๐ LOCAL โ โ๏ธ CLOUD โ โ
|
|
147
|
+
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค โ
|
|
148
|
+
โ โ PROJECT_PLAN.md โ E-commerce App โ โ
|
|
149
|
+
โ โ Modified: 30 min ago โ Synced: 30 min ago โ โ
|
|
150
|
+
โ โ Tasks: 15 done, 5 in progress โ Tasks: 15 done, 5 in progress โ โ
|
|
151
|
+
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
152
|
+
โ โ
|
|
153
|
+
โ โโ Sync Status โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
154
|
+
โ โ
|
|
155
|
+
โ โญโโโโโโโโโโโโโโโโโโโฎ โ
|
|
156
|
+
โ โ โ In Sync โ โ
|
|
157
|
+
โ โฐโโโโโโโโโโโโโโโโโโโฏ โ
|
|
158
|
+
โ โ
|
|
159
|
+
โ Local and cloud are synchronized. No action needed. โ
|
|
160
|
+
โ โ
|
|
161
|
+
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
**Cloud Ahead Card:**
|
|
165
|
+
|
|
166
|
+
```
|
|
167
|
+
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
|
|
168
|
+
โ ๐ Sync Status โ
|
|
169
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
|
|
170
|
+
โ โ
|
|
171
|
+
โ โโ Local vs Cloud โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
172
|
+
โ โ
|
|
173
|
+
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
174
|
+
โ โ ๐ LOCAL โ โ๏ธ CLOUD โ โ
|
|
175
|
+
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค โ
|
|
176
|
+
โ โ PROJECT_PLAN.md โ E-commerce App โ โ
|
|
177
|
+
โ โ Modified: 2 hours ago โ Synced: 15 min ago โ โ
|
|
178
|
+
โ โ Tasks: 13 done, 7 in progress โ Tasks: 15 done, 5 in progress โ โ
|
|
179
|
+
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
180
|
+
โ โ
|
|
181
|
+
โ โโ Sync Status โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
182
|
+
โ โ
|
|
183
|
+
โ โญโโโโโโโโโโโโโโโโโโโโฎ โ
|
|
184
|
+
โ โ โ๏ธ Cloud Ahead โ โ
|
|
185
|
+
โ โฐโโโโโโโโโโโโโโโโโโโโฏ โ
|
|
186
|
+
โ โ
|
|
187
|
+
โ Cloud has newer changes from team members. โ
|
|
188
|
+
โ โ
|
|
189
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
|
|
190
|
+
โ โ
|
|
191
|
+
โ ๐ก Next Steps: โ
|
|
192
|
+
โ โข /pfSyncPull Pull cloud changes to local โ
|
|
193
|
+
โ โ
|
|
194
|
+
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
|
|
195
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
## Error Handling
|
|
199
|
+
|
|
200
|
+
**Network Error Card:**
|
|
201
|
+
|
|
202
|
+
```
|
|
203
|
+
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
|
|
204
|
+
โ โ ERROR โ
|
|
205
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
|
|
206
|
+
โ โ
|
|
207
|
+
โ Network error. Could not connect to PlanFlow API. โ
|
|
208
|
+
โ โ
|
|
209
|
+
โ Please check your internet connection and try again. โ
|
|
210
|
+
โ โ
|
|
211
|
+
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
|
|
212
|
+
```
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pfTeamInvite
|
|
3
|
+
description: Invite a team member to the current PlanFlow project
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# PlanFlow Team Invite
|
|
7
|
+
|
|
8
|
+
Send an invitation to add a new team member to the linked cloud project with invite card.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
/pfTeamInvite <email> # Invite with default role (editor)
|
|
14
|
+
/pfTeamInvite <email> <role> # Invite with specific role
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Available Roles
|
|
18
|
+
|
|
19
|
+
| Role | Permissions |
|
|
20
|
+
|------|-------------|
|
|
21
|
+
| `admin` | Full access, can manage team members |
|
|
22
|
+
| `editor` | Can edit tasks and plan (default) |
|
|
23
|
+
| `viewer` | Read-only access |
|
|
24
|
+
|
|
25
|
+
## Step 0: Load Configuration
|
|
26
|
+
|
|
27
|
+
```javascript
|
|
28
|
+
function getConfig() {
|
|
29
|
+
// ... standard config loading ...
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
const config = getConfig()
|
|
33
|
+
const language = config.language || "en"
|
|
34
|
+
const cloudConfig = config.cloud || {}
|
|
35
|
+
const isAuthenticated = !!cloudConfig.apiToken
|
|
36
|
+
const projectId = cloudConfig.projectId
|
|
37
|
+
const apiUrl = cloudConfig.apiUrl || "https://api.planflow.tools"
|
|
38
|
+
|
|
39
|
+
const t = JSON.parse(readFile(`locales/${language}.json`))
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Step 1: Show Usage Card (if no arguments)
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
|
|
46
|
+
โ ๐จ Team Invite โ
|
|
47
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
|
|
48
|
+
โ โ
|
|
49
|
+
โ โโ Usage โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
50
|
+
โ โ
|
|
51
|
+
โ /pfTeamInvite <email> Invite with default role (editor) โ
|
|
52
|
+
โ /pfTeamInvite <email> <role> Invite with specific role โ
|
|
53
|
+
โ โ
|
|
54
|
+
โ โโ Available Roles โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
55
|
+
โ โ
|
|
56
|
+
โ admin - Full access, can manage team members โ
|
|
57
|
+
โ editor - Can edit tasks and plan (default) โ
|
|
58
|
+
โ viewer - Read-only access โ
|
|
59
|
+
โ โ
|
|
60
|
+
โ โโ Examples โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
61
|
+
โ โ
|
|
62
|
+
โ /pfTeamInvite alice@company.com โ
|
|
63
|
+
โ /pfTeamInvite bob@company.com admin โ
|
|
64
|
+
โ โ
|
|
65
|
+
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Step 2: Validate & Send Invitation
|
|
69
|
+
|
|
70
|
+
**Loading Card:**
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
|
|
74
|
+
โ ๐จ Team Invite โ
|
|
75
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
|
|
76
|
+
โ โ
|
|
77
|
+
โ โ น Sending invitation... โ
|
|
78
|
+
โ โ
|
|
79
|
+
โ To: {email} โ
|
|
80
|
+
โ Role: {role} โ
|
|
81
|
+
โ โ
|
|
82
|
+
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## Step 3: Display Success Card
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
|
|
89
|
+
โ โ
SUCCESS โ
|
|
90
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
|
|
91
|
+
โ โ
|
|
92
|
+
โ Invitation sent! โ
|
|
93
|
+
โ โ
|
|
94
|
+
โ โโ Invitation Details โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
95
|
+
โ โ
|
|
96
|
+
โ ๐ง To: alice@company.com โ
|
|
97
|
+
โ ๐ Role: Editor โ
|
|
98
|
+
โ ๐ Project: Planflow Plugin โ
|
|
99
|
+
โ โ
|
|
100
|
+
โ โญโโโโโโโโโโโโโโโโโโโโโฎ โ
|
|
101
|
+
โ โ โ Invitation Sent โ โ
|
|
102
|
+
โ โฐโโโโโโโโโโโโโโโโโโโโโฏ โ
|
|
103
|
+
โ โ
|
|
104
|
+
โ They'll receive an email with instructions to join. โ
|
|
105
|
+
โ The invitation expires in 7 days. โ
|
|
106
|
+
โ โ
|
|
107
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
|
|
108
|
+
โ โ
|
|
109
|
+
โ ๐ก {t.ui.labels.commands} โ
|
|
110
|
+
โ โข /pfTeamList View pending invitations โ
|
|
111
|
+
โ โ
|
|
112
|
+
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
|
|
113
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
## Error Handling
|
|
117
|
+
|
|
118
|
+
**Invalid Email Card:**
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
|
|
122
|
+
โ โ ERROR โ
|
|
123
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
|
|
124
|
+
โ โ
|
|
125
|
+
โ Invalid email format. โ
|
|
126
|
+
โ โ
|
|
127
|
+
โ Example: alice@company.com โ
|
|
128
|
+
โ โ
|
|
129
|
+
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
**Already Member Card (409):**
|
|
133
|
+
|
|
134
|
+
```
|
|
135
|
+
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
|
|
136
|
+
โ โ ๏ธ WARNING โ
|
|
137
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
|
|
138
|
+
โ โ
|
|
139
|
+
โ User is already a team member. โ
|
|
140
|
+
โ โ
|
|
141
|
+
โ alice@company.com is already part of this project. โ
|
|
142
|
+
โ โ
|
|
143
|
+
โ ๐ก To change their role: โ
|
|
144
|
+
โ โข /pfTeamRole alice@company.com admin โ
|
|
145
|
+
โ โ
|
|
146
|
+
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
**Permission Denied Card (403):**
|
|
150
|
+
|
|
151
|
+
```
|
|
152
|
+
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
|
|
153
|
+
โ โ ERROR โ
|
|
154
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
|
|
155
|
+
โ โ
|
|
156
|
+
โ You don't have permission to invite team members. โ
|
|
157
|
+
โ โ
|
|
158
|
+
โ Only project owners and admins can send invitations. โ
|
|
159
|
+
โ โ
|
|
160
|
+
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
|
|
161
|
+
```
|
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pfTeamList
|
|
3
|
+
description: List team members for the current PlanFlow project
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# PlanFlow Team List
|
|
7
|
+
|
|
8
|
+
Display team members, their roles, and current activity for the linked cloud project with team member cards.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
/pfTeamList # List all team members
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Step 0: Load Configuration
|
|
17
|
+
|
|
18
|
+
```javascript
|
|
19
|
+
function getConfig() {
|
|
20
|
+
const localConfigPath = "./.plan-config.json"
|
|
21
|
+
let localConfig = {}
|
|
22
|
+
if (fileExists(localConfigPath)) {
|
|
23
|
+
try { localConfig = JSON.parse(readFile(localConfigPath)) } catch {}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const globalConfigPath = expandPath("~/.config/claude/plan-plugin-config.json")
|
|
27
|
+
let globalConfig = {}
|
|
28
|
+
if (fileExists(globalConfigPath)) {
|
|
29
|
+
try { globalConfig = JSON.parse(readFile(globalConfigPath)) } catch {}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
return {
|
|
33
|
+
...globalConfig,
|
|
34
|
+
...localConfig,
|
|
35
|
+
cloud: {
|
|
36
|
+
...(globalConfig.cloud || {}),
|
|
37
|
+
...(localConfig.cloud || {})
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
const config = getConfig()
|
|
43
|
+
const language = config.language || "en"
|
|
44
|
+
const cloudConfig = config.cloud || {}
|
|
45
|
+
const isAuthenticated = !!cloudConfig.apiToken
|
|
46
|
+
const projectId = cloudConfig.projectId
|
|
47
|
+
const apiUrl = cloudConfig.apiUrl || "https://api.planflow.tools"
|
|
48
|
+
|
|
49
|
+
const t = JSON.parse(readFile(`locales/${language}.json`))
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Step 1: Validate Authentication
|
|
53
|
+
|
|
54
|
+
If not authenticated, display error card:
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
|
|
58
|
+
โ โ ERROR โ
|
|
59
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
|
|
60
|
+
โ โ
|
|
61
|
+
โ {t.commands.sync.notAuthenticated} โ
|
|
62
|
+
โ โ
|
|
63
|
+
โ ๐ก {t.ui.labels.nextSteps} โ
|
|
64
|
+
โ โข /pfLogin Sign in to PlanFlow โ
|
|
65
|
+
โ โ
|
|
66
|
+
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Step 2: Validate Project Link
|
|
70
|
+
|
|
71
|
+
If no project is linked, display error card:
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
|
|
75
|
+
โ โ ERROR โ
|
|
76
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
|
|
77
|
+
โ โ
|
|
78
|
+
โ {t.commands.sync.notLinked} โ
|
|
79
|
+
โ โ
|
|
80
|
+
โ ๐ก {t.ui.labels.nextSteps} โ
|
|
81
|
+
โ โข /pfCloudLink Link to a cloud project โ
|
|
82
|
+
โ โ
|
|
83
|
+
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Step 3: Fetch Team Members
|
|
87
|
+
|
|
88
|
+
**Loading Card:**
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
|
|
92
|
+
โ ๐ฅ Team Members โ
|
|
93
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
|
|
94
|
+
โ โ
|
|
95
|
+
โ โ น {t.ui.labels.fetching} โ
|
|
96
|
+
โ โ
|
|
97
|
+
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
**API Call:**
|
|
101
|
+
```bash
|
|
102
|
+
curl -s \
|
|
103
|
+
-H "Authorization: Bearer {TOKEN}" \
|
|
104
|
+
-H "Accept: application/json" \
|
|
105
|
+
"https://api.planflow.tools/projects/{PROJECT_ID}/team"
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## Step 4: Display Team Members Card
|
|
109
|
+
|
|
110
|
+
```
|
|
111
|
+
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
|
|
112
|
+
โ ๐ฅ {t.commands.team.title} โ
|
|
113
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
|
|
114
|
+
โ โ
|
|
115
|
+
โ ๐ Project: {projectName} โ
|
|
116
|
+
โ โ
|
|
117
|
+
โ โโ Active Members ({count}) โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
118
|
+
โ โ
|
|
119
|
+
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
120
|
+
โ โ ๐ข John Doe (Owner) โ โ
|
|
121
|
+
โ โ john@company.com โ โ
|
|
122
|
+
โ โ Working on: T2.1 - API endpoints โ โ
|
|
123
|
+
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
124
|
+
โ โ
|
|
125
|
+
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
126
|
+
โ โ ๐ข Jane Smith (Admin) โ โ
|
|
127
|
+
โ โ jane@company.com โ โ
|
|
128
|
+
โ โ Working on: T3.5 - Dashboard โ โ
|
|
129
|
+
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
130
|
+
โ โ
|
|
131
|
+
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
132
|
+
โ โ ๐ด Bob Wilson (Editor) โ โ
|
|
133
|
+
โ โ bob@company.com โ โ
|
|
134
|
+
โ โ Last seen: 2 hours ago โ โ
|
|
135
|
+
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
136
|
+
โ โ
|
|
137
|
+
โ โโ Pending Invites ({inviteCount}) โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
138
|
+
โ โ
|
|
139
|
+
โ โณ alice@company.com (Editor) - sent 2 days ago โ
|
|
140
|
+
โ โ
|
|
141
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
|
|
142
|
+
โ โ
|
|
143
|
+
โ ๐ก {t.ui.labels.commands} โ
|
|
144
|
+
โ โข /pfTeamInvite <email> Invite a team member โ
|
|
145
|
+
โ โข /pfTeamRole <email> <role> Change member role โ
|
|
146
|
+
โ โข /pfTeamRemove <email> Remove from team โ
|
|
147
|
+
โ โ
|
|
148
|
+
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
|
|
149
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
**Example Output (Georgian):**
|
|
153
|
+
|
|
154
|
+
```
|
|
155
|
+
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
|
|
156
|
+
โ ๐ฅ แแฃแแแแก แฌแแแ แแแ โ
|
|
157
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
|
|
158
|
+
โ โ
|
|
159
|
+
โ ๐ แแ แแแฅแขแ: Planflow Plugin โ
|
|
160
|
+
โ โ
|
|
161
|
+
โ โโ แแฅแขแแฃแ แ แฌแแแ แแแ (3) โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
162
|
+
โ โ
|
|
163
|
+
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
164
|
+
โ โ ๐ข John Doe (แแคแแแแแแ) โ โ
|
|
165
|
+
โ โ john@company.com โ โ
|
|
166
|
+
โ โ แแฃแจแแแแก: T2.1 - API endpoints โ โ
|
|
167
|
+
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
168
|
+
โ โ
|
|
169
|
+
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
170
|
+
โ โ ๐ข Jane Smith (แแแแแแ) โ โ
|
|
171
|
+
โ โ jane@company.com โ โ
|
|
172
|
+
โ โ แแฃแจแแแแก: T3.5 - Dashboard โ โ
|
|
173
|
+
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
174
|
+
โ โ
|
|
175
|
+
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
176
|
+
โ โ ๐ด Bob Wilson (แ แแแแฅแขแแ แ) โ โ
|
|
177
|
+
โ โ bob@company.com โ โ
|
|
178
|
+
โ โ แแแแแก แแแแแฎแ: 2 แกแแแแแก แฌแแ โ โ
|
|
179
|
+
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
180
|
+
โ โ
|
|
181
|
+
โ โโ แแแแแแแแจแ แแงแแคแ แแแฌแแแแแแ (1) โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
182
|
+
โ โ
|
|
183
|
+
โ โณ alice@company.com (แ แแแแฅแขแแ แ) - แแแแแแแแแแ 2 แแฆแแก แฌแแ โ
|
|
184
|
+
โ โ
|
|
185
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
|
|
186
|
+
โ โ
|
|
187
|
+
โ ๐ก แแ แซแแแแแแแ: โ
|
|
188
|
+
โ โข /pfTeamInvite <email> แแแแฌแแแ แแฃแแแแก แฌแแแ แ โ
|
|
189
|
+
โ โข /pfTeamRole <email> <role> แจแแชแแแแ แฌแแแ แแก แ แแแ โ
|
|
190
|
+
โ โข /pfTeamRemove <email> แฌแแจแแแ แแฃแแแแแแ โ
|
|
191
|
+
โ โ
|
|
192
|
+
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
|
|
193
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
## Step 5: Handle Empty Team
|
|
197
|
+
|
|
198
|
+
If only the owner exists:
|
|
199
|
+
|
|
200
|
+
```
|
|
201
|
+
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
|
|
202
|
+
โ ๐ฅ Team Members โ
|
|
203
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
|
|
204
|
+
โ โ
|
|
205
|
+
โ ๐ Project: Planflow Plugin โ
|
|
206
|
+
โ โ
|
|
207
|
+
โ โโ Active Members (1) โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
208
|
+
โ โ
|
|
209
|
+
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
210
|
+
โ โ ๐ข You (Owner) โ โ
|
|
211
|
+
โ โ your@email.com โ โ
|
|
212
|
+
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
213
|
+
โ โ
|
|
214
|
+
โ โน๏ธ You're the only team member. โ
|
|
215
|
+
โ โ
|
|
216
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
|
|
217
|
+
โ โ
|
|
218
|
+
โ ๐ก To invite collaborators: โ
|
|
219
|
+
โ โข /pfTeamInvite <email> โ
|
|
220
|
+
โ โข /pfTeamInvite <email> admin (with role) โ
|
|
221
|
+
โ โ
|
|
222
|
+
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
## Error Handling
|
|
226
|
+
|
|
227
|
+
**Network Error Card:**
|
|
228
|
+
|
|
229
|
+
```
|
|
230
|
+
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
|
|
231
|
+
โ โ ERROR โ
|
|
232
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
|
|
233
|
+
โ โ
|
|
234
|
+
โ Network error. Could not fetch team information. โ
|
|
235
|
+
โ โ
|
|
236
|
+
โ Please check your connection and try again. โ
|
|
237
|
+
โ โ
|
|
238
|
+
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
**API Error (403 Forbidden):**
|
|
242
|
+
|
|
243
|
+
```
|
|
244
|
+
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
|
|
245
|
+
โ โ ERROR โ
|
|
246
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
|
|
247
|
+
โ โ
|
|
248
|
+
โ You don't have permission to view team members. โ
|
|
249
|
+
โ โ
|
|
250
|
+
โ Only project members can view the team list. โ
|
|
251
|
+
โ โ
|
|
252
|
+
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
|
|
253
|
+
```
|