kangentic 0.5.0 → 0.7.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/bin/kangentic.js +24 -4
- package/package.json +2 -2
package/bin/kangentic.js
CHANGED
|
@@ -252,7 +252,7 @@ function install(platformInfo, artifactPath) {
|
|
|
252
252
|
|
|
253
253
|
// --- Launch ---
|
|
254
254
|
|
|
255
|
-
function launch(platformInfo, targetDir, dataDir) {
|
|
255
|
+
function launch(platformInfo, targetDir, dataDir, extraArgs) {
|
|
256
256
|
const installPath = getInstallPath(platformInfo);
|
|
257
257
|
|
|
258
258
|
if (!fs.existsSync(installPath)) {
|
|
@@ -269,6 +269,9 @@ function launch(platformInfo, targetDir, dataDir) {
|
|
|
269
269
|
}
|
|
270
270
|
|
|
271
271
|
const launchArgs = targetDir ? [`--cwd=${targetDir}`] : [];
|
|
272
|
+
if (extraArgs) {
|
|
273
|
+
launchArgs.push(...extraArgs);
|
|
274
|
+
}
|
|
272
275
|
|
|
273
276
|
if (platformInfo.platform === 'win32') {
|
|
274
277
|
const child = spawn(installPath, launchArgs, {
|
|
@@ -353,9 +356,26 @@ async function main() {
|
|
|
353
356
|
// Determine target directory (first positional argument, skipping flags and their values)
|
|
354
357
|
const targetDir = findTargetDir(arguments_);
|
|
355
358
|
|
|
359
|
+
// Check for --demo flag
|
|
360
|
+
const isDemo = arguments_.includes('--demo');
|
|
361
|
+
|
|
356
362
|
// Resolve data directory: env var takes priority, then --data-dir flag
|
|
357
363
|
const dataDirFlag = parseDataDir(arguments_);
|
|
358
|
-
|
|
364
|
+
let dataDir = process.env.KANGENTIC_DATA_DIR || dataDirFlag;
|
|
365
|
+
|
|
366
|
+
// Demo mode: use an ephemeral temp data directory
|
|
367
|
+
if (isDemo && !dataDir) {
|
|
368
|
+
dataDir = path.join(os.tmpdir(), `kangentic-demo-${Date.now()}`);
|
|
369
|
+
fs.mkdirSync(dataDir, { recursive: true });
|
|
370
|
+
console.log('Demo mode: using temporary data directory');
|
|
371
|
+
console.log(` ${dataDir}`);
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
// Extra args to pass to the launched app
|
|
375
|
+
const extraArgs = [];
|
|
376
|
+
if (isDemo) {
|
|
377
|
+
extraArgs.push('--ephemeral');
|
|
378
|
+
}
|
|
359
379
|
|
|
360
380
|
// Detect platform
|
|
361
381
|
const platformInfo = getPlatformInfo();
|
|
@@ -368,7 +388,7 @@ async function main() {
|
|
|
368
388
|
// Check if already installed
|
|
369
389
|
if (isInstalled(platformInfo)) {
|
|
370
390
|
console.log(`Kangentic v${VERSION} is already installed.`);
|
|
371
|
-
launch(platformInfo, targetDir, dataDir);
|
|
391
|
+
launch(platformInfo, targetDir, dataDir, extraArgs);
|
|
372
392
|
return;
|
|
373
393
|
}
|
|
374
394
|
|
|
@@ -406,7 +426,7 @@ async function main() {
|
|
|
406
426
|
}
|
|
407
427
|
|
|
408
428
|
// Launch
|
|
409
|
-
launch(platformInfo, targetDir, dataDir);
|
|
429
|
+
launch(platformInfo, targetDir, dataDir, extraArgs);
|
|
410
430
|
}
|
|
411
431
|
|
|
412
432
|
main().catch((error) => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kangentic",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "Install and launch Kangentic -- visual agent orchestration for Claude Code",
|
|
5
5
|
"bin": {
|
|
6
6
|
"kangentic": "./bin/kangentic.js"
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
},
|
|
22
22
|
"license": "AGPL-3.0-only",
|
|
23
23
|
"engines": {
|
|
24
|
-
"node": ">=
|
|
24
|
+
"node": ">=20"
|
|
25
25
|
},
|
|
26
26
|
"files": [
|
|
27
27
|
"bin/",
|