@neikyun/ciel 5.1.6 → 5.1.8
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/dist/cli/check.d.ts.map +1 -1
- package/dist/cli/check.js +2 -1
- package/dist/cli/check.js.map +1 -1
- package/dist/cli/index.js +3 -17
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +2 -1
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/version.d.ts +2 -0
- package/dist/cli/version.d.ts.map +1 -0
- package/dist/cli/version.js +39 -0
- package/dist/cli/version.js.map +1 -0
- package/package.json +3 -1
- package/scripts/postinstall.cjs +233 -0
package/dist/cli/check.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/cli/check.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/cli/check.ts"],"names":[],"mappings":"AAmBA,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAqB9C"}
|
package/dist/cli/check.js
CHANGED
|
@@ -4,8 +4,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
exports.runCheck = runCheck;
|
|
5
5
|
const https_1 = require("https");
|
|
6
6
|
const utils_1 = require("./utils");
|
|
7
|
+
const version_1 = require("./version");
|
|
7
8
|
const GITHUB_RAW = "https://raw.githubusercontent.com/KaosKyun/Ciel/main";
|
|
8
|
-
const CIEL_VERSION =
|
|
9
|
+
const CIEL_VERSION = (0, version_1.getVersion)();
|
|
9
10
|
function fetchUrl(url) {
|
|
10
11
|
return new Promise((resolve, reject) => {
|
|
11
12
|
(0, https_1.get)(url, (res) => {
|
package/dist/cli/check.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/cli/check.ts"],"names":[],"mappings":";AAAA,uDAAuD;;
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/cli/check.ts"],"names":[],"mappings":";AAAA,uDAAuD;;AAmBvD,4BAqBC;AAtCD,iCAAwC;AACxC,mCAAkC;AAClC,uCAAuC;AAEvC,MAAM,UAAU,GAAG,sDAAsD,CAAC;AAC1E,MAAM,YAAY,GAAG,IAAA,oBAAU,GAAE,CAAC;AAElC,SAAS,QAAQ,CAAC,GAAW;IAC3B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAA,WAAQ,EAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;YACpB,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;YACnD,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,QAAQ;IAC5B,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,GAAG,UAAU,UAAU,CAAC,CAAC;QAC9D,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,IAAA,WAAG,EAAC,6CAA6C,CAAC,CAAC;YACnD,IAAA,WAAG,EAAC,iCAAiC,CAAC,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,aAAa,KAAK,YAAY,EAAE,CAAC;YACnC,IAAA,UAAE,EAAC,SAAS,YAAY,iBAAiB,CAAC,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,wBAAwB,YAAY,OAAO,aAAa,EAAE,CAAC,CAAC;QACxE,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAA,WAAG,EAAC,kBAAkB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
|
package/dist/cli/index.js
CHANGED
|
@@ -12,23 +12,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
const init_1 = require("./init");
|
|
13
13
|
const uninstall_1 = require("./uninstall");
|
|
14
14
|
const check_1 = require("./check");
|
|
15
|
-
const
|
|
16
|
-
const path_1 = require("path");
|
|
17
|
-
const CIEL_VERSION = "5.1.5";
|
|
18
|
-
function getVersion() {
|
|
19
|
-
// Try VERSION file first (dev), fall back to package version
|
|
20
|
-
try {
|
|
21
|
-
if ((0, fs_1.existsSync)((0, path_1.join)(process.cwd(), "VERSION"))) {
|
|
22
|
-
return (0, fs_1.readFileSync)((0, path_1.join)(process.cwd(), "VERSION"), "utf-8").trim();
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
catch {
|
|
26
|
-
// silent
|
|
27
|
-
}
|
|
28
|
-
return CIEL_VERSION;
|
|
29
|
-
}
|
|
15
|
+
const version_1 = require("./version");
|
|
30
16
|
function usage() {
|
|
31
|
-
const v = getVersion();
|
|
17
|
+
const v = (0, version_1.getVersion)();
|
|
32
18
|
console.log(`
|
|
33
19
|
Ciel v${v} — CLI
|
|
34
20
|
|
|
@@ -65,7 +51,7 @@ async function main() {
|
|
|
65
51
|
process.exit(0);
|
|
66
52
|
}
|
|
67
53
|
if (args.includes("--version") || args.includes("-v")) {
|
|
68
|
-
console.log(getVersion());
|
|
54
|
+
console.log((0, version_1.getVersion)());
|
|
69
55
|
process.exit(0);
|
|
70
56
|
}
|
|
71
57
|
const command = args.find((a) => !a.startsWith("-")) || "init";
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;AACA,uBAAuB;AACvB,2CAA2C;AAC3C,EAAE;AACF,YAAY;AACZ,8DAA8D;AAC9D,yCAAyC;AACzC,qDAAqD;AACrD,4CAA4C;;AAE5C,iCAAiC;AACjC,2CAA2C;AAC3C,mCAAmC;AACnC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;AACA,uBAAuB;AACvB,2CAA2C;AAC3C,EAAE;AACF,YAAY;AACZ,8DAA8D;AAC9D,yCAAyC;AACzC,qDAAqD;AACrD,4CAA4C;;AAE5C,iCAAiC;AACjC,2CAA2C;AAC3C,mCAAmC;AACnC,uCAAuC;AAEvC,SAAS,KAAK;IACZ,MAAM,CAAC,GAAG,IAAA,oBAAU,GAAE,CAAC;IACvB,OAAO,CAAC,GAAG,CAAC;QACN,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BR,CAAC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,KAAK,EAAE,CAAC;QACR,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,IAAA,oBAAU,GAAE,CAAC,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC;IAC/D,MAAM,OAAO,GAAG;QACd,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAClD,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;KACvD,CAAC;IAEF,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,MAAM;YACT,MAAM,IAAA,cAAO,EAAC,OAAO,CAAC,CAAC;YACvB,MAAM;QACR,KAAK,QAAQ;YACX,MAAM,IAAA,cAAO,EAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3C,MAAM;QACR,KAAK,WAAW;YACd,MAAM,IAAA,wBAAY,EAAC,OAAO,CAAC,CAAC;YAC5B,MAAM;QACR,KAAK,OAAO;YACV,MAAM,IAAA,gBAAQ,GAAE,CAAC;YACjB,MAAM;QACR;YACE,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;YAC7C,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;YACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
package/dist/cli/init.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,OAAO,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AA+HD,wBAAsB,OAAO,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA0FjE"}
|
package/dist/cli/init.js
CHANGED
|
@@ -9,6 +9,7 @@ const os_1 = require("os");
|
|
|
9
9
|
const utils_1 = require("./utils");
|
|
10
10
|
const opencode_1 = require("./opencode");
|
|
11
11
|
const claude_1 = require("./claude");
|
|
12
|
+
const version_1 = require("./version");
|
|
12
13
|
/**
|
|
13
14
|
* Signal file to verify when resolving the template source directory.
|
|
14
15
|
*/
|
|
@@ -128,7 +129,7 @@ async function downloadTemplatesToTemp() {
|
|
|
128
129
|
}
|
|
129
130
|
async function runInit(options) {
|
|
130
131
|
const { yes, quiet, force = false } = options;
|
|
131
|
-
const version =
|
|
132
|
+
const version = (0, version_1.getVersion)();
|
|
132
133
|
const targetDir = process.cwd();
|
|
133
134
|
(0, utils_1.header)(`Ciel v${version} — Install`);
|
|
134
135
|
// Resolve source templates directory (local or GitHub)
|
package/dist/cli/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":";AAAA,uDAAuD;AACvD,kDAAkD;;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/cli/version.ts"],"names":[],"mappings":"AASA,wBAAgB,UAAU,IAAI,MAAM,CA4BnC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Shared version utility — reads from package.json at runtime
|
|
3
|
+
// Single source of truth for all version display
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.getVersion = getVersion;
|
|
6
|
+
const fs_1 = require("fs");
|
|
7
|
+
const path_1 = require("path");
|
|
8
|
+
// In-memory cache (avoids reading file on every call)
|
|
9
|
+
let _cachedVersion = null;
|
|
10
|
+
function getVersion() {
|
|
11
|
+
if (_cachedVersion)
|
|
12
|
+
return _cachedVersion;
|
|
13
|
+
// Try package.json (npm package: node_modules/@neikyun/ciel/package.json)
|
|
14
|
+
try {
|
|
15
|
+
// __dirname is dist/cli/ or src/cli/ depending on environment
|
|
16
|
+
const pkgPath = (0, path_1.join)(__dirname, "..", "..", "package.json");
|
|
17
|
+
if ((0, fs_1.existsSync)(pkgPath)) {
|
|
18
|
+
const pkg = JSON.parse((0, fs_1.readFileSync)(pkgPath, "utf-8"));
|
|
19
|
+
_cachedVersion = pkg.version || "0.0.0";
|
|
20
|
+
return _cachedVersion;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
// silent
|
|
25
|
+
}
|
|
26
|
+
// Fallback: VERSION file at project root (dev mode)
|
|
27
|
+
try {
|
|
28
|
+
const versionPath = (0, path_1.join)(process.cwd(), "VERSION");
|
|
29
|
+
if ((0, fs_1.existsSync)(versionPath)) {
|
|
30
|
+
_cachedVersion = (0, fs_1.readFileSync)(versionPath, "utf-8").trim();
|
|
31
|
+
return _cachedVersion;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
catch {
|
|
35
|
+
// silent
|
|
36
|
+
}
|
|
37
|
+
return "0.0.0";
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/cli/version.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,iDAAiD;;AAQjD,gCA4BC;AAlCD,2BAA8C;AAC9C,+BAA4B;AAE5B,sDAAsD;AACtD,IAAI,cAAc,GAAkB,IAAI,CAAC;AAEzC,SAAgB,UAAU;IACxB,IAAI,cAAc;QAAE,OAAO,cAAc,CAAC;IAE1C,0EAA0E;IAC1E,IAAI,CAAC;QACH,8DAA8D;QAC9D,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QAC5D,IAAI,IAAA,eAAU,EAAC,OAAO,CAAC,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YACvD,cAAc,GAAG,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC;YACxC,OAAO,cAAc,CAAC;QACxB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;IAED,oDAAoD;IACpD,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;QACnD,IAAI,IAAA,eAAU,EAAC,WAAW,CAAC,EAAE,CAAC;YAC5B,cAAc,GAAG,IAAA,iBAAY,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3D,OAAO,cAAc,CAAC;QACxB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@neikyun/ciel",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.8",
|
|
4
4
|
"description": "Ciel — Deep-reasoning pipeline for LLM-assisted development. OpenCode plugin + multi-platform CLI (OpenCode, Claude Code, more).",
|
|
5
5
|
"main": "./dist/plugin/index.js",
|
|
6
6
|
"types": "./dist/plugin/index.d.ts",
|
|
@@ -11,12 +11,14 @@
|
|
|
11
11
|
"dist",
|
|
12
12
|
"assets",
|
|
13
13
|
"bin",
|
|
14
|
+
"scripts/postinstall.cjs",
|
|
14
15
|
"README.md"
|
|
15
16
|
],
|
|
16
17
|
"scripts": {
|
|
17
18
|
"build": "node scripts/copy-assets.cjs && tsc",
|
|
18
19
|
"clean": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true});require('fs').rmSync('assets',{recursive:true,force:true})\"",
|
|
19
20
|
"test": "npx tsx --test test/**/*.test.ts",
|
|
21
|
+
"postinstall": "node scripts/postinstall.cjs",
|
|
20
22
|
"prepublishOnly": "npm run build && npm test"
|
|
21
23
|
},
|
|
22
24
|
"dependencies": {
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// Ciel postinstall — auto-configure après npm install / npm update
|
|
3
|
+
//
|
|
4
|
+
// S'exécute automatiquement après `npm install @neikyun/ciel`.
|
|
5
|
+
// Détecte OpenCode / Claude Code, configure tout, gère les mises à jour.
|
|
6
|
+
//
|
|
7
|
+
// Comportement :
|
|
8
|
+
// - Première install → propose et configure
|
|
9
|
+
// - npm update (nouvelle version) → détecte et propose la mise à jour
|
|
10
|
+
// - npm install (même version) → skip silencieux
|
|
11
|
+
// - Désactivable : CI=true npm install @neikyun/ciel
|
|
12
|
+
// npm install @neikyun/ciel --ignore-scripts
|
|
13
|
+
|
|
14
|
+
const { existsSync, readFileSync, writeFileSync, mkdirSync, copyFileSync, chmodSync, unlinkSync } = require("fs");
|
|
15
|
+
const { join, dirname } = require("path");
|
|
16
|
+
|
|
17
|
+
// ---- Version ----
|
|
18
|
+
const PKG_PATH = join(__dirname, "..", "package.json");
|
|
19
|
+
const PKG = existsSync(PKG_PATH) ? JSON.parse(readFileSync(PKG_PATH, "utf-8")) : {};
|
|
20
|
+
const CIEL_VERSION = PKG.version || "0.0.0";
|
|
21
|
+
|
|
22
|
+
// ---- Colors ----
|
|
23
|
+
const cyan = (s) => `\x1b[36m${s}\x1b[0m`;
|
|
24
|
+
const green = (s) => `\x1b[32m${s}\x1b[0m`;
|
|
25
|
+
const yellow = (s) => `\x1b[33m${s}\x1b[0m`;
|
|
26
|
+
const bold = (s) => `\x1b[1m${s}\x1b[0m`;
|
|
27
|
+
|
|
28
|
+
// ---- Helpers ----
|
|
29
|
+
function detectPlatform(targetDir) {
|
|
30
|
+
const platforms = [];
|
|
31
|
+
if (existsSync(join(targetDir, "opencode.json")) || existsSync(join(targetDir, ".opencode")))
|
|
32
|
+
platforms.push("opencode");
|
|
33
|
+
if (existsSync(join(targetDir, ".claude/settings.json")) || existsSync(join(targetDir, ".claude")))
|
|
34
|
+
platforms.push("claude");
|
|
35
|
+
return platforms;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
function resolveAssetsDir() {
|
|
39
|
+
const candidates = [
|
|
40
|
+
join(__dirname, "..", "assets"),
|
|
41
|
+
join(__dirname, "..", "..", "assets"),
|
|
42
|
+
];
|
|
43
|
+
for (const dir of candidates) {
|
|
44
|
+
if (dir && existsSync(join(dir, "platforms/opencode/.opencode/agents/ciel.md")))
|
|
45
|
+
return dir;
|
|
46
|
+
}
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function copyDir(src, dest) {
|
|
51
|
+
if (!existsSync(src)) return 0;
|
|
52
|
+
const { readdirSync } = require("fs");
|
|
53
|
+
let count = 0;
|
|
54
|
+
mkdirSync(dest, { recursive: true });
|
|
55
|
+
for (const entry of readdirSync(src, { withFileTypes: true })) {
|
|
56
|
+
const s = join(src, entry.name);
|
|
57
|
+
const d = join(dest, entry.name);
|
|
58
|
+
if (entry.isDirectory()) {
|
|
59
|
+
count += copyDir(s, d);
|
|
60
|
+
} else {
|
|
61
|
+
copyFileSync(s, d);
|
|
62
|
+
if (s.endsWith(".sh")) try { chmodSync(d, 0o755); } catch {}
|
|
63
|
+
count++;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return count;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
function patchOpencodeJson(targetDir) {
|
|
70
|
+
const configPath = join(targetDir, "opencode.json");
|
|
71
|
+
if (!existsSync(configPath)) return false;
|
|
72
|
+
try {
|
|
73
|
+
const raw = readFileSync(configPath, "utf-8");
|
|
74
|
+
const config = JSON.parse(raw);
|
|
75
|
+
let changed = false;
|
|
76
|
+
|
|
77
|
+
// Remove old local plugin reference (curl install)
|
|
78
|
+
if (config.plugin) {
|
|
79
|
+
const filtered = config.plugin.filter((p) => p !== "./.opencode/plugins/ciel.ts");
|
|
80
|
+
if (filtered.length !== config.plugin.length) changed = true;
|
|
81
|
+
config.plugin = filtered;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// Add new npm plugin reference
|
|
85
|
+
if (!config.plugin) config.plugin = [];
|
|
86
|
+
if (!config.plugin.includes("@neikyun/ciel")) {
|
|
87
|
+
config.plugin.push("@neikyun/ciel");
|
|
88
|
+
changed = true;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
// Add instructions
|
|
92
|
+
if (!config.instructions) config.instructions = [];
|
|
93
|
+
if (!config.instructions.includes("AGENTS.md")) {
|
|
94
|
+
config.instructions.push("AGENTS.md");
|
|
95
|
+
changed = true;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
if (changed) {
|
|
99
|
+
writeFileSync(configPath, JSON.stringify(config, null, 2) + "\n", "utf-8");
|
|
100
|
+
}
|
|
101
|
+
return changed;
|
|
102
|
+
} catch {
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
function installForPlatform(targetDir, assetsDir, platform) {
|
|
108
|
+
let count = 0;
|
|
109
|
+
if (platform === "opencode") {
|
|
110
|
+
// Clean old curl files
|
|
111
|
+
const oldPlugin = join(targetDir, ".opencode/plugins/ciel.ts");
|
|
112
|
+
if (existsSync(oldPlugin)) {
|
|
113
|
+
try { unlinkSync(oldPlugin); count++; } catch {}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
// Copy fresh agents
|
|
117
|
+
count += copyDir(
|
|
118
|
+
join(assetsDir, "platforms/opencode/.opencode/agents"),
|
|
119
|
+
join(targetDir, ".opencode/agents")
|
|
120
|
+
);
|
|
121
|
+
// Copy fresh commands
|
|
122
|
+
count += copyDir(
|
|
123
|
+
join(assetsDir, "platforms/opencode/.opencode/commands"),
|
|
124
|
+
join(targetDir, ".opencode/commands")
|
|
125
|
+
);
|
|
126
|
+
// Copy AGENTS.md
|
|
127
|
+
const agentsMdSrc = join(assetsDir, "platforms/opencode/AGENTS.md");
|
|
128
|
+
if (existsSync(agentsMdSrc)) {
|
|
129
|
+
copyFileSync(agentsMdSrc, join(targetDir, "AGENTS.md"));
|
|
130
|
+
count++;
|
|
131
|
+
}
|
|
132
|
+
// Patch config
|
|
133
|
+
if (patchOpencodeJson(targetDir)) count++;
|
|
134
|
+
return count;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
if (platform === "claude") {
|
|
138
|
+
count += copyDir(join(assetsDir, ".claude/agents"), join(targetDir, ".claude/agents"));
|
|
139
|
+
count += copyDir(join(assetsDir, ".claude/hooks"), join(targetDir, ".claude/hooks"));
|
|
140
|
+
const settingsSrc = join(assetsDir, ".claude/settings.json");
|
|
141
|
+
if (existsSync(settingsSrc)) {
|
|
142
|
+
copyFileSync(settingsSrc, join(targetDir, ".claude/settings.json"));
|
|
143
|
+
count++;
|
|
144
|
+
}
|
|
145
|
+
const claudeMdSrc = join(assetsDir, "CLAUDE.md");
|
|
146
|
+
if (existsSync(claudeMdSrc)) {
|
|
147
|
+
copyFileSync(claudeMdSrc, join(targetDir, "CLAUDE.md"));
|
|
148
|
+
count++;
|
|
149
|
+
}
|
|
150
|
+
return count;
|
|
151
|
+
}
|
|
152
|
+
return 0;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
function readMemory(targetDir) {
|
|
156
|
+
const memPath = join(targetDir, ".ciel/memory.json");
|
|
157
|
+
try {
|
|
158
|
+
return JSON.parse(readFileSync(memPath, "utf-8"));
|
|
159
|
+
} catch {
|
|
160
|
+
return {};
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
function writeMemory(targetDir, data) {
|
|
165
|
+
const memPath = join(targetDir, ".ciel/memory.json");
|
|
166
|
+
mkdirSync(join(targetDir, ".ciel"), { recursive: true });
|
|
167
|
+
writeFileSync(memPath, JSON.stringify(data, null, 2), "utf-8");
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
// ===== MAIN =====
|
|
171
|
+
async function main() {
|
|
172
|
+
// Skip in CI
|
|
173
|
+
if (process.env.CI || process.env.NO_CIEL_POSTINSTALL) return;
|
|
174
|
+
|
|
175
|
+
const targetDir = process.cwd();
|
|
176
|
+
const platforms = detectPlatform(targetDir);
|
|
177
|
+
if (platforms.length === 0) return; // Not a Ciel-compatible project
|
|
178
|
+
|
|
179
|
+
const assetsDir = resolveAssetsDir();
|
|
180
|
+
if (!assetsDir) return; // No templates bundled
|
|
181
|
+
|
|
182
|
+
// Check installed version vs current version
|
|
183
|
+
const memory = readMemory(targetDir);
|
|
184
|
+
const installedVersion = memory.cielVersion || null;
|
|
185
|
+
const isUpdate = installedVersion && installedVersion !== CIEL_VERSION;
|
|
186
|
+
const isFirstInstall = !installedVersion;
|
|
187
|
+
|
|
188
|
+
if (!isFirstInstall && !isUpdate) return; // Same version → skip
|
|
189
|
+
|
|
190
|
+
// Show banner
|
|
191
|
+
const action = isUpdate ? "mise à jour" : "configuration";
|
|
192
|
+
console.log(`\n ${bold("✦ Ciel v" + CIEL_VERSION)} — ${action} pour ${cyan(platforms.join(" + "))}`);
|
|
193
|
+
|
|
194
|
+
// Prompt (skip if unattended already accepted)
|
|
195
|
+
let answer = "y";
|
|
196
|
+
try {
|
|
197
|
+
const readline = require("readline");
|
|
198
|
+
const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
|
|
199
|
+
answer = await new Promise((resolve) => {
|
|
200
|
+
rl.question(` ${yellow("?")} ${isUpdate ? "Mettre à jour" : "Configurer"} Ciel ? ${green("(Y/n)")} `, (a) => {
|
|
201
|
+
rl.close();
|
|
202
|
+
resolve(a.trim().toLowerCase() || "y");
|
|
203
|
+
});
|
|
204
|
+
});
|
|
205
|
+
} catch {
|
|
206
|
+
answer = "y";
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
if (answer !== "y" && answer !== "yes") {
|
|
210
|
+
console.log(` ${cyan("→")} Annulé.\n`);
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
// ---- Execute ----
|
|
215
|
+
let total = 0;
|
|
216
|
+
for (const p of platforms) {
|
|
217
|
+
const n = installForPlatform(targetDir, assetsDir, p);
|
|
218
|
+
total += n;
|
|
219
|
+
console.log(` ${green("✓")} ${p}: ${n} fichiers`);
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
// Store version
|
|
223
|
+
writeMemory(targetDir, { ...memory, cielVersion: CIEL_VERSION, lastUpdated: new Date().toISOString() });
|
|
224
|
+
|
|
225
|
+
console.log(`\n ${green("✓")} Ciel v${CIEL_VERSION} ${isUpdate ? "mis à jour" : "prêt"} !`);
|
|
226
|
+
if (platforms.includes("opencode"))
|
|
227
|
+
console.log(` → OpenCode: plugin "${cyan("@neikyun/ciel")}" dans opencode.json`);
|
|
228
|
+
if (platforms.includes("claude"))
|
|
229
|
+
console.log(` → Claude Code: redémarrez ${cyan("claude .")}`);
|
|
230
|
+
console.log();
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
main().catch(() => {});
|