@dewtech/dare-cli 2.5.0 → 2.7.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 +176 -0
- package/dist/commands/bootstrap.d.ts.map +1 -1
- package/dist/commands/bootstrap.js +15 -1
- package/dist/commands/bootstrap.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +21 -0
- package/dist/commands/init.js.map +1 -1
- package/dist/utils/project-generator.d.ts +8 -0
- package/dist/utils/project-generator.d.ts.map +1 -1
- package/dist/utils/project-generator.js +59 -3
- package/dist/utils/project-generator.js.map +1 -1
- package/dist/utils/stack-bootstrap.d.ts +14 -0
- package/dist/utils/stack-bootstrap.d.ts.map +1 -1
- package/dist/utils/stack-bootstrap.js +282 -91
- package/dist/utils/stack-bootstrap.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -7,6 +7,182 @@ A structured methodology for AI-assisted software development with mandatory hum
|
|
|
7
7
|
[](https://www.npmjs.com/package/@dewtech/dare-cli)
|
|
8
8
|
[](https://github.com/dewtech-technologies/dare-method/blob/main/LICENSE)
|
|
9
9
|
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## ⚠ Read this first — How `dare init` runs the official scaffold
|
|
13
|
+
|
|
14
|
+
`dare init` invokes the **official scaffold** of the stack you pick. That
|
|
15
|
+
means it literally runs:
|
|
16
|
+
|
|
17
|
+
| Stack | What `dare init` runs |
|
|
18
|
+
|-------|----------------------|
|
|
19
|
+
| `php-laravel` | `composer create-project laravel/laravel:^11 .` |
|
|
20
|
+
| `node-nestjs` | `npx @nestjs/cli new . --strict --skip-git` |
|
|
21
|
+
| `python-fastapi` | `python -m venv .venv && python -m pip install -r requirements.txt` |
|
|
22
|
+
| `rust-axum` | `cargo init` + write `Cargo.toml` (axum, sqlx, tokio…) |
|
|
23
|
+
| `go-gin` | `go mod init` + `go get gin/godotenv` + starter files |
|
|
24
|
+
| `react`, `vue` | `npx degit vitejs/vite/packages/create-vite/template-<x> .` + `npm install` |
|
|
25
|
+
| `mcp-server-node-ts` | `npm init` + `@modelcontextprotocol/sdk` |
|
|
26
|
+
| `mcp-server-python` | `python -m venv .venv` + `pip install mcp[cli]` |
|
|
27
|
+
|
|
28
|
+
These need a working `composer` / `npm` / `cargo` / `python` / `go`
|
|
29
|
+
**somewhere**. There are three ways to provide it — you pick at init time
|
|
30
|
+
(prompt below), and the choice is saved in `dare.config.json` so
|
|
31
|
+
`dare bootstrap` reuses it later.
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
? Toolchain for scaffolding (composer / npm / cargo / python / go):
|
|
35
|
+
❯ 🤖 Auto — use native if on PATH, else Docker (recommended)
|
|
36
|
+
🔧 Native only — require the CLI on PATH (faster, no Docker pulls)
|
|
37
|
+
🐳 Docker only — always use the official image (hermetic, no host install)
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### 🤖 Auto (default)
|
|
41
|
+
|
|
42
|
+
Tries the native CLI first. If missing, falls back to the official Docker
|
|
43
|
+
image automatically. If neither is present, fails fast with both install
|
|
44
|
+
links.
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
which composer → ✓ found? use native
|
|
48
|
+
→ ✗ missing? which docker
|
|
49
|
+
→ ✓ found? docker run composer:latest …
|
|
50
|
+
→ ✗ missing? error: install Composer or Docker
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
**When:** you don't know exactly what's installed; mixed teams (some
|
|
54
|
+
machines have the toolchain, some only have Docker). The same project
|
|
55
|
+
config (`dare.config.json` with `toolchain: auto`) works on every machine.
|
|
56
|
+
|
|
57
|
+
### 🔧 Native only
|
|
58
|
+
|
|
59
|
+
Requires the CLI on PATH. **Fails immediately** if missing — no Docker
|
|
60
|
+
fallback even if Docker is available.
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
which composer → ✓ found? use native
|
|
64
|
+
→ ✗ missing? error: "Install Composer: https://getcomposer.org/"
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**When:** you already have the toolchain and want **maximum speed** (no
|
|
68
|
+
`docker pull`, no bind-mount overhead, no container startup); you're in CI
|
|
69
|
+
with the toolchain pre-installed; you want to avoid Docker Desktop edge
|
|
70
|
+
cases (Windows volume throttling, Linux uid/gid issues, etc.).
|
|
71
|
+
|
|
72
|
+
### 🐳 Docker only
|
|
73
|
+
|
|
74
|
+
**Always** runs the scaffold inside the official Docker image — even if
|
|
75
|
+
the native CLI is on PATH. Fails if Docker isn't installed.
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
which docker → ✓ found? docker run --rm -v ".:/app" composer:latest create-project …
|
|
79
|
+
→ ✗ missing? error: "Install Docker Desktop"
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
**When:** you don't want to install PHP / Cargo / Python / Go on the
|
|
83
|
+
host (keep host clean); you want **hermetic, reproducible** builds (every
|
|
84
|
+
dev uses the exact toolchain version baked into the image); you want to
|
|
85
|
+
mirror your CI locally.
|
|
86
|
+
|
|
87
|
+
### Quick decision table
|
|
88
|
+
|
|
89
|
+
| Your situation | Pick |
|
|
90
|
+
|----------------|------|
|
|
91
|
+
| Already have the toolchain installed, want speed | **🔧 Native** |
|
|
92
|
+
| Don't want to install PHP/Cargo/Python/Go on the host | **🐳 Docker** |
|
|
93
|
+
| Mixed team, varying setups | **🤖 Auto** |
|
|
94
|
+
| Just want it to work | **🤖 Auto** |
|
|
95
|
+
| Want bit-for-bit toolchain reproducibility | **🐳 Docker** |
|
|
96
|
+
| Solo dev with everything installed | **🔧 Native** |
|
|
97
|
+
|
|
98
|
+
### Override later
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
dare bootstrap --toolchain docker # rerun scaffold inside Docker
|
|
102
|
+
dare bootstrap --toolchain native --force # rerun native, overwriting framework files
|
|
103
|
+
dare bootstrap --toolchain auto # back to auto-detect
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### ⚠ Important caveat — Ralph Loop
|
|
107
|
+
|
|
108
|
+
`dare execute --complete` runs the stack's quality gates
|
|
109
|
+
(`composer dump-autoload`, `php artisan test`, `cargo build`, etc.)
|
|
110
|
+
**directly on the host** — it does **not** automatically wrap them in
|
|
111
|
+
Docker even if you picked `docker only` at init time.
|
|
112
|
+
|
|
113
|
+
If you don't have the native toolchain installed, the agent should run
|
|
114
|
+
the gates inside the container created by **task-001** (the Containerize
|
|
115
|
+
task), e.g. `docker compose exec app php artisan test`. The skills
|
|
116
|
+
shipped with `dare init` already nudge the agent toward that pattern.
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## Prerequisites
|
|
121
|
+
|
|
122
|
+
### Required for the CLI itself
|
|
123
|
+
|
|
124
|
+
| Tool | Why | Install |
|
|
125
|
+
|------|-----|---------|
|
|
126
|
+
| **Node.js 18+** | runs `dare`, `dare-mcp-server` and the bundled GraphRAG engine | https://nodejs.org/ |
|
|
127
|
+
|
|
128
|
+
### Required to scaffold the chosen stack
|
|
129
|
+
|
|
130
|
+
`dare init` runs the **official scaffold** of the stack you pick (e.g.
|
|
131
|
+
`composer create-project laravel/laravel`, `npm create vite@latest`,
|
|
132
|
+
`go mod init`). It tries the native toolchain first; if it isn't on PATH,
|
|
133
|
+
it falls back to running the equivalent **Docker image** automatically.
|
|
134
|
+
|
|
135
|
+
Pick **one** of the two paths per stack:
|
|
136
|
+
|
|
137
|
+
| Stack | Native toolchain | Docker fallback (used if native missing) |
|
|
138
|
+
|-------|------------------|------------------------------------------|
|
|
139
|
+
| `php-laravel` | PHP 8.2+ · Composer 2+ — https://getcomposer.org/ | `composer:latest` |
|
|
140
|
+
| `node-nestjs` | Node 18+ (bundles `npx`) | `node:20-alpine` |
|
|
141
|
+
| `python-fastapi` | Python 3.11+ — https://www.python.org/downloads/ | `python:3.12-slim` |
|
|
142
|
+
| `rust-axum` | Rust 1.83+ (rustup) — https://www.rust-lang.org/tools/install | `rust:1.83` |
|
|
143
|
+
| `go-gin` | Go 1.22+ — https://go.dev/dl/ | `golang:1.22` |
|
|
144
|
+
| `react`, `vue` | Node 18+ (bundles `npm`) | `node:20-alpine` |
|
|
145
|
+
| `mcp-server-node-ts` | Node 18+ | `node:20-alpine` |
|
|
146
|
+
| `mcp-server-python` | Python 3.11+ | `python:3.12-slim` |
|
|
147
|
+
|
|
148
|
+
> **TL;DR:** if you have **Docker Desktop** installed, you don't strictly need
|
|
149
|
+
> any other toolchain — `dare init` will pull the right image on demand.
|
|
150
|
+
> Native toolchains are faster and don't depend on Docker pulling images.
|
|
151
|
+
|
|
152
|
+
If neither the native CLI **nor** Docker is available, `dare init` fails
|
|
153
|
+
fast with a clear error message — it never falls back to a fake template.
|
|
154
|
+
|
|
155
|
+
### Choose the toolchain at init time
|
|
156
|
+
|
|
157
|
+
The 3 modes (`auto` / `native` / `docker`) are explained in detail at the
|
|
158
|
+
top of this README — see [⚠ Read this first](#-read-this-first--how-dare-init-runs-the-official-scaffold).
|
|
159
|
+
|
|
160
|
+
Quick recap:
|
|
161
|
+
|
|
162
|
+
| Mode | Behavior |
|
|
163
|
+
|------|----------|
|
|
164
|
+
| `auto` (default) | Native if available, else Docker. Recommended. |
|
|
165
|
+
| `native` | Requires the native CLI; fails if missing. |
|
|
166
|
+
| `docker` | Always uses the official Docker image. |
|
|
167
|
+
|
|
168
|
+
The choice is persisted in `dare.config.json` (`"toolchain": "..."`).
|
|
169
|
+
Override at any time:
|
|
170
|
+
|
|
171
|
+
```bash
|
|
172
|
+
dare bootstrap --toolchain docker # rerun scaffold inside Docker
|
|
173
|
+
dare bootstrap --toolchain native --force # rerun native, overwriting
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
### Required for the Ralph Loop (per project)
|
|
177
|
+
|
|
178
|
+
Once the project is scaffolded, every `dare execute --complete` runs the
|
|
179
|
+
stack's gates: `build → test → lint`. The same toolchain (native or Docker)
|
|
180
|
+
that scaffolded the project is needed to run those gates. Plan accordingly:
|
|
181
|
+
if you chose `php-laravel` and only have Docker, `dare execute --complete`
|
|
182
|
+
needs to invoke `php artisan test` somehow — typically by running it inside
|
|
183
|
+
your `docker-compose` app service (this is the kind of thing the
|
|
184
|
+
`task-001 = Containerize app` task sets up).
|
|
185
|
+
|
|
10
186
|
## Installation
|
|
11
187
|
|
|
12
188
|
```bash
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/commands/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/commands/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBpC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,SA4FzB,CAAC"}
|
|
@@ -3,6 +3,7 @@ import chalk from 'chalk';
|
|
|
3
3
|
import fs from 'fs-extra';
|
|
4
4
|
import path from 'path';
|
|
5
5
|
import { bootstrapBackend, bootstrapFrontend, bootstrapMcp, } from '../utils/stack-bootstrap.js';
|
|
6
|
+
const VALID_TOOLCHAINS = ['auto', 'native', 'docker'];
|
|
6
7
|
/**
|
|
7
8
|
* `dare bootstrap` — runs the official scaffold for the current project's
|
|
8
9
|
* stack, **without** touching DARE artifacts. Use this on a project that
|
|
@@ -17,6 +18,7 @@ import { bootstrapBackend, bootstrapFrontend, bootstrapMcp, } from '../utils/sta
|
|
|
17
18
|
export const bootstrapCommand = new Command('bootstrap')
|
|
18
19
|
.description("Run the official scaffold for the current project's stack (uses dare.config.json)")
|
|
19
20
|
.option('--force', 'Run even if framework artifacts already exist (may overwrite files)', false)
|
|
21
|
+
.option('--toolchain <mode>', 'Override toolchain mode for this run: auto | native | docker')
|
|
20
22
|
.action(async (options) => {
|
|
21
23
|
const cwd = process.cwd();
|
|
22
24
|
const cfgPath = path.join(cwd, 'dare.config.json');
|
|
@@ -26,6 +28,15 @@ export const bootstrapCommand = new Command('bootstrap')
|
|
|
26
28
|
process.exit(1);
|
|
27
29
|
}
|
|
28
30
|
const cfg = (await fs.readJson(cfgPath));
|
|
31
|
+
// CLI flag wins over saved config; default 'auto' if neither set.
|
|
32
|
+
let toolchain = cfg.toolchain ?? 'auto';
|
|
33
|
+
if (options.toolchain) {
|
|
34
|
+
if (!VALID_TOOLCHAINS.includes(options.toolchain)) {
|
|
35
|
+
console.error(chalk.red(`❌ Invalid --toolchain "${options.toolchain}". Use: auto | native | docker.`));
|
|
36
|
+
process.exit(1);
|
|
37
|
+
}
|
|
38
|
+
toolchain = options.toolchain;
|
|
39
|
+
}
|
|
29
40
|
const projectName = cfg.name ?? path.basename(cwd);
|
|
30
41
|
if (!options.force) {
|
|
31
42
|
const conflicts = await detectConflicts(cwd);
|
|
@@ -41,13 +52,14 @@ export const bootstrapCommand = new Command('bootstrap')
|
|
|
41
52
|
try {
|
|
42
53
|
if (cfg.structure === 'mcp-server') {
|
|
43
54
|
const lang = (cfg.mcpLanguage ?? 'node-ts');
|
|
44
|
-
await bootstrapMcp({ language: lang, dir: cwd, projectName });
|
|
55
|
+
await bootstrapMcp({ language: lang, dir: cwd, projectName, toolchain });
|
|
45
56
|
}
|
|
46
57
|
else if (cfg.structure === 'frontend' && cfg.frontend) {
|
|
47
58
|
await bootstrapFrontend({
|
|
48
59
|
stack: cfg.frontend,
|
|
49
60
|
dir: cwd,
|
|
50
61
|
projectName,
|
|
62
|
+
toolchain,
|
|
51
63
|
});
|
|
52
64
|
}
|
|
53
65
|
else if ((cfg.structure === 'backend' || cfg.structure === 'monorepo') && cfg.backend) {
|
|
@@ -57,6 +69,7 @@ export const bootstrapCommand = new Command('bootstrap')
|
|
|
57
69
|
stack: cfg.backend,
|
|
58
70
|
dir,
|
|
59
71
|
projectName,
|
|
72
|
+
toolchain,
|
|
60
73
|
});
|
|
61
74
|
if (cfg.structure === 'monorepo' && cfg.frontend) {
|
|
62
75
|
const fdir = path.join(cwd, 'frontend');
|
|
@@ -65,6 +78,7 @@ export const bootstrapCommand = new Command('bootstrap')
|
|
|
65
78
|
stack: cfg.frontend,
|
|
66
79
|
dir: fdir,
|
|
67
80
|
projectName,
|
|
81
|
+
toolchain,
|
|
68
82
|
});
|
|
69
83
|
}
|
|
70
84
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/commands/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/commands/bootstrap.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,eAAO,MAAM,WAAW,SAiMpB,CAAC"}
|
package/dist/commands/init.js
CHANGED
|
@@ -122,6 +122,26 @@ export const initCommand = new Command('init')
|
|
|
122
122
|
message: 'Enable DARE MCP Server for context queries?',
|
|
123
123
|
default: true,
|
|
124
124
|
},
|
|
125
|
+
{
|
|
126
|
+
type: 'list',
|
|
127
|
+
name: 'toolchain',
|
|
128
|
+
message: 'Toolchain for scaffolding (composer / npm / cargo / python / go):',
|
|
129
|
+
choices: [
|
|
130
|
+
{
|
|
131
|
+
name: '🤖 Auto — use native if on PATH, else Docker (recommended)',
|
|
132
|
+
value: 'auto',
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
name: '🔧 Native only — require the CLI on PATH (faster, no Docker pulls)',
|
|
136
|
+
value: 'native',
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
name: '🐳 Docker only — always use the official image (hermetic, no host install)',
|
|
140
|
+
value: 'docker',
|
|
141
|
+
},
|
|
142
|
+
],
|
|
143
|
+
default: 'auto',
|
|
144
|
+
},
|
|
125
145
|
]);
|
|
126
146
|
const name = projectName || answers.name;
|
|
127
147
|
const spinner = ora(`Creating project ${chalk.cyan(name)}...`).start();
|
|
@@ -137,6 +157,7 @@ export const initCommand = new Command('init')
|
|
|
137
157
|
ide: answers.ide,
|
|
138
158
|
graphrag: answers.graphrag,
|
|
139
159
|
mcp: answers.mcp,
|
|
160
|
+
toolchain: answers.toolchain,
|
|
140
161
|
outputDir: path.resolve(process.cwd(), name),
|
|
141
162
|
});
|
|
142
163
|
spinner.succeed(chalk.green(`Project ${chalk.bold(name)} created successfully!`));
|
|
@@ -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,3 +1,4 @@
|
|
|
1
|
+
import { type ToolchainMode } from './stack-bootstrap.js';
|
|
1
2
|
export interface ProjectConfig {
|
|
2
3
|
name: string;
|
|
3
4
|
structure: 'monorepo' | 'backend' | 'frontend' | 'mcp-server';
|
|
@@ -16,6 +17,13 @@ export interface ProjectConfig {
|
|
|
16
17
|
* Defaults to false — i.e., scaffolding is the normal path.
|
|
17
18
|
*/
|
|
18
19
|
skipBootstrap?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Toolchain preference for the scaffold step (and reused by `dare bootstrap`):
|
|
22
|
+
* - `auto` (default): use native CLI if on PATH, otherwise Docker.
|
|
23
|
+
* - `native`: require composer/npm/cargo/python/go on PATH; fail otherwise.
|
|
24
|
+
* - `docker`: always run via the official Docker image, even if native is available.
|
|
25
|
+
*/
|
|
26
|
+
toolchain?: ToolchainMode;
|
|
19
27
|
}
|
|
20
28
|
export declare function generateProjectStructure(config: ProjectConfig): Promise<void>;
|
|
21
29
|
export declare function installDareToExistingProject(projectDir: string, config: Omit<ProjectConfig, 'outputDir'>): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-generator.d.ts","sourceRoot":"","sources":["../../src/utils/project-generator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"project-generator.d.ts","sourceRoot":"","sources":["../../src/utils/project-generator.ts"],"names":[],"mappings":"AAcA,OAAO,EAOL,KAAK,aAAa,EACnB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,YAAY,CAAC;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,aAAa,CAAC;IAC/C,WAAW,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IACnC,WAAW,CAAC,EAAE,CAAC,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC,EAAE,CAAC;IACpD,GAAG,EAAE,QAAQ,GAAG,aAAa,GAAG,QAAQ,GAAG,aAAa,GAAG,eAAe,CAAC;IAC3E,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IACtC,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B;AAED,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAoInF;AAED,wBAAsB,4BAA4B,CAChD,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,GACvC,OAAO,CAAC,IAAI,CAAC,CAwCf"}
|
|
@@ -9,13 +9,24 @@ export async function generateProjectStructure(config) {
|
|
|
9
9
|
// 0) Run the official scaffold for the chosen stack BEFORE laying down DARE
|
|
10
10
|
// artifacts. The scaffold needs an empty (or near-empty) directory.
|
|
11
11
|
if (!config.skipBootstrap) {
|
|
12
|
+
await assertOutputDirIsEmpty(config);
|
|
12
13
|
await runStackBootstrap(config);
|
|
13
14
|
}
|
|
14
15
|
// Create DARE directory
|
|
15
16
|
await fs.ensureDir(path.join(outputDir, 'DARE'));
|
|
16
17
|
await fs.ensureDir(path.join(outputDir, 'DARE', 'EXECUTION'));
|
|
17
18
|
// Write dare.config.json
|
|
18
|
-
const configData = {
|
|
19
|
+
const configData = {
|
|
20
|
+
name,
|
|
21
|
+
structure,
|
|
22
|
+
backend,
|
|
23
|
+
frontend,
|
|
24
|
+
ide,
|
|
25
|
+
graphrag,
|
|
26
|
+
mcp,
|
|
27
|
+
toolchain: config.toolchain ?? 'auto',
|
|
28
|
+
version: '0.1.0',
|
|
29
|
+
};
|
|
19
30
|
if (structure === 'mcp-server') {
|
|
20
31
|
configData.mcpTransport = config.mcpTransport;
|
|
21
32
|
configData.mcpLanguage = config.mcpLanguage;
|
|
@@ -641,8 +652,46 @@ const BACKEND_STACKS = new Set([
|
|
|
641
652
|
'go-gin',
|
|
642
653
|
]);
|
|
643
654
|
const FRONTEND_STACKS = new Set(['react', 'vue']);
|
|
655
|
+
/**
|
|
656
|
+
* Official scaffolders (composer create-project, npx degit, cargo init,
|
|
657
|
+
* `npm create`, etc.) all refuse to run inside a directory that already
|
|
658
|
+
* has files. We check for that BEFORE running the scaffold so the user gets
|
|
659
|
+
* a single clear error — not a cryptic stack trace from inside Composer or
|
|
660
|
+
* Cargo. We tolerate `.git` because some users initialize a repo first.
|
|
661
|
+
*/
|
|
662
|
+
async function assertOutputDirIsEmpty(config) {
|
|
663
|
+
const dirsToCheck = [];
|
|
664
|
+
if (config.structure === 'mcp-server' || config.structure === 'frontend') {
|
|
665
|
+
dirsToCheck.push(config.outputDir);
|
|
666
|
+
}
|
|
667
|
+
else if (config.structure === 'backend') {
|
|
668
|
+
dirsToCheck.push(config.outputDir);
|
|
669
|
+
}
|
|
670
|
+
else if (config.structure === 'monorepo') {
|
|
671
|
+
if (config.backend)
|
|
672
|
+
dirsToCheck.push(path.join(config.outputDir, 'backend'));
|
|
673
|
+
if (config.frontend)
|
|
674
|
+
dirsToCheck.push(path.join(config.outputDir, 'frontend'));
|
|
675
|
+
}
|
|
676
|
+
for (const dir of dirsToCheck) {
|
|
677
|
+
if (!(await fs.pathExists(dir)))
|
|
678
|
+
continue;
|
|
679
|
+
const entries = (await fs.readdir(dir)).filter((e) => e !== '.git' && e !== '.gitkeep');
|
|
680
|
+
if (entries.length > 0) {
|
|
681
|
+
const preview = entries.slice(0, 8).join(', ');
|
|
682
|
+
const more = entries.length > 8 ? `, … (+${entries.length - 8})` : '';
|
|
683
|
+
throw new Error(`Target directory is not empty: ${dir}\n` +
|
|
684
|
+
` Found: ${preview}${more}\n\n` +
|
|
685
|
+
`Likely cause: a previous \`dare init\` for this project failed midway and left files behind.\n` +
|
|
686
|
+
`Resolve by either:\n` +
|
|
687
|
+
` 1) Removing the directory and trying again: Remove-Item -Recurse -Force "${dir}"\n` +
|
|
688
|
+
` 2) Choosing a different project name.\n` +
|
|
689
|
+
` 3) Running \`dare bootstrap --force\` if you want to reuse the existing directory and overwrite framework files.`);
|
|
690
|
+
}
|
|
691
|
+
}
|
|
692
|
+
}
|
|
644
693
|
async function runStackBootstrap(config) {
|
|
645
|
-
const { outputDir, name, structure, backend, frontend, mcpLanguage } = config;
|
|
694
|
+
const { outputDir, name, structure, backend, frontend, mcpLanguage, toolchain } = config;
|
|
646
695
|
// Backend / monorepo backend
|
|
647
696
|
if ((structure === 'backend' || structure === 'monorepo') && backend) {
|
|
648
697
|
if (!BACKEND_STACKS.has(backend)) {
|
|
@@ -654,6 +703,7 @@ async function runStackBootstrap(config) {
|
|
|
654
703
|
stack: backend,
|
|
655
704
|
dir: backendDir,
|
|
656
705
|
projectName: name,
|
|
706
|
+
toolchain,
|
|
657
707
|
});
|
|
658
708
|
}
|
|
659
709
|
// Frontend / monorepo frontend
|
|
@@ -667,12 +717,18 @@ async function runStackBootstrap(config) {
|
|
|
667
717
|
stack: frontend,
|
|
668
718
|
dir: frontendDir,
|
|
669
719
|
projectName: name,
|
|
720
|
+
toolchain,
|
|
670
721
|
});
|
|
671
722
|
}
|
|
672
723
|
// MCP Server
|
|
673
724
|
if (structure === 'mcp-server') {
|
|
674
725
|
const lang = (mcpLanguage ?? 'node-ts');
|
|
675
|
-
await bootstrapMcp({
|
|
726
|
+
await bootstrapMcp({
|
|
727
|
+
language: lang,
|
|
728
|
+
dir: outputDir,
|
|
729
|
+
projectName: name,
|
|
730
|
+
toolchain,
|
|
731
|
+
});
|
|
676
732
|
}
|
|
677
733
|
console.log(chalk.green('\n✓ Stack scaffold complete.\n'));
|
|
678
734
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-generator.js","sourceRoot":"","sources":["../../src/utils/project-generator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"project-generator.js","sourceRoot":"","sources":["../../src/utils/project-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,34 @@
|
|
|
1
1
|
export type BackendStack = 'php-laravel' | 'node-nestjs' | 'python-fastapi' | 'rust-axum' | 'go-gin';
|
|
2
2
|
export type FrontendStack = 'react' | 'vue';
|
|
3
3
|
export type McpLanguage = 'node-ts' | 'python';
|
|
4
|
+
/**
|
|
5
|
+
* How to satisfy each stack's toolchain dependency:
|
|
6
|
+
* - `native`: require the CLI on PATH (composer / npm / cargo / python / go).
|
|
7
|
+
* If missing, fail with a clear error — do not fall back.
|
|
8
|
+
* - `docker`: always run via the official Docker image, even if the native
|
|
9
|
+
* CLI is available. Useful when you want a hermetic, reproducible
|
|
10
|
+
* toolchain regardless of host setup.
|
|
11
|
+
* - `auto` : prefer native if present; otherwise fall back to Docker.
|
|
12
|
+
* Default behavior since v2.6.0.
|
|
13
|
+
*/
|
|
14
|
+
export type ToolchainMode = 'native' | 'docker' | 'auto';
|
|
4
15
|
export interface BootstrapBackendOptions {
|
|
5
16
|
stack: BackendStack;
|
|
6
17
|
dir: string;
|
|
7
18
|
projectName: string;
|
|
19
|
+
toolchain?: ToolchainMode;
|
|
8
20
|
}
|
|
9
21
|
export interface BootstrapFrontendOptions {
|
|
10
22
|
stack: FrontendStack;
|
|
11
23
|
dir: string;
|
|
12
24
|
projectName: string;
|
|
25
|
+
toolchain?: ToolchainMode;
|
|
13
26
|
}
|
|
14
27
|
export interface BootstrapMcpOptions {
|
|
15
28
|
language: McpLanguage;
|
|
16
29
|
dir: string;
|
|
17
30
|
projectName: string;
|
|
31
|
+
toolchain?: ToolchainMode;
|
|
18
32
|
}
|
|
19
33
|
export declare function bootstrapBackend(opts: BootstrapBackendOptions): Promise<void>;
|
|
20
34
|
export declare function bootstrapFrontend(opts: BootstrapFrontendOptions): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stack-bootstrap.d.ts","sourceRoot":"","sources":["../../src/utils/stack-bootstrap.ts"],"names":[],"mappings":"
|
|
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;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEzD,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,YAAY,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,aAAa,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,WAAW,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B;AAID,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBnF;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAarF;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAU3E"}
|
|
@@ -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
|
-
*
|
|
7
|
-
* on PATH,
|
|
8
|
-
*
|
|
9
|
-
*
|
|
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';
|
|
@@ -14,67 +16,181 @@ import fs from 'fs-extra';
|
|
|
14
16
|
import chalk from 'chalk';
|
|
15
17
|
// ─── Public API ─────────────────────────────────────────────────────────────
|
|
16
18
|
export async function bootstrapBackend(opts) {
|
|
19
|
+
const mode = opts.toolchain ?? 'auto';
|
|
17
20
|
switch (opts.stack) {
|
|
18
21
|
case 'php-laravel':
|
|
19
|
-
return bootstrapPhpLaravel(opts.dir, opts.projectName);
|
|
22
|
+
return bootstrapPhpLaravel(opts.dir, opts.projectName, mode);
|
|
20
23
|
case 'node-nestjs':
|
|
21
|
-
return bootstrapNodeNestjs(opts.dir, opts.projectName);
|
|
24
|
+
return bootstrapNodeNestjs(opts.dir, opts.projectName, mode);
|
|
22
25
|
case 'python-fastapi':
|
|
23
|
-
return bootstrapPythonFastapi(opts.dir);
|
|
26
|
+
return bootstrapPythonFastapi(opts.dir, mode);
|
|
24
27
|
case 'rust-axum':
|
|
25
|
-
return bootstrapRustAxum(opts.dir, opts.projectName);
|
|
28
|
+
return bootstrapRustAxum(opts.dir, opts.projectName, mode);
|
|
26
29
|
case 'go-gin':
|
|
27
|
-
return bootstrapGoGin(opts.dir, opts.projectName);
|
|
30
|
+
return bootstrapGoGin(opts.dir, opts.projectName, mode);
|
|
28
31
|
default:
|
|
29
32
|
throw new Error(`Unknown backend stack: ${opts.stack}`);
|
|
30
33
|
}
|
|
31
34
|
}
|
|
32
35
|
export async function bootstrapFrontend(opts) {
|
|
36
|
+
const mode = opts.toolchain ?? 'auto';
|
|
33
37
|
switch (opts.stack) {
|
|
34
38
|
case 'react':
|
|
35
|
-
|
|
39
|
+
await bootstrapVite(opts.dir, 'react-ts', mode);
|
|
40
|
+
break;
|
|
36
41
|
case 'vue':
|
|
37
|
-
|
|
42
|
+
await bootstrapVite(opts.dir, 'vue-ts', mode);
|
|
43
|
+
break;
|
|
38
44
|
default:
|
|
39
45
|
throw new Error(`Unknown frontend stack: ${opts.stack}`);
|
|
40
46
|
}
|
|
47
|
+
await tryRenameNpmProject(opts.dir, opts.projectName);
|
|
41
48
|
}
|
|
42
49
|
export async function bootstrapMcp(opts) {
|
|
50
|
+
const mode = opts.toolchain ?? 'auto';
|
|
43
51
|
switch (opts.language) {
|
|
44
52
|
case 'node-ts':
|
|
45
|
-
return bootstrapMcpNode(opts.dir, opts.projectName);
|
|
53
|
+
return bootstrapMcpNode(opts.dir, opts.projectName, mode);
|
|
46
54
|
case 'python':
|
|
47
|
-
return bootstrapMcpPython(opts.dir);
|
|
55
|
+
return bootstrapMcpPython(opts.dir, mode);
|
|
48
56
|
default:
|
|
49
57
|
throw new Error(`Unknown MCP language: ${opts.language}`);
|
|
50
58
|
}
|
|
51
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* Resolves a toolchain (native vs Docker) and runs commands through it.
|
|
62
|
+
* Created via the static factories below — one per language ecosystem.
|
|
63
|
+
*/
|
|
64
|
+
class StackTool {
|
|
65
|
+
constructor(nativeCmd, mode, dir,
|
|
66
|
+
/** Docker image to use when `mode === 'docker'`. */
|
|
67
|
+
image,
|
|
68
|
+
/**
|
|
69
|
+
* Some Docker images (e.g. `composer:latest`) declare the tool as their
|
|
70
|
+
* ENTRYPOINT, so we only pass arguments. Others (e.g. `node:20`) are
|
|
71
|
+
* shell-based — we prepend the tool name to the args.
|
|
72
|
+
*/
|
|
73
|
+
imageHasEntrypoint) {
|
|
74
|
+
this.nativeCmd = nativeCmd;
|
|
75
|
+
this.mode = mode;
|
|
76
|
+
this.dir = dir;
|
|
77
|
+
this.image = image;
|
|
78
|
+
this.imageHasEntrypoint = imageHasEntrypoint;
|
|
79
|
+
}
|
|
80
|
+
static async resolve(opts) {
|
|
81
|
+
const dir = path.resolve(opts.dir);
|
|
82
|
+
const mode = opts.mode ?? 'auto';
|
|
83
|
+
// Forced Docker
|
|
84
|
+
if (mode === 'docker') {
|
|
85
|
+
if (!(await hasCommand('docker'))) {
|
|
86
|
+
throw new Error(`--toolchain=docker selected, but \`docker\` is not on PATH.\n` +
|
|
87
|
+
` Install Docker Desktop: https://www.docker.com/products/docker-desktop/`);
|
|
88
|
+
}
|
|
89
|
+
console.log(chalk.cyan(`🐳 Using Docker (${opts.dockerImage}) — toolchain=docker`));
|
|
90
|
+
return new StackTool(opts.nativeCmd, 'docker', dir, opts.dockerImage, opts.imageHasEntrypoint ?? false);
|
|
91
|
+
}
|
|
92
|
+
// Forced native
|
|
93
|
+
if (mode === 'native') {
|
|
94
|
+
if (!(await hasCommand(opts.nativeCmd))) {
|
|
95
|
+
throw new Error(`--toolchain=native selected, but \`${opts.nativeCmd}\` is not on PATH.\n` +
|
|
96
|
+
` ${opts.nativeHint}`);
|
|
97
|
+
}
|
|
98
|
+
console.log(chalk.green(`🔧 Using native ${opts.nativeCmd} — toolchain=native`));
|
|
99
|
+
return new StackTool(opts.nativeCmd, 'native', dir, null, false);
|
|
100
|
+
}
|
|
101
|
+
// Auto: prefer native, fall back to Docker
|
|
102
|
+
if (await hasCommand(opts.nativeCmd)) {
|
|
103
|
+
console.log(chalk.green(`🔧 Using native ${opts.nativeCmd} — toolchain=auto`));
|
|
104
|
+
return new StackTool(opts.nativeCmd, 'native', dir, null, false);
|
|
105
|
+
}
|
|
106
|
+
if (await hasCommand('docker')) {
|
|
107
|
+
console.log(chalk.yellow(`⚠ ${opts.nativeCmd} not found on PATH — falling back to Docker (${opts.dockerImage}).`));
|
|
108
|
+
return new StackTool(opts.nativeCmd, 'docker', dir, opts.dockerImage, opts.imageHasEntrypoint ?? false);
|
|
109
|
+
}
|
|
110
|
+
throw new Error(`Required tool not found: ${opts.nativeCmd}\n` +
|
|
111
|
+
` ${opts.nativeHint}\n` +
|
|
112
|
+
` …or install Docker (https://www.docker.com/products/docker-desktop/) — DARE will use the\n` +
|
|
113
|
+
` ${opts.dockerImage} image automatically.`);
|
|
114
|
+
}
|
|
115
|
+
get usingDocker() {
|
|
116
|
+
return this.mode === 'docker';
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Run the tool with the given arguments. Native mode invokes the CLI
|
|
120
|
+
* directly; Docker mode runs `docker run --rm -v <dir>:/app -w /app`.
|
|
121
|
+
*/
|
|
122
|
+
async run(args) {
|
|
123
|
+
if (this.mode === 'native') {
|
|
124
|
+
await runCmd(this.nativeCmd, args, this.dir);
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
const dockerArgs = this.buildDockerArgs(args);
|
|
128
|
+
await runCmd('docker', dockerArgs, this.dir);
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* For tools that ship in the official image but with a different entrypoint
|
|
132
|
+
* (e.g. running `pip` from inside `python:3.12-slim`).
|
|
133
|
+
*/
|
|
134
|
+
async runOther(otherCmd, args) {
|
|
135
|
+
if (this.mode === 'native') {
|
|
136
|
+
await runCmd(otherCmd, args, this.dir);
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
const dockerArgs = [
|
|
140
|
+
'run',
|
|
141
|
+
'--rm',
|
|
142
|
+
'-v',
|
|
143
|
+
`${dockerizePath(this.dir)}:/app`,
|
|
144
|
+
'-w',
|
|
145
|
+
'/app',
|
|
146
|
+
...currentUserFlags(),
|
|
147
|
+
this.image,
|
|
148
|
+
otherCmd,
|
|
149
|
+
...args,
|
|
150
|
+
];
|
|
151
|
+
await runCmd('docker', dockerArgs, this.dir);
|
|
152
|
+
}
|
|
153
|
+
buildDockerArgs(args) {
|
|
154
|
+
const base = [
|
|
155
|
+
'run',
|
|
156
|
+
'--rm',
|
|
157
|
+
'-v',
|
|
158
|
+
`${dockerizePath(this.dir)}:/app`,
|
|
159
|
+
'-w',
|
|
160
|
+
'/app',
|
|
161
|
+
...currentUserFlags(),
|
|
162
|
+
this.image,
|
|
163
|
+
];
|
|
164
|
+
return this.imageHasEntrypoint ? [...base, ...args] : [...base, this.nativeCmd, ...args];
|
|
165
|
+
}
|
|
166
|
+
}
|
|
52
167
|
// ─── Per-stack scaffolds ────────────────────────────────────────────────────
|
|
53
|
-
async function bootstrapPhpLaravel(dir, projectName) {
|
|
54
|
-
await ensureCommand('composer', 'Install Composer: https://getcomposer.org/download/');
|
|
168
|
+
async function bootstrapPhpLaravel(dir, projectName, mode) {
|
|
55
169
|
banner(`Bootstrapping Laravel 11 in ${dir}`);
|
|
56
|
-
await
|
|
57
|
-
'
|
|
58
|
-
'
|
|
59
|
-
'
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
await
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
'laravel/pint',
|
|
68
|
-
'larastan/larastan',
|
|
69
|
-
'--no-interaction',
|
|
70
|
-
], dir);
|
|
71
|
-
// Best-effort: rename app to projectName in composer.json
|
|
170
|
+
const composer = await StackTool.resolve({
|
|
171
|
+
nativeCmd: 'composer',
|
|
172
|
+
nativeHint: 'Install Composer: https://getcomposer.org/download/',
|
|
173
|
+
dockerImage: 'composer:latest',
|
|
174
|
+
imageHasEntrypoint: true,
|
|
175
|
+
dir,
|
|
176
|
+
mode,
|
|
177
|
+
});
|
|
178
|
+
await composer.run(['create-project', 'laravel/laravel:^11', '.', '--no-interaction', '--prefer-dist']);
|
|
179
|
+
await composer.run(['require', 'laravel/sanctum', 'tymon/jwt-auth', '--no-interaction']);
|
|
180
|
+
await composer.run(['require', '--dev', 'laravel/pint', 'larastan/larastan', '--no-interaction']);
|
|
72
181
|
await tryRenameComposerProject(dir, projectName);
|
|
73
182
|
}
|
|
74
|
-
async function bootstrapNodeNestjs(dir, projectName) {
|
|
75
|
-
await ensureCommand('npx', 'Install Node.js (includes npx): https://nodejs.org/');
|
|
183
|
+
async function bootstrapNodeNestjs(dir, projectName, mode) {
|
|
76
184
|
banner(`Bootstrapping NestJS in ${dir}`);
|
|
77
|
-
await
|
|
185
|
+
const npx = await StackTool.resolve({
|
|
186
|
+
nativeCmd: 'npx',
|
|
187
|
+
nativeHint: 'Install Node.js (includes npx): https://nodejs.org/',
|
|
188
|
+
dockerImage: 'node:20-alpine',
|
|
189
|
+
imageHasEntrypoint: false,
|
|
190
|
+
dir,
|
|
191
|
+
mode,
|
|
192
|
+
});
|
|
193
|
+
await npx.run([
|
|
78
194
|
'-y',
|
|
79
195
|
'@nestjs/cli@latest',
|
|
80
196
|
'new',
|
|
@@ -85,17 +201,22 @@ async function bootstrapNodeNestjs(dir, projectName) {
|
|
|
85
201
|
'npm',
|
|
86
202
|
'--directory',
|
|
87
203
|
'.',
|
|
88
|
-
]
|
|
204
|
+
]);
|
|
89
205
|
await tryRenameNpmProject(dir, projectName);
|
|
90
206
|
}
|
|
91
|
-
async function bootstrapPythonFastapi(dir) {
|
|
92
|
-
await ensureCommand('python', 'Install Python 3.11+ from https://www.python.org/downloads/');
|
|
207
|
+
async function bootstrapPythonFastapi(dir, mode) {
|
|
93
208
|
banner(`Bootstrapping FastAPI in ${dir}`);
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
209
|
+
const python = await StackTool.resolve({
|
|
210
|
+
nativeCmd: 'python',
|
|
211
|
+
nativeHint: 'Install Python 3.11+: https://www.python.org/downloads/',
|
|
212
|
+
dockerImage: 'python:3.12-slim',
|
|
213
|
+
imageHasEntrypoint: false,
|
|
214
|
+
dir,
|
|
215
|
+
mode,
|
|
216
|
+
});
|
|
217
|
+
// Even in Docker mode, we keep .venv in the project folder so it survives
|
|
218
|
+
// across runs and the agent can read it from the host.
|
|
219
|
+
await python.run(['-m', 'venv', '.venv']);
|
|
99
220
|
const reqPath = path.join(dir, 'requirements.txt');
|
|
100
221
|
if (!(await fs.pathExists(reqPath))) {
|
|
101
222
|
await fs.writeFile(reqPath, [
|
|
@@ -113,16 +234,28 @@ async function bootstrapPythonFastapi(dir) {
|
|
|
113
234
|
'',
|
|
114
235
|
].join('\n'));
|
|
115
236
|
}
|
|
116
|
-
// pip
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
237
|
+
// Use the venv's `python -m pip` instead of `pip.exe` directly. On Windows,
|
|
238
|
+
// pip cannot replace its own running executable when upgrading itself —
|
|
239
|
+
// pip itself prints "To modify pip, please run python -m pip install
|
|
240
|
+
// --upgrade pip". So we always go through `python -m pip`, which works on
|
|
241
|
+
// Windows, macOS, and Linux without special-casing.
|
|
242
|
+
const venvPython = process.platform === 'win32' && !python.usingDocker
|
|
243
|
+
? path.join('.venv', 'Scripts', 'python.exe')
|
|
244
|
+
: path.join('.venv', 'bin', 'python');
|
|
245
|
+
await python.runOther(venvPython, ['-m', 'pip', 'install', '--upgrade', 'pip']);
|
|
246
|
+
await python.runOther(venvPython, ['-m', 'pip', 'install', '-r', 'requirements.txt']);
|
|
120
247
|
}
|
|
121
|
-
async function bootstrapRustAxum(dir, projectName) {
|
|
122
|
-
await ensureCommand('cargo', 'Install Rust toolchain: https://www.rust-lang.org/tools/install');
|
|
248
|
+
async function bootstrapRustAxum(dir, projectName, mode) {
|
|
123
249
|
banner(`Bootstrapping Rust + Axum in ${dir}`);
|
|
124
|
-
|
|
125
|
-
|
|
250
|
+
const cargo = await StackTool.resolve({
|
|
251
|
+
nativeCmd: 'cargo',
|
|
252
|
+
nativeHint: 'Install Rust toolchain: https://www.rust-lang.org/tools/install',
|
|
253
|
+
dockerImage: 'rust:1.83',
|
|
254
|
+
imageHasEntrypoint: false,
|
|
255
|
+
dir,
|
|
256
|
+
mode,
|
|
257
|
+
});
|
|
258
|
+
await cargo.run(['init', '--name', sanitizeCrateName(projectName)]);
|
|
126
259
|
const cargoToml = path.join(dir, 'Cargo.toml');
|
|
127
260
|
await fs.writeFile(cargoToml, [
|
|
128
261
|
`[package]`,
|
|
@@ -148,22 +281,22 @@ async function bootstrapRustAxum(dir, projectName) {
|
|
|
148
281
|
`tokio = { version = "1.40", features = ["macros", "rt-multi-thread"] }`,
|
|
149
282
|
``,
|
|
150
283
|
].join('\n'));
|
|
151
|
-
|
|
152
|
-
await runCmd('cargo', ['fetch'], dir);
|
|
284
|
+
await cargo.run(['fetch']);
|
|
153
285
|
}
|
|
154
|
-
async function bootstrapGoGin(dir, projectName) {
|
|
155
|
-
await ensureCommand('go', 'Install Go 1.22+: https://go.dev/dl/');
|
|
286
|
+
async function bootstrapGoGin(dir, projectName, mode) {
|
|
156
287
|
banner(`Bootstrapping Go + Gin in ${dir}`);
|
|
288
|
+
const go = await StackTool.resolve({
|
|
289
|
+
nativeCmd: 'go',
|
|
290
|
+
nativeHint: 'Install Go 1.22+: https://go.dev/dl/',
|
|
291
|
+
dockerImage: 'golang:1.22',
|
|
292
|
+
imageHasEntrypoint: false,
|
|
293
|
+
dir,
|
|
294
|
+
mode,
|
|
295
|
+
});
|
|
157
296
|
const moduleName = sanitizeGoModule(projectName);
|
|
158
|
-
|
|
159
|
-
await
|
|
160
|
-
|
|
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.
|
|
297
|
+
await go.run(['mod', 'init', moduleName]);
|
|
298
|
+
await go.run(['get', 'github.com/gin-gonic/gin@latest']);
|
|
299
|
+
await go.run(['get', 'github.com/joho/godotenv@latest']);
|
|
167
300
|
await fs.ensureDir(path.join(dir, 'cmd', 'api'));
|
|
168
301
|
await fs.ensureDir(path.join(dir, 'internal', 'handlers'));
|
|
169
302
|
await fs.ensureDir(path.join(dir, 'internal', 'middleware'));
|
|
@@ -235,45 +368,76 @@ func TestHealth(t *testing.T) {
|
|
|
235
368
|
\t}
|
|
236
369
|
}
|
|
237
370
|
`);
|
|
238
|
-
|
|
239
|
-
await runCmd('go', ['mod', 'tidy'], dir);
|
|
371
|
+
await go.run(['mod', 'tidy']);
|
|
240
372
|
}
|
|
241
|
-
async function bootstrapVite(dir, template) {
|
|
242
|
-
await ensureCommand('npm', 'Install Node.js: https://nodejs.org/');
|
|
373
|
+
async function bootstrapVite(dir, template, mode) {
|
|
243
374
|
banner(`Bootstrapping Vite (${template}) in ${dir}`);
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
375
|
+
const npm = await StackTool.resolve({
|
|
376
|
+
nativeCmd: 'npm',
|
|
377
|
+
nativeHint: 'Install Node.js: https://nodejs.org/',
|
|
378
|
+
dockerImage: 'node:20-alpine',
|
|
379
|
+
imageHasEntrypoint: false,
|
|
380
|
+
dir,
|
|
381
|
+
mode,
|
|
382
|
+
});
|
|
383
|
+
// We use `degit` instead of `npm create vite` because the Vite scaffolder
|
|
384
|
+
// has interactive prompts (project name, package manager, sometimes the
|
|
385
|
+
// experimental "Use Rolldown-Vite?" question) that can't be reliably
|
|
386
|
+
// suppressed from a non-TTY parent process. `degit` clones the *same*
|
|
387
|
+
// official template tree from the Vite repo with zero prompts.
|
|
388
|
+
await npm.runOther('npx', [
|
|
389
|
+
'-y',
|
|
390
|
+
'degit',
|
|
391
|
+
`vitejs/vite/packages/create-vite/template-${template}`,
|
|
392
|
+
'.',
|
|
393
|
+
'--force',
|
|
394
|
+
]);
|
|
395
|
+
// The Vite official templates ship a `package.json` with a placeholder
|
|
396
|
+
// `name: "vite-project"` — the DARE generator will overwrite that with
|
|
397
|
+
// the project name later (via tryRenameNpmProject in the caller chain),
|
|
398
|
+
// but we still kick off `npm install` here so the agent has node_modules
|
|
399
|
+
// and the build/test gates run from the start.
|
|
400
|
+
await npm.run(['install']);
|
|
249
401
|
}
|
|
250
|
-
async function bootstrapMcpNode(dir, projectName) {
|
|
251
|
-
await ensureCommand('npm', 'Install Node.js: https://nodejs.org/');
|
|
402
|
+
async function bootstrapMcpNode(dir, projectName, mode) {
|
|
252
403
|
banner(`Bootstrapping MCP server (TypeScript) in ${dir}`);
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
404
|
+
const npm = await StackTool.resolve({
|
|
405
|
+
nativeCmd: 'npm',
|
|
406
|
+
nativeHint: 'Install Node.js: https://nodejs.org/',
|
|
407
|
+
dockerImage: 'node:20-alpine',
|
|
408
|
+
imageHasEntrypoint: false,
|
|
409
|
+
dir,
|
|
410
|
+
mode,
|
|
411
|
+
});
|
|
412
|
+
await npm.run(['init', '-y']);
|
|
413
|
+
await npm.run(['install', '@modelcontextprotocol/sdk']);
|
|
414
|
+
await npm.run(['install', '--save-dev', 'typescript', '@types/node', 'tsx', 'vitest']);
|
|
256
415
|
await tryRenameNpmProject(dir, projectName);
|
|
257
416
|
}
|
|
258
|
-
async function bootstrapMcpPython(dir) {
|
|
259
|
-
await ensureCommand('python', 'Install Python 3.11+: https://www.python.org/downloads/');
|
|
417
|
+
async function bootstrapMcpPython(dir, mode) {
|
|
260
418
|
banner(`Bootstrapping MCP server (Python) in ${dir}`);
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
419
|
+
const python = await StackTool.resolve({
|
|
420
|
+
nativeCmd: 'python',
|
|
421
|
+
nativeHint: 'Install Python 3.11+: https://www.python.org/downloads/',
|
|
422
|
+
dockerImage: 'python:3.12-slim',
|
|
423
|
+
imageHasEntrypoint: false,
|
|
424
|
+
dir,
|
|
425
|
+
mode,
|
|
426
|
+
});
|
|
427
|
+
await python.run(['-m', 'venv', '.venv']);
|
|
428
|
+
// See bootstrapPythonFastapi above: `pip.exe install --upgrade pip` fails
|
|
429
|
+
// on Windows because pip can't overwrite its own running executable. We
|
|
430
|
+
// route every pip call through `python -m pip` instead.
|
|
431
|
+
const venvPython = process.platform === 'win32' && !python.usingDocker
|
|
432
|
+
? path.join('.venv', 'Scripts', 'python.exe')
|
|
433
|
+
: path.join('.venv', 'bin', 'python');
|
|
434
|
+
await python.runOther(venvPython, ['-m', 'pip', 'install', '--upgrade', 'pip']);
|
|
435
|
+
await python.runOther(venvPython, ['-m', 'pip', 'install', 'mcp[cli]', 'pytest', 'ruff']);
|
|
265
436
|
}
|
|
266
437
|
// ─── Helpers ────────────────────────────────────────────────────────────────
|
|
267
438
|
function banner(msg) {
|
|
268
439
|
console.log(chalk.blue.bold(`\n📦 ${msg}\n`));
|
|
269
440
|
}
|
|
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
441
|
async function hasCommand(cmd) {
|
|
278
442
|
return new Promise((resolve) => {
|
|
279
443
|
const probe = spawn(cmd, ['--version'], { shell: true, stdio: 'ignore' });
|
|
@@ -298,11 +462,38 @@ async function runCmd(cmd, args, cwd) {
|
|
|
298
462
|
});
|
|
299
463
|
});
|
|
300
464
|
}
|
|
465
|
+
/**
|
|
466
|
+
* On Linux/macOS, run the Docker container as the host user so files written
|
|
467
|
+
* to the bind mount don't end up owned by root. On Windows / Docker Desktop
|
|
468
|
+
* this is unnecessary (and `id` doesn't exist), so we skip.
|
|
469
|
+
*/
|
|
470
|
+
function currentUserFlags() {
|
|
471
|
+
if (process.platform === 'win32')
|
|
472
|
+
return [];
|
|
473
|
+
// Best-effort: read uid/gid from process. If unavailable, fall back to the
|
|
474
|
+
// image's default user.
|
|
475
|
+
const uid = process.getuid?.();
|
|
476
|
+
const gid = process.getgid?.();
|
|
477
|
+
if (typeof uid === 'number' && typeof gid === 'number') {
|
|
478
|
+
return ['--user', `${uid}:${gid}`];
|
|
479
|
+
}
|
|
480
|
+
return [];
|
|
481
|
+
}
|
|
482
|
+
/**
|
|
483
|
+
* Convert a Windows path (`C:\foo\bar`) to a form Docker Desktop accepts as
|
|
484
|
+
* a bind-mount source. Modern Docker Desktop accepts native Windows paths
|
|
485
|
+
* unmodified, but some configurations require POSIX form.
|
|
486
|
+
*/
|
|
487
|
+
function dockerizePath(p) {
|
|
488
|
+
if (process.platform !== 'win32')
|
|
489
|
+
return p;
|
|
490
|
+
// Normalize backslashes; Docker Desktop accepts forward slashes here.
|
|
491
|
+
return p.replace(/\\/g, '/');
|
|
492
|
+
}
|
|
301
493
|
function sanitizeCrateName(name) {
|
|
302
494
|
return name.toLowerCase().replace(/[^a-z0-9_]+/g, '_').replace(/^_+|_+$/g, '') || 'app';
|
|
303
495
|
}
|
|
304
496
|
function sanitizeGoModule(name) {
|
|
305
|
-
// Go module path: lowercase, hyphens allowed, no spaces or symbols.
|
|
306
497
|
return name.toLowerCase().replace(/[^a-z0-9-]+/g, '-').replace(/^-+|-+$/g, '') || 'app';
|
|
307
498
|
}
|
|
308
499
|
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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"}
|