@neikyun/ciel 5.1.7 → 5.1.9

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 +1 @@
1
- {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/cli/check.ts"],"names":[],"mappings":"AAkBA,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAqB9C"}
1
+ {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/cli/check.ts"],"names":[],"mappings":"AAqCA,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CA8B9C"}
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 = "5.1.5";
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) => {
@@ -15,6 +16,25 @@ function fetchUrl(url) {
15
16
  }).on("error", reject);
16
17
  });
17
18
  }
19
+ /**
20
+ * Compare two semver strings. Returns:
21
+ * 1 if a > b
22
+ * -1 if a < b
23
+ * 0 if equal
24
+ */
25
+ function compareVersions(a, b) {
26
+ const pa = a.split(".").map(Number);
27
+ const pb = b.split(".").map(Number);
28
+ for (let i = 0; i < Math.max(pa.length, pb.length); i++) {
29
+ const na = pa[i] || 0;
30
+ const nb = pb[i] || 0;
31
+ if (na > nb)
32
+ return 1;
33
+ if (na < nb)
34
+ return -1;
35
+ }
36
+ return 0;
37
+ }
18
38
  async function runCheck() {
19
39
  try {
20
40
  const remoteVersion = await fetchUrl(`${GITHUB_RAW}/VERSION`);
@@ -23,12 +43,19 @@ async function runCheck() {
23
43
  (0, utils_1.err)("Check your internet connection.");
24
44
  process.exit(2);
25
45
  }
26
- if (remoteVersion === CIEL_VERSION) {
46
+ const cmp = compareVersions(CIEL_VERSION, remoteVersion);
47
+ if (cmp === 0) {
27
48
  (0, utils_1.ok)(`Ciel v${CIEL_VERSION} is up to date.`);
28
49
  process.exit(0);
29
50
  }
30
- console.log(` Update available: v${CIEL_VERSION} → v${remoteVersion}`);
31
- console.log(" Run 'npx ciel-init update' to upgrade.");
51
+ if (cmp < 0) {
52
+ // Remote is newer
53
+ console.log(` Update available: v${CIEL_VERSION} → ${remoteVersion}`);
54
+ console.log(" Run 'npx ciel update' to upgrade.");
55
+ process.exit(0);
56
+ }
57
+ // Local is newer (dev mode)
58
+ (0, utils_1.say)(`Ciel v${CIEL_VERSION} (ahead of remote v${remoteVersion} — dev mode)`);
32
59
  process.exit(0);
33
60
  }
34
61
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/cli/check.ts"],"names":[],"mappings":";AAAA,uDAAuD;;AAkBvD,4BAqBC;AArCD,iCAAwC;AACxC,mCAAkC;AAElC,MAAM,UAAU,GAAG,sDAAsD,CAAC;AAC1E,MAAM,YAAY,GAAG,OAAO,CAAC;AAE7B,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"}
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/cli/check.ts"],"names":[],"mappings":"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"}
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 fs_1 = require("fs");
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";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
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"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAUA,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"}
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 = "5.1.5";
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)
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":";AAAA,uDAAuD;AACvD,kDAAkD;;AA4IlD,0BA0FC;AApOD,2BAAuE;AACvE,+BAA4B;AAC5B,2BAA4B;AAC5B,mCAA+D;AAC/D,yCAA6D;AAC7D,qCAAuD;AAQvD;;GAEG;AACH,MAAM,YAAY,GAAG,6CAA6C,CAAC;AACnE,MAAM,UAAU,GAAG,sDAAsD,CAAC;AAE1E;;;;;;;;;;GAUG;AACH,SAAS,gBAAgB;IACvB,MAAM,UAAU,GAAG;QACjB,8BAA8B;QAC9B,OAAO,CAAC,GAAG,EAAE;QACb,8CAA8C;QAC9C,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC;QAC5B,8CAA8C;QAC9C,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC;QACzB,iCAAiC;QACjC,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC;QAC/B,0BAA0B;QAC1B,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,CAAC;QACrB,qCAAqC;QACrC,IAAA,WAAI,EAAC,SAAS,EAAE,OAAO,CAAC;QACxB,yCAAyC;QACzC,IAAA,WAAI,EAAC,SAAS,EAAE,UAAU,CAAC;KAC5B,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,IAAA,eAAU,EAAC,IAAA,WAAI,EAAC,GAAG,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;YACxC,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,uBAAuB;IACpC,MAAM,MAAM,GAAG,IAAA,gBAAW,EAAC,IAAA,WAAI,EAAC,IAAA,WAAM,GAAE,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC9D,MAAM,aAAa,GAAG;QACpB,kBAAkB;QAClB,6CAA6C;QAC7C,wDAAwD;QACxD,sDAAsD;QACtD,oDAAoD;QACpD,sDAAsD;QACtD,oBAAoB;QACpB,oDAAoD;QACpD,sDAAsD;QACtD,uDAAuD;QACvD,uDAAuD;QACvD,oDAAoD;QACpD,4DAA4D;QAC5D,yDAAyD;QACzD,qDAAqD;QACrD,+CAA+C;QAC/C,oBAAoB;QACpB,8BAA8B;QAC9B,qBAAqB;QACrB,mCAAmC;QACnC,iCAAiC;QACjC,+BAA+B;QAC/B,iCAAiC;QACjC,oBAAoB;QACpB,mCAAmC;QACnC,oCAAoC;QACpC,6BAA6B;QAC7B,iCAAiC;QACjC,uBAAuB;QACvB,uBAAuB;QACvB,eAAe;QACf,WAAW;QACX,WAAW;QACX,mBAAmB;QACnB,uBAAuB;QACvB,yBAAyB;QACzB,0BAA0B;QAC1B,uBAAuB;QACvB,+BAA+B;QAC/B,4BAA4B;QAC5B,wBAAwB;QACxB,aAAa;QACb,sBAAsB;QACtB,0BAA0B;KAC3B,CAAC;IAEF,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,GAAG,UAAU,IAAI,OAAO,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,SAAS;YAE3B,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACtC,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACvC,IAAA,cAAS,EAAC,IAAA,WAAI,EAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACrD,IAAA,kBAAa,EAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC1C,UAAU,EAAE,CAAC;QACf,CAAC;QAAC,MAAM,CAAC;YACP,sDAAsD;QACxD,CAAC;IACH,CAAC;IAED,yCAAyC;IACzC,IAAI,CAAC,IAAA,eAAU,EAAC,IAAA,WAAI,EAAC,MAAM,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAA,YAAI,EAAC,kDAAkD,UAAU,IAAI,aAAa,CAAC,MAAM,SAAS,CAAC,CAAC;QACpG,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAA,UAAE,EAAC,cAAc,UAAU,6BAA6B,CAAC,CAAC;IAC1D,OAAO,MAAM,CAAC;AAChB,CAAC;AAEM,KAAK,UAAU,OAAO,CAAC,OAAoB;IAChD,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAC9C,MAAM,OAAO,GAAG,OAAO,CAAC;IACxB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAEhC,IAAA,cAAM,EAAC,SAAS,OAAO,YAAY,CAAC,CAAC;IAErC,uDAAuD;IACvD,IAAI,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAEhC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,0CAA0C;QAC1C,IAAA,YAAI,EAAC,2DAA2D,CAAC,CAAC;QAClE,MAAM,GAAG,MAAM,uBAAuB,EAAE,CAAC;IAC3C,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,IAAA,YAAI,EAAC,qCAAqC,CAAC,CAAC;QAC5C,IAAA,YAAI,EAAC,kDAAkD,CAAC,CAAC;QACzD,IAAA,YAAI,EAAC,oCAAoC,CAAC,CAAC;QAC3C,IAAA,YAAI,EAAC,EAAE,CAAC,CAAC;QACT,IAAA,YAAI,EAAC,6CAA6C,CAAC,CAAC;QACpD,IAAA,YAAI,EAAC,6CAA6C,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,mBAAmB;IACnB,MAAM,WAAW,GAAG,IAAA,yBAAc,EAAC,SAAS,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,IAAA,qBAAY,EAAC,SAAS,CAAC,CAAC;IAE1C,2BAA2B;IAC3B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,SAAS,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9E,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC;QAC5B,MAAM,SAAS,GAAG,MAAM,IAAA,qBAAa,EACnC,iBAAiB,OAAO,OAAO,SAAS,eAAe,SAAS,IAAI,EACpE,IAAI,CACL,CAAC;QACF,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAA,WAAG,EAAC,UAAU,CAAC,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,gCAAgC;IAChC,IAAA,cAAS,EAAC,IAAA,WAAI,EAAC,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,IAAI,CAAC,IAAA,eAAU,EAAC,IAAA,WAAI,EAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC;QACnD,IAAA,kBAAa,EAAC,IAAA,WAAI,EAAC,SAAS,EAAE,gBAAgB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IAC9G,CAAC;IACD,IAAI,CAAC,IAAA,eAAU,EAAC,IAAA,WAAI,EAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC;QACtD,IAAA,kBAAa,EAAC,IAAA,WAAI,EAAC,SAAS,EAAE,mBAAmB,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,CAAC,IAAA,eAAU,EAAC,IAAA,WAAI,EAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC;QACrD,IAAA,kBAAa,EAAC,IAAA,WAAI,EAAC,SAAS,EAAE,kBAAkB,CAAC,EAAE,iDAAiD,EAAE,OAAO,CAAC,CAAC;IACjH,CAAC;IAED,qCAAqC;IACrC,IAAI,WAAW,EAAE,CAAC;QAChB,IAAA,WAAG,EAAC,4BAA4B,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,IAAA,0BAAe,EAAC,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACpE,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,SAAS;YAAE,IAAA,UAAE,EAAC,CAAC,CAAC,CAAC;QACxC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO;YAAE,IAAA,YAAI,EAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACd,IAAA,WAAG,EAAC,+BAA+B,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,IAAA,sBAAa,EAAC,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAClE,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,SAAS;YAAE,IAAA,UAAE,EAAC,CAAC,CAAC,CAAC;QACxC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO;YAAE,IAAA,YAAI,EAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,kCAAkC;IAClC,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/B,IAAA,YAAI,EAAC,sCAAsC,CAAC,CAAC;QAC7C,IAAA,WAAG,EAAC,6CAA6C,CAAC,CAAC;IACrD,CAAC;IAED,UAAU;IACV,IAAA,cAAM,EAAC,SAAS,OAAO,qBAAqB,CAAC,CAAC;IAC9C,IAAA,UAAE,EAAC,6CAA6C,CAAC,CAAC;IAClD,IAAI,WAAW,EAAE,CAAC;QAChB,IAAA,WAAG,EAAC,yCAAyC,CAAC,CAAC;QAC/C,IAAA,WAAG,EAAC,0DAA0D,CAAC,CAAC;QAChE,IAAA,WAAG,EAAC,kDAAkD,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,SAAS,EAAE,CAAC;QACd,IAAA,WAAG,EAAC,+CAA+C,CAAC,CAAC;QACrD,IAAA,WAAG,EAAC,sDAAsD,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function getVersion(): string;
2
+ //# sourceMappingURL=version.d.ts.map
@@ -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.7",
3
+ "version": "5.1.9",
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",
@@ -1,49 +1,48 @@
1
1
  #!/usr/bin/env node
2
- // Ciel postinstall — auto-configure après npm install
2
+ // Ciel postinstall — auto-configure après npm install / npm update
3
3
  //
4
4
  // S'exécute automatiquement après `npm install @neikyun/ciel`.
5
- // Détecte OpenCode / Claude Code, propose de configurer, et installe.
5
+ // Détecte OpenCode / Claude Code, configure tout, gère les mises à jour.
6
6
  //
7
- // Désactivable avec : CI=true npm install @neikyun/ciel
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
8
12
  // npm install @neikyun/ciel --ignore-scripts
9
13
 
10
- const { existsSync, readFileSync, writeFileSync, mkdirSync, copyFileSync, chmodSync } = require("fs");
14
+ const { existsSync, readFileSync, writeFileSync, mkdirSync, copyFileSync, chmodSync, unlinkSync } = require("fs");
11
15
  const { join, dirname } = require("path");
12
- const { execSync } = require("child_process");
13
16
 
14
- const CIEL_VERSION = "5.1.6";
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";
15
21
 
16
- // ----- Colors -----
22
+ // ---- Colors ----
17
23
  const cyan = (s) => `\x1b[36m${s}\x1b[0m`;
18
24
  const green = (s) => `\x1b[32m${s}\x1b[0m`;
19
25
  const yellow = (s) => `\x1b[33m${s}\x1b[0m`;
20
26
  const bold = (s) => `\x1b[1m${s}\x1b[0m`;
21
27
 
22
- // ----- Helpers -----
28
+ // ---- Helpers ----
23
29
  function detectPlatform(targetDir) {
24
30
  const platforms = [];
25
- if (existsSync(join(targetDir, "opencode.json")) || existsSync(join(targetDir, ".opencode"))) {
31
+ if (existsSync(join(targetDir, "opencode.json")) || existsSync(join(targetDir, ".opencode")))
26
32
  platforms.push("opencode");
27
- }
28
- if (existsSync(join(targetDir, ".claude/settings.json")) || existsSync(join(targetDir, ".claude"))) {
33
+ if (existsSync(join(targetDir, ".claude/settings.json")) || existsSync(join(targetDir, ".claude")))
29
34
  platforms.push("claude");
30
- }
31
35
  return platforms;
32
36
  }
33
37
 
34
38
  function resolveAssetsDir() {
35
39
  const candidates = [
36
- // npm install local (workspace)
37
40
  join(__dirname, "..", "assets"),
38
- // npm install global
39
41
  join(__dirname, "..", "..", "assets"),
40
- // GitHub fallback (via npx ciel)
41
- null,
42
42
  ];
43
43
  for (const dir of candidates) {
44
- if (dir && existsSync(join(dir, "platforms/opencode/.opencode/agents/ciel.md"))) {
44
+ if (dir && existsSync(join(dir, "platforms/opencode/.opencode/agents/ciel.md")))
45
45
  return dir;
46
- }
47
46
  }
48
47
  return null;
49
48
  }
@@ -73,16 +72,33 @@ function patchOpencodeJson(targetDir) {
73
72
  try {
74
73
  const raw = readFileSync(configPath, "utf-8");
75
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
76
85
  if (!config.plugin) config.plugin = [];
77
86
  if (!config.plugin.includes("@neikyun/ciel")) {
78
87
  config.plugin.push("@neikyun/ciel");
88
+ changed = true;
79
89
  }
90
+
91
+ // Add instructions
80
92
  if (!config.instructions) config.instructions = [];
81
93
  if (!config.instructions.includes("AGENTS.md")) {
82
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");
83
100
  }
84
- writeFileSync(configPath, JSON.stringify(config, null, 2) + "\n", "utf-8");
85
- return true;
101
+ return changed;
86
102
  } catch {
87
103
  return false;
88
104
  }
@@ -91,141 +107,127 @@ function patchOpencodeJson(targetDir) {
91
107
  function installForPlatform(targetDir, assetsDir, platform) {
92
108
  let count = 0;
93
109
  if (platform === "opencode") {
94
- // Copy agents
95
- const agentsSrc = join(assetsDir, "platforms/opencode/.opencode/agents");
96
- const agentsDest = join(targetDir, ".opencode/agents");
97
- count += copyDir(agentsSrc, agentsDest);
98
-
99
- // Copy commands
100
- const cmdsSrc = join(assetsDir, "platforms/opencode/.opencode/commands");
101
- const cmdsDest = join(targetDir, ".opencode/commands");
102
- count += copyDir(cmdsSrc, cmdsDest);
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
+ }
103
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
+ );
104
126
  // Copy AGENTS.md
105
127
  const agentsMdSrc = join(assetsDir, "platforms/opencode/AGENTS.md");
106
128
  if (existsSync(agentsMdSrc)) {
107
129
  copyFileSync(agentsMdSrc, join(targetDir, "AGENTS.md"));
108
130
  count++;
109
131
  }
110
-
111
- // Patch opencode.json
132
+ // Patch config
112
133
  if (patchOpencodeJson(targetDir)) count++;
113
-
114
134
  return count;
115
135
  }
116
136
 
117
137
  if (platform === "claude") {
118
- // Copy agents
119
- const agentsSrc = join(assetsDir, ".claude/agents");
120
- const agentsDest = join(targetDir, ".claude/agents");
121
- count += copyDir(agentsSrc, agentsDest);
122
-
123
- // Copy hooks
124
- const hooksSrc = join(assetsDir, ".claude/hooks");
125
- const hooksDest = join(targetDir, ".claude/hooks");
126
- count += copyDir(hooksSrc, hooksDest);
127
-
128
- // Copy settings
138
+ count += copyDir(join(assetsDir, ".claude/agents"), join(targetDir, ".claude/agents"));
139
+ count += copyDir(join(assetsDir, ".claude/hooks"), join(targetDir, ".claude/hooks"));
129
140
  const settingsSrc = join(assetsDir, ".claude/settings.json");
130
141
  if (existsSync(settingsSrc)) {
131
142
  copyFileSync(settingsSrc, join(targetDir, ".claude/settings.json"));
132
143
  count++;
133
144
  }
134
-
135
- // Copy CLAUDE.md
136
145
  const claudeMdSrc = join(assetsDir, "CLAUDE.md");
137
146
  if (existsSync(claudeMdSrc)) {
138
147
  copyFileSync(claudeMdSrc, join(targetDir, "CLAUDE.md"));
139
148
  count++;
140
149
  }
141
-
142
150
  return count;
143
151
  }
144
-
145
152
  return 0;
146
153
  }
147
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
+
148
170
  // ===== MAIN =====
149
171
  async function main() {
150
- // Skip if CI env or --ignore-scripts was used
151
- if (process.env.CI || process.env.NO_CIEL_POSTINSTALL) {
152
- return;
153
- }
172
+ // Skip in CI
173
+ if (process.env.CI || process.env.NO_CIEL_POSTINSTALL) return;
154
174
 
155
175
  const targetDir = process.cwd();
156
176
  const platforms = detectPlatform(targetDir);
157
-
158
- if (platforms.length === 0) {
159
- // No recognized platform — silent exit (tool installed in non-Ciel project)
160
- return;
161
- }
177
+ if (platforms.length === 0) return; // Not a Ciel-compatible project
162
178
 
163
179
  const assetsDir = resolveAssetsDir();
164
- if (!assetsDir) {
165
- // Assets not bundled — postinstall can't configure
166
- return;
167
- }
180
+ if (!assetsDir) return; // No templates bundled
168
181
 
169
- // Check if already configured
170
- const alreadyConfigured = existsSync(join(targetDir, ".ciel/map.json"));
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;
171
187
 
172
- if (alreadyConfigured) {
173
- // Already set up, skip prompt
174
- return;
175
- }
188
+ if (!isFirstInstall && !isUpdate) return; // Same version → skip
176
189
 
177
- // ----- Interactive prompt -----
178
- const platformNames = platforms.join(" + ");
179
- console.log(`\n ${bold("✦ Ciel v" + CIEL_VERSION)} — detecté pour ${cyan(platformNames)}`);
190
+ // Show banner
191
+ const action = isUpdate ? "mise à jour" : "configuration";
192
+ console.log(`\n ${bold("✦ Ciel v" + CIEL_VERSION)} — ${action} pour ${cyan(platforms.join(" + "))}`);
180
193
 
181
- // Try to read from stdin for the prompt
194
+ // Prompt (skip if unattended already accepted)
182
195
  let answer = "y";
183
196
  try {
184
197
  const readline = require("readline");
185
198
  const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
186
199
  answer = await new Promise((resolve) => {
187
- rl.question(` ${yellow("?")} Configurer Ciel dans ce projet ? ${green("(Y/n)")} `, (a) => {
200
+ rl.question(` ${yellow("?")} ${isUpdate ? "Mettre à jour" : "Configurer"} Ciel ? ${green("(Y/n)")} `, (a) => {
188
201
  rl.close();
189
202
  resolve(a.trim().toLowerCase() || "y");
190
203
  });
191
204
  });
192
205
  } catch {
193
- // Non-interactive, use default
206
+ answer = "y";
194
207
  }
195
208
 
196
209
  if (answer !== "y" && answer !== "yes") {
197
- console.log(` ${cyan("→")} Annulé. Lancez ${green("npx ciel init")} plus tard.\n`);
210
+ console.log(` ${cyan("→")} Annulé.\n`);
198
211
  return;
199
212
  }
200
213
 
201
- // ----- Install -----
202
- // Create .ciel/ state dir
203
- mkdirSync(join(targetDir, ".ciel"), { recursive: true });
204
- if (!existsSync(join(targetDir, ".ciel/map.json"))) {
205
- writeFileSync(join(targetDir, ".ciel/map.json"), JSON.stringify({ modules: [], lastUpdated: new Date().toISOString() }), "utf-8");
206
- }
207
- if (!existsSync(join(targetDir, ".ciel/memory.json"))) {
208
- writeFileSync(join(targetDir, ".ciel/memory.json"), "{}", "utf-8");
209
- }
210
- if (!existsSync(join(targetDir, ".ciel/parking.md"))) {
211
- writeFileSync(join(targetDir, ".ciel/parking.md"), "# Ciel Parking Lot -- Decouvertes fortuites\n\n", "utf-8");
212
- }
213
-
214
+ // ---- Execute ----
214
215
  let total = 0;
215
216
  for (const p of platforms) {
216
217
  const n = installForPlatform(targetDir, assetsDir, p);
217
218
  total += n;
218
- console.log(` ${green("✓")} ${p}: ${n} fichiers installés`);
219
+ console.log(` ${green("✓")} ${p}: ${n} fichiers`);
219
220
  }
220
221
 
221
- console.log(`\n ${green("✓")} Ciel v${CIEL_VERSION} prêt !`);
222
- for (const p of platforms) {
223
- if (p === "opencode") console.log(` → OpenCode: plugin chargé automatiquement`);
224
- if (p === "claude") console.log(` → Claude Code: redémarrez ${cyan("claude .")}`);
225
- }
226
- console.log(` → CLI: ${green("npx ciel")} check | init | update | uninstall\n`);
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();
227
231
  }
228
232
 
229
- main().catch(() => {
230
- // Silent fail — postinstall ne doit jamais bloquer npm install
231
- });
233
+ main().catch(() => {});