vigthoria-cli 1.0.2 → 1.3.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.
@@ -0,0 +1,585 @@
1
+ "use strict";
2
+ /**
3
+ * Vigthoria CLI - Repo Commands
4
+ *
5
+ * Push and pull projects to/from Vigthoria Repository
6
+ * Enables version control and project sharing through the Vigthoria platform
7
+ *
8
+ * Usage:
9
+ * vigthoria repo push [path] - Push current/specified project to Vigthoria Repo
10
+ * vigthoria repo pull <name> - Pull a project from your Vigthoria Repo
11
+ * vigthoria repo list - List all your projects in Vigthoria Repo
12
+ * vigthoria repo status - Show sync status of current project
13
+ * vigthoria repo share <name> - Generate shareable link for a project
14
+ * vigthoria repo delete <name> - Remove a project from your Vigthoria Repo
15
+ */
16
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ var desc = Object.getOwnPropertyDescriptor(m, k);
19
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
20
+ desc = { enumerable: true, get: function() { return m[k]; } };
21
+ }
22
+ Object.defineProperty(o, k2, desc);
23
+ }) : (function(o, m, k, k2) {
24
+ if (k2 === undefined) k2 = k;
25
+ o[k2] = m[k];
26
+ }));
27
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
28
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
29
+ }) : function(o, v) {
30
+ o["default"] = v;
31
+ });
32
+ var __importStar = (this && this.__importStar) || (function () {
33
+ var ownKeys = function(o) {
34
+ ownKeys = Object.getOwnPropertyNames || function (o) {
35
+ var ar = [];
36
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
37
+ return ar;
38
+ };
39
+ return ownKeys(o);
40
+ };
41
+ return function (mod) {
42
+ if (mod && mod.__esModule) return mod;
43
+ var result = {};
44
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
45
+ __setModuleDefault(result, mod);
46
+ return result;
47
+ };
48
+ })();
49
+ var __importDefault = (this && this.__importDefault) || function (mod) {
50
+ return (mod && mod.__esModule) ? mod : { "default": mod };
51
+ };
52
+ Object.defineProperty(exports, "__esModule", { value: true });
53
+ exports.RepoCommand = void 0;
54
+ const chalk_1 = __importDefault(require("chalk"));
55
+ const fs = __importStar(require("fs"));
56
+ const path = __importStar(require("path"));
57
+ const ora_1 = __importDefault(require("ora"));
58
+ const inquirer_1 = __importDefault(require("inquirer"));
59
+ const archiver_1 = __importDefault(require("archiver"));
60
+ const fs_1 = require("fs");
61
+ class RepoCommand {
62
+ config;
63
+ logger;
64
+ apiBase;
65
+ constructor(config, logger) {
66
+ this.config = config;
67
+ this.logger = logger;
68
+ this.apiBase = this.config.get('apiUrl') || 'https://coder.vigthoria.io';
69
+ }
70
+ getAuthHeaders() {
71
+ const token = this.config.get('authToken');
72
+ return {
73
+ 'Authorization': `Bearer ${token}`,
74
+ 'Content-Type': 'application/json'
75
+ };
76
+ }
77
+ isAuthenticated() {
78
+ const token = this.config.get('authToken');
79
+ return !!token;
80
+ }
81
+ requireAuth() {
82
+ if (!this.isAuthenticated()) {
83
+ console.log(chalk_1.default.red('\nāŒ Authentication required. Run: vigthoria login\n'));
84
+ process.exit(1);
85
+ }
86
+ }
87
+ /**
88
+ * Detect project info from package.json, requirements.txt, etc.
89
+ */
90
+ detectProjectInfo(projectPath) {
91
+ let name = path.basename(projectPath);
92
+ let description = '';
93
+ const techStack = [];
94
+ // Check package.json (Node.js)
95
+ const packageJsonPath = path.join(projectPath, 'package.json');
96
+ if (fs.existsSync(packageJsonPath)) {
97
+ try {
98
+ const pkg = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
99
+ name = pkg.name || name;
100
+ description = pkg.description || '';
101
+ techStack.push('Node.js');
102
+ // Detect frameworks from dependencies
103
+ const deps = { ...pkg.dependencies, ...pkg.devDependencies };
104
+ if (deps.express)
105
+ techStack.push('Express');
106
+ if (deps.react)
107
+ techStack.push('React');
108
+ if (deps.vue)
109
+ techStack.push('Vue');
110
+ if (deps.next)
111
+ techStack.push('Next.js');
112
+ if (deps.typescript)
113
+ techStack.push('TypeScript');
114
+ if (deps.sqlite3 || deps['better-sqlite3'])
115
+ techStack.push('SQLite');
116
+ if (deps.stripe)
117
+ techStack.push('Stripe');
118
+ }
119
+ catch (e) {
120
+ // Ignore parse errors
121
+ }
122
+ }
123
+ // Check requirements.txt (Python)
124
+ const requirementsPath = path.join(projectPath, 'requirements.txt');
125
+ if (fs.existsSync(requirementsPath)) {
126
+ techStack.push('Python');
127
+ const content = fs.readFileSync(requirementsPath, 'utf8').toLowerCase();
128
+ if (content.includes('flask'))
129
+ techStack.push('Flask');
130
+ if (content.includes('django'))
131
+ techStack.push('Django');
132
+ if (content.includes('fastapi'))
133
+ techStack.push('FastAPI');
134
+ if (content.includes('torch') || content.includes('pytorch'))
135
+ techStack.push('PyTorch');
136
+ if (content.includes('tensorflow'))
137
+ techStack.push('TensorFlow');
138
+ }
139
+ // Check Cargo.toml (Rust)
140
+ if (fs.existsSync(path.join(projectPath, 'Cargo.toml'))) {
141
+ techStack.push('Rust');
142
+ }
143
+ // Check go.mod (Go)
144
+ if (fs.existsSync(path.join(projectPath, 'go.mod'))) {
145
+ techStack.push('Go');
146
+ }
147
+ return { name, description, techStack: [...new Set(techStack)] };
148
+ }
149
+ /**
150
+ * Create a zip archive of a project
151
+ */
152
+ async createProjectArchive(projectPath) {
153
+ const tempDir = path.join(require('os').tmpdir(), 'vigthoria-cli');
154
+ if (!fs.existsSync(tempDir)) {
155
+ fs.mkdirSync(tempDir, { recursive: true });
156
+ }
157
+ const archivePath = path.join(tempDir, `project-${Date.now()}.zip`);
158
+ const output = (0, fs_1.createWriteStream)(archivePath);
159
+ const archive = (0, archiver_1.default)('zip', { zlib: { level: 9 } });
160
+ return new Promise((resolve, reject) => {
161
+ output.on('close', () => resolve(archivePath));
162
+ archive.on('error', (err) => reject(err));
163
+ archive.pipe(output);
164
+ // Ignore patterns
165
+ const ignorePatterns = [
166
+ 'node_modules/**',
167
+ '.git/**',
168
+ 'dist/**',
169
+ 'build/**',
170
+ '__pycache__/**',
171
+ '.venv/**',
172
+ 'venv/**',
173
+ '*.log',
174
+ '.env',
175
+ '.DS_Store'
176
+ ];
177
+ archive.glob('**/*', {
178
+ cwd: projectPath,
179
+ ignore: ignorePatterns,
180
+ dot: true
181
+ });
182
+ archive.finalize();
183
+ });
184
+ }
185
+ /**
186
+ * Push a project to Vigthoria Repository
187
+ */
188
+ async push(options = {}) {
189
+ this.requireAuth();
190
+ const projectPath = options.path ? path.resolve(options.path) : process.cwd();
191
+ if (!fs.existsSync(projectPath)) {
192
+ console.log(chalk_1.default.red(`\nāŒ Path does not exist: ${projectPath}\n`));
193
+ return;
194
+ }
195
+ const spinner = (0, ora_1.default)('Analyzing project...').start();
196
+ try {
197
+ const projectInfo = this.detectProjectInfo(projectPath);
198
+ spinner.succeed(`Project detected: ${chalk_1.default.cyan(projectInfo.name)}`);
199
+ console.log(chalk_1.default.gray(`\n šŸ“ Path: ${projectPath}`));
200
+ console.log(chalk_1.default.gray(` šŸ“ Description: ${projectInfo.description || '(none)'}`));
201
+ console.log(chalk_1.default.gray(` šŸ”§ Tech Stack: ${projectInfo.techStack.join(', ') || 'Unknown'}`));
202
+ console.log();
203
+ // Ask for confirmation and additional info
204
+ const answers = await inquirer_1.default.prompt([
205
+ {
206
+ type: 'input',
207
+ name: 'name',
208
+ message: 'Project name:',
209
+ default: projectInfo.name
210
+ },
211
+ {
212
+ type: 'input',
213
+ name: 'description',
214
+ message: 'Description:',
215
+ default: options.description || projectInfo.description
216
+ },
217
+ {
218
+ type: 'list',
219
+ name: 'visibility',
220
+ message: 'Visibility:',
221
+ choices: [
222
+ { name: 'Private - Only you can access', value: 'private' },
223
+ { name: 'Restricted - Invite only', value: 'restricted' },
224
+ { name: 'Public - Anyone can view', value: 'public' }
225
+ ],
226
+ default: options.visibility || 'private'
227
+ },
228
+ {
229
+ type: 'confirm',
230
+ name: 'confirm',
231
+ message: 'Push project to Vigthoria Repo?',
232
+ default: true
233
+ }
234
+ ]);
235
+ if (!answers.confirm) {
236
+ console.log(chalk_1.default.yellow('\nāš ļø Push cancelled.\n'));
237
+ return;
238
+ }
239
+ const uploadSpinner = (0, ora_1.default)('Creating project archive...').start();
240
+ // Create archive
241
+ const archivePath = await this.createProjectArchive(projectPath);
242
+ uploadSpinner.text = 'Uploading to Vigthoria Repo...';
243
+ // First, register/update the project
244
+ const registerResponse = await fetch(`${this.apiBase}/api/repo/push`, {
245
+ method: 'POST',
246
+ headers: this.getAuthHeaders(),
247
+ body: JSON.stringify({
248
+ projectName: answers.name,
249
+ projectPath: projectPath,
250
+ description: answers.description,
251
+ techStack: projectInfo.techStack.join(', '),
252
+ visibility: answers.visibility,
253
+ force: options.force || false
254
+ })
255
+ });
256
+ if (!registerResponse.ok) {
257
+ const error = await registerResponse.json();
258
+ throw new Error(error.error || 'Failed to register project');
259
+ }
260
+ const registerData = await registerResponse.json();
261
+ // Upload the archive if there's an upload URL
262
+ if (registerData.uploadUrl) {
263
+ const archiveBuffer = fs.readFileSync(archivePath);
264
+ const uploadResponse = await fetch(registerData.uploadUrl, {
265
+ method: 'PUT',
266
+ headers: {
267
+ ...this.getAuthHeaders(),
268
+ 'Content-Type': 'application/zip'
269
+ },
270
+ body: archiveBuffer
271
+ });
272
+ if (!uploadResponse.ok) {
273
+ throw new Error('Failed to upload project archive');
274
+ }
275
+ }
276
+ // Clean up temp archive
277
+ fs.unlinkSync(archivePath);
278
+ uploadSpinner.succeed(chalk_1.default.green('Project pushed successfully!'));
279
+ console.log(chalk_1.default.cyan('\nšŸ“¦ Project Details:'));
280
+ console.log(chalk_1.default.gray(` Name: ${registerData.project.project_name}`));
281
+ console.log(chalk_1.default.gray(` Visibility: ${registerData.project.visibility}`));
282
+ console.log(chalk_1.default.gray(` ID: ${registerData.project.id}`));
283
+ if (registerData.project.visibility === 'public') {
284
+ console.log(chalk_1.default.cyan(`\nšŸ”— Public URL: https://coder.vigthoria.io/preview/${registerData.project.id}`));
285
+ }
286
+ console.log(chalk_1.default.gray('\nTip: Use `vigthoria repo pull <name>` to restore this project anywhere.\n'));
287
+ }
288
+ catch (error) {
289
+ spinner.fail('Push failed');
290
+ const errMsg = error instanceof Error ? error.message : 'Unknown error';
291
+ console.log(chalk_1.default.red(`\nāŒ Error: ${errMsg}\n`));
292
+ }
293
+ }
294
+ /**
295
+ * Pull a project from Vigthoria Repository
296
+ */
297
+ async pull(projectName, options = {}) {
298
+ this.requireAuth();
299
+ const spinner = (0, ora_1.default)(`Fetching project: ${projectName}...`).start();
300
+ try {
301
+ const response = await fetch(`${this.apiBase}/api/repo/pull/${encodeURIComponent(projectName)}`, {
302
+ method: 'GET',
303
+ headers: this.getAuthHeaders()
304
+ });
305
+ if (!response.ok) {
306
+ const error = await response.json();
307
+ throw new Error(error.error || 'Project not found');
308
+ }
309
+ const data = await response.json();
310
+ spinner.succeed(`Found project: ${chalk_1.default.cyan(data.project.project_name)}`);
311
+ const outputPath = options.output
312
+ ? path.resolve(options.output)
313
+ : path.join(process.cwd(), data.project.project_name);
314
+ if (fs.existsSync(outputPath) && !options.force) {
315
+ const { overwrite } = await inquirer_1.default.prompt([{
316
+ type: 'confirm',
317
+ name: 'overwrite',
318
+ message: `Directory ${outputPath} exists. Overwrite?`,
319
+ default: false
320
+ }]);
321
+ if (!overwrite) {
322
+ console.log(chalk_1.default.yellow('\nāš ļø Pull cancelled.\n'));
323
+ return;
324
+ }
325
+ }
326
+ const downloadSpinner = (0, ora_1.default)('Downloading project files...').start();
327
+ // Create output directory
328
+ fs.mkdirSync(outputPath, { recursive: true });
329
+ // If we have a download URL, fetch and extract
330
+ if (data.downloadUrl) {
331
+ const archiveResponse = await fetch(data.downloadUrl, {
332
+ headers: this.getAuthHeaders()
333
+ });
334
+ if (!archiveResponse.ok) {
335
+ throw new Error('Failed to download project archive');
336
+ }
337
+ // Save and extract the archive
338
+ const tempArchive = path.join(require('os').tmpdir(), `vigthoria-pull-${Date.now()}.zip`);
339
+ const archiveBuffer = Buffer.from(await archiveResponse.arrayBuffer());
340
+ fs.writeFileSync(tempArchive, archiveBuffer);
341
+ // Extract using unzip command or adm-zip
342
+ const { execSync } = await import('child_process');
343
+ execSync(`unzip -o "${tempArchive}" -d "${outputPath}"`, { stdio: 'ignore' });
344
+ fs.unlinkSync(tempArchive);
345
+ }
346
+ else if (data.files) {
347
+ // If we have files inline (small projects)
348
+ for (const file of data.files) {
349
+ const filePath = path.join(outputPath, file.path);
350
+ fs.mkdirSync(path.dirname(filePath), { recursive: true });
351
+ fs.writeFileSync(filePath, file.content);
352
+ }
353
+ }
354
+ downloadSpinner.succeed(chalk_1.default.green('Project pulled successfully!'));
355
+ console.log(chalk_1.default.cyan('\nšŸ“ Project extracted to:'));
356
+ console.log(chalk_1.default.white(` ${outputPath}`));
357
+ console.log(chalk_1.default.gray(`\n Tech Stack: ${data.project.tech_stack || 'Unknown'}`));
358
+ console.log(chalk_1.default.gray(` Description: ${data.project.description || '(none)'}`));
359
+ console.log();
360
+ }
361
+ catch (error) {
362
+ spinner.fail('Pull failed');
363
+ const errMsg = error instanceof Error ? error.message : 'Unknown error';
364
+ console.log(chalk_1.default.red(`\nāŒ Error: ${errMsg}\n`));
365
+ }
366
+ }
367
+ /**
368
+ * List all projects in user's Vigthoria Repository
369
+ */
370
+ async list(options = {}) {
371
+ this.requireAuth();
372
+ const spinner = (0, ora_1.default)('Fetching your projects...').start();
373
+ try {
374
+ let url = `${this.apiBase}/api/repo/projects`;
375
+ if (options.visibility) {
376
+ url += `?visibility=${options.visibility}`;
377
+ }
378
+ const response = await fetch(url, {
379
+ method: 'GET',
380
+ headers: this.getAuthHeaders()
381
+ });
382
+ if (!response.ok) {
383
+ throw new Error('Failed to fetch projects');
384
+ }
385
+ const data = await response.json();
386
+ spinner.stop();
387
+ if (data.projects.length === 0) {
388
+ console.log(chalk_1.default.yellow('\nšŸ“¦ No projects in your Vigthoria Repo yet.\n'));
389
+ console.log(chalk_1.default.gray('Use `vigthoria repo push` to upload your first project.\n'));
390
+ return;
391
+ }
392
+ console.log(chalk_1.default.cyan(`\nšŸ“¦ Your Vigthoria Repository (${data.total} project${data.total !== 1 ? 's' : ''})\n`));
393
+ // Group by visibility
394
+ const grouped = data.projects.reduce((acc, project) => {
395
+ const vis = project.visibility || 'private';
396
+ if (!acc[vis])
397
+ acc[vis] = [];
398
+ acc[vis].push(project);
399
+ return acc;
400
+ }, {});
401
+ const visibilityOrder = ['private', 'restricted', 'public'];
402
+ const visibilityIcons = {
403
+ private: 'šŸ”’',
404
+ restricted: 'šŸ‘„',
405
+ public: 'šŸŒ'
406
+ };
407
+ visibilityOrder.forEach(vis => {
408
+ const projects = grouped[vis];
409
+ if (!projects || projects.length === 0)
410
+ return;
411
+ console.log(chalk_1.default.bold.white(` ${visibilityIcons[vis]} ${vis.toUpperCase()}`));
412
+ console.log(chalk_1.default.gray(' ' + '─'.repeat(50)));
413
+ projects.forEach((project) => {
414
+ const syncStatus = project.last_synced_at
415
+ ? chalk_1.default.green('āœ“ synced')
416
+ : chalk_1.default.yellow('ā—‹ not synced');
417
+ console.log(chalk_1.default.white(` ${project.project_name.padEnd(30)} ${syncStatus}`));
418
+ if (project.description) {
419
+ console.log(chalk_1.default.gray(` ${project.description.substring(0, 50)}${project.description.length > 50 ? '...' : ''}`));
420
+ }
421
+ console.log(chalk_1.default.gray(` Tech: ${project.tech_stack || 'Unknown'}`));
422
+ console.log(chalk_1.default.gray(` Updated: ${new Date(project.updated_at).toLocaleDateString()}`));
423
+ console.log();
424
+ });
425
+ });
426
+ console.log(chalk_1.default.gray('─'.repeat(60)));
427
+ console.log(chalk_1.default.cyan('\nCommands:'));
428
+ console.log(chalk_1.default.gray(' vigthoria repo pull <name> - Download a project'));
429
+ console.log(chalk_1.default.gray(' vigthoria repo push - Upload current directory'));
430
+ console.log(chalk_1.default.gray(' vigthoria repo status - Check sync status'));
431
+ console.log(chalk_1.default.gray(' vigthoria repo share <name> - Share a project\n'));
432
+ }
433
+ catch (error) {
434
+ spinner.fail('List failed');
435
+ const errMsg = error instanceof Error ? error.message : 'Unknown error';
436
+ console.log(chalk_1.default.red(`\nāŒ Error: ${errMsg}\n`));
437
+ }
438
+ }
439
+ /**
440
+ * Show sync status of current project
441
+ */
442
+ async status() {
443
+ this.requireAuth();
444
+ const projectPath = process.cwd();
445
+ const projectInfo = this.detectProjectInfo(projectPath);
446
+ const spinner = (0, ora_1.default)('Checking sync status...').start();
447
+ try {
448
+ const response = await fetch(`${this.apiBase}/api/repo/status/${encodeURIComponent(projectInfo.name)}`, {
449
+ method: 'GET',
450
+ headers: this.getAuthHeaders()
451
+ });
452
+ if (!response.ok) {
453
+ spinner.succeed('Project not tracked in Vigthoria Repo');
454
+ console.log(chalk_1.default.yellow('\nšŸ“¦ Current project is not synced with Vigthoria Repo.\n'));
455
+ console.log(chalk_1.default.gray('Use `vigthoria repo push` to upload it.\n'));
456
+ return;
457
+ }
458
+ const data = await response.json();
459
+ spinner.stop();
460
+ const statusIcons = {
461
+ synced: 'āœ…',
462
+ ahead: 'ā¬†ļø',
463
+ behind: 'ā¬‡ļø',
464
+ diverged: 'āš ļø'
465
+ };
466
+ console.log(chalk_1.default.cyan(`\nšŸ“¦ Project: ${chalk_1.default.white(data.project.project_name)}\n`));
467
+ console.log(chalk_1.default.gray(` Path: ${projectPath}`));
468
+ console.log(chalk_1.default.gray(` Visibility: ${data.project.visibility}`));
469
+ console.log(chalk_1.default.gray(` Tech Stack: ${data.project.tech_stack || 'Unknown'}`));
470
+ console.log();
471
+ console.log(` Status: ${statusIcons[data.syncStatus]} ${data.syncStatus.toUpperCase()}`);
472
+ if (data.localChanges && data.localChanges > 0) {
473
+ console.log(chalk_1.default.yellow(` Local changes: ${data.localChanges} file(s) modified`));
474
+ }
475
+ console.log(chalk_1.default.gray(`\n Last synced: ${data.project.last_synced_at
476
+ ? new Date(data.project.last_synced_at).toLocaleString()
477
+ : 'Never'}`));
478
+ console.log();
479
+ if (data.syncStatus === 'ahead' || data.syncStatus === 'diverged') {
480
+ console.log(chalk_1.default.cyan('Tip: Use `vigthoria repo push` to sync changes.\n'));
481
+ }
482
+ }
483
+ catch (error) {
484
+ spinner.fail('Status check failed');
485
+ const errMsg = error instanceof Error ? error.message : 'Unknown error';
486
+ console.log(chalk_1.default.red(`\nāŒ Error: ${errMsg}\n`));
487
+ }
488
+ }
489
+ /**
490
+ * Generate a shareable link for a project
491
+ */
492
+ async share(projectName, options = {}) {
493
+ this.requireAuth();
494
+ const spinner = (0, ora_1.default)('Generating share link...').start();
495
+ try {
496
+ const response = await fetch(`${this.apiBase}/api/repo/share`, {
497
+ method: 'POST',
498
+ headers: this.getAuthHeaders(),
499
+ body: JSON.stringify({
500
+ projectName,
501
+ expiresIn: options.expires || '7d'
502
+ })
503
+ });
504
+ if (!response.ok) {
505
+ const error = await response.json();
506
+ throw new Error(error.error || 'Failed to generate share link');
507
+ }
508
+ const data = await response.json();
509
+ spinner.succeed(chalk_1.default.green('Share link generated!'));
510
+ console.log(chalk_1.default.cyan('\nšŸ”— Share Link:'));
511
+ console.log(chalk_1.default.white(` ${data.shareUrl}`));
512
+ console.log(chalk_1.default.gray(`\n Expires: ${new Date(data.expiresAt).toLocaleString()}`));
513
+ console.log(chalk_1.default.gray('\n Anyone with this link can view/download the project.\n'));
514
+ }
515
+ catch (error) {
516
+ spinner.fail('Share failed');
517
+ const errMsg = error instanceof Error ? error.message : 'Unknown error';
518
+ console.log(chalk_1.default.red(`\nāŒ Error: ${errMsg}\n`));
519
+ }
520
+ }
521
+ /**
522
+ * Delete a project from Vigthoria Repository
523
+ */
524
+ async delete(projectName) {
525
+ this.requireAuth();
526
+ const { confirm } = await inquirer_1.default.prompt([{
527
+ type: 'confirm',
528
+ name: 'confirm',
529
+ message: chalk_1.default.red(`Are you sure you want to delete "${projectName}" from Vigthoria Repo?`),
530
+ default: false
531
+ }]);
532
+ if (!confirm) {
533
+ console.log(chalk_1.default.yellow('\nāš ļø Delete cancelled.\n'));
534
+ return;
535
+ }
536
+ const spinner = (0, ora_1.default)('Deleting project...').start();
537
+ try {
538
+ const response = await fetch(`${this.apiBase}/api/repo/projects/${encodeURIComponent(projectName)}`, {
539
+ method: 'DELETE',
540
+ headers: this.getAuthHeaders()
541
+ });
542
+ if (!response.ok) {
543
+ const error = await response.json();
544
+ throw new Error(error.error || 'Failed to delete project');
545
+ }
546
+ spinner.succeed(chalk_1.default.green('Project deleted from Vigthoria Repo'));
547
+ console.log(chalk_1.default.gray('\nNote: Your local files are not affected.\n'));
548
+ }
549
+ catch (error) {
550
+ spinner.fail('Delete failed');
551
+ const errMsg = error instanceof Error ? error.message : 'Unknown error';
552
+ console.log(chalk_1.default.red(`\nāŒ Error: ${errMsg}\n`));
553
+ }
554
+ }
555
+ /**
556
+ * Clone a public project from Vigthoria Repository
557
+ */
558
+ async clone(projectUrl, options = {}) {
559
+ // Parse project URL or name
560
+ const projectIdMatch = projectUrl.match(/preview\/(\d+)/);
561
+ const projectId = projectIdMatch ? projectIdMatch[1] : projectUrl;
562
+ const spinner = (0, ora_1.default)(`Cloning project...`).start();
563
+ try {
564
+ const response = await fetch(`${this.apiBase}/api/repo/clone/${projectId}`, {
565
+ method: 'GET',
566
+ headers: this.isAuthenticated() ? this.getAuthHeaders() : { 'Content-Type': 'application/json' }
567
+ });
568
+ if (!response.ok) {
569
+ const error = await response.json();
570
+ throw new Error(error.error || 'Project not found or not public');
571
+ }
572
+ const data = await response.json();
573
+ spinner.succeed(`Found project: ${chalk_1.default.cyan(data.project.project_name)}`);
574
+ // Use pull logic for the rest
575
+ await this.pull(data.project.project_name, options);
576
+ }
577
+ catch (error) {
578
+ spinner.fail('Clone failed');
579
+ const errMsg = error instanceof Error ? error.message : 'Unknown error';
580
+ console.log(chalk_1.default.red(`\nāŒ Error: ${errMsg}\n`));
581
+ }
582
+ }
583
+ }
584
+ exports.RepoCommand = RepoCommand;
585
+ //# sourceMappingURL=repo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repo.js","sourceRoot":"","sources":["../../src/commands/repo.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -11,6 +11,7 @@
11
11
  * vigthoria review <file> - Review code quality
12
12
  * vigthoria login - Authenticate with Vigthoria
13
13
  * vigthoria config - Configure settings
14
+ * vigthoria hub - Discover & activate API modules
14
15
  */
15
16
  export {};
16
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;GAYG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;GAaG"}