@mind-fold/open-flow 0.1.4 ā 0.1.6
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/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +395 -52
- package/dist/commands/init.js.map +1 -1
- package/dist/configurators/templates.d.ts.map +1 -1
- package/dist/configurators/templates.js +623 -5
- package/dist/configurators/templates.js.map +1 -1
- package/dist/configurators/workflow.d.ts.map +1 -1
- package/dist/configurators/workflow.js +828 -65
- package/dist/configurators/workflow.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AASA,UAAU,WAAW;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAOD,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AASA,UAAU,WAAW;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAOD,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAqJ9D"}
|
package/dist/commands/init.js
CHANGED
|
@@ -11,19 +11,9 @@ export async function init(options) {
|
|
|
11
11
|
console.log(chalk.cyan("\nš open-flow - AI-assisted development workflow initializer\n"));
|
|
12
12
|
// Check if already initialized
|
|
13
13
|
const workflowDir = path.join(cwd, "workflow");
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
type: "confirm",
|
|
18
|
-
name: "overwrite",
|
|
19
|
-
message: chalk.yellow("workflow/ directory already exists. Overwrite?"),
|
|
20
|
-
default: false,
|
|
21
|
-
},
|
|
22
|
-
]);
|
|
23
|
-
if (!overwrite) {
|
|
24
|
-
console.log(chalk.gray("Initialization cancelled."));
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
14
|
+
const workflowExists = fs.existsSync(workflowDir);
|
|
15
|
+
if (workflowExists) {
|
|
16
|
+
console.log(chalk.yellow("ā ļø workflow/ directory already exists, skipping..."));
|
|
27
17
|
}
|
|
28
18
|
let tools;
|
|
29
19
|
if (options.yes) {
|
|
@@ -33,10 +23,12 @@ export async function init(options) {
|
|
|
33
23
|
else if (options.cursor || options.claude) {
|
|
34
24
|
// Use flags
|
|
35
25
|
tools = [];
|
|
36
|
-
if (options.cursor)
|
|
26
|
+
if (options.cursor) {
|
|
37
27
|
tools.push("cursor");
|
|
38
|
-
|
|
28
|
+
}
|
|
29
|
+
if (options.claude) {
|
|
39
30
|
tools.push("claude");
|
|
31
|
+
}
|
|
40
32
|
}
|
|
41
33
|
else {
|
|
42
34
|
// Interactive mode
|
|
@@ -58,19 +50,33 @@ export async function init(options) {
|
|
|
58
50
|
return;
|
|
59
51
|
}
|
|
60
52
|
console.log(chalk.gray(`\nConfiguring: ${tools.join(", ")}\n`));
|
|
61
|
-
// Create workflow structure
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
53
|
+
// Create workflow structure (skip if exists)
|
|
54
|
+
if (!workflowExists) {
|
|
55
|
+
console.log(chalk.blue("š Creating workflow structure..."));
|
|
56
|
+
await createWorkflowStructure(cwd);
|
|
57
|
+
}
|
|
58
|
+
// Configure selected tools (skip if exists)
|
|
65
59
|
if (tools.includes("cursor")) {
|
|
66
|
-
|
|
67
|
-
|
|
60
|
+
const cursorDir = path.join(cwd, ".cursor/commands");
|
|
61
|
+
if (fs.existsSync(cursorDir)) {
|
|
62
|
+
console.log(chalk.yellow("ā ļø .cursor/commands/ already exists, skipping..."));
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
console.log(chalk.blue("š Configuring Cursor commands..."));
|
|
66
|
+
await configureCursor(cwd);
|
|
67
|
+
}
|
|
68
68
|
}
|
|
69
69
|
if (tools.includes("claude")) {
|
|
70
|
-
|
|
71
|
-
|
|
70
|
+
const claudeDir = path.join(cwd, ".claude/commands");
|
|
71
|
+
if (fs.existsSync(claudeDir)) {
|
|
72
|
+
console.log(chalk.yellow("ā ļø .claude/commands/ already exists, skipping..."));
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
console.log(chalk.blue("š Configuring Claude Code commands..."));
|
|
76
|
+
await configureClaude(cwd);
|
|
77
|
+
}
|
|
72
78
|
}
|
|
73
|
-
// Create root files
|
|
79
|
+
// Create root files (skip if exists)
|
|
74
80
|
await createRootFiles(cwd);
|
|
75
81
|
// Initialize developer identity if specified
|
|
76
82
|
let developerInitialized = false;
|
|
@@ -107,6 +113,8 @@ export async function init(options) {
|
|
|
107
113
|
chalk.gray(" command in your AI tool to start a session\n"));
|
|
108
114
|
}
|
|
109
115
|
async function createRootFiles(cwd) {
|
|
116
|
+
const initAgentPath = path.join(cwd, "init-agent.md");
|
|
117
|
+
const agentsPath = path.join(cwd, "AGENTS.md");
|
|
110
118
|
// Create init-agent.md
|
|
111
119
|
const initAgentContent = `# AI Agent Initialization Guide
|
|
112
120
|
|
|
@@ -130,75 +138,403 @@ async function createRootFiles(cwd) {
|
|
|
130
138
|
\`\`\`
|
|
131
139
|
|
|
132
140
|
This creates:
|
|
133
|
-
- \`workflow/.developer\` - Your identity file (gitignored)
|
|
141
|
+
- \`workflow/.developer\` - Your identity file (gitignored, not committed)
|
|
134
142
|
- \`workflow/agent-progress/<your-name>/\` - Your personal progress directory
|
|
135
143
|
|
|
136
|
-
|
|
144
|
+
**Naming suggestions**:
|
|
145
|
+
- Human developers: Use your name, e.g., \`john-doe\`
|
|
146
|
+
- Cursor AI: \`cursor-agent\` or \`cursor-<feature>\`
|
|
147
|
+
- Claude Code: \`claude-agent\` or \`claude-<feature>\`
|
|
148
|
+
|
|
149
|
+
### Step 1: Understand Current Context (5 min)
|
|
137
150
|
|
|
138
151
|
\`\`\`bash
|
|
139
152
|
# 0. Check your identity
|
|
140
153
|
./workflow/scripts/get-developer.sh
|
|
141
154
|
|
|
142
|
-
# 1. Check recent work
|
|
155
|
+
# 1. Check recent work (your own progress)
|
|
143
156
|
DEVELOPER=$(./workflow/scripts/get-developer.sh)
|
|
144
157
|
cat workflow/agent-progress/$DEVELOPER/index.md 2>/dev/null || cat workflow/agent-progress/index.md
|
|
145
158
|
|
|
146
159
|
# 2. Check feature status
|
|
147
160
|
cat workflow/feature.json
|
|
148
161
|
|
|
149
|
-
# 3. Check git history
|
|
162
|
+
# 3. Check git history (use git command directly)
|
|
150
163
|
git status
|
|
151
164
|
git log --oneline -20
|
|
152
165
|
\`\`\`
|
|
153
166
|
|
|
154
|
-
### Step 2: Read Project Guidelines
|
|
167
|
+
### Step 2: Read Project Guidelines (10 min) [MANDATORY]
|
|
155
168
|
|
|
156
|
-
|
|
169
|
+
**CRITICAL**: Read BOTH frontend and backend guideline indexes to understand the project:
|
|
157
170
|
|
|
158
171
|
\`\`\`bash
|
|
159
|
-
#
|
|
172
|
+
# Read frontend guidelines index (REQUIRED - even for backend tasks)
|
|
160
173
|
cat workflow/structure/frontend/index.md
|
|
161
174
|
|
|
162
|
-
#
|
|
175
|
+
# Read backend guidelines index (REQUIRED - even for frontend tasks)
|
|
163
176
|
cat workflow/structure/backend/index.md
|
|
164
177
|
\`\`\`
|
|
165
178
|
|
|
166
|
-
|
|
179
|
+
**Why read both?**
|
|
180
|
+
- Understand the full project architecture
|
|
181
|
+
- Know coding standards for the entire codebase
|
|
182
|
+
- See how frontend and backend interact
|
|
183
|
+
- Learn the overall code quality requirements
|
|
184
|
+
|
|
185
|
+
### Step 3: Read Workflow Guide (5 min)
|
|
167
186
|
|
|
168
187
|
\`\`\`bash
|
|
169
188
|
cat workflow/flow.md
|
|
170
189
|
\`\`\`
|
|
171
190
|
|
|
191
|
+
**CRITICAL**: This document defines the entire development workflow. You MUST follow it.
|
|
192
|
+
|
|
193
|
+
### Step 4: Before Coding - Read Specific Guidelines (Required)
|
|
194
|
+
|
|
195
|
+
Based on your task, read the **detailed** guidelines:
|
|
196
|
+
|
|
197
|
+
**Frontend Task**:
|
|
198
|
+
\`\`\`bash
|
|
199
|
+
# Use the line numbers from index.md to read specific sections in doc.md
|
|
200
|
+
# Example: Query Hook guidelines (adjust line numbers based on your index.md)
|
|
201
|
+
cat workflow/structure/frontend/doc.md | sed -n '50,100p'
|
|
202
|
+
\`\`\`
|
|
203
|
+
|
|
204
|
+
**Backend Task**:
|
|
205
|
+
\`\`\`bash
|
|
206
|
+
# Use the line numbers from index.md to read specific sections in doc.md
|
|
207
|
+
# Example: Directory structure guidelines
|
|
208
|
+
cat workflow/structure/backend/doc.md | sed -n '5,50p'
|
|
209
|
+
\`\`\`
|
|
210
|
+
|
|
211
|
+
**IMPORTANT**: The index files tell you WHICH sections to read in doc.md based on your task.
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
## Project Overview
|
|
216
|
+
|
|
217
|
+
### What is This Project?
|
|
218
|
+
|
|
219
|
+
[Fill in your project description here after running \`of init\`]
|
|
220
|
+
|
|
221
|
+
### Tech Stack
|
|
222
|
+
|
|
223
|
+
[Fill in your tech stack here]
|
|
224
|
+
|
|
225
|
+
### Key Information
|
|
226
|
+
|
|
227
|
+
- **Main Branch**: Check with \`git branch\`
|
|
228
|
+
- **Current Branch**: Check \`git status\`
|
|
229
|
+
- **Package Manager**: Check for package-lock.json (npm), yarn.lock (yarn), or pnpm-lock.yaml (pnpm)
|
|
230
|
+
- **Linter**: Check package.json scripts
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
## Directory Structure
|
|
235
|
+
|
|
236
|
+
\`\`\`
|
|
237
|
+
your-project/
|
|
238
|
+
āāā workflow/ # [!] Agent-Human collaboration system
|
|
239
|
+
ā āāā flow.md # Workflow guide (MUST READ)
|
|
240
|
+
ā āāā feature.json # Feature tracking
|
|
241
|
+
ā āāā agent-progress/ # Work progress records
|
|
242
|
+
ā ā āāā {developer}/ # Per-developer directories
|
|
243
|
+
ā āāā structure/ # [!] Development guidelines (MUST READ)
|
|
244
|
+
ā ā āāā frontend/
|
|
245
|
+
ā ā ā āāā index.md # Frontend guidelines index
|
|
246
|
+
ā ā ā āāā doc.md # Frontend guidelines detailed
|
|
247
|
+
ā ā āāā backend/
|
|
248
|
+
ā ā āāā index.md # Backend guidelines index
|
|
249
|
+
ā ā āāā doc.md # Backend guidelines detailed
|
|
250
|
+
ā āāā onboarding-guide.md # New developer guide
|
|
251
|
+
āāā init-agent.md # This file
|
|
252
|
+
āāā AGENTS.md # Compatible with agents.md protocol
|
|
253
|
+
\`\`\`
|
|
254
|
+
|
|
255
|
+
---
|
|
256
|
+
|
|
257
|
+
## Development Workflow System
|
|
258
|
+
|
|
259
|
+
### Overview
|
|
260
|
+
|
|
261
|
+
This project uses a structured workflow system based on [Anthropic's best practices](https://www.anthropic.com/engineering/effective-harnesses-for-long-running-agents).
|
|
262
|
+
|
|
263
|
+
### Core Files
|
|
264
|
+
|
|
265
|
+
| File | Purpose | When to Update |
|
|
266
|
+
|------|---------|----------------|
|
|
267
|
+
| \`workflow/flow.md\` | Complete workflow guide | Read at session start |
|
|
268
|
+
| \`workflow/feature.json\` | Feature tracking | When feature status changes |
|
|
269
|
+
| \`workflow/agent-progress/{developer}/*.md\` | Session work records | After each session |
|
|
270
|
+
|
|
271
|
+
### Key Rules (CRITICAL - Must Follow)
|
|
272
|
+
|
|
273
|
+
**1. Read Guidelines Before Coding**
|
|
274
|
+
- Frontend: \`workflow/structure/frontend/index.md\` -> \`doc.md\`
|
|
275
|
+
- Backend: \`workflow/structure/backend/index.md\` -> \`doc.md\`
|
|
276
|
+
- This is **mandatory**, not optional
|
|
277
|
+
|
|
278
|
+
**2. Document Limits** ā ļø **CRITICAL RULE**
|
|
279
|
+
- \`agent-progress/{developer}/progress-N.md\` max 2000 lines
|
|
280
|
+
- **ā ļø IMPORTANT: Only create new file when current file EXCEEDS 2000 lines**
|
|
281
|
+
- File naming: Use sequential numbers (\`progress-1.md\`, \`progress-2.md\`...)
|
|
282
|
+
|
|
283
|
+
**3. Update Tracking Files**
|
|
284
|
+
- After completing work: Update \`agent-progress\` (include commit hashes)
|
|
285
|
+
- When feature changes: Update \`feature.json\`
|
|
286
|
+
|
|
287
|
+
---
|
|
288
|
+
|
|
289
|
+
## How to Use the Workflow System
|
|
290
|
+
|
|
291
|
+
### At Session Start
|
|
292
|
+
|
|
293
|
+
1. **Read context files** (see Quick Start Step 1 above)
|
|
294
|
+
2. **Read ALL guideline indexes** (see Quick Start Step 2 above)
|
|
295
|
+
- **MANDATORY**: Read both frontend AND backend indexes
|
|
296
|
+
- This gives you complete project understanding
|
|
297
|
+
3. **Read workflow guide** (see Quick Start Step 3 above)
|
|
298
|
+
4. **Identify your task** from \`feature.json\`
|
|
299
|
+
5. **Read specific guidelines** for your task (see Quick Start Step 4)
|
|
300
|
+
6. **Select one feature** to work on
|
|
301
|
+
|
|
302
|
+
### During Development
|
|
303
|
+
|
|
304
|
+
1. **Update feature.json**
|
|
305
|
+
- Change status to \`"in-progress"\`
|
|
306
|
+
|
|
307
|
+
2. **Follow guidelines strictly**
|
|
308
|
+
- Frontend: Type safety, Hook standards, Component standards
|
|
309
|
+
- Backend: Directory structure, Type safety, Database operations
|
|
310
|
+
|
|
311
|
+
3. **Test before commit**
|
|
312
|
+
\`\`\`bash
|
|
313
|
+
npm run lint # or pnpm lint / yarn lint - Must pass
|
|
314
|
+
npm run type-check # or pnpm type-check - Must pass
|
|
315
|
+
\`\`\`
|
|
316
|
+
|
|
317
|
+
4. **Commit with convention**
|
|
318
|
+
\`\`\`bash
|
|
319
|
+
git commit -m "type(scope): description"
|
|
320
|
+
# Types: feat, fix, docs, refactor, test, chore
|
|
321
|
+
\`\`\`
|
|
322
|
+
|
|
323
|
+
### At Session End (REQUIRED)
|
|
324
|
+
|
|
325
|
+
**1. Update agent-progress** (write to your own directory):
|
|
326
|
+
\`\`\`bash
|
|
327
|
+
# Get your developer name
|
|
328
|
+
DEVELOPER=$(./workflow/scripts/get-developer.sh)
|
|
329
|
+
|
|
330
|
+
# Your progress file is in: workflow/agent-progress/$DEVELOPER/
|
|
331
|
+
# Check your personal index for the active file
|
|
332
|
+
cat workflow/agent-progress/$DEVELOPER/index.md
|
|
333
|
+
|
|
334
|
+
# Add new session to your active progress file
|
|
335
|
+
# Only create new file if current file EXCEEDS 2000 lines
|
|
336
|
+
# See template in workflow/agent-progress/index.md
|
|
337
|
+
\`\`\`
|
|
338
|
+
|
|
339
|
+
**2. Update feature.json**:
|
|
340
|
+
- Change status to \`"completed"\`
|
|
341
|
+
- Add \`completedAt\` and \`commit\` fields
|
|
342
|
+
- Recalculate \`statistics\`
|
|
343
|
+
|
|
344
|
+
---
|
|
345
|
+
|
|
346
|
+
## Development Guidelines Quick Reference
|
|
347
|
+
|
|
348
|
+
### Frontend Guidelines Location
|
|
349
|
+
|
|
350
|
+
\`workflow/structure/frontend/index.md\` provides quick navigation to doc.md sections.
|
|
351
|
+
|
|
352
|
+
Use the extract script to get accurate line numbers:
|
|
353
|
+
\`\`\`bash
|
|
354
|
+
./workflow/scripts/extract-md-headings.sh workflow/structure/frontend/doc.md -l 1,2,3 -r
|
|
355
|
+
\`\`\`
|
|
356
|
+
|
|
357
|
+
### Backend Guidelines Location
|
|
358
|
+
|
|
359
|
+
\`workflow/structure/backend/index.md\` provides quick navigation to doc.md sections.
|
|
360
|
+
|
|
361
|
+
Use the extract script to get accurate line numbers:
|
|
362
|
+
\`\`\`bash
|
|
363
|
+
./workflow/scripts/extract-md-headings.sh workflow/structure/backend/doc.md -l 1,2,3 -r
|
|
364
|
+
\`\`\`
|
|
365
|
+
|
|
366
|
+
### Code Quality Standards
|
|
367
|
+
|
|
368
|
+
**Before EVERY commit**:
|
|
369
|
+
- [x] Lint check - 0 errors
|
|
370
|
+
- [x] Type check - No type errors
|
|
371
|
+
- [x] Manual testing passes
|
|
372
|
+
|
|
373
|
+
**Frontend-specific**:
|
|
374
|
+
- [x] Use semantic HTML (\`<button>\` not \`<div role="button">\`)
|
|
375
|
+
- [x] Import types from backend when applicable
|
|
376
|
+
- [x] No non-null assertions \`!\`
|
|
377
|
+
|
|
378
|
+
**Backend-specific**:
|
|
379
|
+
- [x] No non-null assertions \`!\` - use local variables
|
|
380
|
+
- [x] All API inputs/outputs have validation (Zod, etc.)
|
|
381
|
+
- [x] Use structured logging, not \`console.log\`
|
|
382
|
+
- [x] Avoid \`await\` in loops (N+1 problem)
|
|
383
|
+
|
|
384
|
+
---
|
|
385
|
+
|
|
386
|
+
## Common Commands
|
|
387
|
+
|
|
388
|
+
### Development
|
|
389
|
+
\`\`\`bash
|
|
390
|
+
npm run dev # Start dev server
|
|
391
|
+
npm run build # Production build
|
|
392
|
+
npm run lint # Run linter
|
|
393
|
+
npm run format # Format code
|
|
394
|
+
npm run type-check # Type checking
|
|
395
|
+
\`\`\`
|
|
396
|
+
|
|
397
|
+
### Git
|
|
398
|
+
\`\`\`bash
|
|
399
|
+
git status
|
|
400
|
+
git log --oneline -20
|
|
401
|
+
git diff main...HEAD
|
|
402
|
+
\`\`\`
|
|
403
|
+
|
|
404
|
+
### Workflow Tools
|
|
405
|
+
\`\`\`bash
|
|
406
|
+
./workflow/scripts/get-developer.sh # Get current developer
|
|
407
|
+
./workflow/scripts/init-developer.sh <name> # Initialize developer
|
|
408
|
+
./workflow/scripts/extract-md-headings.sh <file> # Extract headings with line numbers
|
|
409
|
+
\`\`\`
|
|
410
|
+
|
|
411
|
+
---
|
|
412
|
+
|
|
413
|
+
## Critical Reminders
|
|
414
|
+
|
|
415
|
+
### DO (Follow These)
|
|
416
|
+
|
|
417
|
+
1. **Read BOTH guideline indexes** at session start (frontend AND backend)
|
|
418
|
+
2. **Read workflow/flow.md** at session start
|
|
419
|
+
3. **Read specific doc.md sections** before coding (based on task)
|
|
420
|
+
4. **Update tracking files** after work
|
|
421
|
+
5. **Test thoroughly** before committing
|
|
422
|
+
6. **Follow guidelines strictly**
|
|
423
|
+
|
|
424
|
+
### DON'T (Avoid These)
|
|
425
|
+
|
|
426
|
+
1. **Don't skip reading guideline indexes** at initialization (CRITICAL VIOLATION)
|
|
427
|
+
- You MUST read both frontend/index.md AND backend/index.md
|
|
428
|
+
- Even if you only work on frontend OR backend
|
|
429
|
+
2. **Don't skip reading specific guidelines** before coding (CRITICAL VIOLATION)
|
|
430
|
+
3. **Don't exceed 2000 lines** in agent-progress files
|
|
431
|
+
- ā ļø **CRITICAL**: Only create new file when current file EXCEEDS 2000 lines
|
|
432
|
+
- Use sequential naming: \`progress-1.md\`, \`progress-2.md\`...
|
|
433
|
+
4. **Don't commit with lint errors**
|
|
434
|
+
5. **Don't use non-null assertions** (\`!\`)
|
|
435
|
+
6. **Don't skip updating tracking files**
|
|
436
|
+
7. ā ļø **Don't execute \`git commit\`** - AI should not commit code
|
|
437
|
+
- Only allowed: \`git log\`, \`git status\`, \`git diff\`
|
|
438
|
+
- After development, remind human to test and commit
|
|
439
|
+
- After human commits, use \`/record-agent-flow\` to record
|
|
440
|
+
|
|
441
|
+
---
|
|
442
|
+
|
|
443
|
+
## Important Documentation
|
|
444
|
+
|
|
445
|
+
### Must Read
|
|
446
|
+
- \`workflow/flow.md\` - Complete workflow guide
|
|
447
|
+
- \`workflow/structure/frontend/index.md\` - Frontend guidelines
|
|
448
|
+
- \`workflow/structure/backend/index.md\` - Backend guidelines
|
|
449
|
+
|
|
450
|
+
### Reference
|
|
451
|
+
- \`workflow/onboarding-guide.md\` - New developer guide
|
|
452
|
+
- \`workflow/feature.json\` - Feature tracking
|
|
453
|
+
|
|
172
454
|
---
|
|
173
455
|
|
|
174
|
-
##
|
|
456
|
+
## Your First Task Checklist
|
|
175
457
|
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
458
|
+
### Before You Start Coding
|
|
459
|
+
|
|
460
|
+
- [ ] Read \`workflow/agent-progress/index.md\` - Understand recent work
|
|
461
|
+
- [ ] Read \`workflow/feature.json\` - See what needs to be done
|
|
462
|
+
- [ ] Read \`workflow/flow.md\` - Understand the workflow
|
|
463
|
+
- [ ] Read \`workflow/structure/[frontend|backend]/index.md\` - Find relevant guidelines
|
|
464
|
+
- [ ] Read specific sections in \`doc.md\` based on your task
|
|
465
|
+
- [ ] Select ONE feature from \`feature.json\` to work on
|
|
466
|
+
- [ ] Update feature status to \`"in-progress"\`
|
|
467
|
+
- [ ] Start coding following the guidelines
|
|
468
|
+
|
|
469
|
+
### After Completing Your Work
|
|
470
|
+
|
|
471
|
+
- [ ] Run lint and type-check - Must pass
|
|
472
|
+
- [ ] Commit with proper message format
|
|
473
|
+
- [ ] Update agent-progress: Add to your \`{developer}/progress-N.md\` (include commit hashes)
|
|
474
|
+
- [ ] Update \`feature.json\` status to \`"completed"\`
|
|
475
|
+
- [ ] Recalculate \`statistics\` in \`feature.json\`
|
|
181
476
|
|
|
182
477
|
---
|
|
183
478
|
|
|
184
|
-
##
|
|
479
|
+
## Collaboration Philosophy
|
|
480
|
+
|
|
481
|
+
You are working in a **multi-session environment**:
|
|
185
482
|
|
|
186
|
-
|
|
187
|
-
-
|
|
188
|
-
-
|
|
189
|
-
-
|
|
483
|
+
- **Previous sessions**: Other AI agents or human developers have worked before you
|
|
484
|
+
- **Context files**: \`workflow/\` contains the history and context
|
|
485
|
+
- **Your responsibility**: Continue the work, maintain quality, update documentation
|
|
486
|
+
- **Next sessions**: Future agents will read your updates to continue
|
|
190
487
|
|
|
191
|
-
|
|
192
|
-
- Skip reading guidelines (CRITICAL VIOLATION)
|
|
193
|
-
- Let agent-progress exceed 2000 lines
|
|
194
|
-
- Commit code with lint/type-check errors
|
|
195
|
-
- Execute \`git commit\` - AI should not commit, human reviews and commits
|
|
488
|
+
**Key Principle**: Leave the codebase and documentation better than you found it.
|
|
196
489
|
|
|
197
490
|
---
|
|
198
491
|
|
|
199
|
-
|
|
492
|
+
## Quick Tips
|
|
493
|
+
|
|
494
|
+
1. **When stuck**: Check \`workflow/agent-progress/\` for similar work done before
|
|
495
|
+
2. **Before asking**: Read the guidelines first - answer is likely there
|
|
496
|
+
3. **File too long**: ā ļø **Only create new file when EXCEEDING 2000 lines** - Continue using existing file if under limit
|
|
497
|
+
4. **Unsure about code style**: Check existing code in the same module
|
|
498
|
+
5. **Need line numbers**: Use \`./workflow/scripts/extract-md-headings.sh <file> -r\`
|
|
499
|
+
|
|
500
|
+
---
|
|
501
|
+
|
|
502
|
+
## Getting Help
|
|
503
|
+
|
|
504
|
+
If you encounter issues:
|
|
505
|
+
|
|
506
|
+
1. Check \`workflow/flow.md\` for workflow questions
|
|
507
|
+
2. Check \`workflow/structure/\` for coding standards
|
|
508
|
+
3. Check existing code for patterns
|
|
509
|
+
4. Ask the user for clarification
|
|
510
|
+
|
|
511
|
+
**Maintenance Tool**: Use \`./workflow/scripts/extract-md-headings.sh\` to auto-extract document headings and line numbers for updating index.md
|
|
512
|
+
|
|
513
|
+
---
|
|
514
|
+
|
|
515
|
+
## Success Criteria
|
|
516
|
+
|
|
517
|
+
You're doing well if:
|
|
518
|
+
|
|
519
|
+
- [x] All lint and type checks pass
|
|
520
|
+
- [x] Code follows the guidelines
|
|
521
|
+
- [x] Tracking files are updated
|
|
522
|
+
- [x] Feature.json reflects current status
|
|
523
|
+
- [x] Commits are well-formatted
|
|
524
|
+
- [x] Documentation is up-to-date
|
|
525
|
+
|
|
526
|
+
---
|
|
527
|
+
|
|
528
|
+
**Ready to start? Follow the Quick Start section at the top!**
|
|
200
529
|
`;
|
|
201
|
-
|
|
530
|
+
// Write init-agent.md (skip if exists)
|
|
531
|
+
if (!fs.existsSync(initAgentPath)) {
|
|
532
|
+
fs.writeFileSync(initAgentPath, initAgentContent);
|
|
533
|
+
console.log(chalk.blue("š Created init-agent.md"));
|
|
534
|
+
}
|
|
535
|
+
else {
|
|
536
|
+
console.log(chalk.yellow("ā ļø init-agent.md already exists, skipping..."));
|
|
537
|
+
}
|
|
202
538
|
// Create AGENTS.md
|
|
203
539
|
const agentsContent = `<!-- OPEN-FLOW:START -->
|
|
204
540
|
# Open-Flow Instructions
|
|
@@ -219,6 +555,13 @@ Keep this managed block so 'open-flow update' can refresh the instructions.
|
|
|
219
555
|
|
|
220
556
|
<!-- OPEN-FLOW:END -->
|
|
221
557
|
`;
|
|
222
|
-
|
|
558
|
+
// Write AGENTS.md (skip if exists)
|
|
559
|
+
if (!fs.existsSync(agentsPath)) {
|
|
560
|
+
fs.writeFileSync(agentsPath, agentsContent);
|
|
561
|
+
console.log(chalk.blue("š Created AGENTS.md"));
|
|
562
|
+
}
|
|
563
|
+
else {
|
|
564
|
+
console.log(chalk.yellow("ā ļø AGENTS.md already exists, skipping..."));
|
|
565
|
+
}
|
|
223
566
|
}
|
|
224
567
|
//# sourceMappingURL=init.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAcvE,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,OAAoB;IAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAE1B,OAAO,CAAC,GAAG,CACV,KAAK,CAAC,IAAI,CACT,iEAAiE,CACjE,CACD,CAAC;IAEF,+BAA+B;IAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAC/C,
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/configurators/templates.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,gBAAgB;
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/configurators/templates.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,gBAAgB;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACtB;AAED,wBAAgB,mBAAmB,IAAI,gBAAgB,CAUtD"}
|