@thanhvn14/csvibe 0.1.1 ā 0.1.3
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 +2 -1
- package/dist/config/constants.d.ts.map +1 -1
- package/dist/config/constants.js +2 -1
- 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/dist/utils/scaffolder.d.ts.map +1 -1
- package/dist/utils/scaffolder.js +1 -3
- package/dist/utils/scaffolder.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,32 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Debug test for csvibe init - Jira prompt
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
console.log('Testing Jira prompt flow...\n');
|
|
8
|
+
|
|
9
|
+
// Load the actual compiled functions
|
|
10
|
+
const promptHandler = require('./dist/commands/init/phases/prompt-handler.js');
|
|
11
|
+
const prompts = require('./dist/utils/prompts.js');
|
|
12
|
+
|
|
13
|
+
console.log('ā Loaded prompt-handler');
|
|
14
|
+
console.log('ā Loaded prompts utils');
|
|
15
|
+
console.log('\nFunctions available:');
|
|
16
|
+
console.log(' - confirmJiraSetup:', typeof prompts.confirmJiraSetup);
|
|
17
|
+
console.log(' - promptConfiguration:', typeof promptHandler.promptConfiguration);
|
|
18
|
+
|
|
19
|
+
console.log('\n--- Starting promptConfiguration() ---\n');
|
|
20
|
+
|
|
21
|
+
// Call the actual function
|
|
22
|
+
promptHandler.promptConfiguration()
|
|
23
|
+
.then(result => {
|
|
24
|
+
console.log('\n--- Result ---');
|
|
25
|
+
console.log('Returned:', result);
|
|
26
|
+
process.exit(0);
|
|
27
|
+
})
|
|
28
|
+
.catch(err => {
|
|
29
|
+
console.error('\n--- Error ---');
|
|
30
|
+
console.error(err);
|
|
31
|
+
process.exit(1);
|
|
32
|
+
});
|
package/dist/commands/init.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAsBH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAwFjD"}
|
package/dist/commands/init.js
DELETED
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Init command implementation
|
|
4
|
-
* Bootstraps CSVibe project with agents, config, and project scaffolding
|
|
5
|
-
*/
|
|
6
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
|
-
};
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.initCommand = initCommand;
|
|
11
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
12
|
-
const path_1 = __importDefault(require("path"));
|
|
13
|
-
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
14
|
-
const constants_1 = require("../config/constants");
|
|
15
|
-
const logger_1 = require("../utils/logger");
|
|
16
|
-
const gh_cli_1 = require("../utils/gh-cli");
|
|
17
|
-
const project_detector_1 = require("../utils/project-detector");
|
|
18
|
-
const prompts_1 = require("../utils/prompts");
|
|
19
|
-
const config_generator_1 = require("../utils/config-generator");
|
|
20
|
-
const scaffolder_1 = require("../utils/scaffolder");
|
|
21
|
-
const downloader_1 = require("../utils/downloader");
|
|
22
|
-
const vscode_validator_1 = require("../utils/vscode-validator");
|
|
23
|
-
async function initCommand() {
|
|
24
|
-
console.log(chalk_1.default.bold.cyan('\nš Initializing CSVibe Project\n'));
|
|
25
|
-
const projectRoot = process.cwd();
|
|
26
|
-
try {
|
|
27
|
-
// Step 1: Validate gh CLI and repo access
|
|
28
|
-
const spinner1 = logger_1.logger.spinner('Validating GitHub CLI and repository access');
|
|
29
|
-
try {
|
|
30
|
-
await (0, gh_cli_1.validateGhCli)(constants_1.CONSTANTS.REPO_FULL);
|
|
31
|
-
spinner1.succeed('GitHub CLI validated');
|
|
32
|
-
}
|
|
33
|
-
catch (error) {
|
|
34
|
-
spinner1.fail('GitHub CLI validation failed');
|
|
35
|
-
throw error;
|
|
36
|
-
}
|
|
37
|
-
// Step 2: Check if already initialized
|
|
38
|
-
if (await (0, config_generator_1.isInitialized)(projectRoot)) {
|
|
39
|
-
logger_1.logger.warning('CSVibe is already initialized in this directory');
|
|
40
|
-
const shouldOverwrite = await (0, prompts_1.confirmOverwrite)();
|
|
41
|
-
if (!shouldOverwrite) {
|
|
42
|
-
console.log(chalk_1.default.gray('\nInitialization cancelled.\n'));
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
console.log(); // spacing
|
|
46
|
-
}
|
|
47
|
-
// Step 3: Detect project type
|
|
48
|
-
const spinner2 = logger_1.logger.spinner('Detecting project type');
|
|
49
|
-
const projectType = await (0, project_detector_1.detectProjectType)(projectRoot);
|
|
50
|
-
spinner2.succeed(`Project type detected: ${chalk_1.default.cyan(projectType)}`);
|
|
51
|
-
// Step 4: Get project metadata
|
|
52
|
-
const projectName = path_1.default.basename(projectRoot);
|
|
53
|
-
const projectVersion = await getProjectVersion(projectRoot);
|
|
54
|
-
// Step 5: Prompt for Jira credentials
|
|
55
|
-
(0, prompts_1.showApiTokenInstructions)();
|
|
56
|
-
const jiraCredentials = await (0, prompts_1.promptJiraCredentials)();
|
|
57
|
-
console.log(); // spacing
|
|
58
|
-
// Step 6: Scaffold directory structure
|
|
59
|
-
const spinner3 = logger_1.logger.spinner('Creating directory structure');
|
|
60
|
-
await (0, scaffolder_1.scaffold)(projectRoot);
|
|
61
|
-
spinner3.succeed('Directory structure created');
|
|
62
|
-
// Step 7: Download assets from csvibe-engine
|
|
63
|
-
await (0, downloader_1.downloadGithubAssets)(constants_1.CONSTANTS.REPO_FULL, 'main', projectRoot);
|
|
64
|
-
// Step 8: Generate config.yml
|
|
65
|
-
const spinner4 = logger_1.logger.spinner('Generating configuration');
|
|
66
|
-
const configTemplate = await (0, downloader_1.downloadConfigTemplate)(constants_1.CONSTANTS.REPO_FULL);
|
|
67
|
-
await (0, config_generator_1.generateConfig)(configTemplate, {
|
|
68
|
-
projectName,
|
|
69
|
-
projectType,
|
|
70
|
-
projectVersion,
|
|
71
|
-
jiraCredentials,
|
|
72
|
-
targetDir: projectRoot
|
|
73
|
-
});
|
|
74
|
-
spinner4.succeed('Configuration generated');
|
|
75
|
-
// Step 9: Validate VSCode and Copilot (non-blocking)
|
|
76
|
-
console.log(); // spacing
|
|
77
|
-
await (0, vscode_validator_1.validateVSCodeSetup)();
|
|
78
|
-
// Step 10: Display success message
|
|
79
|
-
console.log(chalk_1.default.bold.green('\nā CSVibe initialized successfully!\n'));
|
|
80
|
-
console.log(chalk_1.default.bold('Next steps:'));
|
|
81
|
-
console.log(' 1. Review ' + chalk_1.default.cyan('.csvibe/config.yml') + ' and adjust as needed');
|
|
82
|
-
console.log(' 2. Review ' + chalk_1.default.cyan('.github/agents/') + ' templates');
|
|
83
|
-
console.log(' 3. Start vibecoding with ' + chalk_1.default.cyan('csvibe run'));
|
|
84
|
-
console.log();
|
|
85
|
-
console.log(chalk_1.default.gray('Configuration saved to: ') + chalk_1.default.cyan(path_1.default.join(projectRoot, constants_1.CONSTANTS.CONFIG_FILE)));
|
|
86
|
-
console.log();
|
|
87
|
-
}
|
|
88
|
-
catch (error) {
|
|
89
|
-
if (error instanceof Error) {
|
|
90
|
-
logger_1.logger.error(error.message);
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
logger_1.logger.error('An unexpected error occurred during initialization');
|
|
94
|
-
}
|
|
95
|
-
console.log('\n' + chalk_1.default.gray('For help, visit: ') + chalk_1.default.cyan(constants_1.CONSTANTS.ISSUES_URL) + '\n');
|
|
96
|
-
process.exit(1);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Get project version from package.json or other manifest files
|
|
101
|
-
*/
|
|
102
|
-
async function getProjectVersion(projectRoot) {
|
|
103
|
-
// Try package.json first (Node.js projects)
|
|
104
|
-
const packageJsonPath = path_1.default.join(projectRoot, 'package.json');
|
|
105
|
-
if (await fs_extra_1.default.pathExists(packageJsonPath)) {
|
|
106
|
-
try {
|
|
107
|
-
const pkg = await fs_extra_1.default.readJson(packageJsonPath);
|
|
108
|
-
if (pkg.version) {
|
|
109
|
-
return pkg.version;
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
catch {
|
|
113
|
-
// Ignore parse errors
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
// Try pyproject.toml (Python projects)
|
|
117
|
-
const pyprojectPath = path_1.default.join(projectRoot, 'pyproject.toml');
|
|
118
|
-
if (await fs_extra_1.default.pathExists(pyprojectPath)) {
|
|
119
|
-
try {
|
|
120
|
-
const content = await fs_extra_1.default.readFile(pyprojectPath, 'utf-8');
|
|
121
|
-
const versionMatch = content.match(/version\s*=\s*["']([^"']+)["']/);
|
|
122
|
-
if (versionMatch && versionMatch[1]) {
|
|
123
|
-
return versionMatch[1];
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
catch {
|
|
127
|
-
// Ignore parse errors
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
// Try Cargo.toml (Rust projects)
|
|
131
|
-
const cargoPath = path_1.default.join(projectRoot, 'Cargo.toml');
|
|
132
|
-
if (await fs_extra_1.default.pathExists(cargoPath)) {
|
|
133
|
-
try {
|
|
134
|
-
const content = await fs_extra_1.default.readFile(cargoPath, 'utf-8');
|
|
135
|
-
const versionMatch = content.match(/version\s*=\s*["']([^"']+)["']/);
|
|
136
|
-
if (versionMatch && versionMatch[1]) {
|
|
137
|
-
return versionMatch[1];
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
catch {
|
|
141
|
-
// Ignore parse errors
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
// Default fallback
|
|
145
|
-
return '0.1.0';
|
|
146
|
-
}
|
|
147
|
-
//# sourceMappingURL=init.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|