@dewtech/dare-cli 2.5.0 → 2.6.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/README.md CHANGED
@@ -7,6 +7,51 @@ A structured methodology for AI-assisted software development with mandatory hum
7
7
  [![npm](https://img.shields.io/npm/v/@dewtech/dare-cli)](https://www.npmjs.com/package/@dewtech/dare-cli)
8
8
  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/dewtech-technologies/dare-method/blob/main/LICENSE)
9
9
 
10
+ ## Prerequisites
11
+
12
+ ### Required for the CLI itself
13
+
14
+ | Tool | Why | Install |
15
+ |------|-----|---------|
16
+ | **Node.js 18+** | runs `dare`, `dare-mcp-server` and the bundled GraphRAG engine | https://nodejs.org/ |
17
+
18
+ ### Required to scaffold the chosen stack
19
+
20
+ `dare init` runs the **official scaffold** of the stack you pick (e.g.
21
+ `composer create-project laravel/laravel`, `npm create vite@latest`,
22
+ `go mod init`). It tries the native toolchain first; if it isn't on PATH,
23
+ it falls back to running the equivalent **Docker image** automatically.
24
+
25
+ Pick **one** of the two paths per stack:
26
+
27
+ | Stack | Native toolchain | Docker fallback (used if native missing) |
28
+ |-------|------------------|------------------------------------------|
29
+ | `php-laravel` | PHP 8.2+ · Composer 2+ — https://getcomposer.org/ | `composer:latest` |
30
+ | `node-nestjs` | Node 18+ (bundles `npx`) | `node:20-alpine` |
31
+ | `python-fastapi` | Python 3.11+ — https://www.python.org/downloads/ | `python:3.12-slim` |
32
+ | `rust-axum` | Rust 1.83+ (rustup) — https://www.rust-lang.org/tools/install | `rust:1.83` |
33
+ | `go-gin` | Go 1.22+ — https://go.dev/dl/ | `golang:1.22` |
34
+ | `react`, `vue` | Node 18+ (bundles `npm`) | `node:20-alpine` |
35
+ | `mcp-server-node-ts` | Node 18+ | `node:20-alpine` |
36
+ | `mcp-server-python` | Python 3.11+ | `python:3.12-slim` |
37
+
38
+ > **TL;DR:** if you have **Docker Desktop** installed, you don't strictly need
39
+ > any other toolchain — `dare init` will pull the right image on demand.
40
+ > Native toolchains are faster and don't depend on Docker pulling images.
41
+
42
+ If neither the native CLI **nor** Docker is available, `dare init` fails
43
+ fast with a clear error message — it never falls back to a fake template.
44
+
45
+ ### Required for the Ralph Loop (per project)
46
+
47
+ Once the project is scaffolded, every `dare execute --complete` runs the
48
+ stack's gates: `build → test → lint`. The same toolchain (native or Docker)
49
+ that scaffolded the project is needed to run those gates. Plan accordingly:
50
+ if you chose `php-laravel` and only have Docker, `dare execute --complete`
51
+ needs to invoke `php artisan test` somehow — typically by running it inside
52
+ your `docker-compose` app service (this is the kind of thing the
53
+ `task-001 = Containerize app` task sets up).
54
+
10
55
  ## Installation
11
56
 
12
57
  ```bash
@@ -1 +1 @@
1
- {"version":3,"file":"stack-bootstrap.d.ts","sourceRoot":"","sources":["../../src/utils/stack-bootstrap.ts"],"names":[],"mappings":"AAeA,MAAM,MAAM,YAAY,GACpB,aAAa,GACb,aAAa,GACb,gBAAgB,GAChB,WAAW,GACX,QAAQ,CAAC;AAEb,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,KAAK,CAAC;AAE5C,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE/C,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,YAAY,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,aAAa,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,WAAW,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;CACrB;AAID,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAenF;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CASrF;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAS3E"}
1
+ {"version":3,"file":"stack-bootstrap.d.ts","sourceRoot":"","sources":["../../src/utils/stack-bootstrap.ts"],"names":[],"mappings":"AAiBA,MAAM,MAAM,YAAY,GACpB,aAAa,GACb,aAAa,GACb,gBAAgB,GAChB,WAAW,GACX,QAAQ,CAAC;AAEb,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,KAAK,CAAC;AAE5C,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE/C,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,YAAY,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,aAAa,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,WAAW,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;CACrB;AAID,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAenF;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CASrF;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAS3E"}
@@ -3,10 +3,12 @@
3
3
  * frontend / MCP stack. Called by `dare init` BEFORE the DARE artifacts are
4
4
  * copied on top.
5
5
  *
6
- * No fallbacks: if the required tool (composer / npm / cargo / python) is not
7
- * on PATH, this module throws a clear error pointing to install instructions.
8
- * Generating a fake skeleton is what got us into trouble before — we don't
9
- * do that anymore.
6
+ * Toolchain resolution order:
7
+ * 1. Native CLI on PATH (composer, npm, cargo, python, go) fastest path
8
+ * 2. Docker fallback using the official image works when the user has
9
+ * only Docker installed (no PHP / Go / Rust / Python toolchain)
10
+ * 3. Hard error with both install hints — never falls back to a fake
11
+ * template, since fake templates were the v1.x bug we're fixing
10
12
  */
11
13
  import { spawn } from 'node:child_process';
12
14
  import path from 'node:path';
@@ -49,32 +51,117 @@ export async function bootstrapMcp(opts) {
49
51
  throw new Error(`Unknown MCP language: ${opts.language}`);
50
52
  }
51
53
  }
54
+ /**
55
+ * Resolves a toolchain (native vs Docker) and runs commands through it.
56
+ * Created via the static factories below — one per language ecosystem.
57
+ */
58
+ class StackTool {
59
+ constructor(nativeCmd, mode, dir,
60
+ /** Docker image to use when `mode === 'docker'`. */
61
+ image,
62
+ /**
63
+ * Some Docker images (e.g. `composer:latest`) declare the tool as their
64
+ * ENTRYPOINT, so we only pass arguments. Others (e.g. `node:20`) are
65
+ * shell-based — we prepend the tool name to the args.
66
+ */
67
+ imageHasEntrypoint) {
68
+ this.nativeCmd = nativeCmd;
69
+ this.mode = mode;
70
+ this.dir = dir;
71
+ this.image = image;
72
+ this.imageHasEntrypoint = imageHasEntrypoint;
73
+ }
74
+ static async resolve(opts) {
75
+ const dir = path.resolve(opts.dir);
76
+ if (await hasCommand(opts.nativeCmd)) {
77
+ return new StackTool(opts.nativeCmd, 'native', dir, null, false);
78
+ }
79
+ if (await hasCommand('docker')) {
80
+ console.log(chalk.yellow(`⚠ ${opts.nativeCmd} not found on PATH — falling back to Docker (${opts.dockerImage}).`));
81
+ return new StackTool(opts.nativeCmd, 'docker', dir, opts.dockerImage, opts.imageHasEntrypoint ?? false);
82
+ }
83
+ throw new Error(`Required tool not found: ${opts.nativeCmd}\n` +
84
+ ` ${opts.nativeHint}\n` +
85
+ ` …or install Docker (https://www.docker.com/products/docker-desktop/) — DARE will use the\n` +
86
+ ` ${opts.dockerImage} image automatically.`);
87
+ }
88
+ get usingDocker() {
89
+ return this.mode === 'docker';
90
+ }
91
+ /**
92
+ * Run the tool with the given arguments. Native mode invokes the CLI
93
+ * directly; Docker mode runs `docker run --rm -v <dir>:/app -w /app`.
94
+ */
95
+ async run(args) {
96
+ if (this.mode === 'native') {
97
+ await runCmd(this.nativeCmd, args, this.dir);
98
+ return;
99
+ }
100
+ const dockerArgs = this.buildDockerArgs(args);
101
+ await runCmd('docker', dockerArgs, this.dir);
102
+ }
103
+ /**
104
+ * For tools that ship in the official image but with a different entrypoint
105
+ * (e.g. running `pip` from inside `python:3.12-slim`).
106
+ */
107
+ async runOther(otherCmd, args) {
108
+ if (this.mode === 'native') {
109
+ await runCmd(otherCmd, args, this.dir);
110
+ return;
111
+ }
112
+ const dockerArgs = [
113
+ 'run',
114
+ '--rm',
115
+ '-v',
116
+ `${dockerizePath(this.dir)}:/app`,
117
+ '-w',
118
+ '/app',
119
+ ...currentUserFlags(),
120
+ this.image,
121
+ otherCmd,
122
+ ...args,
123
+ ];
124
+ await runCmd('docker', dockerArgs, this.dir);
125
+ }
126
+ buildDockerArgs(args) {
127
+ const base = [
128
+ 'run',
129
+ '--rm',
130
+ '-v',
131
+ `${dockerizePath(this.dir)}:/app`,
132
+ '-w',
133
+ '/app',
134
+ ...currentUserFlags(),
135
+ this.image,
136
+ ];
137
+ return this.imageHasEntrypoint ? [...base, ...args] : [...base, this.nativeCmd, ...args];
138
+ }
139
+ }
52
140
  // ─── Per-stack scaffolds ────────────────────────────────────────────────────
53
141
  async function bootstrapPhpLaravel(dir, projectName) {
54
- await ensureCommand('composer', 'Install Composer: https://getcomposer.org/download/');
55
142
  banner(`Bootstrapping Laravel 11 in ${dir}`);
56
- await runCmd('composer', [
57
- 'create-project',
58
- 'laravel/laravel:^11',
59
- '.',
60
- '--no-interaction',
61
- '--prefer-dist',
62
- ], dir);
63
- await runCmd('composer', ['require', 'laravel/sanctum', 'tymon/jwt-auth', '--no-interaction'], dir);
64
- await runCmd('composer', [
65
- 'require',
66
- '--dev',
67
- 'laravel/pint',
68
- 'larastan/larastan',
69
- '--no-interaction',
70
- ], dir);
71
- // Best-effort: rename app to projectName in composer.json
143
+ const composer = await StackTool.resolve({
144
+ nativeCmd: 'composer',
145
+ nativeHint: 'Install Composer: https://getcomposer.org/download/',
146
+ dockerImage: 'composer:latest',
147
+ imageHasEntrypoint: true,
148
+ dir,
149
+ });
150
+ await composer.run(['create-project', 'laravel/laravel:^11', '.', '--no-interaction', '--prefer-dist']);
151
+ await composer.run(['require', 'laravel/sanctum', 'tymon/jwt-auth', '--no-interaction']);
152
+ await composer.run(['require', '--dev', 'laravel/pint', 'larastan/larastan', '--no-interaction']);
72
153
  await tryRenameComposerProject(dir, projectName);
73
154
  }
74
155
  async function bootstrapNodeNestjs(dir, projectName) {
75
- await ensureCommand('npx', 'Install Node.js (includes npx): https://nodejs.org/');
76
156
  banner(`Bootstrapping NestJS in ${dir}`);
77
- await runCmd('npx', [
157
+ const npx = await StackTool.resolve({
158
+ nativeCmd: 'npx',
159
+ nativeHint: 'Install Node.js (includes npx): https://nodejs.org/',
160
+ dockerImage: 'node:20-alpine',
161
+ imageHasEntrypoint: false,
162
+ dir,
163
+ });
164
+ await npx.run([
78
165
  '-y',
79
166
  '@nestjs/cli@latest',
80
167
  'new',
@@ -85,17 +172,21 @@ async function bootstrapNodeNestjs(dir, projectName) {
85
172
  'npm',
86
173
  '--directory',
87
174
  '.',
88
- ], dir);
175
+ ]);
89
176
  await tryRenameNpmProject(dir, projectName);
90
177
  }
91
178
  async function bootstrapPythonFastapi(dir) {
92
- await ensureCommand('python', 'Install Python 3.11+ from https://www.python.org/downloads/');
93
179
  banner(`Bootstrapping FastAPI in ${dir}`);
94
- // Create virtualenv
95
- await runCmd('python', ['-m', 'venv', '.venv'], dir);
96
- // Write a starter requirements.txt + main.py if not present (since FastAPI
97
- // has no official scaffold). The DARE template copy will overwrite later
98
- // only if we left placeholders here.
180
+ const python = await StackTool.resolve({
181
+ nativeCmd: 'python',
182
+ nativeHint: 'Install Python 3.11+: https://www.python.org/downloads/',
183
+ dockerImage: 'python:3.12-slim',
184
+ imageHasEntrypoint: false,
185
+ dir,
186
+ });
187
+ // Even in Docker mode, we keep .venv in the project folder so it survives
188
+ // across runs and the agent can read it from the host.
189
+ await python.run(['-m', 'venv', '.venv']);
99
190
  const reqPath = path.join(dir, 'requirements.txt');
100
191
  if (!(await fs.pathExists(reqPath))) {
101
192
  await fs.writeFile(reqPath, [
@@ -113,16 +204,24 @@ async function bootstrapPythonFastapi(dir) {
113
204
  '',
114
205
  ].join('\n'));
115
206
  }
116
- // pip install
117
- const pip = path.join(dir, '.venv', process.platform === 'win32' ? 'Scripts\\pip.exe' : 'bin/pip');
118
- await runCmd(pip, ['install', '--upgrade', 'pip'], dir);
119
- await runCmd(pip, ['install', '-r', 'requirements.txt'], dir);
207
+ // Install via the venv's pip — works the same in native or Docker mode
208
+ // because the venv lives inside `dir` (and thus inside the volume).
209
+ const pipBin = process.platform === 'win32' && !python.usingDocker
210
+ ? path.join('.venv', 'Scripts', 'pip.exe')
211
+ : path.join('.venv', 'bin', 'pip');
212
+ await python.runOther(pipBin, ['install', '--upgrade', 'pip']);
213
+ await python.runOther(pipBin, ['install', '-r', 'requirements.txt']);
120
214
  }
121
215
  async function bootstrapRustAxum(dir, projectName) {
122
- await ensureCommand('cargo', 'Install Rust toolchain: https://www.rust-lang.org/tools/install');
123
216
  banner(`Bootstrapping Rust + Axum in ${dir}`);
124
- await runCmd('cargo', ['init', '--name', sanitizeCrateName(projectName)], dir);
125
- // Replace generated Cargo.toml with axum-ready dependencies.
217
+ const cargo = await StackTool.resolve({
218
+ nativeCmd: 'cargo',
219
+ nativeHint: 'Install Rust toolchain: https://www.rust-lang.org/tools/install',
220
+ dockerImage: 'rust:1.83',
221
+ imageHasEntrypoint: false,
222
+ dir,
223
+ });
224
+ await cargo.run(['init', '--name', sanitizeCrateName(projectName)]);
126
225
  const cargoToml = path.join(dir, 'Cargo.toml');
127
226
  await fs.writeFile(cargoToml, [
128
227
  `[package]`,
@@ -148,22 +247,21 @@ async function bootstrapRustAxum(dir, projectName) {
148
247
  `tokio = { version = "1.40", features = ["macros", "rt-multi-thread"] }`,
149
248
  ``,
150
249
  ].join('\n'));
151
- // Pre-fetch dependencies so first build is faster.
152
- await runCmd('cargo', ['fetch'], dir);
250
+ await cargo.run(['fetch']);
153
251
  }
154
252
  async function bootstrapGoGin(dir, projectName) {
155
- await ensureCommand('go', 'Install Go 1.22+: https://go.dev/dl/');
156
253
  banner(`Bootstrapping Go + Gin in ${dir}`);
254
+ const go = await StackTool.resolve({
255
+ nativeCmd: 'go',
256
+ nativeHint: 'Install Go 1.22+: https://go.dev/dl/',
257
+ dockerImage: 'golang:1.22',
258
+ imageHasEntrypoint: false,
259
+ dir,
260
+ });
157
261
  const moduleName = sanitizeGoModule(projectName);
158
- // 1) Initialize module
159
- await runCmd('go', ['mod', 'init', moduleName], dir);
160
- // 2) Add core deps
161
- await runCmd('go', ['get', 'github.com/gin-gonic/gin@latest'], dir);
162
- await runCmd('go', ['get', 'github.com/joho/godotenv@latest'], dir);
163
- // 3) Lay down a working starter so go build / go test / go vet have
164
- // something to compile against. Without this, `go vet ./...` would
165
- // succeed trivially with zero packages and the Ralph Loop would be
166
- // a no-op until the agent writes code.
262
+ await go.run(['mod', 'init', moduleName]);
263
+ await go.run(['get', 'github.com/gin-gonic/gin@latest']);
264
+ await go.run(['get', 'github.com/joho/godotenv@latest']);
167
265
  await fs.ensureDir(path.join(dir, 'cmd', 'api'));
168
266
  await fs.ensureDir(path.join(dir, 'internal', 'handlers'));
169
267
  await fs.ensureDir(path.join(dir, 'internal', 'middleware'));
@@ -235,45 +333,54 @@ func TestHealth(t *testing.T) {
235
333
  \t}
236
334
  }
237
335
  `);
238
- // 4) Tidy go.mod and resolve transitive deps
239
- await runCmd('go', ['mod', 'tidy'], dir);
336
+ await go.run(['mod', 'tidy']);
240
337
  }
241
338
  async function bootstrapVite(dir, template) {
242
- await ensureCommand('npm', 'Install Node.js: https://nodejs.org/');
243
339
  banner(`Bootstrapping Vite (${template}) in ${dir}`);
244
- // `npm create vite@latest . -- --template react-ts` requires the directory
245
- // to be empty. We're being called from `dare init`, which created an empty
246
- // directory, so this is fine.
247
- await runCmd('npm', ['create', 'vite@latest', '.', '--', '--template', template], dir);
248
- await runCmd('npm', ['install'], dir);
340
+ const npm = await StackTool.resolve({
341
+ nativeCmd: 'npm',
342
+ nativeHint: 'Install Node.js: https://nodejs.org/',
343
+ dockerImage: 'node:20-alpine',
344
+ imageHasEntrypoint: false,
345
+ dir,
346
+ });
347
+ await npm.run(['create', 'vite@latest', '.', '--', '--template', template]);
348
+ await npm.run(['install']);
249
349
  }
250
350
  async function bootstrapMcpNode(dir, projectName) {
251
- await ensureCommand('npm', 'Install Node.js: https://nodejs.org/');
252
351
  banner(`Bootstrapping MCP server (TypeScript) in ${dir}`);
253
- await runCmd('npm', ['init', '-y'], dir);
254
- await runCmd('npm', ['install', '@modelcontextprotocol/sdk'], dir);
255
- await runCmd('npm', ['install', '--save-dev', 'typescript', '@types/node', 'tsx', 'vitest'], dir);
352
+ const npm = await StackTool.resolve({
353
+ nativeCmd: 'npm',
354
+ nativeHint: 'Install Node.js: https://nodejs.org/',
355
+ dockerImage: 'node:20-alpine',
356
+ imageHasEntrypoint: false,
357
+ dir,
358
+ });
359
+ await npm.run(['init', '-y']);
360
+ await npm.run(['install', '@modelcontextprotocol/sdk']);
361
+ await npm.run(['install', '--save-dev', 'typescript', '@types/node', 'tsx', 'vitest']);
256
362
  await tryRenameNpmProject(dir, projectName);
257
363
  }
258
364
  async function bootstrapMcpPython(dir) {
259
- await ensureCommand('python', 'Install Python 3.11+: https://www.python.org/downloads/');
260
365
  banner(`Bootstrapping MCP server (Python) in ${dir}`);
261
- await runCmd('python', ['-m', 'venv', '.venv'], dir);
262
- const pip = path.join(dir, '.venv', process.platform === 'win32' ? 'Scripts\\pip.exe' : 'bin/pip');
263
- await runCmd(pip, ['install', '--upgrade', 'pip'], dir);
264
- await runCmd(pip, ['install', 'mcp[cli]', 'pytest', 'ruff'], dir);
366
+ const python = await StackTool.resolve({
367
+ nativeCmd: 'python',
368
+ nativeHint: 'Install Python 3.11+: https://www.python.org/downloads/',
369
+ dockerImage: 'python:3.12-slim',
370
+ imageHasEntrypoint: false,
371
+ dir,
372
+ });
373
+ await python.run(['-m', 'venv', '.venv']);
374
+ const pipBin = process.platform === 'win32' && !python.usingDocker
375
+ ? path.join('.venv', 'Scripts', 'pip.exe')
376
+ : path.join('.venv', 'bin', 'pip');
377
+ await python.runOther(pipBin, ['install', '--upgrade', 'pip']);
378
+ await python.runOther(pipBin, ['install', 'mcp[cli]', 'pytest', 'ruff']);
265
379
  }
266
380
  // ─── Helpers ────────────────────────────────────────────────────────────────
267
381
  function banner(msg) {
268
382
  console.log(chalk.blue.bold(`\n📦 ${msg}\n`));
269
383
  }
270
- async function ensureCommand(cmd, hint) {
271
- const exists = await hasCommand(cmd);
272
- if (!exists) {
273
- throw new Error(`Required tool not found on PATH: ${cmd}\n ${hint}\n` +
274
- `dare init requires a working ${cmd} to scaffold the chosen stack.`);
275
- }
276
- }
277
384
  async function hasCommand(cmd) {
278
385
  return new Promise((resolve) => {
279
386
  const probe = spawn(cmd, ['--version'], { shell: true, stdio: 'ignore' });
@@ -298,11 +405,38 @@ async function runCmd(cmd, args, cwd) {
298
405
  });
299
406
  });
300
407
  }
408
+ /**
409
+ * On Linux/macOS, run the Docker container as the host user so files written
410
+ * to the bind mount don't end up owned by root. On Windows / Docker Desktop
411
+ * this is unnecessary (and `id` doesn't exist), so we skip.
412
+ */
413
+ function currentUserFlags() {
414
+ if (process.platform === 'win32')
415
+ return [];
416
+ // Best-effort: read uid/gid from process. If unavailable, fall back to the
417
+ // image's default user.
418
+ const uid = process.getuid?.();
419
+ const gid = process.getgid?.();
420
+ if (typeof uid === 'number' && typeof gid === 'number') {
421
+ return ['--user', `${uid}:${gid}`];
422
+ }
423
+ return [];
424
+ }
425
+ /**
426
+ * Convert a Windows path (`C:\foo\bar`) to a form Docker Desktop accepts as
427
+ * a bind-mount source. Modern Docker Desktop accepts native Windows paths
428
+ * unmodified, but some configurations require POSIX form.
429
+ */
430
+ function dockerizePath(p) {
431
+ if (process.platform !== 'win32')
432
+ return p;
433
+ // Normalize backslashes; Docker Desktop accepts forward slashes here.
434
+ return p.replace(/\\/g, '/');
435
+ }
301
436
  function sanitizeCrateName(name) {
302
437
  return name.toLowerCase().replace(/[^a-z0-9_]+/g, '_').replace(/^_+|_+$/g, '') || 'app';
303
438
  }
304
439
  function sanitizeGoModule(name) {
305
- // Go module path: lowercase, hyphens allowed, no spaces or symbols.
306
440
  return name.toLowerCase().replace(/[^a-z0-9-]+/g, '-').replace(/^-+|-+$/g, '') || 'app';
307
441
  }
308
442
  async function tryRenameComposerProject(dir, projectName) {
@@ -1 +1 @@
1
- {"version":3,"file":"stack-bootstrap.js","sourceRoot":"","sources":["../../src/utils/stack-bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stack-bootstrap.js","sourceRoot":"","sources":["../../src/utils/stack-bootstrap.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dewtech/dare-cli",
3
- "version": "2.5.0",
3
+ "version": "2.6.0",
4
4
  "description": "DARE Framework - CLI, GraphRAG engine, MCP server and shared types in a single package",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",