vesper-wizard 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +13 -0
- package/wizard.js +77 -0
package/package.json
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "vesper-wizard",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Interactive setup wizard for Vesper projects",
|
|
5
|
+
"bin": {
|
|
6
|
+
"vesper-wizard": "wizard.js"
|
|
7
|
+
},
|
|
8
|
+
"author": "Vesper Team",
|
|
9
|
+
"license": "MIT",
|
|
10
|
+
"dependencies": {
|
|
11
|
+
"inquirer": "^8.2.0"
|
|
12
|
+
}
|
|
13
|
+
}
|
package/wizard.js
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
// Vesper Wizard CLI: Interactive setup for fast configuration
|
|
4
|
+
const inquirer = require('inquirer');
|
|
5
|
+
const fs = require('fs');
|
|
6
|
+
const path = require('path');
|
|
7
|
+
|
|
8
|
+
async function main() {
|
|
9
|
+
console.log('\n🧙 Welcome to the Vesper Wizard!\n');
|
|
10
|
+
|
|
11
|
+
// Step 1: Project basics
|
|
12
|
+
const { projectName } = await inquirer.prompt([
|
|
13
|
+
{
|
|
14
|
+
type: 'input',
|
|
15
|
+
name: 'projectName',
|
|
16
|
+
message: 'Project name:',
|
|
17
|
+
default: path.basename(process.cwd()),
|
|
18
|
+
},
|
|
19
|
+
]);
|
|
20
|
+
|
|
21
|
+
// Step 2: Data directory
|
|
22
|
+
const { dataDir } = await inquirer.prompt([
|
|
23
|
+
{
|
|
24
|
+
type: 'input',
|
|
25
|
+
name: 'dataDir',
|
|
26
|
+
message: 'Path to your data directory:',
|
|
27
|
+
default: './datasets',
|
|
28
|
+
},
|
|
29
|
+
]);
|
|
30
|
+
|
|
31
|
+
// Step 3: Default export format
|
|
32
|
+
const { exportFormat } = await inquirer.prompt([
|
|
33
|
+
{
|
|
34
|
+
type: 'list',
|
|
35
|
+
name: 'exportFormat',
|
|
36
|
+
message: 'Default export format:',
|
|
37
|
+
choices: ['parquet', 'csv', 'feather'],
|
|
38
|
+
default: 'parquet',
|
|
39
|
+
},
|
|
40
|
+
]);
|
|
41
|
+
|
|
42
|
+
// Step 4: Add tokens/credentials
|
|
43
|
+
const { addTokens } = await inquirer.prompt([
|
|
44
|
+
{
|
|
45
|
+
type: 'confirm',
|
|
46
|
+
name: 'addTokens',
|
|
47
|
+
message: 'Would you like to add API tokens or credentials now?',
|
|
48
|
+
default: true,
|
|
49
|
+
},
|
|
50
|
+
]);
|
|
51
|
+
let tokens = {};
|
|
52
|
+
if (addTokens) {
|
|
53
|
+
const { kaggleToken } = await inquirer.prompt([
|
|
54
|
+
{
|
|
55
|
+
type: 'input',
|
|
56
|
+
name: 'kaggleToken',
|
|
57
|
+
message: 'Kaggle API token (leave blank to skip):',
|
|
58
|
+
},
|
|
59
|
+
]);
|
|
60
|
+
if (kaggleToken) tokens.kaggle = kaggleToken;
|
|
61
|
+
// Add more tokens as needed
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
// Step 5: Write config file
|
|
65
|
+
const config = {
|
|
66
|
+
project: projectName,
|
|
67
|
+
dataDir,
|
|
68
|
+
exportFormat,
|
|
69
|
+
tokens,
|
|
70
|
+
};
|
|
71
|
+
const configPath = path.join(process.cwd(), 'vesper-mcp-config.json');
|
|
72
|
+
fs.writeFileSync(configPath, JSON.stringify(config, null, 2));
|
|
73
|
+
console.log(`\n✅ Configuration saved to ${configPath}`);
|
|
74
|
+
console.log('\n🎉 Vesper is ready to use!\n');
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
main();
|