@mind-fold/open-flow 0.1.11 → 0.1.12

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/cli/index.js CHANGED
@@ -21,6 +21,8 @@ program
21
21
  .option("--claude", "Include Claude Code commands")
22
22
  .option("-y, --yes", "Skip prompts and use defaults")
23
23
  .option("-u, --user <name>", "Initialize developer identity with specified name")
24
+ .option("-f, --force", "Overwrite existing files without asking")
25
+ .option("-s, --skip-existing", "Skip existing files without asking")
24
26
  .action(async (options) => {
25
27
  try {
26
28
  await init(options);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE3C,iCAAiC;AACjC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/D,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;AACtE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;AAC1E,MAAM,CAAC,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;AAE3C,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACL,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CACX,+EAA+E,CAC/E;KACA,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,2BAA2B,CAAC,CAAC;AAEjE,OAAO;KACL,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,6CAA6C,CAAC;KAC1D,MAAM,CAAC,UAAU,EAAE,yBAAyB,CAAC;KAC7C,MAAM,CAAC,UAAU,EAAE,8BAA8B,CAAC;KAClD,MAAM,CAAC,WAAW,EAAE,+BAA+B,CAAC;KACpD,MAAM,CACN,mBAAmB,EACnB,mDAAmD,CACnD;KACA,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACzB,IAAI,CAAC;QACJ,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CACZ,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EACnB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAC9C,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;AACF,CAAC,CAAC,CAAC;AAEJ,OAAO;KACL,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,6CAA6C,CAAC;KAC1D,MAAM,CAAC,KAAK,IAAI,EAAE;IAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC;AAEJ,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE3C,iCAAiC;AACjC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/D,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;AACtE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;AAC1E,MAAM,CAAC,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;AAE3C,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACL,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CACX,+EAA+E,CAC/E;KACA,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,2BAA2B,CAAC,CAAC;AAEjE,OAAO;KACL,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,6CAA6C,CAAC;KAC1D,MAAM,CAAC,UAAU,EAAE,yBAAyB,CAAC;KAC7C,MAAM,CAAC,UAAU,EAAE,8BAA8B,CAAC;KAClD,MAAM,CAAC,WAAW,EAAE,+BAA+B,CAAC;KACpD,MAAM,CACN,mBAAmB,EACnB,mDAAmD,CACnD;KACA,MAAM,CAAC,aAAa,EAAE,yCAAyC,CAAC;KAChE,MAAM,CAAC,qBAAqB,EAAE,oCAAoC,CAAC;KACnE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACzB,IAAI,CAAC;QACJ,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CACZ,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EACnB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAC9C,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;AACF,CAAC,CAAC,CAAC;AAEJ,OAAO;KACL,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,6CAA6C,CAAC;KAC1D,MAAM,CAAC,KAAK,IAAI,EAAE;IAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC;AAEJ,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -3,6 +3,8 @@ interface InitOptions {
3
3
  claude?: boolean;
4
4
  yes?: boolean;
5
5
  user?: string;
6
+ force?: boolean;
7
+ skipExisting?: boolean;
6
8
  }
7
9
  export declare function init(options: InitOptions): Promise<void>;
8
10
  export {};
@@ -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,CAqJ9D"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAeA,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;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;CACvB;AAOD,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAmI9D"}
@@ -1,20 +1,25 @@
1
1
  import { execSync } from "node:child_process";
2
- import fs from "node:fs";
3
2
  import path from "node:path";
4
3
  import chalk from "chalk";
5
4
  import inquirer from "inquirer";
6
5
  import { configureClaude } from "../configurators/claude.js";
7
6
  import { configureCursor } from "../configurators/cursor.js";
8
7
  import { createWorkflowStructure } from "../configurators/workflow.js";
8
+ import { setWriteMode, writeFile, } from "../utils/file-writer.js";
9
9
  export async function init(options) {
10
10
  const cwd = process.cwd();
11
11
  console.log(chalk.cyan("\nšŸš€ open-flow - AI-assisted development workflow initializer\n"));
12
- // Check if already initialized
13
- const workflowDir = path.join(cwd, "workflow");
14
- const workflowExists = fs.existsSync(workflowDir);
15
- if (workflowExists) {
16
- console.log(chalk.yellow("āš ļø workflow/ directory already exists, skipping..."));
12
+ // Set write mode based on options
13
+ let writeMode = "ask";
14
+ if (options.force) {
15
+ writeMode = "force";
16
+ console.log(chalk.gray("Mode: Force overwrite existing files\n"));
17
17
  }
18
+ else if (options.skipExisting) {
19
+ writeMode = "skip";
20
+ console.log(chalk.gray("Mode: Skip existing files\n"));
21
+ }
22
+ setWriteMode(writeMode);
18
23
  let tools;
19
24
  if (options.yes) {
20
25
  // Default: both Cursor and Claude
@@ -50,31 +55,17 @@ export async function init(options) {
50
55
  return;
51
56
  }
52
57
  console.log(chalk.gray(`\nConfiguring: ${tools.join(", ")}\n`));
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)
58
+ // Create workflow structure
59
+ console.log(chalk.blue("šŸ“ Creating workflow structure..."));
60
+ await createWorkflowStructure(cwd);
61
+ // Configure selected tools
59
62
  if (tools.includes("cursor")) {
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
- }
63
+ console.log(chalk.blue("šŸ“ Configuring Cursor commands..."));
64
+ await configureCursor(cwd);
68
65
  }
69
66
  if (tools.includes("claude")) {
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
- }
67
+ console.log(chalk.blue("šŸ“ Configuring Claude Code commands..."));
68
+ await configureClaude(cwd);
78
69
  }
79
70
  // Create root files (skip if exists)
80
71
  await createRootFiles(cwd);
@@ -527,14 +518,11 @@ You're doing well if:
527
518
 
528
519
  **Ready to start? Follow the Quick Start section at the top!**
529
520
  `;
530
- // Write init-agent.md (skip if exists)
531
- if (!fs.existsSync(initAgentPath)) {
532
- fs.writeFileSync(initAgentPath, initAgentContent);
521
+ // Write init-agent.md
522
+ const initAgentWritten = await writeFile(initAgentPath, initAgentContent);
523
+ if (initAgentWritten) {
533
524
  console.log(chalk.blue("šŸ“„ Created init-agent.md"));
534
525
  }
535
- else {
536
- console.log(chalk.yellow("āš ļø init-agent.md already exists, skipping..."));
537
- }
538
526
  // Create AGENTS.md
539
527
  const agentsContent = `<!-- OPEN-FLOW:START -->
540
528
  # Open-Flow Instructions
@@ -555,13 +543,10 @@ Keep this managed block so 'open-flow update' can refresh the instructions.
555
543
 
556
544
  <!-- OPEN-FLOW:END -->
557
545
  `;
558
- // Write AGENTS.md (skip if exists)
559
- if (!fs.existsSync(agentsPath)) {
560
- fs.writeFileSync(agentsPath, agentsContent);
546
+ // Write AGENTS.md
547
+ const agentsWritten = await writeFile(agentsPath, agentsContent);
548
+ if (agentsWritten) {
561
549
  console.log(chalk.blue("šŸ“„ Created AGENTS.md"));
562
550
  }
563
- else {
564
- console.log(chalk.yellow("āš ļø AGENTS.md already exists, skipping..."));
565
- }
566
551
  }
567
552
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,16 @@
1
- import fs from 'node:fs';
2
- import path from 'node:path';
3
- import { getCommandTemplates } from './templates.js';
1
+ import path from "node:path";
2
+ import { getCommandTemplates } from "./templates.js";
3
+ import { writeFile, ensureDir } from "../utils/file-writer.js";
4
4
  export async function configureClaude(cwd) {
5
- const commandsDir = path.join(cwd, '.claude', 'commands');
5
+ const commandsDir = path.join(cwd, ".claude", "commands");
6
6
  // Create directory
7
- fs.mkdirSync(commandsDir, { recursive: true });
7
+ ensureDir(commandsDir);
8
8
  // Get command templates
9
9
  const templates = getCommandTemplates();
10
10
  // Write each command file
11
11
  for (const [name, content] of Object.entries(templates)) {
12
12
  const filePath = path.join(commandsDir, `${name}.md`);
13
- fs.writeFileSync(filePath, content);
13
+ await writeFile(filePath, content);
14
14
  }
15
15
  }
16
16
  //# sourceMappingURL=claude.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/configurators/claude.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAW;IAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAE1D,mBAAmB;IACnB,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/C,wBAAwB;IACxB,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;IAExC,0BAA0B;IAC1B,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;QACtD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/configurators/claude.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAE/D,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAW;IAChD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAE1D,mBAAmB;IACnB,SAAS,CAAC,WAAW,CAAC,CAAC;IAEvB,wBAAwB;IACxB,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;IAExC,0BAA0B;IAC1B,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;QACtD,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;AACF,CAAC"}
@@ -1,16 +1,16 @@
1
- import fs from 'node:fs';
2
- import path from 'node:path';
3
- import { getCommandTemplates } from './templates.js';
1
+ import path from "node:path";
2
+ import { getCommandTemplates } from "./templates.js";
3
+ import { writeFile, ensureDir } from "../utils/file-writer.js";
4
4
  export async function configureCursor(cwd) {
5
- const commandsDir = path.join(cwd, '.cursor', 'commands');
5
+ const commandsDir = path.join(cwd, ".cursor", "commands");
6
6
  // Create directory
7
- fs.mkdirSync(commandsDir, { recursive: true });
7
+ ensureDir(commandsDir);
8
8
  // Get command templates
9
9
  const templates = getCommandTemplates();
10
10
  // Write each command file
11
11
  for (const [name, content] of Object.entries(templates)) {
12
12
  const filePath = path.join(commandsDir, `${name}.md`);
13
- fs.writeFileSync(filePath, content);
13
+ await writeFile(filePath, content);
14
14
  }
15
15
  }
16
16
  //# sourceMappingURL=cursor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../src/configurators/cursor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAW;IAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAE1D,mBAAmB;IACnB,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/C,wBAAwB;IACxB,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;IAExC,0BAA0B;IAC1B,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;QACtD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../src/configurators/cursor.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAE/D,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAW;IAChD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAE1D,mBAAmB;IACnB,SAAS,CAAC,WAAW,CAAC,CAAC;IAEvB,wBAAwB;IACxB,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;IAExC,0BAA0B;IAC1B,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;QACtD,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/configurators/workflow.ts"],"names":[],"mappings":"AAyBA,wBAAsB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BxE"}
1
+ {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/configurators/workflow.ts"],"names":[],"mappings":"AA0BA,wBAAsB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BxE"}
@@ -1,9 +1,9 @@
1
- import fs from "node:fs";
2
1
  import path from "node:path";
3
2
  // Import script templates
4
3
  import { initDeveloperScript, getDeveloperScript, extractMdHeadingsScript, featureScript, getContextScript, updateIndexScript, addSessionScript, } from "../templates/scripts/index.js";
5
4
  // Import markdown templates
6
5
  import { agentProgressIndexContent, frontendIndexContent, frontendDocContent, backendIndexContent, backendDocContent, flowMdContent, workflowGitignoreContent, } from "../templates/markdown/index.js";
6
+ import { writeFile, ensureDir } from "../utils/file-writer.js";
7
7
  export async function createWorkflowStructure(cwd) {
8
8
  // Create directories
9
9
  const dirs = [
@@ -15,7 +15,7 @@ export async function createWorkflowStructure(cwd) {
15
15
  "workflow/structure/backend",
16
16
  ];
17
17
  for (const dir of dirs) {
18
- fs.mkdirSync(path.join(cwd, dir), { recursive: true });
18
+ ensureDir(path.join(cwd, dir));
19
19
  }
20
20
  // Create scripts
21
21
  await createScripts(cwd);
@@ -40,23 +40,22 @@ async function createScripts(cwd) {
40
40
  ];
41
41
  for (const script of scripts) {
42
42
  const scriptPath = path.join(cwd, "workflow/scripts", script.name);
43
- fs.writeFileSync(scriptPath, script.content);
44
- fs.chmodSync(scriptPath, "755");
43
+ await writeFile(scriptPath, script.content, { executable: true });
45
44
  }
46
45
  }
47
46
  async function createAgentProgressIndex(cwd) {
48
- fs.writeFileSync(path.join(cwd, "workflow/agent-progress/index.md"), agentProgressIndexContent);
47
+ await writeFile(path.join(cwd, "workflow/agent-progress/index.md"), agentProgressIndexContent);
49
48
  }
50
49
  async function createStructureTemplates(cwd) {
51
- fs.writeFileSync(path.join(cwd, "workflow/structure/frontend/index.md"), frontendIndexContent);
52
- fs.writeFileSync(path.join(cwd, "workflow/structure/frontend/doc.md"), frontendDocContent);
53
- fs.writeFileSync(path.join(cwd, "workflow/structure/backend/index.md"), backendIndexContent);
54
- fs.writeFileSync(path.join(cwd, "workflow/structure/backend/doc.md"), backendDocContent);
50
+ await writeFile(path.join(cwd, "workflow/structure/frontend/index.md"), frontendIndexContent);
51
+ await writeFile(path.join(cwd, "workflow/structure/frontend/doc.md"), frontendDocContent);
52
+ await writeFile(path.join(cwd, "workflow/structure/backend/index.md"), backendIndexContent);
53
+ await writeFile(path.join(cwd, "workflow/structure/backend/doc.md"), backendDocContent);
55
54
  }
56
55
  async function createFlowMd(cwd) {
57
- fs.writeFileSync(path.join(cwd, "workflow/flow.md"), flowMdContent);
56
+ await writeFile(path.join(cwd, "workflow/flow.md"), flowMdContent);
58
57
  }
59
58
  async function createWorkflowGitignore(cwd) {
60
- fs.writeFileSync(path.join(cwd, "workflow/.gitignore"), workflowGitignoreContent);
59
+ await writeFile(path.join(cwd, "workflow/.gitignore"), workflowGitignoreContent);
61
60
  }
62
61
  //# sourceMappingURL=workflow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/configurators/workflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/configurators/workflow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ export type WriteMode = "ask" | "force" | "skip";
2
+ export interface WriteOptions {
3
+ mode: WriteMode;
4
+ }
5
+ export declare function setWriteMode(mode: WriteMode): void;
6
+ export declare function getWriteMode(): WriteMode;
7
+ /**
8
+ * Write file with conflict handling
9
+ * - If file doesn't exist: write directly
10
+ * - If file exists and mode is 'force': overwrite
11
+ * - If file exists and mode is 'skip': skip
12
+ * - If file exists and mode is 'ask': prompt user
13
+ */
14
+ export declare function writeFile(filePath: string, content: string, options?: {
15
+ executable?: boolean;
16
+ }): Promise<boolean>;
17
+ /**
18
+ * Ensure directory exists
19
+ */
20
+ export declare function ensureDir(dirPath: string): void;
21
+ //# sourceMappingURL=file-writer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-writer.d.ts","sourceRoot":"","sources":["../../src/utils/file-writer.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC;AAEjD,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,SAAS,CAAC;CAChB;AAKD,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAElD;AAED,wBAAgB,YAAY,IAAI,SAAS,CAExC;AAED;;;;;;GAMG;AACH,wBAAsB,SAAS,CAC9B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,GAChC,OAAO,CAAC,OAAO,CAAC,CA4ElB;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE/C"}
@@ -0,0 +1,93 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ import chalk from "chalk";
4
+ import inquirer from "inquirer";
5
+ // Global write mode (set from CLI options)
6
+ let globalWriteMode = "ask";
7
+ export function setWriteMode(mode) {
8
+ globalWriteMode = mode;
9
+ }
10
+ export function getWriteMode() {
11
+ return globalWriteMode;
12
+ }
13
+ /**
14
+ * Write file with conflict handling
15
+ * - If file doesn't exist: write directly
16
+ * - If file exists and mode is 'force': overwrite
17
+ * - If file exists and mode is 'skip': skip
18
+ * - If file exists and mode is 'ask': prompt user
19
+ */
20
+ export async function writeFile(filePath, content, options) {
21
+ const exists = fs.existsSync(filePath);
22
+ const fileName = path.basename(filePath);
23
+ if (!exists) {
24
+ // File doesn't exist, write directly
25
+ fs.writeFileSync(filePath, content);
26
+ if (options?.executable) {
27
+ fs.chmodSync(filePath, "755");
28
+ }
29
+ return true;
30
+ }
31
+ // File exists, handle based on mode
32
+ const mode = globalWriteMode;
33
+ if (mode === "force") {
34
+ fs.writeFileSync(filePath, content);
35
+ if (options?.executable) {
36
+ fs.chmodSync(filePath, "755");
37
+ }
38
+ console.log(chalk.yellow(` ↻ Overwritten: ${fileName}`));
39
+ return true;
40
+ }
41
+ if (mode === "skip") {
42
+ console.log(chalk.gray(` ā—‹ Skipped: ${fileName} (already exists)`));
43
+ return false;
44
+ }
45
+ // mode === 'ask': Interactive prompt
46
+ const { action } = await inquirer.prompt([
47
+ {
48
+ type: "list",
49
+ name: "action",
50
+ message: `File "${fileName}" already exists. What would you like to do?`,
51
+ choices: [
52
+ { name: "Skip (keep existing)", value: "skip" },
53
+ { name: "Overwrite", value: "overwrite" },
54
+ { name: "Skip all remaining conflicts", value: "skip-all" },
55
+ { name: "Overwrite all remaining conflicts", value: "overwrite-all" },
56
+ ],
57
+ },
58
+ ]);
59
+ if (action === "skip") {
60
+ console.log(chalk.gray(` ā—‹ Skipped: ${fileName}`));
61
+ return false;
62
+ }
63
+ if (action === "overwrite") {
64
+ fs.writeFileSync(filePath, content);
65
+ if (options?.executable) {
66
+ fs.chmodSync(filePath, "755");
67
+ }
68
+ console.log(chalk.yellow(` ↻ Overwritten: ${fileName}`));
69
+ return true;
70
+ }
71
+ if (action === "skip-all") {
72
+ globalWriteMode = "skip";
73
+ console.log(chalk.gray(` ā—‹ Skipped: ${fileName}`));
74
+ return false;
75
+ }
76
+ if (action === "overwrite-all") {
77
+ globalWriteMode = "force";
78
+ fs.writeFileSync(filePath, content);
79
+ if (options?.executable) {
80
+ fs.chmodSync(filePath, "755");
81
+ }
82
+ console.log(chalk.yellow(` ↻ Overwritten: ${fileName}`));
83
+ return true;
84
+ }
85
+ return false;
86
+ }
87
+ /**
88
+ * Ensure directory exists
89
+ */
90
+ export function ensureDir(dirPath) {
91
+ fs.mkdirSync(dirPath, { recursive: true });
92
+ }
93
+ //# sourceMappingURL=file-writer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-writer.js","sourceRoot":"","sources":["../../src/utils/file-writer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mind-fold/open-flow",
3
- "version": "0.1.11",
3
+ "version": "0.1.12",
4
4
  "description": "AI-assisted development workflow initializer for Cursor, Claude Code and more",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",