rbin-task-flow 1.0.1 → 1.1.2
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.
|
@@ -6,22 +6,36 @@ alwaysApply: true
|
|
|
6
6
|
|
|
7
7
|
- **Task Generation - Direct and Efficient:**
|
|
8
8
|
- When user asks to "Read tasks.input.txt and generate detailed subtasks updating task status":
|
|
9
|
-
- **READ
|
|
9
|
+
- **READ**: `.task-flow/tasks.input.txt` (only process lines starting with `- `)
|
|
10
|
+
- **READ**: `.task-flow/screens/` directory to list available screenshots (ALWAYS check this directory)
|
|
10
11
|
- **GENERATE**: Two JSON files and one markdown file with the exact structure below
|
|
11
12
|
- **SAVE**: All files to `.task-flow/`
|
|
12
|
-
- **DON'T**:
|
|
13
|
+
- **DON'T**: Check existing JSONs, explore codebase, or ask questions
|
|
14
|
+
|
|
15
|
+
- **Screenshot Reference System:**
|
|
16
|
+
- **AUTOMATIC**: Always check `.task-flow/screens/` directory for available screenshots (PNG, JPG files)
|
|
17
|
+
- **NO LISTING NEEDED**: Don't require screenshots to be listed in tasks.input.txt - always scan the directory
|
|
18
|
+
- **AUTOMATIC MATCHING**: Automatically match screenshots to tasks based on keywords (e.g., "login" → `login_recover_signup.png`, "dashboard" → `dashboard.png`, "paciente" → `patient.png`)
|
|
19
|
+
- **SPECIFIC REFERENCE**: If task contains `task-flow-screen nome_do_arquivo.png`, reference that specific screenshot from `.task-flow/screens/`
|
|
20
|
+
- **PATH ALWAYS**: `task-flow-screen` always references files in `.task-flow/screens/` directory
|
|
21
|
+
- **INCLUDE**: Add screenshot reference in instructions: "Referência visual: `.task-flow/screens/nome_do_arquivo.png`"
|
|
13
22
|
|
|
14
23
|
- **Required Actions:**
|
|
15
|
-
1. Read `tasks.input.txt
|
|
16
|
-
|
|
17
|
-
|
|
24
|
+
1. Read `tasks.input.txt`:
|
|
25
|
+
- Process task lines (only process lines starting with `- `)
|
|
26
|
+
- Check for `task-flow-screen nome_do_arquivo.png` markers in task descriptions
|
|
27
|
+
2. **ALWAYS** list available screenshots from `.task-flow/screens/` directory (PNG, JPG files)
|
|
28
|
+
3. For each task line, create a task with sequential ID starting at 1
|
|
29
|
+
4. Generate 3-8 subtasks per task with:
|
|
18
30
|
- Clear title
|
|
19
31
|
- Brief description
|
|
20
32
|
- Step-by-step instructions (3-5 steps)
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
33
|
+
- **AUTOMATIC**: Include relevant screenshot references when applicable (match by keywords)
|
|
34
|
+
- **SPECIFIC**: If task has `task-flow-screen nome_do_arquivo.png`, reference that specific screenshot from `.task-flow/screens/`
|
|
35
|
+
5. Create `.task-flow/.internal/tasks.json` with structure below
|
|
36
|
+
6. Create `.task-flow/.internal/status.json` with all tasks/subtasks as "pending"
|
|
37
|
+
7. Create `.task-flow/tasks.status.md` with all tasks and subtasks marked as `- [ ]` (pending)
|
|
38
|
+
8. Write all three files immediately
|
|
25
39
|
|
|
26
40
|
- **tasks.json Structure:**
|
|
27
41
|
```json
|
|
@@ -103,12 +117,26 @@ alwaysApply: true
|
|
|
103
117
|
|
|
104
118
|
- **Example:**
|
|
105
119
|
- Input (`tasks.input.txt`): `- Create authentication system`
|
|
106
|
-
-
|
|
120
|
+
- Screenshots available: `login_recover_signup.png`
|
|
121
|
+
- Output: Task with ID 1, 5 subtasks with screenshot references:
|
|
122
|
+
- Subtask 1: "Setup database schema" (no screenshot)
|
|
123
|
+
- Subtask 2: "Create login form" → Instructions include: "Referência visual: `.task-flow/screens/login_recover_signup.png`"
|
|
124
|
+
- Subtask 3: "Implement registration" → Instructions include screenshot reference
|
|
125
|
+
- Subtask 4: "Add JWT authentication" (no screenshot)
|
|
126
|
+
- Subtask 5: "Test authentication flow" → Instructions include screenshot reference
|
|
127
|
+
|
|
128
|
+
- **Screenshot Reference Examples:**
|
|
129
|
+
- Task: `- Sistema de autenticação do dentista` → Automatically matches and references `login_recover_signup.png` from `.task-flow/screens/`
|
|
130
|
+
- Task: `- Dashboard básico com estrutura task-flow-screen dashboard.png` → References specific `.task-flow/screens/dashboard.png`
|
|
131
|
+
- Task: `- CRUD completo de pacientes` → Automatically matches and references `patient.png` and `patient_profile.png` from `.task-flow/screens/` if available
|
|
132
|
+
- **IMPORTANT**: `task-flow-screen` always references files in `.task-flow/screens/` - no need to specify full path
|
|
107
133
|
|
|
108
134
|
- **Critical Rules:**
|
|
109
135
|
- ✅ Be direct: Read → Generate → Save
|
|
110
|
-
- ✅
|
|
111
|
-
- ✅
|
|
136
|
+
- ✅ **ALWAYS** check `.task-flow/screens/` directory for available screenshots (automatic, no need to list in tasks.input.txt)
|
|
137
|
+
- ✅ Automatically match and reference relevant screenshots in subtask instructions based on keywords
|
|
138
|
+
- ✅ Support `task-flow-screen nome_do_arquivo.png` format - always references `.task-flow/screens/nome_do_arquivo.png`
|
|
139
|
+
- ✅ No exploration of codebase beyond screenshots directory
|
|
112
140
|
- ✅ No questions - just generate
|
|
113
141
|
- ✅ Use current timestamp for `createdAt`
|
|
114
142
|
- ✅ All statuses start as "pending"
|
|
@@ -56,6 +56,8 @@ alwaysApply: true
|
|
|
56
56
|
- Skip "done" and "in_progress" subtasks
|
|
57
57
|
3. **For each subtask**:
|
|
58
58
|
- Read full instructions from `tasks.json`
|
|
59
|
+
- **CHECK**: If instructions mention screenshot references (`.task-flow/screens/...`), verify screenshot exists
|
|
60
|
+
- **REFERENCE**: Use screenshots as visual reference when implementing UI-related subtasks
|
|
59
61
|
- Implement following step-by-step instructions
|
|
60
62
|
- Test/verify implementation
|
|
61
63
|
- Update `status.json` to mark as "done"
|
|
@@ -83,6 +85,8 @@ alwaysApply: true
|
|
|
83
85
|
- Skip "done" and "in_progress" subtasks
|
|
84
86
|
4. **For each subtask** (only if dependency check passed):
|
|
85
87
|
- Read full instructions from `tasks.json`
|
|
88
|
+
- **CHECK**: If instructions mention screenshot references (`.task-flow/screens/...`), verify screenshot exists
|
|
89
|
+
- **REFERENCE**: Use screenshots as visual reference when implementing UI-related subtasks
|
|
86
90
|
- Implement following step-by-step instructions
|
|
87
91
|
- Test/verify implementation
|
|
88
92
|
- Update `status.json` to mark as "done"
|
|
@@ -196,8 +200,15 @@ alwaysApply: true
|
|
|
196
200
|
- If file doesn't exist → create it
|
|
197
201
|
- If instructions unclear → ask for clarification (but try to infer first)
|
|
198
202
|
|
|
203
|
+
- **Screenshot Support:**
|
|
204
|
+
- **AUTOMATIC**: When implementing subtasks, check if instructions reference screenshots
|
|
205
|
+
- **REFERENCE**: Use screenshots from `.task-flow/screens/` as visual reference for UI implementation
|
|
206
|
+
- **MATCHING**: Match screenshot references mentioned in subtask instructions
|
|
207
|
+
- **NO NEED**: User doesn't need to explicitly mention screenshots - they're automatically considered
|
|
208
|
+
|
|
199
209
|
- **Integration:**
|
|
200
210
|
- Works with [task_execution.mdc](mdc:.cursor/rules/task_execution.mdc) - same workflow
|
|
211
|
+
- Follows [task_generation.mdc](mdc:.cursor/rules/task_generation.mdc) - screenshots are automatically referenced in generated subtasks
|
|
201
212
|
- Follows [commit_practices.mdc](mdc:.cursor/rules/commit_practices.mdc) - suggest commit after completion
|
|
202
213
|
- Respects [git_control.mdc](mdc:.cursor/rules/git_control.mdc) - never commit automatically
|
|
203
214
|
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Screenshot de Exemplo
|
|
2
|
+
|
|
3
|
+
Este é um arquivo placeholder. Substitua este arquivo por um screenshot real (PNG ou JPG).
|
|
4
|
+
|
|
5
|
+
## Como adicionar screenshots:
|
|
6
|
+
|
|
7
|
+
1. Adicione seus arquivos de imagem (.png ou .jpg) nesta pasta
|
|
8
|
+
2. Use nomes descritivos em kebab-case
|
|
9
|
+
3. O RBIN Task Flow automaticamente detectará e referenciará os screenshots
|
|
10
|
+
|
|
11
|
+
## Exemplos de nomes:
|
|
12
|
+
|
|
13
|
+
- `login_recover_signup.png`
|
|
14
|
+
- `dashboard.png`
|
|
15
|
+
- `patient.png`
|
|
16
|
+
- `patient_profile.png`
|
|
17
|
+
- `prescriptions.png`
|
|
18
|
+
- `medicine.png`
|
|
19
|
+
|
|
20
|
+
## Referenciar em tasks:
|
|
21
|
+
|
|
22
|
+
Para referenciar um screenshot específico em uma task, use:
|
|
23
|
+
`task-flow-screen nome_do_arquivo.png`
|
|
24
|
+
|
|
@@ -7,8 +7,14 @@
|
|
|
7
7
|
3. Use `task-flow: sync` to generate subtasks from your tasks
|
|
8
8
|
4. Use `task-flow: status` to view task progress
|
|
9
9
|
|
|
10
|
+
## Screenshots:
|
|
11
|
+
|
|
12
|
+
- Adicione seus screenshots na pasta `.task-flow/screens/` (PNG ou JPG)
|
|
13
|
+
- O RBIN Task Flow automaticamente detecta e referencia os screenshots disponíveis ao gerar subtasks
|
|
14
|
+
- Para referenciar um screenshot específico em uma task, use: `task-flow-screen nome_do_arquivo.png`
|
|
15
|
+
- Exemplo: `- Criar tela de login task-flow-screen login.png`
|
|
16
|
+
|
|
10
17
|
## Tasks:
|
|
11
18
|
|
|
12
19
|
- First task
|
|
13
20
|
- Second task
|
|
14
|
-
|
package/lib/install.js
CHANGED
|
@@ -157,6 +157,18 @@ async function copyTaskFlow(targetPath) {
|
|
|
157
157
|
showSuccess('Task Flow directory');
|
|
158
158
|
showInfo('Note: .internal/tasks.json and .internal/status.json are NOT overwritten (your data is safe)');
|
|
159
159
|
|
|
160
|
+
// Criar pasta screens
|
|
161
|
+
const screensDest = path.join(taskFlowDest, 'screens');
|
|
162
|
+
await fs.ensureDir(screensDest);
|
|
163
|
+
showSuccess('Screenshots directory (.task-flow/screens/)');
|
|
164
|
+
|
|
165
|
+
// Copiar arquivo de exemplo para screens se não existir
|
|
166
|
+
const exampleSrc = path.join(taskFlowSrc, 'screens/example.png.txt');
|
|
167
|
+
const exampleDest = path.join(screensDest, 'example.png.txt');
|
|
168
|
+
if (fs.existsSync(exampleSrc) && !fs.existsSync(exampleDest)) {
|
|
169
|
+
await fs.copy(exampleSrc, exampleDest);
|
|
170
|
+
}
|
|
171
|
+
|
|
160
172
|
// Copiar apenas templates, não sobrescrever dados do usuário
|
|
161
173
|
const files = [
|
|
162
174
|
{ name: 'README.md', overwrite: true },
|
package/package.json
CHANGED