@developers-homelab/runestone-cli 1.0.0 → 1.0.1-beta.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/runestone CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env node
2
2
 
3
3
  const { resolve } = require('path');
4
4
 
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuBpC,wBAAgB,aAAa,IAAI,OAAO,CAYvC;AAED,wBAAgB,GAAG,CAAC,IAAI,WAAe,GAAG,IAAI,CAE7C"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwBpC,wBAAgB,aAAa,IAAI,OAAO,CAavC;AAED,wBAAgB,GAAG,CAAC,IAAI,WAAe,GAAG,IAAI,CAE7C"}
package/dist/cli.js CHANGED
@@ -39,6 +39,7 @@ const fs = __importStar(require("fs"));
39
39
  const path = __importStar(require("path"));
40
40
  const certs_1 = require("./commands/certs");
41
41
  const down_1 = require("./commands/down");
42
+ const docs_1 = require("./commands/docs");
42
43
  const keys_1 = require("./commands/keys");
43
44
  const setup_1 = require("./commands/setup");
44
45
  const status_1 = require("./commands/status");
@@ -62,6 +63,7 @@ function createProgram() {
62
63
  .description((0, i18n_1.t)('cli.description'))
63
64
  .version(packageVersion())
64
65
  .addCommand((0, setup_1.createSetupCommand)())
66
+ .addCommand((0, docs_1.createDocsCommand)())
65
67
  .addCommand((0, up_1.createUpCommand)())
66
68
  .addCommand((0, stop_1.createStopCommand)())
67
69
  .addCommand((0, down_1.createDownCommand)())
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBA,sCAYC;AAED,kBAEC;AAtCD,uCAAyB;AACzB,2CAA6B;AAC7B,4CAAsD;AACtD,0CAAoD;AACpD,0CAAoD;AACpD,4CAAsD;AACtD,8CAAwD;AACxD,0CAAoD;AACpD,sCAAgD;AAChD,iCAA2B;AAC3B,6CAAgD;AAEhD,SAAS,cAAc;IACrB,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAyB,CAAC;QACxF,OAAO,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED,SAAgB,aAAa;IAC3B,OAAO,IAAA,uBAAa,GAAE;SACnB,IAAI,CAAC,WAAW,CAAC;SACjB,WAAW,CAAC,IAAA,QAAC,EAAC,iBAAiB,CAAC,CAAC;SACjC,OAAO,CAAC,cAAc,EAAE,CAAC;SACzB,UAAU,CAAC,IAAA,0BAAkB,GAAE,CAAC;SAChC,UAAU,CAAC,IAAA,oBAAe,GAAE,CAAC;SAC7B,UAAU,CAAC,IAAA,wBAAiB,GAAE,CAAC;SAC/B,UAAU,CAAC,IAAA,wBAAiB,GAAE,CAAC;SAC/B,UAAU,CAAC,IAAA,4BAAmB,GAAE,CAAC;SACjC,UAAU,CAAC,IAAA,0BAAkB,GAAE,CAAC;SAChC,UAAU,CAAC,IAAA,wBAAiB,GAAE,CAAC,CAAC;AACrC,CAAC;AAED,SAAgB,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI;IACrC,aAAa,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,GAAG,EAAE,CAAC;AACR,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,sCAaC;AAED,kBAEC;AAxCD,uCAAyB;AACzB,2CAA6B;AAC7B,4CAAsD;AACtD,0CAAoD;AACpD,0CAAoD;AACpD,0CAAoD;AACpD,4CAAsD;AACtD,8CAAwD;AACxD,0CAAoD;AACpD,sCAAgD;AAChD,iCAA2B;AAC3B,6CAAgD;AAEhD,SAAS,cAAc;IACrB,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAyB,CAAC;QACxF,OAAO,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED,SAAgB,aAAa;IAC3B,OAAO,IAAA,uBAAa,GAAE;SACnB,IAAI,CAAC,WAAW,CAAC;SACjB,WAAW,CAAC,IAAA,QAAC,EAAC,iBAAiB,CAAC,CAAC;SACjC,OAAO,CAAC,cAAc,EAAE,CAAC;SACzB,UAAU,CAAC,IAAA,0BAAkB,GAAE,CAAC;SAChC,UAAU,CAAC,IAAA,wBAAiB,GAAE,CAAC;SAC/B,UAAU,CAAC,IAAA,oBAAe,GAAE,CAAC;SAC7B,UAAU,CAAC,IAAA,wBAAiB,GAAE,CAAC;SAC/B,UAAU,CAAC,IAAA,wBAAiB,GAAE,CAAC;SAC/B,UAAU,CAAC,IAAA,4BAAmB,GAAE,CAAC;SACjC,UAAU,CAAC,IAAA,0BAAkB,GAAE,CAAC;SAChC,UAAU,CAAC,IAAA,wBAAiB,GAAE,CAAC,CAAC;AACrC,CAAC;AAED,SAAgB,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI;IACrC,aAAa,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,GAAG,EAAE,CAAC;AACR,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createDocsCommand(): Command;
3
+ //# sourceMappingURL=docs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAepC,wBAAgB,iBAAiB,IAAI,OAAO,CA0C3C"}
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.createDocsCommand = createDocsCommand;
37
+ const p = __importStar(require("@clack/prompts"));
38
+ const browser_opener_1 = require("../services/browser-opener");
39
+ const env_loader_1 = require("../utils/env-loader");
40
+ const tool_docs_1 = require("../utils/tool-docs");
41
+ const logger_1 = require("../utils/logger");
42
+ const i18n_1 = require("../i18n");
43
+ const command_1 = require("../utils/command");
44
+ const README_URL = 'https://github.com/cymondez/runestone#readme';
45
+ function createDocsCommand() {
46
+ const command = (0, command_1.createCommand)('docs')
47
+ .description((0, i18n_1.t)('commands.docs.description'))
48
+ .option('--ai-context', (0, i18n_1.t)('options.aiContext.description'))
49
+ .action(async (options) => {
50
+ if (!options.aiContext) {
51
+ const locale = (0, i18n_1.resolveLocale)();
52
+ const shouldOpen = await p.confirm({
53
+ message: (0, i18n_1.formatMessage)(locale, 'docs.openReadme.prompt'),
54
+ initialValue: true
55
+ });
56
+ if (p.isCancel(shouldOpen)) {
57
+ p.cancel((0, i18n_1.formatMessage)(locale, 'docs.cancelled'));
58
+ process.exit(0);
59
+ }
60
+ if (shouldOpen) {
61
+ try {
62
+ (0, browser_opener_1.openUrl)(README_URL);
63
+ logger_1.logger.success((0, i18n_1.formatMessage)(locale, 'docs.openReadme.opened', { url: README_URL }));
64
+ }
65
+ catch (error) {
66
+ const message = error instanceof Error ? error.message : String(error);
67
+ logger_1.logger.error(message);
68
+ process.exitCode = 1;
69
+ }
70
+ }
71
+ return;
72
+ }
73
+ const config = env_loader_1.envLoader.load();
74
+ if (!env_loader_1.envLoader.hasRequiredVars(config)) {
75
+ logger_1.logger.error((0, i18n_1.t)('docs.aiContext.notConfigured'));
76
+ process.exitCode = 1;
77
+ return;
78
+ }
79
+ process.stdout.write((0, tool_docs_1.renderAiPromptContext)(config));
80
+ });
81
+ return command;
82
+ }
83
+ //# sourceMappingURL=docs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,8CA0CC;AAxDD,kDAAoC;AACpC,+DAAqD;AACrD,oDAAgD;AAChD,kDAA2D;AAC3D,4CAAyC;AACzC,kCAA0D;AAC1D,8CAAiD;AAMjD,MAAM,UAAU,GAAG,8CAA8C,CAAC;AAElE,SAAgB,iBAAiB;IAC/B,MAAM,OAAO,GAAG,IAAA,uBAAa,EAAC,MAAM,CAAC;SAClC,WAAW,CAAC,IAAA,QAAC,EAAC,2BAA2B,CAAC,CAAC;SAC3C,MAAM,CAAC,cAAc,EAAE,IAAA,QAAC,EAAC,+BAA+B,CAAC,CAAC;SAC1D,MAAM,CAAC,KAAK,EAAE,OAAoB,EAAE,EAAE;QACrC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,IAAA,oBAAa,GAAE,CAAC;YAC/B,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC;gBACjC,OAAO,EAAE,IAAA,oBAAa,EAAC,MAAM,EAAE,wBAAwB,CAAC;gBACxD,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;YAEH,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC3B,CAAC,CAAC,MAAM,CAAC,IAAA,oBAAa,EAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;gBAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,CAAC;oBACH,IAAA,wBAAO,EAAC,UAAU,CAAC,CAAC;oBACpB,eAAM,CAAC,OAAO,CAAC,IAAA,oBAAa,EAAC,MAAM,EAAE,wBAAwB,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;gBACvF,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACvE,eAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBACtB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;YAED,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,sBAAS,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,sBAAS,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;YACvC,eAAM,CAAC,KAAK,CAAC,IAAA,QAAC,EAAC,8BAA8B,CAAC,CAAC,CAAC;YAChD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAA,iCAAqB,EAAC,MAAM,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEL,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -4,6 +4,7 @@ declare const messages: {
4
4
  readonly en: {
5
5
  readonly 'cli.description': "Cross-platform CLI tool for the Runestone local development environment";
6
6
  readonly 'commands.setup.description': "Interactive setup for runestone";
7
+ readonly 'commands.docs.description': "Print Runestone integration documentation";
7
8
  readonly 'commands.up.description': "Start the runestone environment";
8
9
  readonly 'commands.stop.description': "Stop the Runestone environment without deleting data";
9
10
  readonly 'commands.down.description': "Remove the Runestone environment";
@@ -21,6 +22,11 @@ declare const messages: {
21
22
  readonly 'options.removeVolumes.description': "Remove saved data volumes";
22
23
  readonly 'options.purge.description': "Remove all local Runestone resources and images";
23
24
  readonly 'options.noHeader.description': "Hide the table header";
25
+ readonly 'options.aiContext.description': "Print compact AI instructions for creating project compose integration";
26
+ readonly 'docs.openReadme.prompt': "Open the Runestone README on GitHub?";
27
+ readonly 'docs.openReadme.opened': "Opened {url}";
28
+ readonly 'docs.cancelled': "Docs cancelled.";
29
+ readonly 'docs.aiContext.notConfigured': "Runestone is not configured yet. Run `runestone setup` first, then run `runestone docs --ai-context` again.";
24
30
  readonly 'arguments.domain.create': "Domain to generate certificate for";
25
31
  readonly 'arguments.domain.remove': "Domain to remove certificate for";
26
32
  readonly 'arguments.keyPath': "Path to the SSH private key file";
@@ -104,6 +110,7 @@ declare const messages: {
104
110
  readonly 'zh-TW': {
105
111
  readonly 'cli.description': "Runestone 本地開發環境的跨平台 CLI 工具";
106
112
  readonly 'commands.setup.description': "Runestone 互動式設定";
113
+ readonly 'commands.docs.description': "輸出 Runestone 整合文件";
107
114
  readonly 'commands.up.description': "啟動 Runestone 環境";
108
115
  readonly 'commands.stop.description': "停止 Runestone 環境但保留資料";
109
116
  readonly 'commands.down.description': "移除 Runestone 環境";
@@ -121,6 +128,11 @@ declare const messages: {
121
128
  readonly 'options.removeVolumes.description': "移除保存的資料 volumes";
122
129
  readonly 'options.purge.description': "移除所有本機 Runestone 資源與 images";
123
130
  readonly 'options.noHeader.description': "隱藏表格標題列";
131
+ readonly 'options.aiContext.description': "輸出精簡 AI 指示,用於建立專案 compose 整合";
132
+ readonly 'docs.openReadme.prompt': "是否開啟 GitHub 上的 Runestone README?";
133
+ readonly 'docs.openReadme.opened': "已開啟 {url}";
134
+ readonly 'docs.cancelled': "已取消 docs。";
135
+ readonly 'docs.aiContext.notConfigured': "Runestone 尚未完成設定。請先執行 `runestone setup`,再重新執行 `runestone docs --ai-context`。";
124
136
  readonly 'arguments.domain.create': "要產生憑證的網域";
125
137
  readonly 'arguments.domain.remove': "要移除憑證的網域";
126
138
  readonly 'arguments.keyPath': "SSH private key 檔案路徑";
@@ -204,6 +216,7 @@ declare const messages: {
204
216
  readonly 'ja-JP': {
205
217
  readonly 'cli.description': "Runestone ローカル開発環境用のクロスプラットフォーム CLI ツール";
206
218
  readonly 'commands.setup.description': "Runestone の対話式設定";
219
+ readonly 'commands.docs.description': "Runestone 連携ドキュメントを出力します";
207
220
  readonly 'commands.up.description': "Runestone 環境を起動します";
208
221
  readonly 'commands.stop.description': "データを残したまま Runestone 環境を停止します";
209
222
  readonly 'commands.down.description': "Runestone 環境を削除します";
@@ -221,6 +234,11 @@ declare const messages: {
221
234
  readonly 'options.removeVolumes.description': "保存されたデータ volumes を削除します";
222
235
  readonly 'options.purge.description': "ローカルの Runestone resources と images をすべて削除します";
223
236
  readonly 'options.noHeader.description': "表のヘッダーを非表示にします";
237
+ readonly 'options.aiContext.description': "プロジェクト compose 連携用の簡潔な AI 指示を出力します";
238
+ readonly 'docs.openReadme.prompt': "GitHub の Runestone README を開きますか?";
239
+ readonly 'docs.openReadme.opened': "{url} を開きました";
240
+ readonly 'docs.cancelled': "docs をキャンセルしました。";
241
+ readonly 'docs.aiContext.notConfigured': "Runestone はまだ設定されていません。先に `runestone setup` を実行してから、`runestone docs --ai-context` を再実行してください。";
224
242
  readonly 'arguments.domain.create': "証明書を生成するドメイン";
225
243
  readonly 'arguments.domain.remove': "証明書を削除するドメイン";
226
244
  readonly 'arguments.keyPath': "SSH private key ファイルのパス";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/i18n/index.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,iBAAiB,mCAAoC,CAAC;AACnE,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAQxD,QAAA,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8TJ,CAAC;AAEX,KAAK,UAAU,GAAG,MAAM,OAAO,QAAQ,CAAC,EAAE,CAAC;AAgD3C,wBAAgB,aAAa,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,kBAAkB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,wBAAgB,eAAe,IAAI,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAEzE;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAM,GAAG,MAAM,CAKvH;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,KAAK,MAAM,CAE9H;AAED,wBAAgB,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,MAAM,CAE3F"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/i18n/index.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,iBAAiB,mCAAoC,CAAC;AACnE,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAQxD,QAAA,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgVJ,CAAC;AAEX,KAAK,UAAU,GAAG,MAAM,OAAO,QAAQ,CAAC,EAAE,CAAC;AAgD3C,wBAAgB,aAAa,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,kBAAkB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,wBAAgB,eAAe,IAAI,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAEzE;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAM,GAAG,MAAM,CAKvH;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,KAAK,MAAM,CAE9H;AAED,wBAAgB,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,MAAM,CAE3F"}
@@ -18,6 +18,7 @@ const messages = {
18
18
  en: {
19
19
  'cli.description': 'Cross-platform CLI tool for the Runestone local development environment',
20
20
  'commands.setup.description': 'Interactive setup for runestone',
21
+ 'commands.docs.description': 'Print Runestone integration documentation',
21
22
  'commands.up.description': 'Start the runestone environment',
22
23
  'commands.stop.description': 'Stop the Runestone environment without deleting data',
23
24
  'commands.down.description': 'Remove the Runestone environment',
@@ -35,6 +36,11 @@ const messages = {
35
36
  'options.removeVolumes.description': 'Remove saved data volumes',
36
37
  'options.purge.description': 'Remove all local Runestone resources and images',
37
38
  'options.noHeader.description': 'Hide the table header',
39
+ 'options.aiContext.description': 'Print compact AI instructions for creating project compose integration',
40
+ 'docs.openReadme.prompt': 'Open the Runestone README on GitHub?',
41
+ 'docs.openReadme.opened': 'Opened {url}',
42
+ 'docs.cancelled': 'Docs cancelled.',
43
+ 'docs.aiContext.notConfigured': 'Runestone is not configured yet. Run `runestone setup` first, then run `runestone docs --ai-context` again.',
38
44
  'arguments.domain.create': 'Domain to generate certificate for',
39
45
  'arguments.domain.remove': 'Domain to remove certificate for',
40
46
  'arguments.keyPath': 'Path to the SSH private key file',
@@ -118,6 +124,7 @@ const messages = {
118
124
  'zh-TW': {
119
125
  'cli.description': 'Runestone 本地開發環境的跨平台 CLI 工具',
120
126
  'commands.setup.description': 'Runestone 互動式設定',
127
+ 'commands.docs.description': '輸出 Runestone 整合文件',
121
128
  'commands.up.description': '啟動 Runestone 環境',
122
129
  'commands.stop.description': '停止 Runestone 環境但保留資料',
123
130
  'commands.down.description': '移除 Runestone 環境',
@@ -135,6 +142,11 @@ const messages = {
135
142
  'options.removeVolumes.description': '移除保存的資料 volumes',
136
143
  'options.purge.description': '移除所有本機 Runestone 資源與 images',
137
144
  'options.noHeader.description': '隱藏表格標題列',
145
+ 'options.aiContext.description': '輸出精簡 AI 指示,用於建立專案 compose 整合',
146
+ 'docs.openReadme.prompt': '是否開啟 GitHub 上的 Runestone README?',
147
+ 'docs.openReadme.opened': '已開啟 {url}',
148
+ 'docs.cancelled': '已取消 docs。',
149
+ 'docs.aiContext.notConfigured': 'Runestone 尚未完成設定。請先執行 `runestone setup`,再重新執行 `runestone docs --ai-context`。',
138
150
  'arguments.domain.create': '要產生憑證的網域',
139
151
  'arguments.domain.remove': '要移除憑證的網域',
140
152
  'arguments.keyPath': 'SSH private key 檔案路徑',
@@ -218,6 +230,7 @@ const messages = {
218
230
  'ja-JP': {
219
231
  'cli.description': 'Runestone ローカル開発環境用のクロスプラットフォーム CLI ツール',
220
232
  'commands.setup.description': 'Runestone の対話式設定',
233
+ 'commands.docs.description': 'Runestone 連携ドキュメントを出力します',
221
234
  'commands.up.description': 'Runestone 環境を起動します',
222
235
  'commands.stop.description': 'データを残したまま Runestone 環境を停止します',
223
236
  'commands.down.description': 'Runestone 環境を削除します',
@@ -235,6 +248,11 @@ const messages = {
235
248
  'options.removeVolumes.description': '保存されたデータ volumes を削除します',
236
249
  'options.purge.description': 'ローカルの Runestone resources と images をすべて削除します',
237
250
  'options.noHeader.description': '表のヘッダーを非表示にします',
251
+ 'options.aiContext.description': 'プロジェクト compose 連携用の簡潔な AI 指示を出力します',
252
+ 'docs.openReadme.prompt': 'GitHub の Runestone README を開きますか?',
253
+ 'docs.openReadme.opened': '{url} を開きました',
254
+ 'docs.cancelled': 'docs をキャンセルしました。',
255
+ 'docs.aiContext.notConfigured': 'Runestone はまだ設定されていません。先に `runestone setup` を実行してから、`runestone docs --ai-context` を再実行してください。',
238
256
  'arguments.domain.create': '証明書を生成するドメイン',
239
257
  'arguments.domain.remove': '証明書を削除するドメイン',
240
258
  'arguments.keyPath': 'SSH private key ファイルのパス',
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/i18n/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/i18n/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function openUrl(url: string): void;
2
+ //# sourceMappingURL=browser-opener.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-opener.d.ts","sourceRoot":"","sources":["../../src/services/browser-opener.ts"],"names":[],"mappings":"AAEA,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAqBzC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.openUrl = openUrl;
4
+ const spawn_1 = require("../utils/spawn");
5
+ function openUrl(url) {
6
+ const command = process.platform === 'win32'
7
+ ? { name: 'cmd', args: ['/c', 'start', '', url] }
8
+ : process.platform === 'darwin'
9
+ ? { name: 'open', args: [url] }
10
+ : { name: 'xdg-open', args: [url] };
11
+ const result = (0, spawn_1.spawnCommand)(command.name, command.args, {
12
+ encoding: 'utf8',
13
+ stdio: 'ignore',
14
+ timeout: 30000
15
+ });
16
+ if (result.error) {
17
+ throw result.error;
18
+ }
19
+ if (result.status !== 0) {
20
+ throw new Error(`Failed to open ${url}`);
21
+ }
22
+ }
23
+ //# sourceMappingURL=browser-opener.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-opener.js","sourceRoot":"","sources":["../../src/services/browser-opener.ts"],"names":[],"mappings":";;AAEA,0BAqBC;AAvBD,0CAA8C;AAE9C,SAAgB,OAAO,CAAC,GAAW;IACjC,MAAM,OAAO,GACX,OAAO,CAAC,QAAQ,KAAK,OAAO;QAC1B,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE;QACjD,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ;YAC7B,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE;YAC/B,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;IAE1C,MAAM,MAAM,GAAG,IAAA,oBAAY,EAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE;QACtD,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,KAAK;KACf,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,MAAM,CAAC,KAAK,CAAC;IACrB,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,EAAE,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { RunestoneEnv } from './env-loader';
2
+ export declare function renderAiPromptContext(config: RunestoneEnv): string;
3
+ //# sourceMappingURL=tool-docs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-docs.d.ts","sourceRoot":"","sources":["../../src/utils/tool-docs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAW5C,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAQlE"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.renderAiPromptContext = renderAiPromptContext;
37
+ const fs = __importStar(require("fs"));
38
+ const path = __importStar(require("path"));
39
+ const AI_CONTEXT_TEMPLATE = path.resolve(__dirname, '..', '..', 'tool-docs', 'ai-prompt-context.tmp.md');
40
+ function replaceAll(content, replacements) {
41
+ return Object.entries(replacements).reduce((next, [key, value]) => next.replace(new RegExp(`\\$\\{${key}\\}`, 'g'), value), content);
42
+ }
43
+ function renderAiPromptContext(config) {
44
+ const template = fs.readFileSync(AI_CONTEXT_TEMPLATE, 'utf8');
45
+ return replaceAll(template, {
46
+ RUNESTONE_NETWORK_NAME: config.NETWORK_NAME,
47
+ RUNESTONE_HOST_DOMAIN: config.HOST_DOMAIN,
48
+ RUNESTONE_HTTPS_ENTRYPOINT_NAME: config.WEB_SECURE_ENTRYPOINT_NAME,
49
+ RUNESTONE_HTTP_ENTRYPOINT_NAME: config.WEB_ENTRYPOINT_NAME
50
+ });
51
+ }
52
+ //# sourceMappingURL=tool-docs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-docs.js","sourceRoot":"","sources":["../../src/utils/tool-docs.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,sDAQC;AArBD,uCAAyB;AACzB,2CAA6B;AAG7B,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,0BAA0B,CAAC,CAAC;AAEzG,SAAS,UAAU,CAAC,OAAe,EAAE,YAAoC;IACvE,OAAO,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CACxC,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,SAAS,GAAG,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,EAC/E,OAAO,CACR,CAAC;AACJ,CAAC;AAED,SAAgB,qBAAqB,CAAC,MAAoB;IACxD,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;IAC9D,OAAO,UAAU,CAAC,QAAQ,EAAE;QAC1B,sBAAsB,EAAE,MAAM,CAAC,YAAY;QAC3C,qBAAqB,EAAE,MAAM,CAAC,WAAW;QACzC,+BAA+B,EAAE,MAAM,CAAC,0BAA0B;QAClE,8BAA8B,EAAE,MAAM,CAAC,mBAAmB;KAC3D,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool-state.d.ts","sourceRoot":"","sources":["../../src/utils/tool-state.ts"],"names":[],"mappings":"AAQA,iBAAS,WAAW,IAAI,MAAM,CAE7B;AAED,iBAAS,aAAa,IAAI,MAAM,CAE/B;AAyBD,eAAO,MAAM,SAAS;;;yBAIC,MAAM,GAAG,SAAS;kBAKzB,MAAM,GAAG,SAAS;sCAIE,MAAM,GAAG,IAAI;wBAI3B,MAAM,GAAG,IAAI;2BAIV;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;CAOxE,CAAC"}
1
+ {"version":3,"file":"tool-state.d.ts","sourceRoot":"","sources":["../../src/utils/tool-state.ts"],"names":[],"mappings":"AASA,iBAAS,WAAW,IAAI,MAAM,CAE7B;AAED,iBAAS,aAAa,IAAI,MAAM,CAE/B;AAyBD,eAAO,MAAM,SAAS;;;yBAIC,MAAM,GAAG,SAAS;kBAKzB,MAAM,GAAG,SAAS;sCAIE,MAAM,GAAG,IAAI;wBAI3B,MAAM,GAAG,IAAI;2BAIV;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;CAOxE,CAAC"}
@@ -35,12 +35,13 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.toolState = void 0;
37
37
  const fs = __importStar(require("fs"));
38
+ const os = __importStar(require("os"));
38
39
  const path = __importStar(require("path"));
39
40
  function packageRoot() {
40
41
  return path.resolve(__dirname, '..', '..');
41
42
  }
42
43
  function stateFilePath() {
43
- return process.env.RUNESTONE_TOOL_STATE_PATH || path.join(packageRoot(), 'runestone.config.json');
44
+ return process.env.RUNESTONE_TOOL_STATE_PATH || path.join(os.homedir(), '.runestone', 'runestone.config.json');
44
45
  }
45
46
  function readState() {
46
47
  const statePath = stateFilePath();
@@ -1 +1 @@
1
- {"version":3,"file":"tool-state.js","sourceRoot":"","sources":["../../src/utils/tool-state.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAO7B,SAAS,WAAW;IAClB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,aAAa;IACpB,OAAO,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,uBAAuB,CAAC,CAAC;AACpG,CAAC;AAED,SAAS,SAAS;IAChB,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;IAClC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAc,CAAC;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,SAAoB;IACtC,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;IAClC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,EAAE,CAAC,aAAa,CACd,SAAS,EACT,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EACzC,MAAM,CACP,CAAC;AACJ,CAAC;AAEY,QAAA,SAAS,GAAG;IACvB,WAAW;IACX,aAAa;IAEb,iBAAiB;QACf,MAAM,aAAa,GAAG,SAAS,EAAE,CAAC,aAAa,CAAC;QAChD,OAAO,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACjE,CAAC;IAED,UAAU;QACR,OAAO,SAAS,EAAE,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED,kBAAkB,CAAC,aAAqB;QACtC,UAAU,CAAC,EAAE,GAAG,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,WAAW,CAAC,MAAc;QACxB,UAAU,CAAC,EAAE,GAAG,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,eAAe,CAAC,KAAgD;QAC9D,UAAU,CAAC;YACT,GAAG,SAAS,EAAE;YACd,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC;YAChD,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"tool-state.js","sourceRoot":"","sources":["../../src/utils/tool-state.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,uCAAyB;AACzB,2CAA6B;AAO7B,SAAS,WAAW;IAClB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,aAAa;IACpB,OAAO,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,uBAAuB,CAAC,CAAC;AACjH,CAAC;AAED,SAAS,SAAS;IAChB,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;IAClC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAc,CAAC;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,SAAoB;IACtC,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;IAClC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,EAAE,CAAC,aAAa,CACd,SAAS,EACT,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EACzC,MAAM,CACP,CAAC;AACJ,CAAC;AAEY,QAAA,SAAS,GAAG;IACvB,WAAW;IACX,aAAa;IAEb,iBAAiB;QACf,MAAM,aAAa,GAAG,SAAS,EAAE,CAAC,aAAa,CAAC;QAChD,OAAO,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACjE,CAAC;IAED,UAAU;QACR,OAAO,SAAS,EAAE,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED,kBAAkB,CAAC,aAAqB;QACtC,UAAU,CAAC,EAAE,GAAG,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,WAAW,CAAC,MAAc;QACxB,UAAU,CAAC,EAAE,GAAG,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,eAAe,CAAC,KAAgD;QAC9D,UAAU,CAAC;YACT,GAAG,SAAS,EAAE;YACd,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC;YAChD,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@developers-homelab/runestone-cli",
3
- "version": "1.0.0",
3
+ "version": "1.0.1-beta.0",
4
4
  "description": "Cross-platform CLI tool for the runestone Docker development environment",
5
5
  "author": "cymondez",
6
6
  "url": "https://github.com/cymondez/runestone",
@@ -10,12 +10,12 @@
10
10
  },
11
11
  "repository": {
12
12
  "type": "git",
13
- "url": "git+https://github.com/cymondez/runestone.git"
13
+ "url": "https://github.com/cymondez/runestone"
14
14
  },
15
15
  "main": "dist/cli.js",
16
16
  "types": "dist/cli.d.ts",
17
17
  "bin": {
18
- "runestone": "bin/runestone"
18
+ "runestone": "./bin/runestone"
19
19
  },
20
20
  "scripts": {
21
21
  "sync:readme": "node scripts/sync-readme.js",
@@ -42,6 +42,7 @@
42
42
  "files": [
43
43
  "bin/",
44
44
  "dist/",
45
+ "tool-docs/",
45
46
  "README.md",
46
47
  "LICENSE"
47
48
  ],
@@ -0,0 +1,59 @@
1
+ # Runestone AI Compose Context
2
+
3
+ Goal:
4
+ Integrate the current project with Runestone by creating or updating Docker Compose configuration.
5
+
6
+ Runestone provides:
7
+ - Traefik Docker-label routing.
8
+ - External Docker network: ${RUNESTONE_NETWORK_NAME}
9
+ - Host domain suffix: ${RUNESTONE_HOST_DOMAIN}
10
+ - HTTPS entrypoint name: ${RUNESTONE_HTTPS_ENTRYPOINT_NAME}
11
+ - Optional HTTP entrypoint name: ${RUNESTONE_HTTP_ENTRYPOINT_NAME}
12
+
13
+ Do not:
14
+ - Add a Traefik service.
15
+ - Edit Runestone's own compose file.
16
+ - Assume service name, app port, router ID, service ID, hostname, or COMPOSE_PROJECT_NAME.
17
+
18
+ You must inspect this project to determine:
19
+ - Compose file strategy: compose.yml vs compose.override.yml vs devcontainer override.
20
+ - Service to expose.
21
+ - Internal container port.
22
+ - Hostname prefix.
23
+ - Stable Traefik router/service IDs.
24
+ - Whether COMPOSE_PROJECT_NAME is explicitly configured.
25
+
26
+ Required Traefik labels:
27
+ - traefik.enable=true
28
+ - traefik.http.routers.<router-id>.entrypoints=${RUNESTONE_HTTPS_ENTRYPOINT_NAME}
29
+ - traefik.http.routers.<router-id>.rule=Host(`<host-prefix>.${RUNESTONE_HOST_DOMAIN}`)
30
+ - traefik.http.routers.<router-id>.tls=true
31
+ - traefik.http.routers.<router-id>.service=<traefik-service-id>
32
+ - traefik.http.services.<traefik-service-id>.loadbalancer.server.port=<detected-internal-port>
33
+ - traefik.docker.network=${RUNESTONE_NETWORK_NAME}
34
+
35
+ Required network:
36
+ networks:
37
+ runestone:
38
+ external: true
39
+ name: ${RUNESTONE_NETWORK_NAME}
40
+
41
+ Attach the exposed service to the runestone network.
42
+
43
+ Port rule:
44
+ Use the internal container port, not the host-published port.
45
+ Example: "8080:3000" means Traefik port is 3000.
46
+
47
+ Preferred strategy:
48
+ - Existing compose file: create/update compose.override.yml.
49
+ - Devcontainer project: create/update .devcontainer/compose.override.yml and include it in devcontainer.json.
50
+ - No compose file: create compose.yml.
51
+ - If app port or service is unclear, ask the user.
52
+
53
+ Final answer should report:
54
+ - File changed.
55
+ - Service exposed.
56
+ - Internal port.
57
+ - Hostname.
58
+ - Expected URL.
59
+ - Assumptions.