@claudetools/cli 0.13.0 → 0.13.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +423 -0
- package/dist/onboard/claude-inference.d.ts +18 -0
- package/dist/onboard/claude-inference.d.ts.map +1 -1
- package/dist/onboard/claude-inference.js +57 -0
- package/dist/onboard/claude-inference.js.map +1 -1
- package/dist/onboard/index.d.ts.map +1 -1
- package/dist/onboard/index.js +201 -10
- package/dist/onboard/index.js.map +1 -1
- package/dist/onboard/questions.d.ts.map +1 -1
- package/dist/onboard/questions.js +119 -12
- package/dist/onboard/questions.js.map +1 -1
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,423 @@
|
|
|
1
|
+
# ClaudeTools CLI
|
|
2
|
+
|
|
3
|
+
A command-line toolkit for AI-assisted project onboarding and documentation generation. ClaudeTools automatically detects your tech stack, generates comprehensive documentation, and creates context files that help AI agents like Claude Code understand your codebase.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install -g @claudetools/cli
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
**Requirements:**
|
|
12
|
+
- Node.js 18.0.0 or higher
|
|
13
|
+
- Optional: [Claude CLI](https://claude.ai/cli) for AI-powered analysis
|
|
14
|
+
- Optional: mcp-cli for Context7 documentation fetching
|
|
15
|
+
|
|
16
|
+
## Quick Start
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
# Navigate to your project
|
|
20
|
+
cd my-project
|
|
21
|
+
|
|
22
|
+
# Run the onboarding wizard
|
|
23
|
+
claudetools onboard
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
That's it. ClaudeTools will analyze your project, ask a few questions, and generate everything needed for AI-assisted development.
|
|
27
|
+
|
|
28
|
+
## Commands
|
|
29
|
+
|
|
30
|
+
### `claudetools onboard`
|
|
31
|
+
|
|
32
|
+
The primary command. Runs a 4-phase onboarding workflow that analyzes your project and generates comprehensive AI context.
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
claudetools onboard [options]
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
**Options:**
|
|
39
|
+
|
|
40
|
+
| Flag | Description |
|
|
41
|
+
|------|-------------|
|
|
42
|
+
| `-r, --refresh` | Re-fetch and regenerate all documentation |
|
|
43
|
+
| `--skip-docs` | Skip documentation generation (faster) |
|
|
44
|
+
| `--verbose` | Show detailed output |
|
|
45
|
+
| `--no-update` | Skip auto-update check |
|
|
46
|
+
|
|
47
|
+
**Examples:**
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
# Standard onboarding
|
|
51
|
+
claudetools onboard
|
|
52
|
+
|
|
53
|
+
# Refresh existing documentation
|
|
54
|
+
claudetools onboard --refresh
|
|
55
|
+
|
|
56
|
+
# Quick run without docs
|
|
57
|
+
claudetools onboard --skip-docs
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### `claudetools init`
|
|
61
|
+
|
|
62
|
+
Minimal setup that creates the `.claude/` directory structure without the full onboarding process.
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
claudetools init
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### `claudetools cleanup`
|
|
69
|
+
|
|
70
|
+
Removes legacy configuration files from previous versions.
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
claudetools cleanup
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Global Options
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
claudetools --version # Show version and check for updates
|
|
80
|
+
claudetools --help # Show help message
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## How It Works
|
|
84
|
+
|
|
85
|
+
### Phase 1: Stack Detection
|
|
86
|
+
|
|
87
|
+
ClaudeTools scans your project for manifest files and automatically detects:
|
|
88
|
+
|
|
89
|
+
- **Package Managers:** npm, pnpm, yarn, bun, pip, poetry, go modules, cargo
|
|
90
|
+
- **Frameworks:** React, Vue, Next.js, Nuxt, Astro, Express, FastAPI, NestJS, and 25+ more
|
|
91
|
+
- **Libraries:** Database (Prisma, Drizzle), State Management (Zustand, Redux), UI Components (Radix, shadcn/ui), and 40+ categories
|
|
92
|
+
- **Dev Tools:** TypeScript, ESLint, Prettier, Vitest, Jest, Playwright
|
|
93
|
+
|
|
94
|
+
**Supported manifest files:**
|
|
95
|
+
- `package.json` (JavaScript/TypeScript)
|
|
96
|
+
- `requirements.txt`, `pyproject.toml` (Python)
|
|
97
|
+
- `go.mod` (Go)
|
|
98
|
+
- `Cargo.toml` (Rust)
|
|
99
|
+
|
|
100
|
+
### Phase 2: Quick Questions
|
|
101
|
+
|
|
102
|
+
An interactive prompt gathers context about your project:
|
|
103
|
+
|
|
104
|
+
1. **"What do you want to build?"** — Brief project description
|
|
105
|
+
2. **"What are you working on right now?"** — Current focus area
|
|
106
|
+
3. **"Anything else Claude should know?"** — Additional context
|
|
107
|
+
|
|
108
|
+
For new/empty projects, additional questions include:
|
|
109
|
+
- Project type selection (Web App, API, CLI, Library, Full-stack)
|
|
110
|
+
- AI-generated follow-up questions tailored to your project
|
|
111
|
+
|
|
112
|
+
All questions are optional (except project description for new projects). Press Enter to skip.
|
|
113
|
+
|
|
114
|
+
### Phase 3: AI Analysis & Proposal
|
|
115
|
+
|
|
116
|
+
If the Claude CLI is installed, ClaudeTools uses it to:
|
|
117
|
+
|
|
118
|
+
1. **Analyze your codebase** and generate a stack summary
|
|
119
|
+
2. **Propose a configuration** including frameworks, libraries, architecture
|
|
120
|
+
3. **Accept feedback** and refine the proposal iteratively
|
|
121
|
+
|
|
122
|
+
For new/empty projects, it will:
|
|
123
|
+
- Recommend a complete tech stack based on your description
|
|
124
|
+
- Offer to scaffold the project (create `package.json`, install dependencies)
|
|
125
|
+
|
|
126
|
+
**Approval workflow:**
|
|
127
|
+
```
|
|
128
|
+
┌─ Proposed Configuration ────────────────
|
|
129
|
+
│
|
|
130
|
+
│ A task management CLI with local storage
|
|
131
|
+
│
|
|
132
|
+
│ Frameworks: commander, ink
|
|
133
|
+
│ Libraries: chalk, conf, ora
|
|
134
|
+
│ Dev Tools: typescript, vitest, tsup
|
|
135
|
+
│ Architecture: CLI with command pattern
|
|
136
|
+
│
|
|
137
|
+
│ Recommendations:
|
|
138
|
+
│ • Use commander for argument parsing
|
|
139
|
+
│ • Store data in ~/.config with conf
|
|
140
|
+
│ • Add --json flag for scriptability
|
|
141
|
+
│
|
|
142
|
+
└──────────────────────────────────────────
|
|
143
|
+
|
|
144
|
+
? How does this look?
|
|
145
|
+
❯ Looks good, proceed
|
|
146
|
+
I have feedback
|
|
147
|
+
Skip AI analysis
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### Phase 4: Documentation Generation
|
|
151
|
+
|
|
152
|
+
ClaudeTools generates comprehensive documentation:
|
|
153
|
+
|
|
154
|
+
1. **Fetches official docs** via Context7 MCP for all detected libraries
|
|
155
|
+
2. **Creates organized documentation** in `.claudetools/docs/`
|
|
156
|
+
3. **Generates AGENTS.md** — the primary AI context file
|
|
157
|
+
|
|
158
|
+
## Output Structure
|
|
159
|
+
|
|
160
|
+
After running `claudetools onboard`, your project will have:
|
|
161
|
+
|
|
162
|
+
```
|
|
163
|
+
project-root/
|
|
164
|
+
├── AGENTS.md # Primary AI context file
|
|
165
|
+
├── .claude/
|
|
166
|
+
│ └── CLAUDE.md # Pointer to AGENTS.md
|
|
167
|
+
└── .claudetools/
|
|
168
|
+
└── docs/
|
|
169
|
+
├── index.md # Documentation hub
|
|
170
|
+
├── architecture/
|
|
171
|
+
│ ├── index.md
|
|
172
|
+
│ ├── system-design.md
|
|
173
|
+
│ ├── data-flow.md
|
|
174
|
+
│ └── components.md
|
|
175
|
+
├── api/
|
|
176
|
+
│ ├── index.md
|
|
177
|
+
│ └── endpoints.md
|
|
178
|
+
├── guides/
|
|
179
|
+
│ ├── getting-started.md
|
|
180
|
+
│ ├── development.md
|
|
181
|
+
│ └── contributing.md
|
|
182
|
+
├── reference/
|
|
183
|
+
│ ├── configuration.md
|
|
184
|
+
│ └── environment.md
|
|
185
|
+
├── patterns/
|
|
186
|
+
│ ├── coding-standards.md
|
|
187
|
+
│ └── naming-conventions.md
|
|
188
|
+
├── testing/
|
|
189
|
+
│ └── strategy.md
|
|
190
|
+
├── deployment/
|
|
191
|
+
│ └── environments.md
|
|
192
|
+
└── libraries/
|
|
193
|
+
├── index.md
|
|
194
|
+
├── react.md # Framework-specific docs
|
|
195
|
+
└── [library].md # Library-specific docs
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
### AGENTS.md
|
|
199
|
+
|
|
200
|
+
The primary AI context file contains:
|
|
201
|
+
|
|
202
|
+
- **Project Overview:** Name, description, and key technologies
|
|
203
|
+
- **Stack Summary:** Detected frameworks, libraries, and dev tools
|
|
204
|
+
- **Directory Structure:** Project tree (up to 4 levels)
|
|
205
|
+
- **Entry Points:** Main files and their purposes
|
|
206
|
+
- **Conventions:** Detected coding patterns and standards
|
|
207
|
+
- **Documentation Links:** References to generated docs
|
|
208
|
+
|
|
209
|
+
This file is designed to be read by AI agents at the start of a session to understand your project quickly.
|
|
210
|
+
|
|
211
|
+
## New Project Support
|
|
212
|
+
|
|
213
|
+
ClaudeTools fully supports empty/new projects:
|
|
214
|
+
|
|
215
|
+
```bash
|
|
216
|
+
mkdir my-new-project
|
|
217
|
+
cd my-new-project
|
|
218
|
+
claudetools onboard
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
**For new projects, ClaudeTools will:**
|
|
222
|
+
|
|
223
|
+
1. Ask what you want to build (required)
|
|
224
|
+
2. Ask the project type (web, api, cli, library, fullstack)
|
|
225
|
+
3. Generate AI-powered follow-up questions specific to your project
|
|
226
|
+
4. Recommend a complete tech stack
|
|
227
|
+
5. Offer to scaffold the project:
|
|
228
|
+
- Create `package.json` with recommended dependencies
|
|
229
|
+
- Detect and use your preferred package manager (pnpm, bun, yarn, npm)
|
|
230
|
+
- Install dependencies automatically
|
|
231
|
+
6. Generate AGENTS.md with the proposed configuration
|
|
232
|
+
|
|
233
|
+
**Example flow:**
|
|
234
|
+
|
|
235
|
+
```
|
|
236
|
+
▸ Phase 1/4: Stack Detection
|
|
237
|
+
ℹ New project - let's set it up
|
|
238
|
+
|
|
239
|
+
▸ Phase 2/4: Quick Questions
|
|
240
|
+
|
|
241
|
+
┌─ Quick Context ───────────────────────
|
|
242
|
+
│
|
|
243
|
+
│ New project setup
|
|
244
|
+
│ Tell us what you want to build.
|
|
245
|
+
│
|
|
246
|
+
└──────────────────────────────────────────
|
|
247
|
+
|
|
248
|
+
? What do you want to build? A REST API for managing bookmarks
|
|
249
|
+
? What type of project? API/Backend (Express/Fastify)
|
|
250
|
+
? What are you working on right now? Setting up the project structure
|
|
251
|
+
|
|
252
|
+
┌─ A few more questions ─────────────────
|
|
253
|
+
│
|
|
254
|
+
│ These will help tailor the stack.
|
|
255
|
+
│
|
|
256
|
+
└──────────────────────────────────────────
|
|
257
|
+
|
|
258
|
+
? Which database will you use? PostgreSQL
|
|
259
|
+
? Do you need user authentication? Yes, JWT-based
|
|
260
|
+
|
|
261
|
+
▸ Phase 3/4: AI Analysis
|
|
262
|
+
✓ Approved
|
|
263
|
+
? Create package.json and install dependencies? Yes
|
|
264
|
+
✓ Scaffolded with pnpm
|
|
265
|
+
|
|
266
|
+
▸ Phase 4/4: Building Documentation
|
|
267
|
+
✓ Generated 12 docs
|
|
268
|
+
✓ Created AGENTS.md
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
## Configuration
|
|
272
|
+
|
|
273
|
+
### Environment Variables
|
|
274
|
+
|
|
275
|
+
| Variable | Description |
|
|
276
|
+
|----------|-------------|
|
|
277
|
+
| `CLAUDETOOLS_NO_UPDATE` | Set to `1` to disable auto-update checks |
|
|
278
|
+
|
|
279
|
+
### Auto-Updates
|
|
280
|
+
|
|
281
|
+
ClaudeTools checks for updates automatically and prompts to upgrade when a new version is available. Disable with:
|
|
282
|
+
|
|
283
|
+
```bash
|
|
284
|
+
# Per-command
|
|
285
|
+
claudetools onboard --no-update
|
|
286
|
+
|
|
287
|
+
# Permanently
|
|
288
|
+
export CLAUDETOOLS_NO_UPDATE=1
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
## Integration with Claude Code
|
|
292
|
+
|
|
293
|
+
ClaudeTools generates files specifically designed for Claude Code:
|
|
294
|
+
|
|
295
|
+
1. **AGENTS.md** — Placed in project root, automatically read by Claude Code
|
|
296
|
+
2. **.claude/CLAUDE.md** — Points to AGENTS.md, follows Claude Code conventions
|
|
297
|
+
3. **Documentation structure** — Organized for easy AI navigation
|
|
298
|
+
|
|
299
|
+
When you start a Claude Code session, it will automatically have context about:
|
|
300
|
+
- Your tech stack and dependencies
|
|
301
|
+
- Project structure and entry points
|
|
302
|
+
- Coding conventions and patterns
|
|
303
|
+
- Links to relevant documentation
|
|
304
|
+
|
|
305
|
+
## Context7 Integration
|
|
306
|
+
|
|
307
|
+
ClaudeTools integrates with [Context7](https://context7.com) to fetch up-to-date documentation for your dependencies. When available, it will:
|
|
308
|
+
|
|
309
|
+
1. Resolve library names to Context7 IDs
|
|
310
|
+
2. Fetch official documentation, best practices, and examples
|
|
311
|
+
3. Generate markdown files in `.claudetools/docs/libraries/`
|
|
312
|
+
|
|
313
|
+
This requires `mcp-cli` to be configured with Context7 access.
|
|
314
|
+
|
|
315
|
+
## Supported Technologies
|
|
316
|
+
|
|
317
|
+
### Frameworks (25+)
|
|
318
|
+
|
|
319
|
+
| Category | Frameworks |
|
|
320
|
+
|----------|------------|
|
|
321
|
+
| Frontend | React, Vue, Svelte, Angular, Solid |
|
|
322
|
+
| Backend | Express, Fastify, Hono, NestJS, Koa |
|
|
323
|
+
| Full-stack | Next.js, Nuxt, Astro, Remix, SvelteKit |
|
|
324
|
+
| Mobile | React Native, Expo |
|
|
325
|
+
| Desktop | Electron, Tauri |
|
|
326
|
+
|
|
327
|
+
### Libraries (40+ categories)
|
|
328
|
+
|
|
329
|
+
| Category | Examples |
|
|
330
|
+
|----------|----------|
|
|
331
|
+
| Database | Prisma, Drizzle, Mongoose, TypeORM |
|
|
332
|
+
| State Management | Zustand, Redux, Jotai, MobX |
|
|
333
|
+
| Validation | Zod, Yup, Joi, Valibot |
|
|
334
|
+
| Authentication | Lucia, NextAuth, Clerk |
|
|
335
|
+
| UI Components | Radix, shadcn/ui, Headless UI |
|
|
336
|
+
| Styling | Tailwind CSS, Emotion, styled-components |
|
|
337
|
+
| HTTP Clients | Axios, ky, got |
|
|
338
|
+
| Testing | Vitest, Jest, Playwright, Cypress |
|
|
339
|
+
|
|
340
|
+
### Dev Tools
|
|
341
|
+
|
|
342
|
+
| Category | Tools |
|
|
343
|
+
|----------|-------|
|
|
344
|
+
| Type Checking | TypeScript |
|
|
345
|
+
| Linting | ESLint, Biome |
|
|
346
|
+
| Formatting | Prettier, Biome |
|
|
347
|
+
| Bundling | Vite, Webpack, esbuild, tsup |
|
|
348
|
+
| Testing | Vitest, Jest, Playwright |
|
|
349
|
+
|
|
350
|
+
## Troubleshooting
|
|
351
|
+
|
|
352
|
+
### "Claude CLI not available"
|
|
353
|
+
|
|
354
|
+
The AI analysis features require Claude CLI. Install it from [claude.ai/cli](https://claude.ai/cli).
|
|
355
|
+
|
|
356
|
+
Without Claude CLI, ClaudeTools will:
|
|
357
|
+
- Still detect your stack automatically
|
|
358
|
+
- Skip AI-powered proposal generation
|
|
359
|
+
- Generate documentation based on detected dependencies
|
|
360
|
+
|
|
361
|
+
### "No project files detected"
|
|
362
|
+
|
|
363
|
+
This message appears for empty directories. ClaudeTools now supports new project setup — just answer the questions and it will recommend and scaffold a stack for you.
|
|
364
|
+
|
|
365
|
+
### Documentation not generating
|
|
366
|
+
|
|
367
|
+
Ensure you have:
|
|
368
|
+
1. `mcp-cli` installed and configured
|
|
369
|
+
2. Context7 MCP server accessible
|
|
370
|
+
3. Network connectivity
|
|
371
|
+
|
|
372
|
+
Use `--verbose` to see detailed output:
|
|
373
|
+
|
|
374
|
+
```bash
|
|
375
|
+
claudetools onboard --verbose
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
### Refreshing stale documentation
|
|
379
|
+
|
|
380
|
+
If your dependencies have changed:
|
|
381
|
+
|
|
382
|
+
```bash
|
|
383
|
+
claudetools onboard --refresh
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
This will re-fetch all documentation and regenerate AGENTS.md.
|
|
387
|
+
|
|
388
|
+
## Uninstalling
|
|
389
|
+
|
|
390
|
+
```bash
|
|
391
|
+
npm uninstall -g @claudetools/cli
|
|
392
|
+
```
|
|
393
|
+
|
|
394
|
+
To remove generated files from a project:
|
|
395
|
+
|
|
396
|
+
```bash
|
|
397
|
+
rm -rf AGENTS.md .claude .claudetools
|
|
398
|
+
```
|
|
399
|
+
|
|
400
|
+
## Contributing
|
|
401
|
+
|
|
402
|
+
ClaudeTools is part of a monorepo. To contribute:
|
|
403
|
+
|
|
404
|
+
```bash
|
|
405
|
+
git clone https://github.com/claudetools/claudetools
|
|
406
|
+
cd claudetools
|
|
407
|
+
pnpm install
|
|
408
|
+
pnpm dev
|
|
409
|
+
```
|
|
410
|
+
|
|
411
|
+
Run tests:
|
|
412
|
+
|
|
413
|
+
```bash
|
|
414
|
+
pnpm test
|
|
415
|
+
```
|
|
416
|
+
|
|
417
|
+
## License
|
|
418
|
+
|
|
419
|
+
MIT
|
|
420
|
+
|
|
421
|
+
---
|
|
422
|
+
|
|
423
|
+
**Built for AI-assisted development.** ClaudeTools reduces the friction of onboarding AI agents to your codebase by automatically generating comprehensive context files.
|
|
@@ -13,6 +13,24 @@ export declare function runClaudeAnalysis(projectPath: string, prompt: string, t
|
|
|
13
13
|
* Use Claude to analyze the codebase and generate onboarding answers
|
|
14
14
|
*/
|
|
15
15
|
export declare function analyzeWithClaude(projectPath: string, stack: StackInfo): Promise<OnboardingAnswers>;
|
|
16
|
+
export interface DynamicQuestion {
|
|
17
|
+
id: string;
|
|
18
|
+
question: string;
|
|
19
|
+
type: 'text' | 'select' | 'confirm';
|
|
20
|
+
options?: Array<{
|
|
21
|
+
title: string;
|
|
22
|
+
value: string;
|
|
23
|
+
}>;
|
|
24
|
+
why?: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Generate dynamic follow-up questions based on initial context
|
|
28
|
+
*/
|
|
29
|
+
export declare function generateDynamicQuestions(projectPath: string, context: {
|
|
30
|
+
projectDescription?: string;
|
|
31
|
+
mainGoal?: string;
|
|
32
|
+
isNewProject: boolean;
|
|
33
|
+
}): Promise<DynamicQuestion[]>;
|
|
16
34
|
/**
|
|
17
35
|
* Use Claude to generate comprehensive documentation
|
|
18
36
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-inference.d.ts","sourceRoot":"","sources":["../../src/onboard/claude-inference.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAO9C;AAkDD;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,OAAO,SAAQ,GACd,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAMxB;AAuCD;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,iBAAiB,CAAC,CA2C5B;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,UAAU,GAAG,cAAc,GAAG,aAAa,GAAG,UAAU,GAChE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAgDxB"}
|
|
1
|
+
{"version":3,"file":"claude-inference.d.ts","sourceRoot":"","sources":["../../src/onboard/claude-inference.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAO9C;AAkDD;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,OAAO,SAAQ,GACd,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAMxB;AAuCD;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,iBAAiB,CAAC,CA2C5B;AAMD,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IACpC,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClD,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE;IACP,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;CACvB,GACA,OAAO,CAAC,eAAe,EAAE,CAAC,CAuD5B;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,UAAU,GAAG,cAAc,GAAG,aAAa,GAAG,UAAU,GAChE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAgDxB"}
|
|
@@ -145,6 +145,63 @@ Respond ONLY with valid JSON, no explanation.`;
|
|
|
145
145
|
}
|
|
146
146
|
return {};
|
|
147
147
|
}
|
|
148
|
+
/**
|
|
149
|
+
* Generate dynamic follow-up questions based on initial context
|
|
150
|
+
*/
|
|
151
|
+
export async function generateDynamicQuestions(projectPath, context) {
|
|
152
|
+
const prompt = `Based on the user's project description, generate 2-4 clarifying questions that would help you recommend the best tech stack and architecture.
|
|
153
|
+
|
|
154
|
+
User's description: "${context.projectDescription || 'Not provided'}"
|
|
155
|
+
${context.mainGoal ? `Current focus: ${context.mainGoal}` : ''}
|
|
156
|
+
Is new project: ${context.isNewProject}
|
|
157
|
+
|
|
158
|
+
Generate questions that:
|
|
159
|
+
1. Clarify important technical decisions (auth, database, deployment, etc.)
|
|
160
|
+
2. Understand constraints (team size, timeline, existing systems)
|
|
161
|
+
3. Are specific to what they described
|
|
162
|
+
4. Would significantly impact the tech stack recommendation
|
|
163
|
+
|
|
164
|
+
DO NOT ask generic questions. DO NOT ask what type of project it is - infer that from their description.
|
|
165
|
+
Be specific to what they're building.
|
|
166
|
+
|
|
167
|
+
Respond ONLY with valid JSON array:
|
|
168
|
+
[
|
|
169
|
+
{
|
|
170
|
+
"id": "unique-id",
|
|
171
|
+
"question": "The question text?",
|
|
172
|
+
"type": "select",
|
|
173
|
+
"options": [
|
|
174
|
+
{ "title": "Option 1", "value": "option1" },
|
|
175
|
+
{ "title": "Option 2", "value": "option2" }
|
|
176
|
+
],
|
|
177
|
+
"why": "Brief reason this matters"
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
"id": "another-id",
|
|
181
|
+
"question": "Open-ended question?",
|
|
182
|
+
"type": "text",
|
|
183
|
+
"why": "Why this helps"
|
|
184
|
+
}
|
|
185
|
+
]
|
|
186
|
+
|
|
187
|
+
Use "select" for questions with clear options, "text" for open-ended, "confirm" for yes/no.`;
|
|
188
|
+
try {
|
|
189
|
+
const response = await runClaudeHeadless(prompt, projectPath, { timeout: 45000 });
|
|
190
|
+
// Extract JSON array from response
|
|
191
|
+
const jsonMatch = response.match(/\[[\s\S]*\]/);
|
|
192
|
+
if (jsonMatch) {
|
|
193
|
+
const parsed = JSON.parse(jsonMatch[0]);
|
|
194
|
+
// Validate and limit to 4 questions
|
|
195
|
+
return parsed
|
|
196
|
+
.filter(q => q.id && q.question && q.type)
|
|
197
|
+
.slice(0, 4);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
catch {
|
|
201
|
+
// Silent fail - return empty array
|
|
202
|
+
}
|
|
203
|
+
return [];
|
|
204
|
+
}
|
|
148
205
|
/**
|
|
149
206
|
* Use Claude to generate comprehensive documentation
|
|
150
207
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-inference.js","sourceRoot":"","sources":["../../src/onboard/claude-inference.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"claude-inference.js","sourceRoot":"","sources":["../../src/onboard/claude-inference.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/onboard/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/onboard/index.ts"],"names":[],"mappings":"AAmBA,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAmBD;;GAEG;AACH,wBAAsB,UAAU,CAC9B,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CA0Lf;AAuXD,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/onboard/index.js
CHANGED
|
@@ -6,6 +6,7 @@ import chalk from 'chalk';
|
|
|
6
6
|
import ora from 'ora';
|
|
7
7
|
import prompts from 'prompts';
|
|
8
8
|
import { existsSync, writeFileSync, mkdirSync, readFileSync } from 'fs';
|
|
9
|
+
import { execSync } from 'child_process';
|
|
9
10
|
import { join, basename } from 'path';
|
|
10
11
|
import { detectStack } from './stack-detector.js';
|
|
11
12
|
import { buildDocs } from './docs-builder.js';
|
|
@@ -37,14 +38,11 @@ export async function runOnboard(projectPath, options = {}) {
|
|
|
37
38
|
const stackSpinner = ora({ text: 'Scanning project files...', indent: 4 }).start();
|
|
38
39
|
const stack = detectStack(projectPath);
|
|
39
40
|
if (stack.isEmpty) {
|
|
40
|
-
stackSpinner.
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
console.log('');
|
|
45
|
-
return;
|
|
41
|
+
stackSpinner.info(chalk.cyan('New project - let\'s set it up'));
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
stackSpinner.succeed(chalk.green('Stack detected'));
|
|
46
45
|
}
|
|
47
|
-
stackSpinner.succeed(chalk.green('Stack detected'));
|
|
48
46
|
console.log('');
|
|
49
47
|
// ==========================================================================
|
|
50
48
|
// Phase 2: Quick Questions
|
|
@@ -52,7 +50,10 @@ export async function runOnboard(projectPath, options = {}) {
|
|
|
52
50
|
console.log(chalk.cyan(' ▸ Phase 2/4: Quick Questions'));
|
|
53
51
|
let answers = {};
|
|
54
52
|
if (!options.skipQuestions && !options.refresh) {
|
|
55
|
-
answers = await runInteractiveOnboarding(stack, {
|
|
53
|
+
answers = await runInteractiveOnboarding(stack, {
|
|
54
|
+
verbose: options.verbose,
|
|
55
|
+
isNewProject: stack.isEmpty,
|
|
56
|
+
});
|
|
56
57
|
}
|
|
57
58
|
else {
|
|
58
59
|
console.log(chalk.dim(' Skipping questions'));
|
|
@@ -88,6 +89,19 @@ export async function runOnboard(projectPath, options = {}) {
|
|
|
88
89
|
if (decision === 'approve') {
|
|
89
90
|
approved = true;
|
|
90
91
|
console.log(chalk.green(' ✓ Approved'));
|
|
92
|
+
// For empty projects, offer scaffolding
|
|
93
|
+
if (stack.isEmpty) {
|
|
94
|
+
console.log('');
|
|
95
|
+
const { scaffold } = await prompts({
|
|
96
|
+
type: 'confirm',
|
|
97
|
+
name: 'scaffold',
|
|
98
|
+
message: ' Create package.json and install dependencies?',
|
|
99
|
+
initial: true,
|
|
100
|
+
});
|
|
101
|
+
if (scaffold) {
|
|
102
|
+
await scaffoldProject(projectPath, proposal, answers);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
91
105
|
}
|
|
92
106
|
else if (decision === 'feedback') {
|
|
93
107
|
const { feedback } = await prompts({
|
|
@@ -178,15 +192,61 @@ export async function runOnboard(projectPath, options = {}) {
|
|
|
178
192
|
// =============================================================================
|
|
179
193
|
// Proposal Generation
|
|
180
194
|
// =============================================================================
|
|
195
|
+
/**
|
|
196
|
+
* Format dynamic answers for inclusion in AI prompts
|
|
197
|
+
*/
|
|
198
|
+
function formatDynamicAnswers(answers) {
|
|
199
|
+
const dynamicAnswers = Object.entries(answers)
|
|
200
|
+
.filter(([key, value]) => key.startsWith('dynamic_') && value)
|
|
201
|
+
.map(([key, value]) => {
|
|
202
|
+
// Convert dynamic_auth-method to "Auth method"
|
|
203
|
+
const label = key
|
|
204
|
+
.replace('dynamic_', '')
|
|
205
|
+
.replace(/-/g, ' ')
|
|
206
|
+
.replace(/\b\w/g, c => c.toUpperCase());
|
|
207
|
+
return `- ${label}: ${value}`;
|
|
208
|
+
});
|
|
209
|
+
if (dynamicAnswers.length === 0)
|
|
210
|
+
return '';
|
|
211
|
+
return `\nAdditional requirements:\n${dynamicAnswers.join('\n')}`;
|
|
212
|
+
}
|
|
181
213
|
async function generateProposal(projectPath, stack, answers) {
|
|
182
|
-
const
|
|
214
|
+
const isNewProject = stack.isEmpty;
|
|
215
|
+
const spinnerText = isNewProject ? 'Generating stack recommendation...' : 'Analyzing codebase...';
|
|
216
|
+
const spinner = ora({ text: spinnerText, indent: 4 }).start();
|
|
183
217
|
try {
|
|
184
|
-
|
|
218
|
+
let prompt;
|
|
219
|
+
if (isNewProject) {
|
|
220
|
+
// For new/empty projects: recommend a complete stack based on description
|
|
221
|
+
prompt = `The user wants to build a new project.
|
|
222
|
+
|
|
223
|
+
Their description: "${answers.projectDescription || 'Not specified'}"
|
|
224
|
+
${answers.mainGoal ? `Current focus: ${answers.mainGoal}` : ''}
|
|
225
|
+
${answers.additionalContext ? `Additional context: ${answers.additionalContext}` : ''}
|
|
226
|
+
${formatDynamicAnswers(answers)}
|
|
227
|
+
|
|
228
|
+
Based on their description, infer the project type and recommend a modern, production-ready tech stack.
|
|
229
|
+
Choose popular, well-maintained tools with good documentation.
|
|
230
|
+
|
|
231
|
+
Respond in this exact JSON format:
|
|
232
|
+
{
|
|
233
|
+
"summary": "One sentence describing what this project will be",
|
|
234
|
+
"frameworks": ["primary framework", "supporting frameworks"],
|
|
235
|
+
"libraries": ["essential libraries for this type of project"],
|
|
236
|
+
"devTools": ["typescript", "eslint", "prettier", "testing framework"],
|
|
237
|
+
"architecture": "Recommended architecture approach",
|
|
238
|
+
"recommendations": ["key suggestion 1", "key suggestion 2", "key suggestion 3"]
|
|
239
|
+
}`;
|
|
240
|
+
}
|
|
241
|
+
else {
|
|
242
|
+
// For existing projects: analyze the codebase
|
|
243
|
+
prompt = `Analyze this codebase and provide a brief stack summary.
|
|
185
244
|
|
|
186
245
|
User context:
|
|
187
246
|
${answers.projectDescription ? `- Project: ${answers.projectDescription}` : ''}
|
|
188
247
|
${answers.mainGoal ? `- Current focus: ${answers.mainGoal}` : ''}
|
|
189
248
|
${answers.additionalContext ? `- Notes: ${answers.additionalContext}` : ''}
|
|
249
|
+
${formatDynamicAnswers(answers)}
|
|
190
250
|
|
|
191
251
|
Detected from package.json:
|
|
192
252
|
- Frameworks: ${stack.frameworks.map(f => f.name).join(', ') || 'none detected'}
|
|
@@ -202,6 +262,7 @@ Respond in this exact JSON format:
|
|
|
202
262
|
"architecture": "Brief architecture description",
|
|
203
263
|
"recommendations": ["suggestion 1", "suggestion 2"]
|
|
204
264
|
}`;
|
|
265
|
+
}
|
|
205
266
|
const result = await runClaudeAnalysis(projectPath, prompt, 60000);
|
|
206
267
|
spinner.stop();
|
|
207
268
|
if (result) {
|
|
@@ -297,6 +358,136 @@ function displayProposal(proposal) {
|
|
|
297
358
|
console.log('');
|
|
298
359
|
}
|
|
299
360
|
// =============================================================================
|
|
361
|
+
// Scaffolding for New Projects
|
|
362
|
+
// =============================================================================
|
|
363
|
+
async function scaffoldProject(projectPath, proposal, answers) {
|
|
364
|
+
const spinner = ora({ text: 'Scaffolding project...', indent: 4 }).start();
|
|
365
|
+
try {
|
|
366
|
+
// Detect package manager
|
|
367
|
+
const packageManager = detectPackageManager();
|
|
368
|
+
// Generate package.json
|
|
369
|
+
const projectName = basename(projectPath).toLowerCase().replace(/[^a-z0-9-]/g, '-');
|
|
370
|
+
const packageJson = generatePackageJson(projectName, proposal, answers);
|
|
371
|
+
const packageJsonPath = join(projectPath, 'package.json');
|
|
372
|
+
writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2));
|
|
373
|
+
spinner.text = 'Created package.json';
|
|
374
|
+
// Install dependencies
|
|
375
|
+
spinner.text = `Installing dependencies with ${packageManager}...`;
|
|
376
|
+
const installCmd = packageManager === 'yarn' ? 'yarn' : `${packageManager} install`;
|
|
377
|
+
try {
|
|
378
|
+
execSync(installCmd, {
|
|
379
|
+
cwd: projectPath,
|
|
380
|
+
stdio: 'pipe',
|
|
381
|
+
timeout: 120000, // 2 minute timeout
|
|
382
|
+
});
|
|
383
|
+
spinner.succeed(chalk.green(`Scaffolded with ${packageManager}`));
|
|
384
|
+
}
|
|
385
|
+
catch {
|
|
386
|
+
spinner.warn(chalk.yellow('Created package.json (install failed - run manually)'));
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
catch (err) {
|
|
390
|
+
spinner.fail(chalk.red('Scaffolding failed'));
|
|
391
|
+
console.error(chalk.dim(` ${err instanceof Error ? err.message : String(err)}`));
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
function detectPackageManager() {
|
|
395
|
+
// Check for lock files in current directory or common indicators
|
|
396
|
+
try {
|
|
397
|
+
execSync('pnpm --version', { stdio: 'pipe' });
|
|
398
|
+
return 'pnpm';
|
|
399
|
+
}
|
|
400
|
+
catch {
|
|
401
|
+
// pnpm not available
|
|
402
|
+
}
|
|
403
|
+
try {
|
|
404
|
+
execSync('bun --version', { stdio: 'pipe' });
|
|
405
|
+
return 'bun';
|
|
406
|
+
}
|
|
407
|
+
catch {
|
|
408
|
+
// bun not available
|
|
409
|
+
}
|
|
410
|
+
try {
|
|
411
|
+
execSync('yarn --version', { stdio: 'pipe' });
|
|
412
|
+
return 'yarn';
|
|
413
|
+
}
|
|
414
|
+
catch {
|
|
415
|
+
// yarn not available
|
|
416
|
+
}
|
|
417
|
+
return 'npm';
|
|
418
|
+
}
|
|
419
|
+
function generatePackageJson(projectName, proposal, answers) {
|
|
420
|
+
const dependencies = {};
|
|
421
|
+
const devDependencies = {};
|
|
422
|
+
// Add frameworks as dependencies
|
|
423
|
+
for (const framework of proposal.frameworks) {
|
|
424
|
+
const dep = frameworkToPackage(framework);
|
|
425
|
+
if (dep)
|
|
426
|
+
dependencies[dep] = 'latest';
|
|
427
|
+
}
|
|
428
|
+
// Add libraries as dependencies
|
|
429
|
+
for (const lib of proposal.libraries) {
|
|
430
|
+
const dep = libraryToPackage(lib);
|
|
431
|
+
if (dep)
|
|
432
|
+
dependencies[dep] = 'latest';
|
|
433
|
+
}
|
|
434
|
+
// Add dev tools as devDependencies
|
|
435
|
+
for (const tool of proposal.devTools) {
|
|
436
|
+
const dep = devToolToPackage(tool);
|
|
437
|
+
if (dep)
|
|
438
|
+
devDependencies[dep] = 'latest';
|
|
439
|
+
}
|
|
440
|
+
// Always include TypeScript for modern projects
|
|
441
|
+
if (!devDependencies['typescript']) {
|
|
442
|
+
devDependencies['typescript'] = 'latest';
|
|
443
|
+
}
|
|
444
|
+
return {
|
|
445
|
+
name: projectName,
|
|
446
|
+
version: '0.1.0',
|
|
447
|
+
description: answers.projectDescription || proposal.summary,
|
|
448
|
+
type: 'module',
|
|
449
|
+
scripts: {
|
|
450
|
+
dev: 'echo "Add your dev script"',
|
|
451
|
+
build: 'echo "Add your build script"',
|
|
452
|
+
test: 'echo "Add your test script"',
|
|
453
|
+
},
|
|
454
|
+
dependencies,
|
|
455
|
+
devDependencies,
|
|
456
|
+
};
|
|
457
|
+
}
|
|
458
|
+
function frameworkToPackage(framework) {
|
|
459
|
+
const mapping = {
|
|
460
|
+
'next.js': 'next',
|
|
461
|
+
'nextjs': 'next',
|
|
462
|
+
'react': 'react',
|
|
463
|
+
'vue': 'vue',
|
|
464
|
+
'nuxt': 'nuxt',
|
|
465
|
+
'express': 'express',
|
|
466
|
+
'fastify': 'fastify',
|
|
467
|
+
'hono': 'hono',
|
|
468
|
+
'svelte': 'svelte',
|
|
469
|
+
'sveltekit': '@sveltejs/kit',
|
|
470
|
+
'astro': 'astro',
|
|
471
|
+
'remix': '@remix-run/node',
|
|
472
|
+
};
|
|
473
|
+
return mapping[framework.toLowerCase()] || framework.toLowerCase();
|
|
474
|
+
}
|
|
475
|
+
function libraryToPackage(lib) {
|
|
476
|
+
// Most libraries map directly to their package name
|
|
477
|
+
return lib.toLowerCase().replace(/\s+/g, '-');
|
|
478
|
+
}
|
|
479
|
+
function devToolToPackage(tool) {
|
|
480
|
+
const mapping = {
|
|
481
|
+
'typescript': 'typescript',
|
|
482
|
+
'eslint': 'eslint',
|
|
483
|
+
'prettier': 'prettier',
|
|
484
|
+
'vitest': 'vitest',
|
|
485
|
+
'jest': 'jest',
|
|
486
|
+
'biome': '@biomejs/biome',
|
|
487
|
+
};
|
|
488
|
+
return mapping[tool.toLowerCase()] || tool.toLowerCase();
|
|
489
|
+
}
|
|
490
|
+
// =============================================================================
|
|
300
491
|
// Helper Functions
|
|
301
492
|
// =============================================================================
|
|
302
493
|
function createClaudeMdPointer(projectPath, projectName) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/onboard/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/onboard/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"questions.d.ts","sourceRoot":"","sources":["../../src/onboard/questions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"questions.d.ts","sourceRoot":"","sources":["../../src/onboard/questions.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,MAAM,WAAW,iBAAiB;IAEhC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAG3B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACnC;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,SAAS,EAChB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,iBAAiB,CAAC,CAuH5B;AA+DD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAgBvE"}
|
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
// Ask simple questions, let Claude infer the rest
|
|
5
5
|
import prompts from 'prompts';
|
|
6
6
|
import chalk from 'chalk';
|
|
7
|
+
import ora from 'ora';
|
|
8
|
+
import { generateDynamicQuestions, isClaudeCliAvailable } from './claude-inference.js';
|
|
7
9
|
/**
|
|
8
10
|
* Ask a few simple open-ended questions
|
|
9
11
|
* Claude will infer everything else from the codebase + these answers
|
|
@@ -14,21 +16,47 @@ export async function runInteractiveOnboarding(stack, options = {}) {
|
|
|
14
16
|
console.log('');
|
|
15
17
|
console.log(chalk.dim(' ┌─ Quick Context ───────────────────────'));
|
|
16
18
|
console.log(chalk.dim(' │'));
|
|
17
|
-
|
|
18
|
-
|
|
19
|
+
if (isNew) {
|
|
20
|
+
console.log(chalk.dim(' │ ') + chalk.cyan('New project setup'));
|
|
21
|
+
console.log(chalk.dim(' │ Tell us what you want to build.'));
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
console.log(chalk.dim(' │ A few quick questions to help Claude understand.'));
|
|
25
|
+
console.log(chalk.dim(' │ Press Enter to skip any question.'));
|
|
26
|
+
}
|
|
19
27
|
console.log(chalk.dim(' │'));
|
|
20
28
|
console.log(chalk.dim(' └──────────────────────────────────────────'));
|
|
21
29
|
console.log('');
|
|
22
|
-
// Question 1: What is this?
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
// Question 1: What is this? (REQUIRED for new projects)
|
|
31
|
+
let projectDescription;
|
|
32
|
+
if (isNew) {
|
|
33
|
+
// For new projects, keep asking until they provide a description
|
|
34
|
+
while (!projectDescription) {
|
|
35
|
+
const q1 = await safePrompt({
|
|
36
|
+
type: 'text',
|
|
37
|
+
name: 'projectDescription',
|
|
38
|
+
message: 'What do you want to build?',
|
|
39
|
+
});
|
|
40
|
+
if (q1?.projectDescription && typeof q1.projectDescription === 'string' && q1.projectDescription.trim()) {
|
|
41
|
+
projectDescription = q1.projectDescription.trim();
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
console.log(chalk.yellow(' Please describe what you want to build.'));
|
|
45
|
+
console.log('');
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
answers.projectDescription = projectDescription;
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
// For existing projects, description is optional
|
|
52
|
+
const q1 = await safePrompt({
|
|
53
|
+
type: 'text',
|
|
54
|
+
name: 'projectDescription',
|
|
55
|
+
message: 'What is this project? (one sentence)',
|
|
56
|
+
});
|
|
57
|
+
if (q1?.projectDescription && typeof q1.projectDescription === 'string' && q1.projectDescription.trim()) {
|
|
58
|
+
answers.projectDescription = q1.projectDescription.trim();
|
|
59
|
+
}
|
|
32
60
|
}
|
|
33
61
|
// Question 2: Main goal (only if they answered Q1)
|
|
34
62
|
if (answers.projectDescription) {
|
|
@@ -50,6 +78,40 @@ export async function runInteractiveOnboarding(stack, options = {}) {
|
|
|
50
78
|
if (q3?.additionalContext && typeof q3.additionalContext === 'string' && q3.additionalContext.trim()) {
|
|
51
79
|
answers.additionalContext = q3.additionalContext.trim();
|
|
52
80
|
}
|
|
81
|
+
// Dynamic AI-generated questions (for new projects with Claude CLI available)
|
|
82
|
+
if (isNew && isClaudeCliAvailable() && answers.projectDescription) {
|
|
83
|
+
console.log('');
|
|
84
|
+
const dynamicSpinner = ora({ text: 'Generating follow-up questions...', indent: 4 }).start();
|
|
85
|
+
try {
|
|
86
|
+
const dynamicQuestions = await generateDynamicQuestions(process.cwd(), {
|
|
87
|
+
projectDescription: answers.projectDescription,
|
|
88
|
+
mainGoal: answers.mainGoal,
|
|
89
|
+
isNewProject: true,
|
|
90
|
+
});
|
|
91
|
+
dynamicSpinner.stop();
|
|
92
|
+
if (dynamicQuestions.length > 0) {
|
|
93
|
+
console.log('');
|
|
94
|
+
console.log(chalk.dim(' ┌─ A few more questions ─────────────────'));
|
|
95
|
+
console.log(chalk.dim(' │'));
|
|
96
|
+
console.log(chalk.dim(' │ ') + chalk.cyan('These will help tailor the stack.'));
|
|
97
|
+
console.log(chalk.dim(' │ Press Enter to skip any question.'));
|
|
98
|
+
console.log(chalk.dim(' │'));
|
|
99
|
+
console.log(chalk.dim(' └──────────────────────────────────────────'));
|
|
100
|
+
console.log('');
|
|
101
|
+
// Ask each dynamic question
|
|
102
|
+
for (const dq of dynamicQuestions) {
|
|
103
|
+
const response = await askDynamicQuestion(dq);
|
|
104
|
+
if (response !== null && response !== undefined && String(response).trim()) {
|
|
105
|
+
answers[`dynamic_${dq.id}`] = String(response).trim();
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
catch {
|
|
111
|
+
dynamicSpinner.stop();
|
|
112
|
+
// Silent fail - continue without dynamic questions
|
|
113
|
+
}
|
|
114
|
+
}
|
|
53
115
|
console.log('');
|
|
54
116
|
const answeredCount = Object.keys(answers).filter(k => answers[k]).length;
|
|
55
117
|
if (answeredCount > 0) {
|
|
@@ -61,6 +123,51 @@ export async function runInteractiveOnboarding(stack, options = {}) {
|
|
|
61
123
|
return answers;
|
|
62
124
|
}
|
|
63
125
|
// =============================================================================
|
|
126
|
+
// Dynamic Question Handler
|
|
127
|
+
// =============================================================================
|
|
128
|
+
async function askDynamicQuestion(dq) {
|
|
129
|
+
try {
|
|
130
|
+
if (dq.type === 'select' && dq.options) {
|
|
131
|
+
const response = await prompts({
|
|
132
|
+
type: 'select',
|
|
133
|
+
name: 'value',
|
|
134
|
+
message: dq.question,
|
|
135
|
+
choices: dq.options.map(o => ({ title: o.title, value: o.value })),
|
|
136
|
+
hint: dq.why,
|
|
137
|
+
}, {
|
|
138
|
+
onCancel: () => { throw new Error('cancelled'); },
|
|
139
|
+
});
|
|
140
|
+
return response?.value ?? null;
|
|
141
|
+
}
|
|
142
|
+
else if (dq.type === 'confirm') {
|
|
143
|
+
const response = await prompts({
|
|
144
|
+
type: 'confirm',
|
|
145
|
+
name: 'value',
|
|
146
|
+
message: dq.question,
|
|
147
|
+
hint: dq.why,
|
|
148
|
+
}, {
|
|
149
|
+
onCancel: () => { throw new Error('cancelled'); },
|
|
150
|
+
});
|
|
151
|
+
return response?.value ?? null;
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
// text type
|
|
155
|
+
const response = await prompts({
|
|
156
|
+
type: 'text',
|
|
157
|
+
name: 'value',
|
|
158
|
+
message: dq.question,
|
|
159
|
+
hint: dq.why,
|
|
160
|
+
}, {
|
|
161
|
+
onCancel: () => { throw new Error('cancelled'); },
|
|
162
|
+
});
|
|
163
|
+
return response?.value ?? null;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
catch {
|
|
167
|
+
return null;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
// =============================================================================
|
|
64
171
|
// Safe prompt wrapper - handles cancellation gracefully
|
|
65
172
|
// =============================================================================
|
|
66
173
|
async function safePrompt(config) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"questions.js","sourceRoot":"","sources":["../../src/onboard/questions.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,iEAAiE;AACjE,gFAAgF;AAChF,kDAAkD;AAElD,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"questions.js","sourceRoot":"","sources":["../../src/onboard/questions.ts"],"names":[],"mappings":"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"}
|