@thanhvn14/csvibe 0.1.0 → 0.1.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/.csvibe/state/approaches.json +1 -0
- package/README.md +142 -3
- package/dist/commands/brainstorm.d.ts +16 -0
- package/dist/commands/brainstorm.d.ts.map +1 -0
- package/dist/commands/brainstorm.js +186 -0
- package/dist/commands/brainstorm.js.map +1 -0
- package/dist/commands/doctor.d.ts +9 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +72 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/help.d.ts.map +1 -1
- package/dist/commands/help.js +13 -7
- package/dist/commands/help.js.map +1 -1
- package/dist/commands/index.d.ts +3 -0
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +7 -1
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/init/index.d.ts +7 -0
- package/dist/commands/init/index.d.ts.map +1 -0
- package/dist/commands/init/index.js +10 -0
- package/dist/commands/init/index.js.map +1 -0
- package/dist/commands/init/init-command.d.ts +10 -0
- package/dist/commands/init/init-command.d.ts.map +1 -0
- package/dist/commands/init/init-command.js +75 -0
- package/dist/commands/init/init-command.js.map +1 -0
- package/dist/commands/init/phases/config-handler.d.ts +10 -0
- package/dist/commands/init/phases/config-handler.d.ts.map +1 -0
- package/dist/commands/init/phases/config-handler.js +21 -0
- package/dist/commands/init/phases/config-handler.js.map +1 -0
- package/dist/commands/init/phases/detection-handler.d.ts +10 -0
- package/dist/commands/init/phases/detection-handler.d.ts.map +1 -0
- package/dist/commands/init/phases/detection-handler.js +80 -0
- package/dist/commands/init/phases/detection-handler.js.map +1 -0
- package/dist/commands/init/phases/download-handler.d.ts +9 -0
- package/dist/commands/init/phases/download-handler.d.ts.map +1 -0
- package/dist/commands/init/phases/download-handler.js +16 -0
- package/dist/commands/init/phases/download-handler.js.map +1 -0
- package/dist/commands/init/phases/prompt-handler.d.ts +10 -0
- package/dist/commands/init/phases/prompt-handler.d.ts.map +1 -0
- package/dist/commands/init/phases/prompt-handler.js +24 -0
- package/dist/commands/init/phases/prompt-handler.js.map +1 -0
- package/dist/commands/init/phases/scaffold-handler.d.ts +9 -0
- package/dist/commands/init/phases/scaffold-handler.d.ts.map +1 -0
- package/dist/commands/init/phases/scaffold-handler.js +18 -0
- package/dist/commands/init/phases/scaffold-handler.js.map +1 -0
- package/dist/commands/init/phases/validation-handler.d.ts +14 -0
- package/dist/commands/init/phases/validation-handler.d.ts.map +1 -0
- package/dist/commands/init/phases/validation-handler.js +50 -0
- package/dist/commands/init/phases/validation-handler.js.map +1 -0
- package/dist/commands/init/phases/vscode-handler.d.ts +9 -0
- package/dist/commands/init/phases/vscode-handler.d.ts.map +1 -0
- package/dist/commands/init/phases/vscode-handler.js +16 -0
- package/dist/commands/init/phases/vscode-handler.js.map +1 -0
- package/dist/commands/init/types.d.ts +28 -0
- package/dist/commands/init/types.d.ts.map +1 -0
- package/dist/commands/init/types.js +6 -0
- package/dist/commands/init/types.js.map +1 -0
- package/dist/commands/scout.d.ts +30 -0
- package/dist/commands/scout.d.ts.map +1 -0
- package/dist/commands/scout.js +116 -0
- package/dist/commands/scout.js.map +1 -0
- package/dist/config/constants.d.ts +3 -3
- package/dist/config/constants.js +3 -3
- package/dist/config/constants.js.map +1 -1
- package/dist/domains/config/generator.d.ts +17 -0
- package/dist/domains/config/generator.d.ts.map +1 -0
- package/dist/domains/config/generator.js +67 -0
- package/dist/domains/config/generator.js.map +1 -0
- package/dist/domains/config/index.d.ts +8 -0
- package/dist/domains/config/index.d.ts.map +1 -0
- package/dist/domains/config/index.js +15 -0
- package/dist/domains/config/index.js.map +1 -0
- package/dist/domains/config/types.d.ts +39 -0
- package/dist/domains/config/types.d.ts.map +1 -0
- package/dist/domains/config/types.js +6 -0
- package/dist/domains/config/types.js.map +1 -0
- package/dist/domains/config/validator.d.ts +17 -0
- package/dist/domains/config/validator.d.ts.map +1 -0
- package/dist/domains/config/validator.js +54 -0
- package/dist/domains/config/validator.js.map +1 -0
- package/dist/domains/github/auth-api.d.ts +19 -0
- package/dist/domains/github/auth-api.d.ts.map +1 -0
- package/dist/domains/github/auth-api.js +196 -0
- package/dist/domains/github/auth-api.js.map +1 -0
- package/dist/domains/github/github-client.d.ts +323 -0
- package/dist/domains/github/github-client.d.ts.map +1 -0
- package/dist/domains/github/github-client.js +192 -0
- package/dist/domains/github/github-client.js.map +1 -0
- package/dist/domains/github/index.d.ts +9 -0
- package/dist/domains/github/index.d.ts.map +1 -0
- package/dist/domains/github/index.js +23 -0
- package/dist/domains/github/index.js.map +1 -0
- package/dist/domains/github/keychain.d.ts +19 -0
- package/dist/domains/github/keychain.d.ts.map +1 -0
- package/dist/domains/github/keychain.js +132 -0
- package/dist/domains/github/keychain.js.map +1 -0
- package/dist/domains/github/types.d.ts +40 -0
- package/dist/domains/github/types.d.ts.map +1 -0
- package/dist/domains/github/types.js +6 -0
- package/dist/domains/github/types.js.map +1 -0
- package/dist/domains/health-checks/auto-healer.d.ts +14 -0
- package/dist/domains/health-checks/auto-healer.d.ts.map +1 -0
- package/dist/domains/health-checks/auto-healer.js +160 -0
- package/dist/domains/health-checks/auto-healer.js.map +1 -0
- package/dist/domains/health-checks/check-runner.d.ts +10 -0
- package/dist/domains/health-checks/check-runner.d.ts.map +1 -0
- package/dist/domains/health-checks/check-runner.js +31 -0
- package/dist/domains/health-checks/check-runner.js.map +1 -0
- package/dist/domains/health-checks/checkers/auth-checker.d.ts +10 -0
- package/dist/domains/health-checks/checkers/auth-checker.d.ts.map +1 -0
- package/dist/domains/health-checks/checkers/auth-checker.js +90 -0
- package/dist/domains/health-checks/checkers/auth-checker.js.map +1 -0
- package/dist/domains/health-checks/checkers/deps-checker.d.ts +10 -0
- package/dist/domains/health-checks/checkers/deps-checker.d.ts.map +1 -0
- package/dist/domains/health-checks/checkers/deps-checker.js +150 -0
- package/dist/domains/health-checks/checkers/deps-checker.js.map +1 -0
- package/dist/domains/health-checks/checkers/project-checker.d.ts +10 -0
- package/dist/domains/health-checks/checkers/project-checker.d.ts.map +1 -0
- package/dist/domains/health-checks/checkers/project-checker.js +124 -0
- package/dist/domains/health-checks/checkers/project-checker.js.map +1 -0
- package/dist/domains/health-checks/checkers/system-checker.d.ts +10 -0
- package/dist/domains/health-checks/checkers/system-checker.d.ts.map +1 -0
- package/dist/domains/health-checks/checkers/system-checker.js +135 -0
- package/dist/domains/health-checks/checkers/system-checker.js.map +1 -0
- package/dist/domains/health-checks/index.d.ts +9 -0
- package/dist/domains/health-checks/index.d.ts.map +1 -0
- package/dist/domains/health-checks/index.js +21 -0
- package/dist/domains/health-checks/index.js.map +1 -0
- package/dist/domains/health-checks/report-generator.d.ts +18 -0
- package/dist/domains/health-checks/report-generator.d.ts.map +1 -0
- package/dist/domains/health-checks/report-generator.js +117 -0
- package/dist/domains/health-checks/report-generator.js.map +1 -0
- package/dist/domains/health-checks/types.d.ts +35 -0
- package/dist/domains/health-checks/types.d.ts.map +1 -0
- package/dist/domains/health-checks/types.js +6 -0
- package/dist/domains/health-checks/types.js.map +1 -0
- package/dist/index.js +33 -0
- package/dist/index.js.map +1 -1
- package/dist/utils/approaches-validator.d.ts +40 -0
- package/dist/utils/approaches-validator.d.ts.map +1 -0
- package/dist/utils/approaches-validator.js +101 -0
- package/dist/utils/approaches-validator.js.map +1 -0
- package/dist/utils/dependency-analyzer.d.ts +31 -0
- package/dist/utils/dependency-analyzer.d.ts.map +1 -0
- package/dist/utils/dependency-analyzer.js +294 -0
- package/dist/utils/dependency-analyzer.js.map +1 -0
- package/dist/utils/directory-analyzer.d.ts +23 -0
- package/dist/utils/directory-analyzer.d.ts.map +1 -0
- package/dist/utils/directory-analyzer.js +81 -0
- package/dist/utils/directory-analyzer.js.map +1 -0
- package/dist/utils/downloader.d.ts +3 -3
- package/dist/utils/downloader.d.ts.map +1 -1
- package/dist/utils/downloader.js +35 -65
- package/dist/utils/downloader.js.map +1 -1
- package/dist/utils/errors.d.ts +64 -10
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +136 -22
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/gh-cli.d.ts +4 -2
- package/dist/utils/gh-cli.d.ts.map +1 -1
- package/dist/utils/gh-cli.js +33 -38
- package/dist/utils/gh-cli.js.map +1 -1
- package/dist/utils/progress.d.ts +37 -0
- package/dist/utils/progress.d.ts.map +1 -0
- package/dist/utils/progress.js +121 -0
- package/dist/utils/progress.js.map +1 -0
- package/dist/utils/prompts.d.ts +5 -1
- package/dist/utils/prompts.d.ts.map +1 -1
- package/dist/utils/prompts.js +124 -64
- package/dist/utils/prompts.js.map +1 -1
- package/package.json +7 -3
- package/test-jira-prompt.js +32 -0
- package/dist/commands/init.d.ts +0 -6
- package/dist/commands/init.d.ts.map +0 -1
- package/dist/commands/init.js +0 -147
- package/dist/commands/init.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"requirement":"Test","approaches":[{"name":"Only approach"}],"recommendation":"Test"}
|
package/README.md
CHANGED
|
@@ -95,6 +95,138 @@ my-project/
|
|
|
95
95
|
└── .gitignore # Updated with CSVibe entries
|
|
96
96
|
```
|
|
97
97
|
|
|
98
|
+
### `csvibe scout`
|
|
99
|
+
|
|
100
|
+
Analyze project structure and gather context for AI planning.
|
|
101
|
+
|
|
102
|
+
**What it does:**
|
|
103
|
+
1. Validates project initialization (`.csvibe/state/` must exist)
|
|
104
|
+
2. Detects project type (Node.js, Python, Rust, monorepo)
|
|
105
|
+
3. Analyzes directory structure (source, tests, config)
|
|
106
|
+
4. Extracts dependencies from manifest files
|
|
107
|
+
5. Infers tech stack from dependencies
|
|
108
|
+
6. Detects build tool from lock files
|
|
109
|
+
7. Generates architecture summary
|
|
110
|
+
8. Outputs context to `.csvibe/state/scout-context.json`
|
|
111
|
+
|
|
112
|
+
**Example:**
|
|
113
|
+
```bash
|
|
114
|
+
cd my-project
|
|
115
|
+
csvibe scout
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
**Custom Output Path:**
|
|
119
|
+
```bash
|
|
120
|
+
csvibe scout -o custom-path.json
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
**Output Schema:**
|
|
124
|
+
```json
|
|
125
|
+
{
|
|
126
|
+
"projectType": "node",
|
|
127
|
+
"techStack": ["TypeScript", "React", "Vite"],
|
|
128
|
+
"directories": {
|
|
129
|
+
"source": ["src", "lib"],
|
|
130
|
+
"tests": ["tests"],
|
|
131
|
+
"config": ["."]
|
|
132
|
+
},
|
|
133
|
+
"dependencies": {
|
|
134
|
+
"react": "^18.2.0",
|
|
135
|
+
"typescript": "^5.0.0"
|
|
136
|
+
},
|
|
137
|
+
"buildTool": "npm",
|
|
138
|
+
"architecture": "node with TypeScript, React, Vite"
|
|
139
|
+
}
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
**Supported Project Types:**
|
|
143
|
+
- **Node.js:** package.json-based projects
|
|
144
|
+
- **Node.js Monorepo:** Projects with pnpm-workspace.yaml, lerna.json, nx.json, or turbo.json
|
|
145
|
+
- **Python:** pyproject.toml, requirements.txt, or Pipfile
|
|
146
|
+
- **Rust:** Cargo.toml projects
|
|
147
|
+
|
|
148
|
+
**Detected Tech Stack:**
|
|
149
|
+
- Frontend: React, Vue, Angular, Svelte, Next.js, Nuxt
|
|
150
|
+
- Backend: Express, Fastify, NestJS, Django, FastAPI, Flask, Actix
|
|
151
|
+
- CSS: Tailwind CSS, MUI, Bootstrap
|
|
152
|
+
- Databases: PostgreSQL, MongoDB, MySQL, Redis
|
|
153
|
+
- Build Tools: Vite, Webpack, Rollup, Turbopack
|
|
154
|
+
- Testing: Vitest, Jest, Pytest, Mocha
|
|
155
|
+
|
|
156
|
+
**Build Tool Detection:**
|
|
157
|
+
- **pnpm:** pnpm-lock.yaml
|
|
158
|
+
- **yarn:** yarn.lock
|
|
159
|
+
- **bun:** bun.lockb
|
|
160
|
+
- **npm:** package-lock.json (default)
|
|
161
|
+
- **poetry:** poetry.lock
|
|
162
|
+
- **pipenv:** Pipfile.lock
|
|
163
|
+
- **pip:** (default for Python)
|
|
164
|
+
- **cargo:** (Rust projects)
|
|
165
|
+
|
|
166
|
+
### `csvibe brainstorm`
|
|
167
|
+
|
|
168
|
+
Generate solution approaches with trade-off analysis using GitHub Copilot Chat.
|
|
169
|
+
|
|
170
|
+
**What it does:**
|
|
171
|
+
1. Validates project initialization and scout phase completion
|
|
172
|
+
2. Prompts for requirement description
|
|
173
|
+
3. Guides you to use @brainstorm in GitHub Copilot Chat
|
|
174
|
+
4. Watches for approaches.json creation
|
|
175
|
+
5. Validates and displays generated approaches
|
|
176
|
+
6. Prepares for plan phase
|
|
177
|
+
|
|
178
|
+
**Prerequisites:**
|
|
179
|
+
- Project initialized with `csvibe init`
|
|
180
|
+
- Scout analysis completed with `csvibe scout`
|
|
181
|
+
- GitHub Copilot extension active in VSCode
|
|
182
|
+
|
|
183
|
+
**Example:**
|
|
184
|
+
```bash
|
|
185
|
+
cd my-project
|
|
186
|
+
csvibe brainstorm
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
**Workflow:**
|
|
190
|
+
1. CLI prompts: "What feature or functionality do you want to add?"
|
|
191
|
+
2. You answer: "Add JWT authentication"
|
|
192
|
+
3. CLI displays Copilot Chat command to run
|
|
193
|
+
4. You open Copilot Chat and run: `@brainstorm generate approaches for: Add JWT authentication`
|
|
194
|
+
5. Copilot generates 2-3 approaches with pros/cons
|
|
195
|
+
6. You copy JSON output to `.csvibe/state/approaches.json`
|
|
196
|
+
7. CLI validates and displays summary
|
|
197
|
+
8. Ready for `csvibe plan`
|
|
198
|
+
|
|
199
|
+
**Custom Output Path:**
|
|
200
|
+
```bash
|
|
201
|
+
csvibe brainstorm -o custom-approaches.json
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
**Output Schema:**
|
|
205
|
+
```json
|
|
206
|
+
{
|
|
207
|
+
"requirement": "Add JWT authentication",
|
|
208
|
+
"approaches": [
|
|
209
|
+
{
|
|
210
|
+
"name": "JWT with Passport.js (Simple)",
|
|
211
|
+
"strategy": "Use existing Passport middleware...",
|
|
212
|
+
"technologies": ["passport", "passport-jwt", "jsonwebtoken"],
|
|
213
|
+
"pros": ["Battle-tested", "Rich ecosystem", "Minimal code"],
|
|
214
|
+
"cons": ["Session complexity", "Cookie security"],
|
|
215
|
+
"effort": "5-8 hours"
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
"name": "Custom JWT Middleware (Moderate)",
|
|
219
|
+
"strategy": "Create custom Express middleware...",
|
|
220
|
+
"technologies": ["jsonwebtoken", "bcryptjs"],
|
|
221
|
+
"pros": ["Full control", "Lighter weight", "Easier debugging"],
|
|
222
|
+
"cons": ["More code", "Edge cases", "Security risks"],
|
|
223
|
+
"effort": "8-12 hours"
|
|
224
|
+
}
|
|
225
|
+
],
|
|
226
|
+
"recommendation": "Approach 1 - best balance of simplicity and robustness"
|
|
227
|
+
}
|
|
228
|
+
```
|
|
229
|
+
|
|
98
230
|
## Troubleshooting
|
|
99
231
|
|
|
100
232
|
### Error: gh CLI not found
|
|
@@ -178,13 +310,16 @@ csvibe-cli/
|
|
|
178
310
|
│ ├── commands/ # Command implementations
|
|
179
311
|
│ │ ├── help.ts # Help command
|
|
180
312
|
│ │ ├── version.ts # Version command
|
|
181
|
-
│ │
|
|
313
|
+
│ │ ├── init.ts # Init command (Story 2)
|
|
314
|
+
│ │ └── scout.ts # Scout command (Story 4)
|
|
182
315
|
│ ├── utils/ # Utilities
|
|
183
316
|
│ │ ├── gh-cli.ts # gh CLI validation
|
|
184
317
|
│ │ ├── logger.ts # Colored output
|
|
185
318
|
│ │ ├── errors.ts # Error handling
|
|
186
319
|
│ │ ├── validators.ts # System validation
|
|
187
320
|
│ │ ├── project-detector.ts # Project type detection (Story 2)
|
|
321
|
+
│ │ ├── directory-analyzer.ts # Directory structure analysis (Story 4)
|
|
322
|
+
│ │ ├── dependency-analyzer.ts # Dependency extraction (Story 4)
|
|
188
323
|
│ │ ├── prompts.ts # Interactive prompts (Story 2)
|
|
189
324
|
│ │ ├── config-generator.ts # Config file generation (Story 2)
|
|
190
325
|
│ │ ├── scaffolder.ts # Directory scaffolding (Story 2)
|
|
@@ -197,12 +332,15 @@ csvibe-cli/
|
|
|
197
332
|
│ │ ├── gh-cli.test.ts
|
|
198
333
|
│ │ ├── validators.test.ts
|
|
199
334
|
│ │ ├── project-detector.test.ts
|
|
335
|
+
│ │ ├── directory-analyzer.test.ts # Story 4
|
|
336
|
+
│ │ ├── dependency-analyzer.test.ts # Story 4
|
|
200
337
|
│ │ ├── config-generator.test.ts
|
|
201
338
|
│ │ ├── scaffolder.test.ts
|
|
202
339
|
│ │ ├── vscode-validator.test.ts
|
|
203
340
|
│ │ └── downloader.test.ts
|
|
204
341
|
│ └── integration/ # Integration tests
|
|
205
|
-
│
|
|
342
|
+
│ ├── cli.test.ts
|
|
343
|
+
│ └── scout-command.test.ts # Story 4
|
|
206
344
|
├── bin/
|
|
207
345
|
│ └── csvibe.js # CLI entry point
|
|
208
346
|
└── package.json
|
|
@@ -248,5 +386,6 @@ Report issues: [GitHub Issues](https://github.com/thanhvu0895/csvibe-engine/issu
|
|
|
248
386
|
**Status:**
|
|
249
387
|
- ✅ Story 1 (QS-262) Complete - CLI Installation Package
|
|
250
388
|
- ✅ Story 2 (QS-263) Complete - Project Bootstrapping (`csvibe init`)
|
|
389
|
+
- ✅ Story 4 (QS-265) Complete - Scout Phase Implementation (`csvibe scout`)
|
|
251
390
|
|
|
252
|
-
**Next:** Story
|
|
391
|
+
**Next:** Story 5 (QS-266) - Brainstorm Phase Implementation
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Brainstorm command
|
|
3
|
+
* Generates solution approaches with trade-off analysis using GitHub Copilot Chat
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Brainstorm command options
|
|
7
|
+
*/
|
|
8
|
+
export interface BrainstormOptions {
|
|
9
|
+
output?: string;
|
|
10
|
+
requirement?: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Brainstorm command - Generate solution approaches with GitHub Copilot Chat
|
|
14
|
+
*/
|
|
15
|
+
export declare function brainstormCommand(options?: BrainstormOptions): Promise<void>;
|
|
16
|
+
//# sourceMappingURL=brainstorm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brainstorm.d.ts","sourceRoot":"","sources":["../../src/commands/brainstorm.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA8FD;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6DtF"}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Brainstorm command
|
|
4
|
+
* Generates solution approaches with trade-off analysis using GitHub Copilot Chat
|
|
5
|
+
*/
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
18
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
19
|
+
}) : function(o, v) {
|
|
20
|
+
o["default"] = v;
|
|
21
|
+
});
|
|
22
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
23
|
+
var ownKeys = function(o) {
|
|
24
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
25
|
+
var ar = [];
|
|
26
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
27
|
+
return ar;
|
|
28
|
+
};
|
|
29
|
+
return ownKeys(o);
|
|
30
|
+
};
|
|
31
|
+
return function (mod) {
|
|
32
|
+
if (mod && mod.__esModule) return mod;
|
|
33
|
+
var result = {};
|
|
34
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
35
|
+
__setModuleDefault(result, mod);
|
|
36
|
+
return result;
|
|
37
|
+
};
|
|
38
|
+
})();
|
|
39
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
40
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
41
|
+
};
|
|
42
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
+
exports.brainstormCommand = brainstormCommand;
|
|
44
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
45
|
+
const ora_1 = __importDefault(require("ora"));
|
|
46
|
+
const path_1 = __importDefault(require("path"));
|
|
47
|
+
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
48
|
+
const p = __importStar(require("@clack/prompts"));
|
|
49
|
+
const constants_1 = require("../config/constants");
|
|
50
|
+
const approaches_validator_1 = require("../utils/approaches-validator");
|
|
51
|
+
/**
|
|
52
|
+
* Prompt user for requirement description
|
|
53
|
+
*/
|
|
54
|
+
async function promptRequirement() {
|
|
55
|
+
const requirement = await p.text({
|
|
56
|
+
message: 'What feature or functionality do you want to add?',
|
|
57
|
+
placeholder: 'e.g., Add user authentication with JWT',
|
|
58
|
+
validate: (value) => {
|
|
59
|
+
if (!value || value.trim().length < 10) {
|
|
60
|
+
return 'Please provide a detailed requirement (at least 10 characters)';
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
});
|
|
64
|
+
if (p.isCancel(requirement)) {
|
|
65
|
+
p.cancel('Operation cancelled');
|
|
66
|
+
process.exit(0);
|
|
67
|
+
}
|
|
68
|
+
return requirement.trim();
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Display Copilot Chat instructions
|
|
72
|
+
*/
|
|
73
|
+
function displayCopilotInstructions(requirement) {
|
|
74
|
+
console.log(chalk_1.default.bold.cyan('\n📋 GitHub Copilot Chat Instructions:\n'));
|
|
75
|
+
console.log(chalk_1.default.gray('1. Open GitHub Copilot Chat in VSCode (Ctrl+Shift+I)'));
|
|
76
|
+
console.log(chalk_1.default.gray('2. Type the following command:\n'));
|
|
77
|
+
const command = `@brainstorm generate approaches for: ${requirement}`;
|
|
78
|
+
console.log(chalk_1.default.yellow(` ${command}\n`));
|
|
79
|
+
console.log(chalk_1.default.gray('3. Review the generated approaches'));
|
|
80
|
+
console.log(chalk_1.default.gray('4. Copy the JSON output to:'));
|
|
81
|
+
console.log(chalk_1.default.cyan(` .csvibe/state/approaches.json\n`));
|
|
82
|
+
console.log(chalk_1.default.gray('The CLI will detect when the file is created and validate it.\n'));
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Watch for approaches.json file creation
|
|
86
|
+
*/
|
|
87
|
+
async function watchForApproaches(filePath) {
|
|
88
|
+
const spinner = (0, ora_1.default)('Waiting for approaches.json...').start();
|
|
89
|
+
spinner.text = chalk_1.default.gray('Watching for ') + chalk_1.default.cyan(path_1.default.relative(process.cwd(), filePath));
|
|
90
|
+
// Check if file already exists
|
|
91
|
+
if (await fs_extra_1.default.pathExists(filePath)) {
|
|
92
|
+
spinner.succeed('Approaches file found');
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
// Poll for file creation (simple approach)
|
|
96
|
+
return new Promise((resolve, reject) => {
|
|
97
|
+
const interval = setInterval(async () => {
|
|
98
|
+
if (await fs_extra_1.default.pathExists(filePath)) {
|
|
99
|
+
clearInterval(interval);
|
|
100
|
+
spinner.succeed('Approaches file created');
|
|
101
|
+
resolve();
|
|
102
|
+
}
|
|
103
|
+
}, 1000); // Check every second
|
|
104
|
+
// Timeout after 10 minutes
|
|
105
|
+
setTimeout(() => {
|
|
106
|
+
clearInterval(interval);
|
|
107
|
+
spinner.fail('Timeout waiting for approaches.json');
|
|
108
|
+
reject(new Error('No approaches.json created within 10 minutes. Run command again when ready.'));
|
|
109
|
+
}, 600000);
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Display approaches summary
|
|
114
|
+
*/
|
|
115
|
+
function displayApproachesSummary(context) {
|
|
116
|
+
console.log(chalk_1.default.bold.cyan('\n✨ Solution Approaches:\n'));
|
|
117
|
+
console.log(chalk_1.default.gray('Requirement: ') + chalk_1.default.white(context.requirement) + '\n');
|
|
118
|
+
context.approaches.forEach((approach, index) => {
|
|
119
|
+
console.log(chalk_1.default.bold.white(`${index + 1}. ${approach.name}`));
|
|
120
|
+
console.log(chalk_1.default.gray(' Strategy: ') + chalk_1.default.white(approach.strategy));
|
|
121
|
+
console.log(chalk_1.default.gray(' Technologies: ') + chalk_1.default.cyan(approach.technologies.join(', ')));
|
|
122
|
+
console.log(chalk_1.default.gray(' Effort: ') + chalk_1.default.yellow(approach.effort));
|
|
123
|
+
console.log(chalk_1.default.green(' Pros: ') + approach.pros.join(', '));
|
|
124
|
+
console.log(chalk_1.default.red(' Cons: ') + approach.cons.join(', '));
|
|
125
|
+
console.log();
|
|
126
|
+
});
|
|
127
|
+
console.log(chalk_1.default.bold.cyan('💡 Recommendation: ') + chalk_1.default.white(context.recommendation));
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Brainstorm command - Generate solution approaches with GitHub Copilot Chat
|
|
131
|
+
*/
|
|
132
|
+
async function brainstormCommand(options = {}) {
|
|
133
|
+
console.log(chalk_1.default.bold.cyan('\n💭 Brainstorming Solution Approaches...\n'));
|
|
134
|
+
const projectRoot = process.cwd();
|
|
135
|
+
const outputPath = options.output ||
|
|
136
|
+
path_1.default.join(projectRoot, constants_1.CONSTANTS.STATE_DIR, 'approaches.json');
|
|
137
|
+
try {
|
|
138
|
+
// Step 1: Validate prerequisites
|
|
139
|
+
const spinner1 = (0, ora_1.default)('Validating project state').start();
|
|
140
|
+
const stateDir = path_1.default.join(projectRoot, constants_1.CONSTANTS.STATE_DIR);
|
|
141
|
+
if (!await fs_extra_1.default.pathExists(stateDir)) {
|
|
142
|
+
spinner1.fail('Project not initialized');
|
|
143
|
+
throw new Error('Run `csvibe init` first to set up project');
|
|
144
|
+
}
|
|
145
|
+
spinner1.succeed('Project state validated');
|
|
146
|
+
// Step 2: Validate scout context
|
|
147
|
+
const spinner2 = (0, ora_1.default)('Loading scout analysis').start();
|
|
148
|
+
const scoutContextPath = path_1.default.join(projectRoot, constants_1.CONSTANTS.STATE_DIR, 'scout-context.json');
|
|
149
|
+
if (!await fs_extra_1.default.pathExists(scoutContextPath)) {
|
|
150
|
+
spinner2.fail('Scout context not found');
|
|
151
|
+
throw new Error('Run `csvibe scout` first to analyze project');
|
|
152
|
+
}
|
|
153
|
+
const scoutContext = await fs_extra_1.default.readJson(scoutContextPath);
|
|
154
|
+
spinner2.succeed(`Scout analysis loaded: ${chalk_1.default.cyan(scoutContext.projectType)} project`);
|
|
155
|
+
// Step 3: Display project summary
|
|
156
|
+
console.log(chalk_1.default.gray('\nProject Context:'));
|
|
157
|
+
console.log(chalk_1.default.gray(' Type: ') + chalk_1.default.cyan(scoutContext.projectType));
|
|
158
|
+
console.log(chalk_1.default.gray(' Tech Stack: ') + chalk_1.default.cyan(scoutContext.techStack.join(', ')));
|
|
159
|
+
console.log(chalk_1.default.gray(' Build Tool: ') + chalk_1.default.cyan(scoutContext.buildTool));
|
|
160
|
+
console.log();
|
|
161
|
+
// Step 4: Prompt for requirement
|
|
162
|
+
const requirement = await promptRequirement();
|
|
163
|
+
// Step 5: Guide Copilot Chat interaction
|
|
164
|
+
displayCopilotInstructions(requirement);
|
|
165
|
+
// Step 6: Watch for approaches.json
|
|
166
|
+
await watchForApproaches(outputPath);
|
|
167
|
+
// Step 7: Validate and display
|
|
168
|
+
const approaches = await fs_extra_1.default.readJson(outputPath);
|
|
169
|
+
const validated = (0, approaches_validator_1.validateApproachesSchema)(approaches);
|
|
170
|
+
displayApproachesSummary(validated);
|
|
171
|
+
// Step 8: Prompt for next phase
|
|
172
|
+
console.log(chalk_1.default.bold.green('\n✓ Brainstorm phase complete!\n'));
|
|
173
|
+
console.log(chalk_1.default.gray('Approaches saved to: ') + chalk_1.default.cyan(path_1.default.relative(process.cwd(), outputPath)));
|
|
174
|
+
console.log(chalk_1.default.gray('\nNext step: ') + chalk_1.default.cyan('csvibe plan\n'));
|
|
175
|
+
}
|
|
176
|
+
catch (error) {
|
|
177
|
+
if (error instanceof Error) {
|
|
178
|
+
console.error(chalk_1.default.red(`\n✗ Error: ${error.message}\n`));
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
console.error(chalk_1.default.red('\n✗ An unexpected error occurred\n'));
|
|
182
|
+
}
|
|
183
|
+
process.exit(1);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
//# sourceMappingURL=brainstorm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brainstorm.js","sourceRoot":"","sources":["../../src/commands/brainstorm.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Doctor command - Health checks and diagnostics
|
|
3
|
+
*/
|
|
4
|
+
import { type DoctorOptions } from '../domains/health-checks';
|
|
5
|
+
/**
|
|
6
|
+
* Run health checks and diagnostics
|
|
7
|
+
*/
|
|
8
|
+
export declare function doctorCommand(options?: DoctorOptions): Promise<void>;
|
|
9
|
+
//# sourceMappingURL=doctor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAML,KAAK,aAAa,EACnB,MAAM,0BAA0B,CAAC;AAElC;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmE9E"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Doctor command - Health checks and diagnostics
|
|
4
|
+
*/
|
|
5
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
6
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.doctorCommand = doctorCommand;
|
|
10
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
11
|
+
const health_checks_1 = require("../domains/health-checks");
|
|
12
|
+
/**
|
|
13
|
+
* Run health checks and diagnostics
|
|
14
|
+
*/
|
|
15
|
+
async function doctorCommand(options = {}) {
|
|
16
|
+
try {
|
|
17
|
+
console.log(chalk_1.default.bold.cyan('\n🔍 Running Health Checks\n'));
|
|
18
|
+
const report = await (0, health_checks_1.runHealthChecks)();
|
|
19
|
+
// JSON output mode
|
|
20
|
+
if (options.json) {
|
|
21
|
+
console.log((0, health_checks_1.generateJsonReport)(report));
|
|
22
|
+
process.exit(report.passed ? 0 : 1);
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
// Terminal output
|
|
26
|
+
console.log((0, health_checks_1.generateReport)(report));
|
|
27
|
+
// Auto-fix mode
|
|
28
|
+
if (options.fix && report.fixable > 0) {
|
|
29
|
+
console.log(chalk_1.default.cyan('\n🔧 Attempting to auto-fix issues...\n'));
|
|
30
|
+
const fixableChecks = report.results
|
|
31
|
+
.flatMap((r) => r.checks)
|
|
32
|
+
.filter((c) => c.fixable && c.status !== 'pass');
|
|
33
|
+
const fixResults = await (0, health_checks_1.autoFixIssues)(fixableChecks);
|
|
34
|
+
console.log(chalk_1.default.bold('\n📊 Fix Results:\n'));
|
|
35
|
+
for (let i = 0; i < fixResults.length; i++) {
|
|
36
|
+
const result = fixResults[i];
|
|
37
|
+
const check = fixableChecks[i];
|
|
38
|
+
if (result.success) {
|
|
39
|
+
console.log(chalk_1.default.green(`✓ ${check.name}: ${result.message}`));
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
console.log(chalk_1.default.red(`✗ ${check.name}: ${result.message}`));
|
|
43
|
+
if (result.error) {
|
|
44
|
+
console.log(chalk_1.default.dim(` Error: ${result.error}`));
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
console.log(chalk_1.default.yellow('\n💡 Please run "csvibe doctor" again to verify fixes\n'));
|
|
49
|
+
}
|
|
50
|
+
// Upload report to gist
|
|
51
|
+
if (options.report) {
|
|
52
|
+
try {
|
|
53
|
+
console.log(chalk_1.default.cyan('\n📤 Uploading report to GitHub Gist...\n'));
|
|
54
|
+
const url = await (0, health_checks_1.uploadToGist)(report);
|
|
55
|
+
console.log(chalk_1.default.green(`✓ Report uploaded: ${chalk_1.default.cyan(url)}\n`));
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
console.error(chalk_1.default.red(`✗ Failed to upload report: ${error instanceof Error ? error.message : String(error)}`));
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
// Exit with appropriate code
|
|
62
|
+
if (options.checkOnly) {
|
|
63
|
+
process.exit(report.passed ? 0 : 1);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
console.error(chalk_1.default.red('\n✗ Health check failed:'));
|
|
68
|
+
console.error(error instanceof Error ? error.message : String(error));
|
|
69
|
+
process.exit(1);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=doctor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,wBAAgB,WAAW,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,wBAAgB,WAAW,IAAI,IAAI,CAgDlC"}
|
package/dist/commands/help.js
CHANGED
|
@@ -15,9 +15,12 @@ function helpCommand() {
|
|
|
15
15
|
console.log('Usage:');
|
|
16
16
|
console.log(' csvibe <command> [options]\n');
|
|
17
17
|
console.log('Commands:');
|
|
18
|
-
console.log(chalk_1.default.cyan(' init') + '
|
|
19
|
-
console.log(chalk_1.default.cyan('
|
|
20
|
-
console.log(chalk_1.default.cyan('
|
|
18
|
+
console.log(chalk_1.default.cyan(' init') + ' Initialize vibecoding in current project');
|
|
19
|
+
console.log(chalk_1.default.cyan(' doctor') + ' Run health checks and diagnostics');
|
|
20
|
+
console.log(chalk_1.default.cyan(' scout') + ' Analyze project structure and gather context');
|
|
21
|
+
console.log(chalk_1.default.cyan(' brainstorm') + ' Generate solution approaches with trade-off analysis');
|
|
22
|
+
console.log(chalk_1.default.cyan(' help') + ' Display this help message');
|
|
23
|
+
console.log(chalk_1.default.cyan(' --version') + ' Display CLI version\n');
|
|
21
24
|
console.log('Prerequisites:');
|
|
22
25
|
console.log(' • Node.js >= 16.0.0');
|
|
23
26
|
console.log(' • GitHub CLI (gh) installed and authenticated');
|
|
@@ -32,10 +35,13 @@ function helpCommand() {
|
|
|
32
35
|
console.log(chalk_1.default.gray(' 3. Initialize vibecoding:'));
|
|
33
36
|
console.log(chalk_1.default.gray(' $ csvibe init\n'));
|
|
34
37
|
console.log('Examples:');
|
|
35
|
-
console.log(chalk_1.default.gray(' $ csvibe init
|
|
36
|
-
console.log(chalk_1.default.gray(' $ csvibe
|
|
37
|
-
console.log(chalk_1.default.gray(' $ csvibe --
|
|
38
|
-
console.log(chalk_1.default.gray(' $ csvibe
|
|
38
|
+
console.log(chalk_1.default.gray(' $ csvibe init # Bootstrap project'));
|
|
39
|
+
console.log(chalk_1.default.gray(' $ csvibe doctor # Run health checks'));
|
|
40
|
+
console.log(chalk_1.default.gray(' $ csvibe doctor --fix # Auto-fix issues'));
|
|
41
|
+
console.log(chalk_1.default.gray(' $ csvibe scout # Analyze project'));
|
|
42
|
+
console.log(chalk_1.default.gray(' $ csvibe brainstorm # Generate approaches'));
|
|
43
|
+
console.log(chalk_1.default.gray(' $ csvibe --version # Show version'));
|
|
44
|
+
console.log(chalk_1.default.gray(' $ csvibe --help # Show help\n'));
|
|
39
45
|
console.log('System Information:');
|
|
40
46
|
console.log(` Platform: ${(0, validators_1.getPlatform)()}`);
|
|
41
47
|
console.log(` Node.js: ${process.version}\n`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;AAMH,
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/index.d.ts
CHANGED
|
@@ -4,4 +4,7 @@
|
|
|
4
4
|
export { helpCommand } from './help';
|
|
5
5
|
export { versionCommand, getVersion } from './version';
|
|
6
6
|
export { initCommand } from './init';
|
|
7
|
+
export { doctorCommand } from './doctor';
|
|
8
|
+
export { scoutCommand } from './scout';
|
|
9
|
+
export { brainstormCommand } from './brainstorm';
|
|
7
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/commands/index.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Command exports
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.initCommand = exports.getVersion = exports.versionCommand = exports.helpCommand = void 0;
|
|
6
|
+
exports.brainstormCommand = exports.scoutCommand = exports.doctorCommand = exports.initCommand = exports.getVersion = exports.versionCommand = exports.helpCommand = void 0;
|
|
7
7
|
var help_1 = require("./help");
|
|
8
8
|
Object.defineProperty(exports, "helpCommand", { enumerable: true, get: function () { return help_1.helpCommand; } });
|
|
9
9
|
var version_1 = require("./version");
|
|
@@ -11,4 +11,10 @@ Object.defineProperty(exports, "versionCommand", { enumerable: true, get: functi
|
|
|
11
11
|
Object.defineProperty(exports, "getVersion", { enumerable: true, get: function () { return version_1.getVersion; } });
|
|
12
12
|
var init_1 = require("./init");
|
|
13
13
|
Object.defineProperty(exports, "initCommand", { enumerable: true, get: function () { return init_1.initCommand; } });
|
|
14
|
+
var doctor_1 = require("./doctor");
|
|
15
|
+
Object.defineProperty(exports, "doctorCommand", { enumerable: true, get: function () { return doctor_1.doctorCommand; } });
|
|
16
|
+
var scout_1 = require("./scout");
|
|
17
|
+
Object.defineProperty(exports, "scoutCommand", { enumerable: true, get: function () { return scout_1.scoutCommand; } });
|
|
18
|
+
var brainstorm_1 = require("./brainstorm");
|
|
19
|
+
Object.defineProperty(exports, "brainstormCommand", { enumerable: true, get: function () { return brainstorm_1.brainstormCommand; } });
|
|
14
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,+BAAqC;AAA5B,mGAAA,WAAW,OAAA;AACpB,qCAAuD;AAA9C,yGAAA,cAAc,OAAA;AAAE,qGAAA,UAAU,OAAA;AACnC,+BAAqC;AAA5B,mGAAA,WAAW,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,+BAAqC;AAA5B,mGAAA,WAAW,OAAA;AACpB,qCAAuD;AAA9C,yGAAA,cAAc,OAAA;AAAE,qGAAA,UAAU,OAAA;AACnC,+BAAqC;AAA5B,mGAAA,WAAW,OAAA;AACpB,mCAAyC;AAAhC,uGAAA,aAAa,OAAA;AACtB,iCAAuC;AAA9B,qGAAA,YAAY,OAAA;AACrB,2CAAiD;AAAxC,+GAAA,iBAAiB,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/init/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Init command facade
|
|
4
|
+
* Public API for init command
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.initCommand = void 0;
|
|
8
|
+
var init_command_1 = require("./init-command");
|
|
9
|
+
Object.defineProperty(exports, "initCommand", { enumerable: true, get: function () { return init_command_1.initCommand; } });
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/init/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,+CAA6C;AAApC,2GAAA,WAAW,OAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Init command orchestrator
|
|
3
|
+
* Coordinates 7 phase handlers for CSVibe project initialization
|
|
4
|
+
*/
|
|
5
|
+
import type { InitOptions } from './types';
|
|
6
|
+
/**
|
|
7
|
+
* Initialize CSVibe project with phase-based workflow
|
|
8
|
+
*/
|
|
9
|
+
export declare function initCommand(options?: InitOptions): Promise<void>;
|
|
10
|
+
//# sourceMappingURL=init-command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init-command.d.ts","sourceRoot":"","sources":["../../../src/commands/init/init-command.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAW3C;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyD1E"}
|