@cluesmith/codev 1.4.2 → 1.4.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.
@@ -1,149 +0,0 @@
1
- /**
2
- * codev eject - Copy embedded skeleton files locally for customization
3
- *
4
- * Usage:
5
- * codev eject protocols/spider
6
- * codev eject roles/consultant.md
7
- * codev eject --list
8
- */
9
- import * as fs from 'node:fs';
10
- import * as path from 'node:path';
11
- import chalk from 'chalk';
12
- import { getSkeletonDir, listSkeletonFiles, findProjectRoot } from '../lib/skeleton.js';
13
- /**
14
- * List available files that can be ejected
15
- */
16
- function listEjectableFiles() {
17
- const skeletonDir = getSkeletonDir();
18
- if (!fs.existsSync(skeletonDir)) {
19
- console.error(chalk.red('Error: Skeleton directory not found.'));
20
- console.error('Package may be corrupted. Try reinstalling @cluesmith/codev.');
21
- return;
22
- }
23
- console.log('');
24
- console.log(chalk.bold('Available files to eject:'));
25
- console.log('');
26
- const categories = ['protocols', 'roles', 'agents', 'templates'];
27
- for (const category of categories) {
28
- const files = listSkeletonFiles(category);
29
- if (files.length > 0) {
30
- console.log(chalk.yellow(` ${category}/`));
31
- for (const file of files) {
32
- console.log(chalk.dim(` ${file}`));
33
- }
34
- console.log('');
35
- }
36
- }
37
- console.log(chalk.dim('Usage: codev eject <path>'));
38
- console.log(chalk.dim('Example: codev eject protocols/spider/protocol.md'));
39
- }
40
- /**
41
- * Eject a file or directory from the embedded skeleton
42
- */
43
- export async function eject(targetPath, options = {}) {
44
- const { list = false, force = false } = options;
45
- // List mode
46
- if (list || !targetPath) {
47
- listEjectableFiles();
48
- return;
49
- }
50
- const projectRoot = findProjectRoot();
51
- const skeletonDir = getSkeletonDir();
52
- // Normalize the path
53
- const normalizedPath = targetPath.replace(/^\//, '').replace(/\/$/, '');
54
- // Check if path exists in skeleton
55
- const sourcePath = path.join(skeletonDir, normalizedPath);
56
- if (!fs.existsSync(sourcePath)) {
57
- console.error(chalk.red(`Error: '${normalizedPath}' not found in embedded skeleton.`));
58
- console.error('');
59
- console.error('Use ' + chalk.cyan('codev eject --list') + ' to see available files.');
60
- process.exit(1);
61
- }
62
- const destPath = path.join(projectRoot, 'codev', normalizedPath);
63
- // Check if source is a file or directory
64
- const stat = fs.statSync(sourcePath);
65
- if (stat.isDirectory()) {
66
- // Eject entire directory
67
- await ejectDirectory(sourcePath, destPath, normalizedPath, force);
68
- }
69
- else {
70
- // Eject single file
71
- await ejectFile(sourcePath, destPath, normalizedPath, force);
72
- }
73
- }
74
- /**
75
- * Eject a single file
76
- */
77
- async function ejectFile(sourcePath, destPath, relativePath, force) {
78
- // Check if already exists locally
79
- if (fs.existsSync(destPath) && !force) {
80
- console.error(chalk.yellow(`Warning: '${relativePath}' already exists locally.`));
81
- console.error('Use ' + chalk.cyan('--force') + ' to overwrite.');
82
- process.exit(1);
83
- }
84
- // Create directory if needed
85
- const destDir = path.dirname(destPath);
86
- if (!fs.existsSync(destDir)) {
87
- fs.mkdirSync(destDir, { recursive: true });
88
- }
89
- // Copy file
90
- fs.copyFileSync(sourcePath, destPath);
91
- console.log('');
92
- console.log(chalk.green('Ejected:'), `codev/${relativePath}`);
93
- console.log('');
94
- console.log(chalk.dim('This file is now a local override.'));
95
- console.log(chalk.dim("Changes you make won't be overwritten by 'codev update'."));
96
- }
97
- /**
98
- * Eject an entire directory
99
- */
100
- async function ejectDirectory(sourcePath, destPath, relativePath, force) {
101
- let ejectedCount = 0;
102
- let skippedCount = 0;
103
- console.log('');
104
- console.log(chalk.bold(`Ejecting: ${relativePath}/`));
105
- console.log('');
106
- function copyRecursive(src, dest, relPath) {
107
- const stat = fs.statSync(src);
108
- if (stat.isDirectory()) {
109
- if (!fs.existsSync(dest)) {
110
- fs.mkdirSync(dest, { recursive: true });
111
- }
112
- const entries = fs.readdirSync(src);
113
- for (const entry of entries) {
114
- copyRecursive(path.join(src, entry), path.join(dest, entry), path.join(relPath, entry));
115
- }
116
- }
117
- else {
118
- // Skip .gitkeep files
119
- if (path.basename(src) === '.gitkeep') {
120
- return;
121
- }
122
- if (fs.existsSync(dest) && !force) {
123
- console.log(chalk.yellow(' skip'), `codev/${relPath}`, chalk.dim('(exists)'));
124
- skippedCount++;
125
- return;
126
- }
127
- const destDir = path.dirname(dest);
128
- if (!fs.existsSync(destDir)) {
129
- fs.mkdirSync(destDir, { recursive: true });
130
- }
131
- fs.copyFileSync(src, dest);
132
- console.log(chalk.green(' +'), `codev/${relPath}`);
133
- ejectedCount++;
134
- }
135
- }
136
- copyRecursive(sourcePath, destPath, relativePath);
137
- console.log('');
138
- console.log(chalk.bold('Summary:'));
139
- console.log(chalk.green(` + ${ejectedCount} files ejected`));
140
- if (skippedCount > 0) {
141
- console.log(chalk.yellow(` - ${skippedCount} files skipped (already exist)`));
142
- console.log('');
143
- console.log(chalk.dim('Use --force to overwrite existing files.'));
144
- }
145
- console.log('');
146
- console.log(chalk.dim('These files are now local overrides.'));
147
- console.log(chalk.dim("Changes you make won't be overwritten by 'codev update'."));
148
- }
149
- //# sourceMappingURL=eject.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"eject.js","sourceRoot":"","sources":["../../src/commands/eject.ts"],"names":[],"mappings":"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"}