@vyuhlabs/dxkit 1.5.0 → 1.5.1
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/CHANGELOG.md +8 -0
- package/README.md +10 -9
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +57 -0
- package/dist/cli.js.map +1 -1
- package/package.json +1 -1
- package/templates/.project/scripts/setup/interactive-setup.sh +6 -2
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [1.5.1] - 2026-04-10
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
- **`make setup` no longer aborts on npm install failure.** Peer dependency
|
|
14
|
+
conflicts now show a helpful message instead of killing the entire script.
|
|
15
|
+
- **`--stealth` flag** for `dxkit init` — gitignore only files created in
|
|
16
|
+
this run.
|
|
17
|
+
|
|
10
18
|
## [1.5.0] - 2026-04-10
|
|
11
19
|
|
|
12
20
|
### Fixed
|
package/README.md
CHANGED
|
@@ -346,15 +346,16 @@ npx @vyuhlabs/dxkit doctor # Verify setup
|
|
|
346
346
|
|
|
347
347
|
### Init Options
|
|
348
348
|
|
|
349
|
-
| Flag | Description
|
|
350
|
-
| ------------ |
|
|
351
|
-
| `--detect` | Auto-detect stack, minimal prompts
|
|
352
|
-
| `--yes` | Accept all defaults
|
|
353
|
-
| `--dx-only` | Just `.claude/` + `CLAUDE.md` (default)
|
|
354
|
-
| `--full` | Everything: DX + quality + hooks + CI
|
|
355
|
-
| `--force` | Overwrite existing files (except evolved)
|
|
356
|
-
| `--
|
|
357
|
-
| `--
|
|
349
|
+
| Flag | Description |
|
|
350
|
+
| ------------ | ----------------------------------------------------- |
|
|
351
|
+
| `--detect` | Auto-detect stack, minimal prompts |
|
|
352
|
+
| `--yes` | Accept all defaults |
|
|
353
|
+
| `--dx-only` | Just `.claude/` + `CLAUDE.md` (default) |
|
|
354
|
+
| `--full` | Everything: DX + quality + hooks + CI |
|
|
355
|
+
| `--force` | Overwrite existing files (except evolved) |
|
|
356
|
+
| `--stealth` | Gitignore generated files (local-only, not committed) |
|
|
357
|
+
| `--name <n>` | Override project name |
|
|
358
|
+
| `--no-scan` | Skip codebase analysis |
|
|
358
359
|
|
|
359
360
|
### Config Source Priority
|
|
360
361
|
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AA6CA,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA6IvD"}
|
package/dist/cli.js
CHANGED
|
@@ -43,6 +43,8 @@ const update_1 = require("./update");
|
|
|
43
43
|
const doctor_1 = require("./doctor");
|
|
44
44
|
const constants_1 = require("./constants");
|
|
45
45
|
const logger = __importStar(require("./logger"));
|
|
46
|
+
const fs = __importStar(require("fs"));
|
|
47
|
+
const path = __importStar(require("path"));
|
|
46
48
|
function printUsage() {
|
|
47
49
|
console.log(`
|
|
48
50
|
${logger.bold('vyuh-dxkit')} v${constants_1.VERSION} — AI-native developer experience toolkit
|
|
@@ -58,6 +60,7 @@ function printUsage() {
|
|
|
58
60
|
--detect Auto-detect stack, minimal prompts
|
|
59
61
|
--yes Accept all defaults, no prompts
|
|
60
62
|
--force Overwrite existing files (except evolved)
|
|
63
|
+
--stealth Gitignore generated files (local-only, not committed)
|
|
61
64
|
--name <n> Override project name
|
|
62
65
|
--no-scan Skip codebase analysis
|
|
63
66
|
|
|
@@ -69,6 +72,7 @@ function printUsage() {
|
|
|
69
72
|
npx vyuh-dxkit init # Interactive
|
|
70
73
|
npx vyuh-dxkit init --detect # Auto-detect, just DX
|
|
71
74
|
npx vyuh-dxkit init --full --yes # Everything, no prompts
|
|
75
|
+
npx vyuh-dxkit init --detect --stealth # Local-only, not committed
|
|
72
76
|
npx vyuh-dxkit update # Re-generate from manifest
|
|
73
77
|
`);
|
|
74
78
|
}
|
|
@@ -83,6 +87,7 @@ async function run(argv) {
|
|
|
83
87
|
detect: { type: 'boolean', default: false },
|
|
84
88
|
yes: { type: 'boolean', short: 'y', default: false },
|
|
85
89
|
force: { type: 'boolean', short: 'f', default: false },
|
|
90
|
+
stealth: { type: 'boolean', default: false },
|
|
86
91
|
name: { type: 'string' },
|
|
87
92
|
'no-scan': { type: 'boolean', default: false },
|
|
88
93
|
rescan: { type: 'boolean', default: false },
|
|
@@ -174,6 +179,10 @@ async function run(argv) {
|
|
|
174
179
|
logger.info(`Overwritten: ${result.overwritten.length} files`);
|
|
175
180
|
console.log('');
|
|
176
181
|
logger.info('Manifest written to .vyuh-dxkit.json');
|
|
182
|
+
// Stealth mode: gitignore only files we just created
|
|
183
|
+
if (values.stealth) {
|
|
184
|
+
enableStealthMode(cwd, result.created);
|
|
185
|
+
}
|
|
177
186
|
console.log('');
|
|
178
187
|
logger.success('Done! Claude Code now has full project context.');
|
|
179
188
|
console.log('');
|
|
@@ -195,4 +204,52 @@ async function run(argv) {
|
|
|
195
204
|
process.exit(1);
|
|
196
205
|
}
|
|
197
206
|
}
|
|
207
|
+
const STEALTH_HEADER = '# dxkit (stealth mode — local only, not committed)';
|
|
208
|
+
/**
|
|
209
|
+
* Add only files created in this run to .gitignore.
|
|
210
|
+
* Collapses directory files into directory entries.
|
|
211
|
+
*/
|
|
212
|
+
function enableStealthMode(cwd, createdFiles) {
|
|
213
|
+
const gitignorePath = path.join(cwd, '.gitignore');
|
|
214
|
+
let existing = '';
|
|
215
|
+
if (fs.existsSync(gitignorePath)) {
|
|
216
|
+
existing = fs.readFileSync(gitignorePath, 'utf-8');
|
|
217
|
+
if (existing.includes(STEALTH_HEADER)) {
|
|
218
|
+
logger.warn('.gitignore already has dxkit stealth entries');
|
|
219
|
+
return;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
// Collapse into top-level directories where possible
|
|
223
|
+
const dirs = new Set();
|
|
224
|
+
const files = [];
|
|
225
|
+
for (const f of createdFiles) {
|
|
226
|
+
const topDir = f.split('/')[0];
|
|
227
|
+
if (f.includes('/') && topDir.startsWith('.')) {
|
|
228
|
+
dirs.add(topDir + '/');
|
|
229
|
+
}
|
|
230
|
+
else {
|
|
231
|
+
files.push(f);
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
// Always include the manifest
|
|
235
|
+
files.push('.vyuh-dxkit.json');
|
|
236
|
+
// Dedupe against existing .gitignore
|
|
237
|
+
const existingLines = new Set(existing.split('\n').map((l) => l.trim()));
|
|
238
|
+
const newEntries = [];
|
|
239
|
+
for (const d of dirs) {
|
|
240
|
+
if (!existingLines.has(d))
|
|
241
|
+
newEntries.push(d);
|
|
242
|
+
}
|
|
243
|
+
for (const f of files) {
|
|
244
|
+
if (!existingLines.has(f))
|
|
245
|
+
newEntries.push(f);
|
|
246
|
+
}
|
|
247
|
+
if (newEntries.length === 0) {
|
|
248
|
+
logger.warn('.gitignore already covers generated files');
|
|
249
|
+
return;
|
|
250
|
+
}
|
|
251
|
+
const block = '\n' + STEALTH_HEADER + '\n' + newEntries.join('\n') + '\n';
|
|
252
|
+
fs.appendFileSync(gitignorePath, block, 'utf-8');
|
|
253
|
+
logger.success(`.gitignore updated — ${newEntries.length} generated path${newEntries.length !== 1 ? 's' : ''} added (stealth mode)`);
|
|
254
|
+
}
|
|
198
255
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -98,8 +98,12 @@ if [ "$NODE_ENABLED" = "true" ] && command -v npm &> /dev/null; then
|
|
|
98
98
|
echo -e "${CYAN}Node.js tools:${RESET}"
|
|
99
99
|
if [ -f "package.json" ]; then
|
|
100
100
|
echo -e " ${CYAN}→${RESET} Installing npm dependencies..."
|
|
101
|
-
npm install --silent 2>/dev/null
|
|
102
|
-
|
|
101
|
+
if npm install --silent 2>/dev/null; then
|
|
102
|
+
echo -e " ${GREEN}✓${RESET} npm dependencies installed"
|
|
103
|
+
else
|
|
104
|
+
echo -e " ${YELLOW}!${RESET} npm install failed (peer dependency conflicts?)"
|
|
105
|
+
echo -e " ${DIM} Try: npm install --legacy-peer-deps${RESET}"
|
|
106
|
+
fi
|
|
103
107
|
fi
|
|
104
108
|
echo ""
|
|
105
109
|
fi
|