oh-my-customcode 0.37.2 → 0.38.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.
Files changed (27) hide show
  1. package/README.md +20 -5
  2. package/dist/cli/index.js +1189 -99
  3. package/dist/index.js +4 -1
  4. package/package.json +3 -1
  5. package/templates/.claude/hooks/hooks.json +23 -11
  6. package/templates/.claude/hooks/scripts/context-budget-advisor.sh +1 -1
  7. package/templates/.claude/hooks/scripts/eval-core-batch-save.sh +23 -0
  8. package/templates/.claude/hooks/scripts/session-env-check.sh +20 -0
  9. package/templates/.claude/hooks/scripts/stuck-detector.sh +1 -1
  10. package/templates/.claude/hooks/scripts/task-outcome-recorder.sh +13 -1
  11. package/templates/.claude/rules/MAY-optimization.md +12 -0
  12. package/templates/.claude/rules/MUST-agent-design.md +45 -7
  13. package/templates/.claude/rules/MUST-completion-verification.md +81 -0
  14. package/templates/.claude/rules/SHOULD-memory-integration.md +81 -0
  15. package/templates/.claude/skills/de-lead-routing/SKILL.md +8 -92
  16. package/templates/.claude/skills/deep-plan/SKILL.md +55 -4
  17. package/templates/.claude/skills/dev-lead-routing/SKILL.md +9 -21
  18. package/templates/.claude/skills/dev-refactor/SKILL.md +34 -1
  19. package/templates/.claude/skills/evaluator-optimizer/SKILL.md +53 -0
  20. package/templates/.claude/skills/qa-lead-routing/SKILL.md +7 -242
  21. package/templates/.claude/skills/research/SKILL.md +74 -7
  22. package/templates/.claude/skills/sauron-watch/SKILL.md +81 -0
  23. package/templates/.claude/skills/secretary-routing/SKILL.md +3 -18
  24. package/templates/.claude/skills/structured-dev-cycle/SKILL.md +20 -3
  25. package/templates/guides/claude-code/index.yaml +5 -0
  26. package/templates/manifest.json +3 -3
  27. package/templates/.claude/hooks/scripts/session-compliance-report.sh +0 -65
package/dist/cli/index.js CHANGED
@@ -47,7 +47,7 @@ var __export = (target, all) => {
47
47
  var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
48
48
  var __require = /* @__PURE__ */ createRequire(import.meta.url);
49
49
 
50
- // node_modules/commander/lib/error.js
50
+ // node_modules/.bun/commander@14.0.2/node_modules/commander/lib/error.js
51
51
  var require_error = __commonJS((exports) => {
52
52
  class CommanderError extends Error {
53
53
  constructor(exitCode, code, message) {
@@ -71,7 +71,7 @@ var require_error = __commonJS((exports) => {
71
71
  exports.InvalidArgumentError = InvalidArgumentError;
72
72
  });
73
73
 
74
- // node_modules/commander/lib/argument.js
74
+ // node_modules/.bun/commander@14.0.2/node_modules/commander/lib/argument.js
75
75
  var require_argument = __commonJS((exports) => {
76
76
  var { InvalidArgumentError } = require_error();
77
77
 
@@ -151,7 +151,7 @@ var require_argument = __commonJS((exports) => {
151
151
  exports.humanReadableArgName = humanReadableArgName;
152
152
  });
153
153
 
154
- // node_modules/commander/lib/help.js
154
+ // node_modules/.bun/commander@14.0.2/node_modules/commander/lib/help.js
155
155
  var require_help = __commonJS((exports) => {
156
156
  var { humanReadableArgName } = require_argument();
157
157
 
@@ -508,7 +508,7 @@ ${itemIndentStr}`);
508
508
  exports.stripColor = stripColor;
509
509
  });
510
510
 
511
- // node_modules/commander/lib/option.js
511
+ // node_modules/.bun/commander@14.0.2/node_modules/commander/lib/option.js
512
512
  var require_option = __commonJS((exports) => {
513
513
  var { InvalidArgumentError } = require_error();
514
514
 
@@ -692,7 +692,7 @@ var require_option = __commonJS((exports) => {
692
692
  exports.DualOptions = DualOptions;
693
693
  });
694
694
 
695
- // node_modules/commander/lib/suggestSimilar.js
695
+ // node_modules/.bun/commander@14.0.2/node_modules/commander/lib/suggestSimilar.js
696
696
  var require_suggestSimilar = __commonJS((exports) => {
697
697
  var maxDistance = 3;
698
698
  function editDistance(a, b) {
@@ -765,7 +765,7 @@ var require_suggestSimilar = __commonJS((exports) => {
765
765
  exports.suggestSimilar = suggestSimilar;
766
766
  });
767
767
 
768
- // node_modules/commander/lib/command.js
768
+ // node_modules/.bun/commander@14.0.2/node_modules/commander/lib/command.js
769
769
  var require_command = __commonJS((exports) => {
770
770
  var EventEmitter = __require("node:events").EventEmitter;
771
771
  var childProcess = __require("node:child_process");
@@ -2120,7 +2120,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
2120
2120
  exports.useColor = useColor;
2121
2121
  });
2122
2122
 
2123
- // node_modules/commander/index.js
2123
+ // node_modules/.bun/commander@14.0.2/node_modules/commander/index.js
2124
2124
  var require_commander = __commonJS((exports) => {
2125
2125
  var { Argument } = require_argument();
2126
2126
  var { Command } = require_command();
@@ -2140,7 +2140,7 @@ var require_commander = __commonJS((exports) => {
2140
2140
  exports.InvalidOptionArgumentError = InvalidArgumentError;
2141
2141
  });
2142
2142
 
2143
- // node_modules/yaml/dist/nodes/identity.js
2143
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/nodes/identity.js
2144
2144
  var require_identity = __commonJS((exports) => {
2145
2145
  var ALIAS = Symbol.for("yaml.alias");
2146
2146
  var DOC = Symbol.for("yaml.document");
@@ -2194,7 +2194,7 @@ var require_identity = __commonJS((exports) => {
2194
2194
  exports.isSeq = isSeq;
2195
2195
  });
2196
2196
 
2197
- // node_modules/yaml/dist/visit.js
2197
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/visit.js
2198
2198
  var require_visit = __commonJS((exports) => {
2199
2199
  var identity = require_identity();
2200
2200
  var BREAK = Symbol("break visit");
@@ -2349,7 +2349,7 @@ var require_visit = __commonJS((exports) => {
2349
2349
  exports.visitAsync = visitAsync;
2350
2350
  });
2351
2351
 
2352
- // node_modules/yaml/dist/doc/directives.js
2352
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/doc/directives.js
2353
2353
  var require_directives = __commonJS((exports) => {
2354
2354
  var identity = require_identity();
2355
2355
  var visit = require_visit();
@@ -2501,7 +2501,7 @@ var require_directives = __commonJS((exports) => {
2501
2501
  exports.Directives = Directives;
2502
2502
  });
2503
2503
 
2504
- // node_modules/yaml/dist/doc/anchors.js
2504
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/doc/anchors.js
2505
2505
  var require_anchors = __commonJS((exports) => {
2506
2506
  var identity = require_identity();
2507
2507
  var visit = require_visit();
@@ -2563,7 +2563,7 @@ var require_anchors = __commonJS((exports) => {
2563
2563
  exports.findNewAnchor = findNewAnchor;
2564
2564
  });
2565
2565
 
2566
- // node_modules/yaml/dist/doc/applyReviver.js
2566
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/doc/applyReviver.js
2567
2567
  var require_applyReviver = __commonJS((exports) => {
2568
2568
  function applyReviver(reviver, obj, key, val) {
2569
2569
  if (val && typeof val === "object") {
@@ -2610,7 +2610,7 @@ var require_applyReviver = __commonJS((exports) => {
2610
2610
  exports.applyReviver = applyReviver;
2611
2611
  });
2612
2612
 
2613
- // node_modules/yaml/dist/nodes/toJS.js
2613
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/nodes/toJS.js
2614
2614
  var require_toJS = __commonJS((exports) => {
2615
2615
  var identity = require_identity();
2616
2616
  function toJS(value, arg, ctx) {
@@ -2637,7 +2637,7 @@ var require_toJS = __commonJS((exports) => {
2637
2637
  exports.toJS = toJS;
2638
2638
  });
2639
2639
 
2640
- // node_modules/yaml/dist/nodes/Node.js
2640
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/nodes/Node.js
2641
2641
  var require_Node = __commonJS((exports) => {
2642
2642
  var applyReviver = require_applyReviver();
2643
2643
  var identity = require_identity();
@@ -2674,7 +2674,7 @@ var require_Node = __commonJS((exports) => {
2674
2674
  exports.NodeBase = NodeBase;
2675
2675
  });
2676
2676
 
2677
- // node_modules/yaml/dist/nodes/Alias.js
2677
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/nodes/Alias.js
2678
2678
  var require_Alias = __commonJS((exports) => {
2679
2679
  var anchors = require_anchors();
2680
2680
  var visit = require_visit();
@@ -2782,7 +2782,7 @@ var require_Alias = __commonJS((exports) => {
2782
2782
  exports.Alias = Alias;
2783
2783
  });
2784
2784
 
2785
- // node_modules/yaml/dist/nodes/Scalar.js
2785
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/nodes/Scalar.js
2786
2786
  var require_Scalar = __commonJS((exports) => {
2787
2787
  var identity = require_identity();
2788
2788
  var Node = require_Node();
@@ -2810,7 +2810,7 @@ var require_Scalar = __commonJS((exports) => {
2810
2810
  exports.isScalarValue = isScalarValue;
2811
2811
  });
2812
2812
 
2813
- // node_modules/yaml/dist/doc/createNode.js
2813
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/doc/createNode.js
2814
2814
  var require_createNode = __commonJS((exports) => {
2815
2815
  var Alias = require_Alias();
2816
2816
  var identity = require_identity();
@@ -2882,7 +2882,7 @@ var require_createNode = __commonJS((exports) => {
2882
2882
  exports.createNode = createNode;
2883
2883
  });
2884
2884
 
2885
- // node_modules/yaml/dist/nodes/Collection.js
2885
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/nodes/Collection.js
2886
2886
  var require_Collection = __commonJS((exports) => {
2887
2887
  var createNode = require_createNode();
2888
2888
  var identity = require_identity();
@@ -2997,7 +2997,7 @@ var require_Collection = __commonJS((exports) => {
2997
2997
  exports.isEmptyPath = isEmptyPath;
2998
2998
  });
2999
2999
 
3000
- // node_modules/yaml/dist/stringify/stringifyComment.js
3000
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyComment.js
3001
3001
  var require_stringifyComment = __commonJS((exports) => {
3002
3002
  var stringifyComment = (str) => str.replace(/^(?!$)(?: $)?/gm, "#");
3003
3003
  function indentComment(comment, indent) {
@@ -3014,7 +3014,7 @@ var require_stringifyComment = __commonJS((exports) => {
3014
3014
  exports.stringifyComment = stringifyComment;
3015
3015
  });
3016
3016
 
3017
- // node_modules/yaml/dist/stringify/foldFlowLines.js
3017
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/stringify/foldFlowLines.js
3018
3018
  var require_foldFlowLines = __commonJS((exports) => {
3019
3019
  var FOLD_FLOW = "flow";
3020
3020
  var FOLD_BLOCK = "block";
@@ -3151,7 +3151,7 @@ ${indent}${text.slice(fold + 1, end2)}`;
3151
3151
  exports.foldFlowLines = foldFlowLines;
3152
3152
  });
3153
3153
 
3154
- // node_modules/yaml/dist/stringify/stringifyString.js
3154
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyString.js
3155
3155
  var require_stringifyString = __commonJS((exports) => {
3156
3156
  var Scalar = require_Scalar();
3157
3157
  var foldFlowLines = require_foldFlowLines();
@@ -3449,7 +3449,7 @@ ${indent}`);
3449
3449
  exports.stringifyString = stringifyString;
3450
3450
  });
3451
3451
 
3452
- // node_modules/yaml/dist/stringify/stringify.js
3452
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/stringify/stringify.js
3453
3453
  var require_stringify = __commonJS((exports) => {
3454
3454
  var anchors = require_anchors();
3455
3455
  var identity = require_identity();
@@ -3569,7 +3569,7 @@ ${ctx.indent}${str}`;
3569
3569
  exports.stringify = stringify;
3570
3570
  });
3571
3571
 
3572
- // node_modules/yaml/dist/stringify/stringifyPair.js
3572
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyPair.js
3573
3573
  var require_stringifyPair = __commonJS((exports) => {
3574
3574
  var identity = require_identity();
3575
3575
  var Scalar = require_Scalar();
@@ -3705,7 +3705,7 @@ ${ctx.indent}`;
3705
3705
  exports.stringifyPair = stringifyPair;
3706
3706
  });
3707
3707
 
3708
- // node_modules/yaml/dist/log.js
3708
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/log.js
3709
3709
  var require_log = __commonJS((exports) => {
3710
3710
  var node_process = __require("process");
3711
3711
  function debug(logLevel, ...messages) {
@@ -3724,7 +3724,7 @@ var require_log = __commonJS((exports) => {
3724
3724
  exports.warn = warn;
3725
3725
  });
3726
3726
 
3727
- // node_modules/yaml/dist/schema/yaml-1.1/merge.js
3727
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/merge.js
3728
3728
  var require_merge = __commonJS((exports) => {
3729
3729
  var identity = require_identity();
3730
3730
  var Scalar = require_Scalar();
@@ -3778,7 +3778,7 @@ var require_merge = __commonJS((exports) => {
3778
3778
  exports.merge = merge;
3779
3779
  });
3780
3780
 
3781
- // node_modules/yaml/dist/nodes/addPairToJSMap.js
3781
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/nodes/addPairToJSMap.js
3782
3782
  var require_addPairToJSMap = __commonJS((exports) => {
3783
3783
  var log = require_log();
3784
3784
  var merge = require_merge();
@@ -3839,7 +3839,7 @@ var require_addPairToJSMap = __commonJS((exports) => {
3839
3839
  exports.addPairToJSMap = addPairToJSMap;
3840
3840
  });
3841
3841
 
3842
- // node_modules/yaml/dist/nodes/Pair.js
3842
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/nodes/Pair.js
3843
3843
  var require_Pair = __commonJS((exports) => {
3844
3844
  var createNode = require_createNode();
3845
3845
  var stringifyPair = require_stringifyPair();
@@ -3877,7 +3877,7 @@ var require_Pair = __commonJS((exports) => {
3877
3877
  exports.createPair = createPair;
3878
3878
  });
3879
3879
 
3880
- // node_modules/yaml/dist/stringify/stringifyCollection.js
3880
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyCollection.js
3881
3881
  var require_stringifyCollection = __commonJS((exports) => {
3882
3882
  var identity = require_identity();
3883
3883
  var stringify = require_stringify();
@@ -4022,7 +4022,7 @@ ${indent}${end}`;
4022
4022
  exports.stringifyCollection = stringifyCollection;
4023
4023
  });
4024
4024
 
4025
- // node_modules/yaml/dist/nodes/YAMLMap.js
4025
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/nodes/YAMLMap.js
4026
4026
  var require_YAMLMap = __commonJS((exports) => {
4027
4027
  var stringifyCollection = require_stringifyCollection();
4028
4028
  var addPairToJSMap = require_addPairToJSMap();
@@ -4149,7 +4149,7 @@ var require_YAMLMap = __commonJS((exports) => {
4149
4149
  exports.findPair = findPair;
4150
4150
  });
4151
4151
 
4152
- // node_modules/yaml/dist/schema/common/map.js
4152
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/schema/common/map.js
4153
4153
  var require_map = __commonJS((exports) => {
4154
4154
  var identity = require_identity();
4155
4155
  var YAMLMap = require_YAMLMap();
@@ -4168,7 +4168,7 @@ var require_map = __commonJS((exports) => {
4168
4168
  exports.map = map;
4169
4169
  });
4170
4170
 
4171
- // node_modules/yaml/dist/nodes/YAMLSeq.js
4171
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/nodes/YAMLSeq.js
4172
4172
  var require_YAMLSeq = __commonJS((exports) => {
4173
4173
  var createNode = require_createNode();
4174
4174
  var stringifyCollection = require_stringifyCollection();
@@ -4261,7 +4261,7 @@ var require_YAMLSeq = __commonJS((exports) => {
4261
4261
  exports.YAMLSeq = YAMLSeq;
4262
4262
  });
4263
4263
 
4264
- // node_modules/yaml/dist/schema/common/seq.js
4264
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/schema/common/seq.js
4265
4265
  var require_seq = __commonJS((exports) => {
4266
4266
  var identity = require_identity();
4267
4267
  var YAMLSeq = require_YAMLSeq();
@@ -4280,7 +4280,7 @@ var require_seq = __commonJS((exports) => {
4280
4280
  exports.seq = seq;
4281
4281
  });
4282
4282
 
4283
- // node_modules/yaml/dist/schema/common/string.js
4283
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/schema/common/string.js
4284
4284
  var require_string = __commonJS((exports) => {
4285
4285
  var stringifyString = require_stringifyString();
4286
4286
  var string = {
@@ -4296,7 +4296,7 @@ var require_string = __commonJS((exports) => {
4296
4296
  exports.string = string;
4297
4297
  });
4298
4298
 
4299
- // node_modules/yaml/dist/schema/common/null.js
4299
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/schema/common/null.js
4300
4300
  var require_null = __commonJS((exports) => {
4301
4301
  var Scalar = require_Scalar();
4302
4302
  var nullTag = {
@@ -4311,7 +4311,7 @@ var require_null = __commonJS((exports) => {
4311
4311
  exports.nullTag = nullTag;
4312
4312
  });
4313
4313
 
4314
- // node_modules/yaml/dist/schema/core/bool.js
4314
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/schema/core/bool.js
4315
4315
  var require_bool = __commonJS((exports) => {
4316
4316
  var Scalar = require_Scalar();
4317
4317
  var boolTag = {
@@ -4332,7 +4332,7 @@ var require_bool = __commonJS((exports) => {
4332
4332
  exports.boolTag = boolTag;
4333
4333
  });
4334
4334
 
4335
- // node_modules/yaml/dist/stringify/stringifyNumber.js
4335
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyNumber.js
4336
4336
  var require_stringifyNumber = __commonJS((exports) => {
4337
4337
  function stringifyNumber({ format, minFractionDigits, tag, value }) {
4338
4338
  if (typeof value === "bigint")
@@ -4356,7 +4356,7 @@ var require_stringifyNumber = __commonJS((exports) => {
4356
4356
  exports.stringifyNumber = stringifyNumber;
4357
4357
  });
4358
4358
 
4359
- // node_modules/yaml/dist/schema/core/float.js
4359
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/schema/core/float.js
4360
4360
  var require_float = __commonJS((exports) => {
4361
4361
  var Scalar = require_Scalar();
4362
4362
  var stringifyNumber = require_stringifyNumber();
@@ -4399,7 +4399,7 @@ var require_float = __commonJS((exports) => {
4399
4399
  exports.floatNaN = floatNaN;
4400
4400
  });
4401
4401
 
4402
- // node_modules/yaml/dist/schema/core/int.js
4402
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/schema/core/int.js
4403
4403
  var require_int = __commonJS((exports) => {
4404
4404
  var stringifyNumber = require_stringifyNumber();
4405
4405
  var intIdentify = (value) => typeof value === "bigint" || Number.isInteger(value);
@@ -4441,7 +4441,7 @@ var require_int = __commonJS((exports) => {
4441
4441
  exports.intOct = intOct;
4442
4442
  });
4443
4443
 
4444
- // node_modules/yaml/dist/schema/core/schema.js
4444
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/schema/core/schema.js
4445
4445
  var require_schema = __commonJS((exports) => {
4446
4446
  var map = require_map();
4447
4447
  var _null = require_null();
@@ -4466,7 +4466,7 @@ var require_schema = __commonJS((exports) => {
4466
4466
  exports.schema = schema;
4467
4467
  });
4468
4468
 
4469
- // node_modules/yaml/dist/schema/json/schema.js
4469
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/schema/json/schema.js
4470
4470
  var require_schema2 = __commonJS((exports) => {
4471
4471
  var Scalar = require_Scalar();
4472
4472
  var map = require_map();
@@ -4530,7 +4530,7 @@ var require_schema2 = __commonJS((exports) => {
4530
4530
  exports.schema = schema;
4531
4531
  });
4532
4532
 
4533
- // node_modules/yaml/dist/schema/yaml-1.1/binary.js
4533
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/binary.js
4534
4534
  var require_binary = __commonJS((exports) => {
4535
4535
  var node_buffer = __require("buffer");
4536
4536
  var Scalar = require_Scalar();
@@ -4585,7 +4585,7 @@ var require_binary = __commonJS((exports) => {
4585
4585
  exports.binary = binary;
4586
4586
  });
4587
4587
 
4588
- // node_modules/yaml/dist/schema/yaml-1.1/pairs.js
4588
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/pairs.js
4589
4589
  var require_pairs = __commonJS((exports) => {
4590
4590
  var identity = require_identity();
4591
4591
  var Pair = require_Pair();
@@ -4660,7 +4660,7 @@ ${cn.comment}` : item.comment;
4660
4660
  exports.resolvePairs = resolvePairs;
4661
4661
  });
4662
4662
 
4663
- // node_modules/yaml/dist/schema/yaml-1.1/omap.js
4663
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/omap.js
4664
4664
  var require_omap = __commonJS((exports) => {
4665
4665
  var identity = require_identity();
4666
4666
  var toJS = require_toJS();
@@ -4732,7 +4732,7 @@ var require_omap = __commonJS((exports) => {
4732
4732
  exports.omap = omap;
4733
4733
  });
4734
4734
 
4735
- // node_modules/yaml/dist/schema/yaml-1.1/bool.js
4735
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/bool.js
4736
4736
  var require_bool2 = __commonJS((exports) => {
4737
4737
  var Scalar = require_Scalar();
4738
4738
  function boolStringify({ value, source }, ctx) {
@@ -4761,7 +4761,7 @@ var require_bool2 = __commonJS((exports) => {
4761
4761
  exports.trueTag = trueTag;
4762
4762
  });
4763
4763
 
4764
- // node_modules/yaml/dist/schema/yaml-1.1/float.js
4764
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/float.js
4765
4765
  var require_float2 = __commonJS((exports) => {
4766
4766
  var Scalar = require_Scalar();
4767
4767
  var stringifyNumber = require_stringifyNumber();
@@ -4807,7 +4807,7 @@ var require_float2 = __commonJS((exports) => {
4807
4807
  exports.floatNaN = floatNaN;
4808
4808
  });
4809
4809
 
4810
- // node_modules/yaml/dist/schema/yaml-1.1/int.js
4810
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/int.js
4811
4811
  var require_int2 = __commonJS((exports) => {
4812
4812
  var stringifyNumber = require_stringifyNumber();
4813
4813
  var intIdentify = (value) => typeof value === "bigint" || Number.isInteger(value);
@@ -4883,7 +4883,7 @@ var require_int2 = __commonJS((exports) => {
4883
4883
  exports.intOct = intOct;
4884
4884
  });
4885
4885
 
4886
- // node_modules/yaml/dist/schema/yaml-1.1/set.js
4886
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/set.js
4887
4887
  var require_set = __commonJS((exports) => {
4888
4888
  var identity = require_identity();
4889
4889
  var Pair = require_Pair();
@@ -4966,7 +4966,7 @@ var require_set = __commonJS((exports) => {
4966
4966
  exports.set = set;
4967
4967
  });
4968
4968
 
4969
- // node_modules/yaml/dist/schema/yaml-1.1/timestamp.js
4969
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js
4970
4970
  var require_timestamp = __commonJS((exports) => {
4971
4971
  var stringifyNumber = require_stringifyNumber();
4972
4972
  function parseSexagesimal(str, asBigInt) {
@@ -5048,7 +5048,7 @@ var require_timestamp = __commonJS((exports) => {
5048
5048
  exports.timestamp = timestamp;
5049
5049
  });
5050
5050
 
5051
- // node_modules/yaml/dist/schema/yaml-1.1/schema.js
5051
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/schema.js
5052
5052
  var require_schema3 = __commonJS((exports) => {
5053
5053
  var map = require_map();
5054
5054
  var _null = require_null();
@@ -5089,7 +5089,7 @@ var require_schema3 = __commonJS((exports) => {
5089
5089
  exports.schema = schema;
5090
5090
  });
5091
5091
 
5092
- // node_modules/yaml/dist/schema/tags.js
5092
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/schema/tags.js
5093
5093
  var require_tags = __commonJS((exports) => {
5094
5094
  var map = require_map();
5095
5095
  var _null = require_null();
@@ -5180,7 +5180,7 @@ var require_tags = __commonJS((exports) => {
5180
5180
  exports.getTags = getTags;
5181
5181
  });
5182
5182
 
5183
- // node_modules/yaml/dist/schema/Schema.js
5183
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/schema/Schema.js
5184
5184
  var require_Schema = __commonJS((exports) => {
5185
5185
  var identity = require_identity();
5186
5186
  var map = require_map();
@@ -5210,7 +5210,7 @@ var require_Schema = __commonJS((exports) => {
5210
5210
  exports.Schema = Schema;
5211
5211
  });
5212
5212
 
5213
- // node_modules/yaml/dist/stringify/stringifyDocument.js
5213
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyDocument.js
5214
5214
  var require_stringifyDocument = __commonJS((exports) => {
5215
5215
  var identity = require_identity();
5216
5216
  var stringify = require_stringify();
@@ -5290,7 +5290,7 @@ var require_stringifyDocument = __commonJS((exports) => {
5290
5290
  exports.stringifyDocument = stringifyDocument;
5291
5291
  });
5292
5292
 
5293
- // node_modules/yaml/dist/doc/Document.js
5293
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/doc/Document.js
5294
5294
  var require_Document = __commonJS((exports) => {
5295
5295
  var Alias = require_Alias();
5296
5296
  var Collection = require_Collection();
@@ -5525,7 +5525,7 @@ var require_Document = __commonJS((exports) => {
5525
5525
  exports.Document = Document;
5526
5526
  });
5527
5527
 
5528
- // node_modules/yaml/dist/errors.js
5528
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/errors.js
5529
5529
  var require_errors = __commonJS((exports) => {
5530
5530
  class YAMLError extends Error {
5531
5531
  constructor(name, pos, code, message) {
@@ -5590,7 +5590,7 @@ ${pointer}
5590
5590
  exports.prettifyError = prettifyError;
5591
5591
  });
5592
5592
 
5593
- // node_modules/yaml/dist/compose/resolve-props.js
5593
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-props.js
5594
5594
  var require_resolve_props = __commonJS((exports) => {
5595
5595
  function resolveProps(tokens, { flow, indicator, next, offset, onError, parentIndent, startOnNewline }) {
5596
5596
  let spaceBefore = false;
@@ -5720,7 +5720,7 @@ var require_resolve_props = __commonJS((exports) => {
5720
5720
  exports.resolveProps = resolveProps;
5721
5721
  });
5722
5722
 
5723
- // node_modules/yaml/dist/compose/util-contains-newline.js
5723
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/compose/util-contains-newline.js
5724
5724
  var require_util_contains_newline = __commonJS((exports) => {
5725
5725
  function containsNewline(key) {
5726
5726
  if (!key)
@@ -5760,7 +5760,7 @@ var require_util_contains_newline = __commonJS((exports) => {
5760
5760
  exports.containsNewline = containsNewline;
5761
5761
  });
5762
5762
 
5763
- // node_modules/yaml/dist/compose/util-flow-indent-check.js
5763
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/compose/util-flow-indent-check.js
5764
5764
  var require_util_flow_indent_check = __commonJS((exports) => {
5765
5765
  var utilContainsNewline = require_util_contains_newline();
5766
5766
  function flowIndentCheck(indent, fc, onError) {
@@ -5775,7 +5775,7 @@ var require_util_flow_indent_check = __commonJS((exports) => {
5775
5775
  exports.flowIndentCheck = flowIndentCheck;
5776
5776
  });
5777
5777
 
5778
- // node_modules/yaml/dist/compose/util-map-includes.js
5778
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/compose/util-map-includes.js
5779
5779
  var require_util_map_includes = __commonJS((exports) => {
5780
5780
  var identity = require_identity();
5781
5781
  function mapIncludes(ctx, items, search) {
@@ -5788,7 +5788,7 @@ var require_util_map_includes = __commonJS((exports) => {
5788
5788
  exports.mapIncludes = mapIncludes;
5789
5789
  });
5790
5790
 
5791
- // node_modules/yaml/dist/compose/resolve-block-map.js
5791
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-block-map.js
5792
5792
  var require_resolve_block_map = __commonJS((exports) => {
5793
5793
  var Pair = require_Pair();
5794
5794
  var YAMLMap = require_YAMLMap();
@@ -5895,7 +5895,7 @@ var require_resolve_block_map = __commonJS((exports) => {
5895
5895
  exports.resolveBlockMap = resolveBlockMap;
5896
5896
  });
5897
5897
 
5898
- // node_modules/yaml/dist/compose/resolve-block-seq.js
5898
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-block-seq.js
5899
5899
  var require_resolve_block_seq = __commonJS((exports) => {
5900
5900
  var YAMLSeq = require_YAMLSeq();
5901
5901
  var resolveProps = require_resolve_props();
@@ -5943,7 +5943,7 @@ var require_resolve_block_seq = __commonJS((exports) => {
5943
5943
  exports.resolveBlockSeq = resolveBlockSeq;
5944
5944
  });
5945
5945
 
5946
- // node_modules/yaml/dist/compose/resolve-end.js
5946
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-end.js
5947
5947
  var require_resolve_end = __commonJS((exports) => {
5948
5948
  function resolveEnd(end, offset, reqSpace, onError) {
5949
5949
  let comment = "";
@@ -5983,7 +5983,7 @@ var require_resolve_end = __commonJS((exports) => {
5983
5983
  exports.resolveEnd = resolveEnd;
5984
5984
  });
5985
5985
 
5986
- // node_modules/yaml/dist/compose/resolve-flow-collection.js
5986
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-flow-collection.js
5987
5987
  var require_resolve_flow_collection = __commonJS((exports) => {
5988
5988
  var identity = require_identity();
5989
5989
  var Pair = require_Pair();
@@ -6174,7 +6174,7 @@ var require_resolve_flow_collection = __commonJS((exports) => {
6174
6174
  exports.resolveFlowCollection = resolveFlowCollection;
6175
6175
  });
6176
6176
 
6177
- // node_modules/yaml/dist/compose/compose-collection.js
6177
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/compose/compose-collection.js
6178
6178
  var require_compose_collection = __commonJS((exports) => {
6179
6179
  var identity = require_identity();
6180
6180
  var Scalar = require_Scalar();
@@ -6236,7 +6236,7 @@ var require_compose_collection = __commonJS((exports) => {
6236
6236
  exports.composeCollection = composeCollection;
6237
6237
  });
6238
6238
 
6239
- // node_modules/yaml/dist/compose/resolve-block-scalar.js
6239
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-block-scalar.js
6240
6240
  var require_resolve_block_scalar = __commonJS((exports) => {
6241
6241
  var Scalar = require_Scalar();
6242
6242
  function resolveBlockScalar(ctx, scalar, onError) {
@@ -6429,7 +6429,7 @@ var require_resolve_block_scalar = __commonJS((exports) => {
6429
6429
  exports.resolveBlockScalar = resolveBlockScalar;
6430
6430
  });
6431
6431
 
6432
- // node_modules/yaml/dist/compose/resolve-flow-scalar.js
6432
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-flow-scalar.js
6433
6433
  var require_resolve_flow_scalar = __commonJS((exports) => {
6434
6434
  var Scalar = require_Scalar();
6435
6435
  var resolveEnd = require_resolve_end();
@@ -6645,7 +6645,7 @@ var require_resolve_flow_scalar = __commonJS((exports) => {
6645
6645
  exports.resolveFlowScalar = resolveFlowScalar;
6646
6646
  });
6647
6647
 
6648
- // node_modules/yaml/dist/compose/compose-scalar.js
6648
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/compose/compose-scalar.js
6649
6649
  var require_compose_scalar = __commonJS((exports) => {
6650
6650
  var identity = require_identity();
6651
6651
  var Scalar = require_Scalar();
@@ -6723,7 +6723,7 @@ var require_compose_scalar = __commonJS((exports) => {
6723
6723
  exports.composeScalar = composeScalar;
6724
6724
  });
6725
6725
 
6726
- // node_modules/yaml/dist/compose/util-empty-scalar-position.js
6726
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/compose/util-empty-scalar-position.js
6727
6727
  var require_util_empty_scalar_position = __commonJS((exports) => {
6728
6728
  function emptyScalarPosition(offset, before, pos) {
6729
6729
  if (before) {
@@ -6750,7 +6750,7 @@ var require_util_empty_scalar_position = __commonJS((exports) => {
6750
6750
  exports.emptyScalarPosition = emptyScalarPosition;
6751
6751
  });
6752
6752
 
6753
- // node_modules/yaml/dist/compose/compose-node.js
6753
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/compose/compose-node.js
6754
6754
  var require_compose_node = __commonJS((exports) => {
6755
6755
  var Alias = require_Alias();
6756
6756
  var identity = require_identity();
@@ -6848,7 +6848,7 @@ var require_compose_node = __commonJS((exports) => {
6848
6848
  exports.composeNode = composeNode;
6849
6849
  });
6850
6850
 
6851
- // node_modules/yaml/dist/compose/compose-doc.js
6851
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/compose/compose-doc.js
6852
6852
  var require_compose_doc = __commonJS((exports) => {
6853
6853
  var Document = require_Document();
6854
6854
  var composeNode = require_compose_node();
@@ -6888,7 +6888,7 @@ var require_compose_doc = __commonJS((exports) => {
6888
6888
  exports.composeDoc = composeDoc;
6889
6889
  });
6890
6890
 
6891
- // node_modules/yaml/dist/compose/composer.js
6891
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/compose/composer.js
6892
6892
  var require_composer = __commonJS((exports) => {
6893
6893
  var node_process = __require("process");
6894
6894
  var directives = require_directives();
@@ -7077,7 +7077,7 @@ ${end.comment}` : end.comment;
7077
7077
  exports.Composer = Composer;
7078
7078
  });
7079
7079
 
7080
- // node_modules/yaml/dist/parse/cst-scalar.js
7080
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/parse/cst-scalar.js
7081
7081
  var require_cst_scalar = __commonJS((exports) => {
7082
7082
  var resolveBlockScalar = require_resolve_block_scalar();
7083
7083
  var resolveFlowScalar = require_resolve_flow_scalar();
@@ -7267,7 +7267,7 @@ var require_cst_scalar = __commonJS((exports) => {
7267
7267
  exports.setScalarValue = setScalarValue;
7268
7268
  });
7269
7269
 
7270
- // node_modules/yaml/dist/parse/cst-stringify.js
7270
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/parse/cst-stringify.js
7271
7271
  var require_cst_stringify = __commonJS((exports) => {
7272
7272
  var stringify = (cst) => ("type" in cst) ? stringifyToken(cst) : stringifyItem(cst);
7273
7273
  function stringifyToken(token) {
@@ -7325,7 +7325,7 @@ var require_cst_stringify = __commonJS((exports) => {
7325
7325
  exports.stringify = stringify;
7326
7326
  });
7327
7327
 
7328
- // node_modules/yaml/dist/parse/cst-visit.js
7328
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/parse/cst-visit.js
7329
7329
  var require_cst_visit = __commonJS((exports) => {
7330
7330
  var BREAK = Symbol("break visit");
7331
7331
  var SKIP = Symbol("skip children");
@@ -7384,7 +7384,7 @@ var require_cst_visit = __commonJS((exports) => {
7384
7384
  exports.visit = visit;
7385
7385
  });
7386
7386
 
7387
- // node_modules/yaml/dist/parse/cst.js
7387
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/parse/cst.js
7388
7388
  var require_cst = __commonJS((exports) => {
7389
7389
  var cstScalar = require_cst_scalar();
7390
7390
  var cstStringify = require_cst_stringify();
@@ -7485,7 +7485,7 @@ var require_cst = __commonJS((exports) => {
7485
7485
  exports.tokenType = tokenType;
7486
7486
  });
7487
7487
 
7488
- // node_modules/yaml/dist/parse/lexer.js
7488
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/parse/lexer.js
7489
7489
  var require_lexer = __commonJS((exports) => {
7490
7490
  var cst = require_cst();
7491
7491
  function isEmpty(ch) {
@@ -8071,7 +8071,7 @@ var require_lexer = __commonJS((exports) => {
8071
8071
  exports.Lexer = Lexer;
8072
8072
  });
8073
8073
 
8074
- // node_modules/yaml/dist/parse/line-counter.js
8074
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/parse/line-counter.js
8075
8075
  var require_line_counter = __commonJS((exports) => {
8076
8076
  class LineCounter {
8077
8077
  constructor() {
@@ -8099,7 +8099,7 @@ var require_line_counter = __commonJS((exports) => {
8099
8099
  exports.LineCounter = LineCounter;
8100
8100
  });
8101
8101
 
8102
- // node_modules/yaml/dist/parse/parser.js
8102
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/parse/parser.js
8103
8103
  var require_parser = __commonJS((exports) => {
8104
8104
  var node_process = __require("process");
8105
8105
  var cst = require_cst();
@@ -8948,7 +8948,7 @@ var require_parser = __commonJS((exports) => {
8948
8948
  exports.Parser = Parser;
8949
8949
  });
8950
8950
 
8951
- // node_modules/yaml/dist/public-api.js
8951
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/public-api.js
8952
8952
  var require_public_api = __commonJS((exports) => {
8953
8953
  var composer = require_composer();
8954
8954
  var Document = require_Document();
@@ -9317,10 +9317,68 @@ function resolvePath(...paths) {
9317
9317
  }
9318
9318
  var init_fs = () => {};
9319
9319
 
9320
+ // node_modules/.bun/sisteransi@1.0.5/node_modules/sisteransi/src/index.js
9321
+ var require_src = __commonJS((exports, module) => {
9322
+ var ESC = "\x1B";
9323
+ var CSI = `${ESC}[`;
9324
+ var beep = "\x07";
9325
+ var cursor = {
9326
+ to(x, y) {
9327
+ if (!y)
9328
+ return `${CSI}${x + 1}G`;
9329
+ return `${CSI}${y + 1};${x + 1}H`;
9330
+ },
9331
+ move(x, y) {
9332
+ let ret = "";
9333
+ if (x < 0)
9334
+ ret += `${CSI}${-x}D`;
9335
+ else if (x > 0)
9336
+ ret += `${CSI}${x}C`;
9337
+ if (y < 0)
9338
+ ret += `${CSI}${-y}A`;
9339
+ else if (y > 0)
9340
+ ret += `${CSI}${y}B`;
9341
+ return ret;
9342
+ },
9343
+ up: (count = 1) => `${CSI}${count}A`,
9344
+ down: (count = 1) => `${CSI}${count}B`,
9345
+ forward: (count = 1) => `${CSI}${count}C`,
9346
+ backward: (count = 1) => `${CSI}${count}D`,
9347
+ nextLine: (count = 1) => `${CSI}E`.repeat(count),
9348
+ prevLine: (count = 1) => `${CSI}F`.repeat(count),
9349
+ left: `${CSI}G`,
9350
+ hide: `${CSI}?25l`,
9351
+ show: `${CSI}?25h`,
9352
+ save: `${ESC}7`,
9353
+ restore: `${ESC}8`
9354
+ };
9355
+ var scroll = {
9356
+ up: (count = 1) => `${CSI}S`.repeat(count),
9357
+ down: (count = 1) => `${CSI}T`.repeat(count)
9358
+ };
9359
+ var erase = {
9360
+ screen: `${CSI}2J`,
9361
+ up: (count = 1) => `${CSI}1J`.repeat(count),
9362
+ down: (count = 1) => `${CSI}J`.repeat(count),
9363
+ line: `${CSI}2K`,
9364
+ lineEnd: `${CSI}K`,
9365
+ lineStart: `${CSI}1K`,
9366
+ lines(count) {
9367
+ let clear = "";
9368
+ for (let i = 0;i < count; i++)
9369
+ clear += this.line + (i < count - 1 ? cursor.up() : "");
9370
+ if (count)
9371
+ clear += cursor.left;
9372
+ return clear;
9373
+ }
9374
+ };
9375
+ module.exports = { cursor, scroll, erase, beep };
9376
+ });
9377
+
9320
9378
  // src/cli/index.ts
9321
9379
  import { createRequire as createRequire2 } from "node:module";
9322
9380
 
9323
- // node_modules/commander/esm.mjs
9381
+ // node_modules/.bun/commander@14.0.2/node_modules/commander/esm.mjs
9324
9382
  var import__ = __toESM(require_commander(), 1);
9325
9383
  var {
9326
9384
  program,
@@ -9558,7 +9616,7 @@ import { homedir } from "node:os";
9558
9616
  import { dirname, join } from "node:path";
9559
9617
  import { createInterface } from "node:readline/promises";
9560
9618
 
9561
- // node_modules/i18next/dist/esm/i18next.js
9619
+ // node_modules/.bun/i18next@25.8.0+1fb4c65d43e298b9/node_modules/i18next/dist/esm/i18next.js
9562
9620
  var isString = (obj) => typeof obj === "string";
9563
9621
  var defer = () => {
9564
9622
  let res;
@@ -12030,7 +12088,21 @@ var en_default = {
12030
12088
  templateNotFound: "Template '{{name}}' not found",
12031
12089
  initializingTemplate: "Initializing with template: {{name}}",
12032
12090
  promptOverwrite: "Configuration already exists. Overwrite?",
12033
- aborted: "Initialization aborted"
12091
+ aborted: "Initialization aborted",
12092
+ wizard: {
12093
+ welcome: "Welcome to oh-my-customcode setup!",
12094
+ langPrompt: "Select your preferred language",
12095
+ domainPrompt: "Select your team's primary domain",
12096
+ domainAll: "All domains (full install)",
12097
+ domainBackend: "Backend (Go, Python, Java, Spring, FastAPI, etc.)",
12098
+ domainFrontend: "Frontend (TypeScript, Vue, Svelte, Flutter, Vercel)",
12099
+ domainDataEngineering: "Data Engineering (Airflow, dbt, Spark, Kafka, etc.)",
12100
+ domainDevops: "DevOps / Infrastructure (Docker, AWS, CI/CD)",
12101
+ teamModePrompt: "Enable team mode?",
12102
+ teamModeHint: "Team mode enables shared evaluation server and authentication",
12103
+ confirm: "Ready to install with these settings:",
12104
+ cancelled: "Setup cancelled."
12105
+ }
12034
12106
  },
12035
12107
  update: {
12036
12108
  description: "Update agents and configurations to latest version",
@@ -12354,7 +12426,21 @@ var ko_default = {
12354
12426
  templateNotFound: "'{{name}}' 템플릿을 찾을 수 없습니다",
12355
12427
  initializingTemplate: "템플릿으로 초기화 중: {{name}}",
12356
12428
  promptOverwrite: "설정 파일이 이미 존재합니다. 덮어쓰시겠습니까?",
12357
- aborted: "초기화가 취소되었습니다"
12429
+ aborted: "초기화가 취소되었습니다",
12430
+ wizard: {
12431
+ welcome: "oh-my-customcode 설정을 시작합니다!",
12432
+ langPrompt: "사용할 언어를 선택하세요",
12433
+ domainPrompt: "팀의 주요 도메인을 선택하세요",
12434
+ domainAll: "전체 도메인 (전체 설치)",
12435
+ domainBackend: "백엔드 (Go, Python, Java, Spring, FastAPI 등)",
12436
+ domainFrontend: "프론트엔드 (TypeScript, Vue, Svelte, Flutter, Vercel)",
12437
+ domainDataEngineering: "데이터 엔지니어링 (Airflow, dbt, Spark, Kafka 등)",
12438
+ domainDevops: "DevOps / 인프라 (Docker, AWS, CI/CD)",
12439
+ teamModePrompt: "팀 모드를 활성화하시겠습니까?",
12440
+ teamModeHint: "팀 모드는 공유 평가 서버와 인증을 활성화합니다",
12441
+ confirm: "다음 설정으로 설치를 진행합니다:",
12442
+ cancelled: "설정이 취소되었습니다."
12443
+ }
12358
12444
  },
12359
12445
  update: {
12360
12446
  description: "에이전트 및 설정을 최신 버전으로 업데이트",
@@ -12885,7 +12971,7 @@ import { constants, promises as fs, readFileSync as readFileSync2 } from "node:f
12885
12971
  import path from "node:path";
12886
12972
  import { fileURLToPath as fileURLToPath2 } from "node:url";
12887
12973
 
12888
- // node_modules/yaml/dist/index.js
12974
+ // node_modules/.bun/yaml@2.8.2/node_modules/yaml/dist/index.js
12889
12975
  var composer = require_composer();
12890
12976
  var Document = require_Document();
12891
12977
  var Schema = require_Schema();
@@ -13175,7 +13261,9 @@ function getDefaultConfig() {
13175
13261
  ".claude/agent-memory/",
13176
13262
  ".claude/agent-memory-local/"
13177
13263
  ],
13178
- customComponents: []
13264
+ customComponents: [],
13265
+ domain: undefined,
13266
+ teamMode: false
13179
13267
  };
13180
13268
  }
13181
13269
  function getDefaultPreferences() {
@@ -14631,6 +14719,7 @@ async function installEntryDocWithTracking(targetDir, options, result) {
14631
14719
  async function updateInstallConfig(targetDir, options, installedComponents) {
14632
14720
  const config = await loadConfig(targetDir);
14633
14721
  config.language = options.language ?? DEFAULT_LANGUAGE2;
14722
+ config.domain = options.domain;
14634
14723
  config.installedAt = new Date().toISOString();
14635
14724
  config.installedComponents = installedComponents;
14636
14725
  await saveConfig(targetDir, config);
@@ -14898,6 +14987,982 @@ async function checkUvAvailable() {
14898
14987
 
14899
14988
  // src/cli/init.ts
14900
14989
  init_fs();
14990
+
14991
+ // node_modules/.bun/@clack+core@1.1.0/node_modules/@clack/core/dist/index.mjs
14992
+ import { styleText as D } from "node:util";
14993
+ import { stdout as R, stdin as q } from "node:process";
14994
+ var import_sisteransi = __toESM(require_src(), 1);
14995
+ import ot from "node:readline";
14996
+ function x(t2, e, s) {
14997
+ if (!s.some((u) => !u.disabled))
14998
+ return t2;
14999
+ const i = t2 + e, r = Math.max(s.length - 1, 0), n = i < 0 ? r : i > r ? 0 : i;
15000
+ return s[n].disabled ? x(n, e < 0 ? -1 : 1, s) : n;
15001
+ }
15002
+ var at = (t2) => t2 === 161 || t2 === 164 || t2 === 167 || t2 === 168 || t2 === 170 || t2 === 173 || t2 === 174 || t2 >= 176 && t2 <= 180 || t2 >= 182 && t2 <= 186 || t2 >= 188 && t2 <= 191 || t2 === 198 || t2 === 208 || t2 === 215 || t2 === 216 || t2 >= 222 && t2 <= 225 || t2 === 230 || t2 >= 232 && t2 <= 234 || t2 === 236 || t2 === 237 || t2 === 240 || t2 === 242 || t2 === 243 || t2 >= 247 && t2 <= 250 || t2 === 252 || t2 === 254 || t2 === 257 || t2 === 273 || t2 === 275 || t2 === 283 || t2 === 294 || t2 === 295 || t2 === 299 || t2 >= 305 && t2 <= 307 || t2 === 312 || t2 >= 319 && t2 <= 322 || t2 === 324 || t2 >= 328 && t2 <= 331 || t2 === 333 || t2 === 338 || t2 === 339 || t2 === 358 || t2 === 359 || t2 === 363 || t2 === 462 || t2 === 464 || t2 === 466 || t2 === 468 || t2 === 470 || t2 === 472 || t2 === 474 || t2 === 476 || t2 === 593 || t2 === 609 || t2 === 708 || t2 === 711 || t2 >= 713 && t2 <= 715 || t2 === 717 || t2 === 720 || t2 >= 728 && t2 <= 731 || t2 === 733 || t2 === 735 || t2 >= 768 && t2 <= 879 || t2 >= 913 && t2 <= 929 || t2 >= 931 && t2 <= 937 || t2 >= 945 && t2 <= 961 || t2 >= 963 && t2 <= 969 || t2 === 1025 || t2 >= 1040 && t2 <= 1103 || t2 === 1105 || t2 === 8208 || t2 >= 8211 && t2 <= 8214 || t2 === 8216 || t2 === 8217 || t2 === 8220 || t2 === 8221 || t2 >= 8224 && t2 <= 8226 || t2 >= 8228 && t2 <= 8231 || t2 === 8240 || t2 === 8242 || t2 === 8243 || t2 === 8245 || t2 === 8251 || t2 === 8254 || t2 === 8308 || t2 === 8319 || t2 >= 8321 && t2 <= 8324 || t2 === 8364 || t2 === 8451 || t2 === 8453 || t2 === 8457 || t2 === 8467 || t2 === 8470 || t2 === 8481 || t2 === 8482 || t2 === 8486 || t2 === 8491 || t2 === 8531 || t2 === 8532 || t2 >= 8539 && t2 <= 8542 || t2 >= 8544 && t2 <= 8555 || t2 >= 8560 && t2 <= 8569 || t2 === 8585 || t2 >= 8592 && t2 <= 8601 || t2 === 8632 || t2 === 8633 || t2 === 8658 || t2 === 8660 || t2 === 8679 || t2 === 8704 || t2 === 8706 || t2 === 8707 || t2 === 8711 || t2 === 8712 || t2 === 8715 || t2 === 8719 || t2 === 8721 || t2 === 8725 || t2 === 8730 || t2 >= 8733 && t2 <= 8736 || t2 === 8739 || t2 === 8741 || t2 >= 8743 && t2 <= 8748 || t2 === 8750 || t2 >= 8756 && t2 <= 8759 || t2 === 8764 || t2 === 8765 || t2 === 8776 || t2 === 8780 || t2 === 8786 || t2 === 8800 || t2 === 8801 || t2 >= 8804 && t2 <= 8807 || t2 === 8810 || t2 === 8811 || t2 === 8814 || t2 === 8815 || t2 === 8834 || t2 === 8835 || t2 === 8838 || t2 === 8839 || t2 === 8853 || t2 === 8857 || t2 === 8869 || t2 === 8895 || t2 === 8978 || t2 >= 9312 && t2 <= 9449 || t2 >= 9451 && t2 <= 9547 || t2 >= 9552 && t2 <= 9587 || t2 >= 9600 && t2 <= 9615 || t2 >= 9618 && t2 <= 9621 || t2 === 9632 || t2 === 9633 || t2 >= 9635 && t2 <= 9641 || t2 === 9650 || t2 === 9651 || t2 === 9654 || t2 === 9655 || t2 === 9660 || t2 === 9661 || t2 === 9664 || t2 === 9665 || t2 >= 9670 && t2 <= 9672 || t2 === 9675 || t2 >= 9678 && t2 <= 9681 || t2 >= 9698 && t2 <= 9701 || t2 === 9711 || t2 === 9733 || t2 === 9734 || t2 === 9737 || t2 === 9742 || t2 === 9743 || t2 === 9756 || t2 === 9758 || t2 === 9792 || t2 === 9794 || t2 === 9824 || t2 === 9825 || t2 >= 9827 && t2 <= 9829 || t2 >= 9831 && t2 <= 9834 || t2 === 9836 || t2 === 9837 || t2 === 9839 || t2 === 9886 || t2 === 9887 || t2 === 9919 || t2 >= 9926 && t2 <= 9933 || t2 >= 9935 && t2 <= 9939 || t2 >= 9941 && t2 <= 9953 || t2 === 9955 || t2 === 9960 || t2 === 9961 || t2 >= 9963 && t2 <= 9969 || t2 === 9972 || t2 >= 9974 && t2 <= 9977 || t2 === 9979 || t2 === 9980 || t2 === 9982 || t2 === 9983 || t2 === 10045 || t2 >= 10102 && t2 <= 10111 || t2 >= 11094 && t2 <= 11097 || t2 >= 12872 && t2 <= 12879 || t2 >= 57344 && t2 <= 63743 || t2 >= 65024 && t2 <= 65039 || t2 === 65533 || t2 >= 127232 && t2 <= 127242 || t2 >= 127248 && t2 <= 127277 || t2 >= 127280 && t2 <= 127337 || t2 >= 127344 && t2 <= 127373 || t2 === 127375 || t2 === 127376 || t2 >= 127387 && t2 <= 127404 || t2 >= 917760 && t2 <= 917999 || t2 >= 983040 && t2 <= 1048573 || t2 >= 1048576 && t2 <= 1114109;
15003
+ var lt = (t2) => t2 === 12288 || t2 >= 65281 && t2 <= 65376 || t2 >= 65504 && t2 <= 65510;
15004
+ var ht = (t2) => t2 >= 4352 && t2 <= 4447 || t2 === 8986 || t2 === 8987 || t2 === 9001 || t2 === 9002 || t2 >= 9193 && t2 <= 9196 || t2 === 9200 || t2 === 9203 || t2 === 9725 || t2 === 9726 || t2 === 9748 || t2 === 9749 || t2 >= 9800 && t2 <= 9811 || t2 === 9855 || t2 === 9875 || t2 === 9889 || t2 === 9898 || t2 === 9899 || t2 === 9917 || t2 === 9918 || t2 === 9924 || t2 === 9925 || t2 === 9934 || t2 === 9940 || t2 === 9962 || t2 === 9970 || t2 === 9971 || t2 === 9973 || t2 === 9978 || t2 === 9981 || t2 === 9989 || t2 === 9994 || t2 === 9995 || t2 === 10024 || t2 === 10060 || t2 === 10062 || t2 >= 10067 && t2 <= 10069 || t2 === 10071 || t2 >= 10133 && t2 <= 10135 || t2 === 10160 || t2 === 10175 || t2 === 11035 || t2 === 11036 || t2 === 11088 || t2 === 11093 || t2 >= 11904 && t2 <= 11929 || t2 >= 11931 && t2 <= 12019 || t2 >= 12032 && t2 <= 12245 || t2 >= 12272 && t2 <= 12287 || t2 >= 12289 && t2 <= 12350 || t2 >= 12353 && t2 <= 12438 || t2 >= 12441 && t2 <= 12543 || t2 >= 12549 && t2 <= 12591 || t2 >= 12593 && t2 <= 12686 || t2 >= 12688 && t2 <= 12771 || t2 >= 12783 && t2 <= 12830 || t2 >= 12832 && t2 <= 12871 || t2 >= 12880 && t2 <= 19903 || t2 >= 19968 && t2 <= 42124 || t2 >= 42128 && t2 <= 42182 || t2 >= 43360 && t2 <= 43388 || t2 >= 44032 && t2 <= 55203 || t2 >= 63744 && t2 <= 64255 || t2 >= 65040 && t2 <= 65049 || t2 >= 65072 && t2 <= 65106 || t2 >= 65108 && t2 <= 65126 || t2 >= 65128 && t2 <= 65131 || t2 >= 94176 && t2 <= 94180 || t2 === 94192 || t2 === 94193 || t2 >= 94208 && t2 <= 100343 || t2 >= 100352 && t2 <= 101589 || t2 >= 101632 && t2 <= 101640 || t2 >= 110576 && t2 <= 110579 || t2 >= 110581 && t2 <= 110587 || t2 === 110589 || t2 === 110590 || t2 >= 110592 && t2 <= 110882 || t2 === 110898 || t2 >= 110928 && t2 <= 110930 || t2 === 110933 || t2 >= 110948 && t2 <= 110951 || t2 >= 110960 && t2 <= 111355 || t2 === 126980 || t2 === 127183 || t2 === 127374 || t2 >= 127377 && t2 <= 127386 || t2 >= 127488 && t2 <= 127490 || t2 >= 127504 && t2 <= 127547 || t2 >= 127552 && t2 <= 127560 || t2 === 127568 || t2 === 127569 || t2 >= 127584 && t2 <= 127589 || t2 >= 127744 && t2 <= 127776 || t2 >= 127789 && t2 <= 127797 || t2 >= 127799 && t2 <= 127868 || t2 >= 127870 && t2 <= 127891 || t2 >= 127904 && t2 <= 127946 || t2 >= 127951 && t2 <= 127955 || t2 >= 127968 && t2 <= 127984 || t2 === 127988 || t2 >= 127992 && t2 <= 128062 || t2 === 128064 || t2 >= 128066 && t2 <= 128252 || t2 >= 128255 && t2 <= 128317 || t2 >= 128331 && t2 <= 128334 || t2 >= 128336 && t2 <= 128359 || t2 === 128378 || t2 === 128405 || t2 === 128406 || t2 === 128420 || t2 >= 128507 && t2 <= 128591 || t2 >= 128640 && t2 <= 128709 || t2 === 128716 || t2 >= 128720 && t2 <= 128722 || t2 >= 128725 && t2 <= 128727 || t2 >= 128732 && t2 <= 128735 || t2 === 128747 || t2 === 128748 || t2 >= 128756 && t2 <= 128764 || t2 >= 128992 && t2 <= 129003 || t2 === 129008 || t2 >= 129292 && t2 <= 129338 || t2 >= 129340 && t2 <= 129349 || t2 >= 129351 && t2 <= 129535 || t2 >= 129648 && t2 <= 129660 || t2 >= 129664 && t2 <= 129672 || t2 >= 129680 && t2 <= 129725 || t2 >= 129727 && t2 <= 129733 || t2 >= 129742 && t2 <= 129755 || t2 >= 129760 && t2 <= 129768 || t2 >= 129776 && t2 <= 129784 || t2 >= 131072 && t2 <= 196605 || t2 >= 196608 && t2 <= 262141;
15005
+ var O = /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/y;
15006
+ var y = /[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y;
15007
+ var L = /\t{1,1000}/y;
15008
+ var P = /[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[\u{E0061}-\u{E007A}]{2}[\u{E0030}-\u{E0039}\u{E0061}-\u{E007A}]{1,3}\u{E007F}|(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})(?:\u200D(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F\u20E3?))*/yu;
15009
+ var M = /(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y;
15010
+ var ct = /\p{M}+/gu;
15011
+ var ft = { limit: 1 / 0, ellipsis: "" };
15012
+ var X = (t2, e = {}, s = {}) => {
15013
+ const i = e.limit ?? 1 / 0, r = e.ellipsis ?? "", n = e?.ellipsisWidth ?? (r ? X(r, ft, s).width : 0), u = s.ansiWidth ?? 0, a = s.controlWidth ?? 0, l = s.tabWidth ?? 8, E = s.ambiguousWidth ?? 1, g = s.emojiWidth ?? 2, m = s.fullWidthWidth ?? 2, A = s.regularWidth ?? 1, V = s.wideWidth ?? 2;
15014
+ let h = 0, o = 0, p = t2.length, v = 0, F = false, d = p, b = Math.max(0, i - n), C = 0, w = 0, c = 0, f = 0;
15015
+ t:
15016
+ for (;; ) {
15017
+ if (w > C || o >= p && o > h) {
15018
+ const ut = t2.slice(C, w) || t2.slice(h, o);
15019
+ v = 0;
15020
+ for (const Y of ut.replaceAll(ct, "")) {
15021
+ const $ = Y.codePointAt(0) || 0;
15022
+ if (lt($) ? f = m : ht($) ? f = V : E !== A && at($) ? f = E : f = A, c + f > b && (d = Math.min(d, Math.max(C, h) + v)), c + f > i) {
15023
+ F = true;
15024
+ break t;
15025
+ }
15026
+ v += Y.length, c += f;
15027
+ }
15028
+ C = w = 0;
15029
+ }
15030
+ if (o >= p)
15031
+ break;
15032
+ if (M.lastIndex = o, M.test(t2)) {
15033
+ if (v = M.lastIndex - o, f = v * A, c + f > b && (d = Math.min(d, o + Math.floor((b - c) / A))), c + f > i) {
15034
+ F = true;
15035
+ break;
15036
+ }
15037
+ c += f, C = h, w = o, o = h = M.lastIndex;
15038
+ continue;
15039
+ }
15040
+ if (O.lastIndex = o, O.test(t2)) {
15041
+ if (c + u > b && (d = Math.min(d, o)), c + u > i) {
15042
+ F = true;
15043
+ break;
15044
+ }
15045
+ c += u, C = h, w = o, o = h = O.lastIndex;
15046
+ continue;
15047
+ }
15048
+ if (y.lastIndex = o, y.test(t2)) {
15049
+ if (v = y.lastIndex - o, f = v * a, c + f > b && (d = Math.min(d, o + Math.floor((b - c) / a))), c + f > i) {
15050
+ F = true;
15051
+ break;
15052
+ }
15053
+ c += f, C = h, w = o, o = h = y.lastIndex;
15054
+ continue;
15055
+ }
15056
+ if (L.lastIndex = o, L.test(t2)) {
15057
+ if (v = L.lastIndex - o, f = v * l, c + f > b && (d = Math.min(d, o + Math.floor((b - c) / l))), c + f > i) {
15058
+ F = true;
15059
+ break;
15060
+ }
15061
+ c += f, C = h, w = o, o = h = L.lastIndex;
15062
+ continue;
15063
+ }
15064
+ if (P.lastIndex = o, P.test(t2)) {
15065
+ if (c + g > b && (d = Math.min(d, o)), c + g > i) {
15066
+ F = true;
15067
+ break;
15068
+ }
15069
+ c += g, C = h, w = o, o = h = P.lastIndex;
15070
+ continue;
15071
+ }
15072
+ o += 1;
15073
+ }
15074
+ return { width: F ? b : c, index: F ? d : p, truncated: F, ellipsed: F && i >= n };
15075
+ };
15076
+ var pt = { limit: 1 / 0, ellipsis: "", ellipsisWidth: 0 };
15077
+ var S = (t2, e = {}) => X(t2, pt, e).width;
15078
+ var T = "\x1B";
15079
+ var Z = "›";
15080
+ var Ft = 39;
15081
+ var j = "\x07";
15082
+ var Q = "[";
15083
+ var dt = "]";
15084
+ var tt = "m";
15085
+ var U = `${dt}8;;`;
15086
+ var et = new RegExp(`(?:\\${Q}(?<code>\\d+)m|\\${U}(?<uri>.*)${j})`, "y");
15087
+ var mt = (t2) => {
15088
+ if (t2 >= 30 && t2 <= 37 || t2 >= 90 && t2 <= 97)
15089
+ return 39;
15090
+ if (t2 >= 40 && t2 <= 47 || t2 >= 100 && t2 <= 107)
15091
+ return 49;
15092
+ if (t2 === 1 || t2 === 2)
15093
+ return 22;
15094
+ if (t2 === 3)
15095
+ return 23;
15096
+ if (t2 === 4)
15097
+ return 24;
15098
+ if (t2 === 7)
15099
+ return 27;
15100
+ if (t2 === 8)
15101
+ return 28;
15102
+ if (t2 === 9)
15103
+ return 29;
15104
+ if (t2 === 0)
15105
+ return 0;
15106
+ };
15107
+ var st = (t2) => `${T}${Q}${t2}${tt}`;
15108
+ var it = (t2) => `${T}${U}${t2}${j}`;
15109
+ var gt = (t2) => t2.map((e) => S(e));
15110
+ var G = (t2, e, s) => {
15111
+ const i = e[Symbol.iterator]();
15112
+ let r = false, n = false, u = t2.at(-1), a = u === undefined ? 0 : S(u), l = i.next(), E = i.next(), g = 0;
15113
+ for (;!l.done; ) {
15114
+ const m = l.value, A = S(m);
15115
+ a + A <= s ? t2[t2.length - 1] += m : (t2.push(m), a = 0), (m === T || m === Z) && (r = true, n = e.startsWith(U, g + 1)), r ? n ? m === j && (r = false, n = false) : m === tt && (r = false) : (a += A, a === s && !E.done && (t2.push(""), a = 0)), l = E, E = i.next(), g += m.length;
15116
+ }
15117
+ u = t2.at(-1), !a && u !== undefined && u.length > 0 && t2.length > 1 && (t2[t2.length - 2] += t2.pop());
15118
+ };
15119
+ var vt = (t2) => {
15120
+ const e = t2.split(" ");
15121
+ let s = e.length;
15122
+ for (;s > 0 && !(S(e[s - 1]) > 0); )
15123
+ s--;
15124
+ return s === e.length ? t2 : e.slice(0, s).join(" ") + e.slice(s).join("");
15125
+ };
15126
+ var Et = (t2, e, s = {}) => {
15127
+ if (s.trim !== false && t2.trim() === "")
15128
+ return "";
15129
+ let i = "", r, n;
15130
+ const u = t2.split(" "), a = gt(u);
15131
+ let l = [""];
15132
+ for (const [h, o] of u.entries()) {
15133
+ s.trim !== false && (l[l.length - 1] = (l.at(-1) ?? "").trimStart());
15134
+ let p = S(l.at(-1) ?? "");
15135
+ if (h !== 0 && (p >= e && (s.wordWrap === false || s.trim === false) && (l.push(""), p = 0), (p > 0 || s.trim === false) && (l[l.length - 1] += " ", p++)), s.hard && a[h] > e) {
15136
+ const v = e - p, F = 1 + Math.floor((a[h] - v - 1) / e);
15137
+ Math.floor((a[h] - 1) / e) < F && l.push(""), G(l, o, e);
15138
+ continue;
15139
+ }
15140
+ if (p + a[h] > e && p > 0 && a[h] > 0) {
15141
+ if (s.wordWrap === false && p < e) {
15142
+ G(l, o, e);
15143
+ continue;
15144
+ }
15145
+ l.push("");
15146
+ }
15147
+ if (p + a[h] > e && s.wordWrap === false) {
15148
+ G(l, o, e);
15149
+ continue;
15150
+ }
15151
+ l[l.length - 1] += o;
15152
+ }
15153
+ s.trim !== false && (l = l.map((h) => vt(h)));
15154
+ const E = l.join(`
15155
+ `), g = E[Symbol.iterator]();
15156
+ let m = g.next(), A = g.next(), V = 0;
15157
+ for (;!m.done; ) {
15158
+ const h = m.value, o = A.value;
15159
+ if (i += h, h === T || h === Z) {
15160
+ et.lastIndex = V + 1;
15161
+ const F = et.exec(E)?.groups;
15162
+ if (F?.code !== undefined) {
15163
+ const d = Number.parseFloat(F.code);
15164
+ r = d === Ft ? undefined : d;
15165
+ } else
15166
+ F?.uri !== undefined && (n = F.uri.length === 0 ? undefined : F.uri);
15167
+ }
15168
+ const p = r ? mt(r) : undefined;
15169
+ o === `
15170
+ ` ? (n && (i += it("")), r && p && (i += st(p))) : h === `
15171
+ ` && (r && p && (i += st(r)), n && (i += it(n))), V += h.length, m = A, A = g.next();
15172
+ }
15173
+ return i;
15174
+ };
15175
+ function K(t2, e, s) {
15176
+ return String(t2).normalize().replaceAll(`\r
15177
+ `, `
15178
+ `).split(`
15179
+ `).map((i) => Et(i, e, s)).join(`
15180
+ `);
15181
+ }
15182
+ var At = ["up", "down", "left", "right", "space", "enter", "cancel"];
15183
+ var _ = { actions: new Set(At), aliases: new Map([["k", "up"], ["j", "down"], ["h", "left"], ["l", "right"], ["\x03", "cancel"], ["escape", "cancel"]]), messages: { cancel: "Canceled", error: "Something went wrong" }, withGuide: true };
15184
+ function H(t2, e) {
15185
+ if (typeof t2 == "string")
15186
+ return _.aliases.get(t2) === e;
15187
+ for (const s of t2)
15188
+ if (s !== undefined && H(s, e))
15189
+ return true;
15190
+ return false;
15191
+ }
15192
+ function _t(t2, e) {
15193
+ if (t2 === e)
15194
+ return;
15195
+ const s = t2.split(`
15196
+ `), i = e.split(`
15197
+ `), r = Math.max(s.length, i.length), n = [];
15198
+ for (let u = 0;u < r; u++)
15199
+ s[u] !== i[u] && n.push(u);
15200
+ return { lines: n, numLinesBefore: s.length, numLinesAfter: i.length, numLines: r };
15201
+ }
15202
+ var bt = globalThis.process.platform.startsWith("win");
15203
+ var z = Symbol("clack:cancel");
15204
+ function Ct(t2) {
15205
+ return t2 === z;
15206
+ }
15207
+ function W(t2, e) {
15208
+ const s = t2;
15209
+ s.isTTY && s.setRawMode(e);
15210
+ }
15211
+ var rt = (t2) => ("columns" in t2) && typeof t2.columns == "number" ? t2.columns : 80;
15212
+ var nt = (t2) => ("rows" in t2) && typeof t2.rows == "number" ? t2.rows : 20;
15213
+ function Bt(t2, e, s, i = s) {
15214
+ const r = rt(t2 ?? R);
15215
+ return K(e, r - s.length, { hard: true, trim: false }).split(`
15216
+ `).map((n, u) => `${u === 0 ? i : s}${n}`).join(`
15217
+ `);
15218
+ }
15219
+
15220
+ class B {
15221
+ input;
15222
+ output;
15223
+ _abortSignal;
15224
+ rl;
15225
+ opts;
15226
+ _render;
15227
+ _track = false;
15228
+ _prevFrame = "";
15229
+ _subscribers = new Map;
15230
+ _cursor = 0;
15231
+ state = "initial";
15232
+ error = "";
15233
+ value;
15234
+ userInput = "";
15235
+ constructor(e, s = true) {
15236
+ const { input: i = q, output: r = R, render: n, signal: u, ...a } = e;
15237
+ this.opts = a, this.onKeypress = this.onKeypress.bind(this), this.close = this.close.bind(this), this.render = this.render.bind(this), this._render = n.bind(this), this._track = s, this._abortSignal = u, this.input = i, this.output = r;
15238
+ }
15239
+ unsubscribe() {
15240
+ this._subscribers.clear();
15241
+ }
15242
+ setSubscriber(e, s) {
15243
+ const i = this._subscribers.get(e) ?? [];
15244
+ i.push(s), this._subscribers.set(e, i);
15245
+ }
15246
+ on(e, s) {
15247
+ this.setSubscriber(e, { cb: s });
15248
+ }
15249
+ once(e, s) {
15250
+ this.setSubscriber(e, { cb: s, once: true });
15251
+ }
15252
+ emit(e, ...s) {
15253
+ const i = this._subscribers.get(e) ?? [], r = [];
15254
+ for (const n of i)
15255
+ n.cb(...s), n.once && r.push(() => i.splice(i.indexOf(n), 1));
15256
+ for (const n of r)
15257
+ n();
15258
+ }
15259
+ prompt() {
15260
+ return new Promise((e) => {
15261
+ if (this._abortSignal) {
15262
+ if (this._abortSignal.aborted)
15263
+ return this.state = "cancel", this.close(), e(z);
15264
+ this._abortSignal.addEventListener("abort", () => {
15265
+ this.state = "cancel", this.close();
15266
+ }, { once: true });
15267
+ }
15268
+ this.rl = ot.createInterface({ input: this.input, tabSize: 2, prompt: "", escapeCodeTimeout: 50, terminal: true }), this.rl.prompt(), this.opts.initialUserInput !== undefined && this._setUserInput(this.opts.initialUserInput, true), this.input.on("keypress", this.onKeypress), W(this.input, true), this.output.on("resize", this.render), this.render(), this.once("submit", () => {
15269
+ this.output.write(import_sisteransi.cursor.show), this.output.off("resize", this.render), W(this.input, false), e(this.value);
15270
+ }), this.once("cancel", () => {
15271
+ this.output.write(import_sisteransi.cursor.show), this.output.off("resize", this.render), W(this.input, false), e(z);
15272
+ });
15273
+ });
15274
+ }
15275
+ _isActionKey(e, s) {
15276
+ return e === "\t";
15277
+ }
15278
+ _setValue(e) {
15279
+ this.value = e, this.emit("value", this.value);
15280
+ }
15281
+ _setUserInput(e, s) {
15282
+ this.userInput = e ?? "", this.emit("userInput", this.userInput), s && this._track && this.rl && (this.rl.write(this.userInput), this._cursor = this.rl.cursor);
15283
+ }
15284
+ _clearUserInput() {
15285
+ this.rl?.write(null, { ctrl: true, name: "u" }), this._setUserInput("");
15286
+ }
15287
+ onKeypress(e, s) {
15288
+ if (this._track && s.name !== "return" && (s.name && this._isActionKey(e, s) && this.rl?.write(null, { ctrl: true, name: "h" }), this._cursor = this.rl?.cursor ?? 0, this._setUserInput(this.rl?.line)), this.state === "error" && (this.state = "active"), s?.name && (!this._track && _.aliases.has(s.name) && this.emit("cursor", _.aliases.get(s.name)), _.actions.has(s.name) && this.emit("cursor", s.name)), e && (e.toLowerCase() === "y" || e.toLowerCase() === "n") && this.emit("confirm", e.toLowerCase() === "y"), this.emit("key", e?.toLowerCase(), s), s?.name === "return") {
15289
+ if (this.opts.validate) {
15290
+ const i = this.opts.validate(this.value);
15291
+ i && (this.error = i instanceof Error ? i.message : i, this.state = "error", this.rl?.write(this.userInput));
15292
+ }
15293
+ this.state !== "error" && (this.state = "submit");
15294
+ }
15295
+ H([e, s?.name, s?.sequence], "cancel") && (this.state = "cancel"), (this.state === "submit" || this.state === "cancel") && this.emit("finalize"), this.render(), (this.state === "submit" || this.state === "cancel") && this.close();
15296
+ }
15297
+ close() {
15298
+ this.input.unpipe(), this.input.removeListener("keypress", this.onKeypress), this.output.write(`
15299
+ `), W(this.input, false), this.rl?.close(), this.rl = undefined, this.emit(`${this.state}`, this.value), this.unsubscribe();
15300
+ }
15301
+ restoreCursor() {
15302
+ const e = K(this._prevFrame, process.stdout.columns, { hard: true, trim: false }).split(`
15303
+ `).length - 1;
15304
+ this.output.write(import_sisteransi.cursor.move(-999, e * -1));
15305
+ }
15306
+ render() {
15307
+ const e = K(this._render(this) ?? "", process.stdout.columns, { hard: true, trim: false });
15308
+ if (e !== this._prevFrame) {
15309
+ if (this.state === "initial")
15310
+ this.output.write(import_sisteransi.cursor.hide);
15311
+ else {
15312
+ const s = _t(this._prevFrame, e), i = nt(this.output);
15313
+ if (this.restoreCursor(), s) {
15314
+ const r = Math.max(0, s.numLinesAfter - i), n = Math.max(0, s.numLinesBefore - i);
15315
+ let u = s.lines.find((a) => a >= r);
15316
+ if (u === undefined) {
15317
+ this._prevFrame = e;
15318
+ return;
15319
+ }
15320
+ if (s.lines.length === 1) {
15321
+ this.output.write(import_sisteransi.cursor.move(0, u - n)), this.output.write(import_sisteransi.erase.lines(1));
15322
+ const a = e.split(`
15323
+ `);
15324
+ this.output.write(a[u]), this._prevFrame = e, this.output.write(import_sisteransi.cursor.move(0, a.length - u - 1));
15325
+ return;
15326
+ } else if (s.lines.length > 1) {
15327
+ if (r < n)
15328
+ u = r;
15329
+ else {
15330
+ const l = u - n;
15331
+ l > 0 && this.output.write(import_sisteransi.cursor.move(0, l));
15332
+ }
15333
+ this.output.write(import_sisteransi.erase.down());
15334
+ const a = e.split(`
15335
+ `).slice(u);
15336
+ this.output.write(a.join(`
15337
+ `)), this._prevFrame = e;
15338
+ return;
15339
+ }
15340
+ }
15341
+ this.output.write(import_sisteransi.erase.down());
15342
+ }
15343
+ this.output.write(e), this.state === "initial" && (this.state = "active"), this._prevFrame = e;
15344
+ }
15345
+ }
15346
+ }
15347
+ function wt(t2, e) {
15348
+ if (t2 === undefined || e.length === 0)
15349
+ return 0;
15350
+ const s = e.findIndex((i) => i.value === t2);
15351
+ return s !== -1 ? s : 0;
15352
+ }
15353
+ function Dt(t2, e) {
15354
+ return (e.label ?? String(e.value)).toLowerCase().includes(t2.toLowerCase());
15355
+ }
15356
+ function St(t2, e) {
15357
+ if (e)
15358
+ return t2 ? e : e[0];
15359
+ }
15360
+
15361
+ class Vt extends B {
15362
+ filteredOptions;
15363
+ multiple;
15364
+ isNavigating = false;
15365
+ selectedValues = [];
15366
+ focusedValue;
15367
+ #t = 0;
15368
+ #s = "";
15369
+ #i;
15370
+ #e;
15371
+ get cursor() {
15372
+ return this.#t;
15373
+ }
15374
+ get userInputWithCursor() {
15375
+ if (!this.userInput)
15376
+ return D(["inverse", "hidden"], "_");
15377
+ if (this._cursor >= this.userInput.length)
15378
+ return `${this.userInput}█`;
15379
+ const e = this.userInput.slice(0, this._cursor), [s, ...i] = this.userInput.slice(this._cursor);
15380
+ return `${e}${D("inverse", s)}${i.join("")}`;
15381
+ }
15382
+ get options() {
15383
+ return typeof this.#e == "function" ? this.#e() : this.#e;
15384
+ }
15385
+ constructor(e) {
15386
+ super(e), this.#e = e.options;
15387
+ const s = this.options;
15388
+ this.filteredOptions = [...s], this.multiple = e.multiple === true, this.#i = e.filter ?? Dt;
15389
+ let i;
15390
+ if (e.initialValue && Array.isArray(e.initialValue) ? this.multiple ? i = e.initialValue : i = e.initialValue.slice(0, 1) : !this.multiple && this.options.length > 0 && (i = [this.options[0].value]), i)
15391
+ for (const r of i) {
15392
+ const n = s.findIndex((u) => u.value === r);
15393
+ n !== -1 && (this.toggleSelected(r), this.#t = n);
15394
+ }
15395
+ this.focusedValue = this.options[this.#t]?.value, this.on("key", (r, n) => this.#r(r, n)), this.on("userInput", (r) => this.#n(r));
15396
+ }
15397
+ _isActionKey(e, s) {
15398
+ return e === "\t" || this.multiple && this.isNavigating && s.name === "space" && e !== undefined && e !== "";
15399
+ }
15400
+ #r(e, s) {
15401
+ const i = s.name === "up", r = s.name === "down", n = s.name === "return";
15402
+ i || r ? (this.#t = x(this.#t, i ? -1 : 1, this.filteredOptions), this.focusedValue = this.filteredOptions[this.#t]?.value, this.multiple || (this.selectedValues = [this.focusedValue]), this.isNavigating = true) : n ? this.value = St(this.multiple, this.selectedValues) : this.multiple ? this.focusedValue !== undefined && (s.name === "tab" || this.isNavigating && s.name === "space") ? this.toggleSelected(this.focusedValue) : this.isNavigating = false : (this.focusedValue && (this.selectedValues = [this.focusedValue]), this.isNavigating = false);
15403
+ }
15404
+ deselectAll() {
15405
+ this.selectedValues = [];
15406
+ }
15407
+ toggleSelected(e) {
15408
+ this.filteredOptions.length !== 0 && (this.multiple ? this.selectedValues.includes(e) ? this.selectedValues = this.selectedValues.filter((s) => s !== e) : this.selectedValues = [...this.selectedValues, e] : this.selectedValues = [e]);
15409
+ }
15410
+ #n(e) {
15411
+ if (e !== this.#s) {
15412
+ this.#s = e;
15413
+ const s = this.options;
15414
+ e ? this.filteredOptions = s.filter((n) => this.#i(e, n)) : this.filteredOptions = [...s];
15415
+ const i = wt(this.focusedValue, this.filteredOptions);
15416
+ this.#t = x(i, 0, this.filteredOptions);
15417
+ const r = this.filteredOptions[this.#t];
15418
+ r && !r.disabled ? this.focusedValue = r.value : this.focusedValue = undefined, this.multiple || (this.focusedValue !== undefined ? this.toggleSelected(this.focusedValue) : this.deselectAll());
15419
+ }
15420
+ }
15421
+ }
15422
+
15423
+ class kt extends B {
15424
+ get cursor() {
15425
+ return this.value ? 0 : 1;
15426
+ }
15427
+ get _value() {
15428
+ return this.cursor === 0;
15429
+ }
15430
+ constructor(e) {
15431
+ super(e, false), this.value = !!e.initialValue, this.on("userInput", () => {
15432
+ this.value = this._value;
15433
+ }), this.on("confirm", (s) => {
15434
+ this.output.write(import_sisteransi.cursor.move(0, -1)), this.value = s, this.state = "submit", this.close();
15435
+ }), this.on("cursor", () => {
15436
+ this.value = !this.value;
15437
+ });
15438
+ }
15439
+ }
15440
+
15441
+ class yt extends B {
15442
+ options;
15443
+ cursor = 0;
15444
+ #t;
15445
+ getGroupItems(e) {
15446
+ return this.options.filter((s) => s.group === e);
15447
+ }
15448
+ isGroupSelected(e) {
15449
+ const s = this.getGroupItems(e), i = this.value;
15450
+ return i === undefined ? false : s.every((r) => i.includes(r.value));
15451
+ }
15452
+ toggleValue() {
15453
+ const e = this.options[this.cursor];
15454
+ if (this.value === undefined && (this.value = []), e.group === true) {
15455
+ const s = e.value, i = this.getGroupItems(s);
15456
+ this.isGroupSelected(s) ? this.value = this.value.filter((r) => i.findIndex((n) => n.value === r) === -1) : this.value = [...this.value, ...i.map((r) => r.value)], this.value = Array.from(new Set(this.value));
15457
+ } else {
15458
+ const s = this.value.includes(e.value);
15459
+ this.value = s ? this.value.filter((i) => i !== e.value) : [...this.value, e.value];
15460
+ }
15461
+ }
15462
+ constructor(e) {
15463
+ super(e, false);
15464
+ const { options: s } = e;
15465
+ this.#t = e.selectableGroups !== false, this.options = Object.entries(s).flatMap(([i, r]) => [{ value: i, group: true, label: i }, ...r.map((n) => ({ ...n, group: i }))]), this.value = [...e.initialValues ?? []], this.cursor = Math.max(this.options.findIndex(({ value: i }) => i === e.cursorAt), this.#t ? 0 : 1), this.on("cursor", (i) => {
15466
+ switch (i) {
15467
+ case "left":
15468
+ case "up": {
15469
+ this.cursor = this.cursor === 0 ? this.options.length - 1 : this.cursor - 1;
15470
+ const r = this.options[this.cursor]?.group === true;
15471
+ !this.#t && r && (this.cursor = this.cursor === 0 ? this.options.length - 1 : this.cursor - 1);
15472
+ break;
15473
+ }
15474
+ case "down":
15475
+ case "right": {
15476
+ this.cursor = this.cursor === this.options.length - 1 ? 0 : this.cursor + 1;
15477
+ const r = this.options[this.cursor]?.group === true;
15478
+ !this.#t && r && (this.cursor = this.cursor === this.options.length - 1 ? 0 : this.cursor + 1);
15479
+ break;
15480
+ }
15481
+ case "space":
15482
+ this.toggleValue();
15483
+ break;
15484
+ }
15485
+ });
15486
+ }
15487
+ }
15488
+ class Tt extends B {
15489
+ options;
15490
+ cursor = 0;
15491
+ get _selectedValue() {
15492
+ return this.options[this.cursor];
15493
+ }
15494
+ changeValue() {
15495
+ this.value = this._selectedValue.value;
15496
+ }
15497
+ constructor(e) {
15498
+ super(e, false), this.options = e.options;
15499
+ const s = this.options.findIndex(({ value: r }) => r === e.initialValue), i = s === -1 ? 0 : s;
15500
+ this.cursor = this.options[i].disabled ? x(i, 1, this.options) : i, this.changeValue(), this.on("cursor", (r) => {
15501
+ switch (r) {
15502
+ case "left":
15503
+ case "up":
15504
+ this.cursor = x(this.cursor, -1, this.options);
15505
+ break;
15506
+ case "down":
15507
+ case "right":
15508
+ this.cursor = x(this.cursor, 1, this.options);
15509
+ break;
15510
+ }
15511
+ this.changeValue();
15512
+ });
15513
+ }
15514
+ }
15515
+
15516
+ // node_modules/.bun/@clack+prompts@1.1.0/node_modules/@clack/prompts/dist/index.mjs
15517
+ import { styleText as t2, stripVTControlCharacters as ue } from "node:util";
15518
+ import N2 from "node:process";
15519
+ var import_sisteransi2 = __toESM(require_src(), 1);
15520
+ function pt2() {
15521
+ return N2.platform !== "win32" ? N2.env.TERM !== "linux" : !!N2.env.CI || !!N2.env.WT_SESSION || !!N2.env.TERMINUS_SUBLIME || N2.env.ConEmuTask === "{cmd::Cmder}" || N2.env.TERM_PROGRAM === "Terminus-Sublime" || N2.env.TERM_PROGRAM === "vscode" || N2.env.TERM === "xterm-256color" || N2.env.TERM === "alacritty" || N2.env.TERMINAL_EMULATOR === "JetBrains-JediTerm";
15522
+ }
15523
+ var ee = pt2();
15524
+ var I2 = (e, r) => ee ? e : r;
15525
+ var Re = I2("◆", "*");
15526
+ var $e = I2("■", "x");
15527
+ var de = I2("▲", "x");
15528
+ var V = I2("◇", "o");
15529
+ var he = I2("┌", "T");
15530
+ var h = I2("│", "|");
15531
+ var x2 = I2("└", "—");
15532
+ var Oe = I2("┐", "T");
15533
+ var Pe = I2("┘", "—");
15534
+ var z2 = I2("●", ">");
15535
+ var H2 = I2("○", " ");
15536
+ var te = I2("◻", "[•]");
15537
+ var U2 = I2("◼", "[+]");
15538
+ var q2 = I2("◻", "[ ]");
15539
+ var Ne = I2("▪", "•");
15540
+ var se = I2("─", "-");
15541
+ var pe = I2("╮", "+");
15542
+ var We = I2("├", "+");
15543
+ var me = I2("╯", "+");
15544
+ var ge = I2("╰", "+");
15545
+ var Ge = I2("╭", "+");
15546
+ var fe = I2("●", "•");
15547
+ var Fe = I2("◆", "*");
15548
+ var ye = I2("▲", "!");
15549
+ var Ee = I2("■", "x");
15550
+ var W2 = (e) => {
15551
+ switch (e) {
15552
+ case "initial":
15553
+ case "active":
15554
+ return t2("cyan", Re);
15555
+ case "cancel":
15556
+ return t2("red", $e);
15557
+ case "error":
15558
+ return t2("yellow", de);
15559
+ case "submit":
15560
+ return t2("green", V);
15561
+ }
15562
+ };
15563
+ var ve = (e) => {
15564
+ switch (e) {
15565
+ case "initial":
15566
+ case "active":
15567
+ return t2("cyan", h);
15568
+ case "cancel":
15569
+ return t2("red", h);
15570
+ case "error":
15571
+ return t2("yellow", h);
15572
+ case "submit":
15573
+ return t2("green", h);
15574
+ }
15575
+ };
15576
+ var mt2 = (e) => e === 161 || e === 164 || e === 167 || e === 168 || e === 170 || e === 173 || e === 174 || e >= 176 && e <= 180 || e >= 182 && e <= 186 || e >= 188 && e <= 191 || e === 198 || e === 208 || e === 215 || e === 216 || e >= 222 && e <= 225 || e === 230 || e >= 232 && e <= 234 || e === 236 || e === 237 || e === 240 || e === 242 || e === 243 || e >= 247 && e <= 250 || e === 252 || e === 254 || e === 257 || e === 273 || e === 275 || e === 283 || e === 294 || e === 295 || e === 299 || e >= 305 && e <= 307 || e === 312 || e >= 319 && e <= 322 || e === 324 || e >= 328 && e <= 331 || e === 333 || e === 338 || e === 339 || e === 358 || e === 359 || e === 363 || e === 462 || e === 464 || e === 466 || e === 468 || e === 470 || e === 472 || e === 474 || e === 476 || e === 593 || e === 609 || e === 708 || e === 711 || e >= 713 && e <= 715 || e === 717 || e === 720 || e >= 728 && e <= 731 || e === 733 || e === 735 || e >= 768 && e <= 879 || e >= 913 && e <= 929 || e >= 931 && e <= 937 || e >= 945 && e <= 961 || e >= 963 && e <= 969 || e === 1025 || e >= 1040 && e <= 1103 || e === 1105 || e === 8208 || e >= 8211 && e <= 8214 || e === 8216 || e === 8217 || e === 8220 || e === 8221 || e >= 8224 && e <= 8226 || e >= 8228 && e <= 8231 || e === 8240 || e === 8242 || e === 8243 || e === 8245 || e === 8251 || e === 8254 || e === 8308 || e === 8319 || e >= 8321 && e <= 8324 || e === 8364 || e === 8451 || e === 8453 || e === 8457 || e === 8467 || e === 8470 || e === 8481 || e === 8482 || e === 8486 || e === 8491 || e === 8531 || e === 8532 || e >= 8539 && e <= 8542 || e >= 8544 && e <= 8555 || e >= 8560 && e <= 8569 || e === 8585 || e >= 8592 && e <= 8601 || e === 8632 || e === 8633 || e === 8658 || e === 8660 || e === 8679 || e === 8704 || e === 8706 || e === 8707 || e === 8711 || e === 8712 || e === 8715 || e === 8719 || e === 8721 || e === 8725 || e === 8730 || e >= 8733 && e <= 8736 || e === 8739 || e === 8741 || e >= 8743 && e <= 8748 || e === 8750 || e >= 8756 && e <= 8759 || e === 8764 || e === 8765 || e === 8776 || e === 8780 || e === 8786 || e === 8800 || e === 8801 || e >= 8804 && e <= 8807 || e === 8810 || e === 8811 || e === 8814 || e === 8815 || e === 8834 || e === 8835 || e === 8838 || e === 8839 || e === 8853 || e === 8857 || e === 8869 || e === 8895 || e === 8978 || e >= 9312 && e <= 9449 || e >= 9451 && e <= 9547 || e >= 9552 && e <= 9587 || e >= 9600 && e <= 9615 || e >= 9618 && e <= 9621 || e === 9632 || e === 9633 || e >= 9635 && e <= 9641 || e === 9650 || e === 9651 || e === 9654 || e === 9655 || e === 9660 || e === 9661 || e === 9664 || e === 9665 || e >= 9670 && e <= 9672 || e === 9675 || e >= 9678 && e <= 9681 || e >= 9698 && e <= 9701 || e === 9711 || e === 9733 || e === 9734 || e === 9737 || e === 9742 || e === 9743 || e === 9756 || e === 9758 || e === 9792 || e === 9794 || e === 9824 || e === 9825 || e >= 9827 && e <= 9829 || e >= 9831 && e <= 9834 || e === 9836 || e === 9837 || e === 9839 || e === 9886 || e === 9887 || e === 9919 || e >= 9926 && e <= 9933 || e >= 9935 && e <= 9939 || e >= 9941 && e <= 9953 || e === 9955 || e === 9960 || e === 9961 || e >= 9963 && e <= 9969 || e === 9972 || e >= 9974 && e <= 9977 || e === 9979 || e === 9980 || e === 9982 || e === 9983 || e === 10045 || e >= 10102 && e <= 10111 || e >= 11094 && e <= 11097 || e >= 12872 && e <= 12879 || e >= 57344 && e <= 63743 || e >= 65024 && e <= 65039 || e === 65533 || e >= 127232 && e <= 127242 || e >= 127248 && e <= 127277 || e >= 127280 && e <= 127337 || e >= 127344 && e <= 127373 || e === 127375 || e === 127376 || e >= 127387 && e <= 127404 || e >= 917760 && e <= 917999 || e >= 983040 && e <= 1048573 || e >= 1048576 && e <= 1114109;
15577
+ var gt2 = (e) => e === 12288 || e >= 65281 && e <= 65376 || e >= 65504 && e <= 65510;
15578
+ var ft2 = (e) => e >= 4352 && e <= 4447 || e === 8986 || e === 8987 || e === 9001 || e === 9002 || e >= 9193 && e <= 9196 || e === 9200 || e === 9203 || e === 9725 || e === 9726 || e === 9748 || e === 9749 || e >= 9800 && e <= 9811 || e === 9855 || e === 9875 || e === 9889 || e === 9898 || e === 9899 || e === 9917 || e === 9918 || e === 9924 || e === 9925 || e === 9934 || e === 9940 || e === 9962 || e === 9970 || e === 9971 || e === 9973 || e === 9978 || e === 9981 || e === 9989 || e === 9994 || e === 9995 || e === 10024 || e === 10060 || e === 10062 || e >= 10067 && e <= 10069 || e === 10071 || e >= 10133 && e <= 10135 || e === 10160 || e === 10175 || e === 11035 || e === 11036 || e === 11088 || e === 11093 || e >= 11904 && e <= 11929 || e >= 11931 && e <= 12019 || e >= 12032 && e <= 12245 || e >= 12272 && e <= 12287 || e >= 12289 && e <= 12350 || e >= 12353 && e <= 12438 || e >= 12441 && e <= 12543 || e >= 12549 && e <= 12591 || e >= 12593 && e <= 12686 || e >= 12688 && e <= 12771 || e >= 12783 && e <= 12830 || e >= 12832 && e <= 12871 || e >= 12880 && e <= 19903 || e >= 19968 && e <= 42124 || e >= 42128 && e <= 42182 || e >= 43360 && e <= 43388 || e >= 44032 && e <= 55203 || e >= 63744 && e <= 64255 || e >= 65040 && e <= 65049 || e >= 65072 && e <= 65106 || e >= 65108 && e <= 65126 || e >= 65128 && e <= 65131 || e >= 94176 && e <= 94180 || e === 94192 || e === 94193 || e >= 94208 && e <= 100343 || e >= 100352 && e <= 101589 || e >= 101632 && e <= 101640 || e >= 110576 && e <= 110579 || e >= 110581 && e <= 110587 || e === 110589 || e === 110590 || e >= 110592 && e <= 110882 || e === 110898 || e >= 110928 && e <= 110930 || e === 110933 || e >= 110948 && e <= 110951 || e >= 110960 && e <= 111355 || e === 126980 || e === 127183 || e === 127374 || e >= 127377 && e <= 127386 || e >= 127488 && e <= 127490 || e >= 127504 && e <= 127547 || e >= 127552 && e <= 127560 || e === 127568 || e === 127569 || e >= 127584 && e <= 127589 || e >= 127744 && e <= 127776 || e >= 127789 && e <= 127797 || e >= 127799 && e <= 127868 || e >= 127870 && e <= 127891 || e >= 127904 && e <= 127946 || e >= 127951 && e <= 127955 || e >= 127968 && e <= 127984 || e === 127988 || e >= 127992 && e <= 128062 || e === 128064 || e >= 128066 && e <= 128252 || e >= 128255 && e <= 128317 || e >= 128331 && e <= 128334 || e >= 128336 && e <= 128359 || e === 128378 || e === 128405 || e === 128406 || e === 128420 || e >= 128507 && e <= 128591 || e >= 128640 && e <= 128709 || e === 128716 || e >= 128720 && e <= 128722 || e >= 128725 && e <= 128727 || e >= 128732 && e <= 128735 || e === 128747 || e === 128748 || e >= 128756 && e <= 128764 || e >= 128992 && e <= 129003 || e === 129008 || e >= 129292 && e <= 129338 || e >= 129340 && e <= 129349 || e >= 129351 && e <= 129535 || e >= 129648 && e <= 129660 || e >= 129664 && e <= 129672 || e >= 129680 && e <= 129725 || e >= 129727 && e <= 129733 || e >= 129742 && e <= 129755 || e >= 129760 && e <= 129768 || e >= 129776 && e <= 129784 || e >= 131072 && e <= 196605 || e >= 196608 && e <= 262141;
15579
+ var we = /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/y;
15580
+ var re = /[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y;
15581
+ var ie = /\t{1,1000}/y;
15582
+ var Ae = /[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[\u{E0061}-\u{E007A}]{2}[\u{E0030}-\u{E0039}\u{E0061}-\u{E007A}]{1,3}\u{E007F}|(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})(?:\u200D(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F\u20E3?))*/yu;
15583
+ var ne = /(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y;
15584
+ var Ft2 = /\p{M}+/gu;
15585
+ var yt2 = { limit: 1 / 0, ellipsis: "" };
15586
+ var Le = (e, r = {}, s = {}) => {
15587
+ const i = r.limit ?? 1 / 0, a = r.ellipsis ?? "", o = r?.ellipsisWidth ?? (a ? Le(a, yt2, s).width : 0), u = s.ansiWidth ?? 0, l = s.controlWidth ?? 0, n = s.tabWidth ?? 8, c = s.ambiguousWidth ?? 1, p = s.emojiWidth ?? 2, f = s.fullWidthWidth ?? 2, g = s.regularWidth ?? 1, E = s.wideWidth ?? 2;
15588
+ let $ = 0, m = 0, d = e.length, F = 0, y2 = false, v = d, C = Math.max(0, i - o), A = 0, b = 0, w = 0, S2 = 0;
15589
+ e:
15590
+ for (;; ) {
15591
+ if (b > A || m >= d && m > $) {
15592
+ const T2 = e.slice(A, b) || e.slice($, m);
15593
+ F = 0;
15594
+ for (const M2 of T2.replaceAll(Ft2, "")) {
15595
+ const O2 = M2.codePointAt(0) || 0;
15596
+ if (gt2(O2) ? S2 = f : ft2(O2) ? S2 = E : c !== g && mt2(O2) ? S2 = c : S2 = g, w + S2 > C && (v = Math.min(v, Math.max(A, $) + F)), w + S2 > i) {
15597
+ y2 = true;
15598
+ break e;
15599
+ }
15600
+ F += M2.length, w += S2;
15601
+ }
15602
+ A = b = 0;
15603
+ }
15604
+ if (m >= d)
15605
+ break;
15606
+ if (ne.lastIndex = m, ne.test(e)) {
15607
+ if (F = ne.lastIndex - m, S2 = F * g, w + S2 > C && (v = Math.min(v, m + Math.floor((C - w) / g))), w + S2 > i) {
15608
+ y2 = true;
15609
+ break;
15610
+ }
15611
+ w += S2, A = $, b = m, m = $ = ne.lastIndex;
15612
+ continue;
15613
+ }
15614
+ if (we.lastIndex = m, we.test(e)) {
15615
+ if (w + u > C && (v = Math.min(v, m)), w + u > i) {
15616
+ y2 = true;
15617
+ break;
15618
+ }
15619
+ w += u, A = $, b = m, m = $ = we.lastIndex;
15620
+ continue;
15621
+ }
15622
+ if (re.lastIndex = m, re.test(e)) {
15623
+ if (F = re.lastIndex - m, S2 = F * l, w + S2 > C && (v = Math.min(v, m + Math.floor((C - w) / l))), w + S2 > i) {
15624
+ y2 = true;
15625
+ break;
15626
+ }
15627
+ w += S2, A = $, b = m, m = $ = re.lastIndex;
15628
+ continue;
15629
+ }
15630
+ if (ie.lastIndex = m, ie.test(e)) {
15631
+ if (F = ie.lastIndex - m, S2 = F * n, w + S2 > C && (v = Math.min(v, m + Math.floor((C - w) / n))), w + S2 > i) {
15632
+ y2 = true;
15633
+ break;
15634
+ }
15635
+ w += S2, A = $, b = m, m = $ = ie.lastIndex;
15636
+ continue;
15637
+ }
15638
+ if (Ae.lastIndex = m, Ae.test(e)) {
15639
+ if (w + p > C && (v = Math.min(v, m)), w + p > i) {
15640
+ y2 = true;
15641
+ break;
15642
+ }
15643
+ w += p, A = $, b = m, m = $ = Ae.lastIndex;
15644
+ continue;
15645
+ }
15646
+ m += 1;
15647
+ }
15648
+ return { width: y2 ? C : w, index: y2 ? v : d, truncated: y2, ellipsed: y2 && i >= o };
15649
+ };
15650
+ var Et2 = { limit: 1 / 0, ellipsis: "", ellipsisWidth: 0 };
15651
+ var D2 = (e, r = {}) => Le(e, Et2, r).width;
15652
+ var ae = "\x1B";
15653
+ var je = "›";
15654
+ var vt2 = 39;
15655
+ var Ce = "\x07";
15656
+ var ke = "[";
15657
+ var wt2 = "]";
15658
+ var Ve = "m";
15659
+ var Se = `${wt2}8;;`;
15660
+ var He = new RegExp(`(?:\\${ke}(?<code>\\d+)m|\\${Se}(?<uri>.*)${Ce})`, "y");
15661
+ var At2 = (e) => {
15662
+ if (e >= 30 && e <= 37 || e >= 90 && e <= 97)
15663
+ return 39;
15664
+ if (e >= 40 && e <= 47 || e >= 100 && e <= 107)
15665
+ return 49;
15666
+ if (e === 1 || e === 2)
15667
+ return 22;
15668
+ if (e === 3)
15669
+ return 23;
15670
+ if (e === 4)
15671
+ return 24;
15672
+ if (e === 7)
15673
+ return 27;
15674
+ if (e === 8)
15675
+ return 28;
15676
+ if (e === 9)
15677
+ return 29;
15678
+ if (e === 0)
15679
+ return 0;
15680
+ };
15681
+ var Ue = (e) => `${ae}${ke}${e}${Ve}`;
15682
+ var Ke = (e) => `${ae}${Se}${e}${Ce}`;
15683
+ var Ct2 = (e) => e.map((r) => D2(r));
15684
+ var Ie = (e, r, s) => {
15685
+ const i = r[Symbol.iterator]();
15686
+ let a = false, o = false, u = e.at(-1), l = u === undefined ? 0 : D2(u), n = i.next(), c = i.next(), p = 0;
15687
+ for (;!n.done; ) {
15688
+ const f = n.value, g = D2(f);
15689
+ l + g <= s ? e[e.length - 1] += f : (e.push(f), l = 0), (f === ae || f === je) && (a = true, o = r.startsWith(Se, p + 1)), a ? o ? f === Ce && (a = false, o = false) : f === Ve && (a = false) : (l += g, l === s && !c.done && (e.push(""), l = 0)), n = c, c = i.next(), p += f.length;
15690
+ }
15691
+ u = e.at(-1), !l && u !== undefined && u.length > 0 && e.length > 1 && (e[e.length - 2] += e.pop());
15692
+ };
15693
+ var St2 = (e) => {
15694
+ const r = e.split(" ");
15695
+ let s = r.length;
15696
+ for (;s > 0 && !(D2(r[s - 1]) > 0); )
15697
+ s--;
15698
+ return s === r.length ? e : r.slice(0, s).join(" ") + r.slice(s).join("");
15699
+ };
15700
+ var It2 = (e, r, s = {}) => {
15701
+ if (s.trim !== false && e.trim() === "")
15702
+ return "";
15703
+ let i = "", a, o;
15704
+ const u = e.split(" "), l = Ct2(u);
15705
+ let n = [""];
15706
+ for (const [$, m] of u.entries()) {
15707
+ s.trim !== false && (n[n.length - 1] = (n.at(-1) ?? "").trimStart());
15708
+ let d = D2(n.at(-1) ?? "");
15709
+ if ($ !== 0 && (d >= r && (s.wordWrap === false || s.trim === false) && (n.push(""), d = 0), (d > 0 || s.trim === false) && (n[n.length - 1] += " ", d++)), s.hard && l[$] > r) {
15710
+ const F = r - d, y2 = 1 + Math.floor((l[$] - F - 1) / r);
15711
+ Math.floor((l[$] - 1) / r) < y2 && n.push(""), Ie(n, m, r);
15712
+ continue;
15713
+ }
15714
+ if (d + l[$] > r && d > 0 && l[$] > 0) {
15715
+ if (s.wordWrap === false && d < r) {
15716
+ Ie(n, m, r);
15717
+ continue;
15718
+ }
15719
+ n.push("");
15720
+ }
15721
+ if (d + l[$] > r && s.wordWrap === false) {
15722
+ Ie(n, m, r);
15723
+ continue;
15724
+ }
15725
+ n[n.length - 1] += m;
15726
+ }
15727
+ s.trim !== false && (n = n.map(($) => St2($)));
15728
+ const c = n.join(`
15729
+ `), p = c[Symbol.iterator]();
15730
+ let f = p.next(), g = p.next(), E = 0;
15731
+ for (;!f.done; ) {
15732
+ const $ = f.value, m = g.value;
15733
+ if (i += $, $ === ae || $ === je) {
15734
+ He.lastIndex = E + 1;
15735
+ const y2 = He.exec(c)?.groups;
15736
+ if (y2?.code !== undefined) {
15737
+ const v = Number.parseFloat(y2.code);
15738
+ a = v === vt2 ? undefined : v;
15739
+ } else
15740
+ y2?.uri !== undefined && (o = y2.uri.length === 0 ? undefined : y2.uri);
15741
+ }
15742
+ const d = a ? At2(a) : undefined;
15743
+ m === `
15744
+ ` ? (o && (i += Ke("")), a && d && (i += Ue(d))) : $ === `
15745
+ ` && (a && d && (i += Ue(a)), o && (i += Ke(o))), E += $.length, f = g, g = p.next();
15746
+ }
15747
+ return i;
15748
+ };
15749
+ function J(e, r, s) {
15750
+ return String(e).normalize().replaceAll(`\r
15751
+ `, `
15752
+ `).split(`
15753
+ `).map((i) => It2(i, r, s)).join(`
15754
+ `);
15755
+ }
15756
+ var bt2 = (e, r, s, i, a) => {
15757
+ let o = r, u = 0;
15758
+ for (let l = s;l < i; l++) {
15759
+ const n = e[l];
15760
+ if (o = o - n.length, u++, o <= a)
15761
+ break;
15762
+ }
15763
+ return { lineCount: o, removals: u };
15764
+ };
15765
+ var X2 = ({ cursor: e, options: r, style: s, output: i = process.stdout, maxItems: a = Number.POSITIVE_INFINITY, columnPadding: o = 0, rowPadding: u = 4 }) => {
15766
+ const l = rt(i) - o, n = nt(i), c = t2("dim", "..."), p = Math.max(n - u, 0), f = Math.max(Math.min(a, p), 5);
15767
+ let g = 0;
15768
+ e >= f - 3 && (g = Math.max(Math.min(e - f + 3, r.length - f), 0));
15769
+ let E = f < r.length && g > 0, $ = f < r.length && g + f < r.length;
15770
+ const m = Math.min(g + f, r.length), d = [];
15771
+ let F = 0;
15772
+ E && F++, $ && F++;
15773
+ const y2 = g + (E ? 1 : 0), v = m - ($ ? 1 : 0);
15774
+ for (let A = y2;A < v; A++) {
15775
+ const b = J(s(r[A], A === e), l, { hard: true, trim: false }).split(`
15776
+ `);
15777
+ d.push(b), F += b.length;
15778
+ }
15779
+ if (F > p) {
15780
+ let A = 0, b = 0, w = F;
15781
+ const S2 = e - y2, T2 = (M2, O2) => bt2(d, w, M2, O2, p);
15782
+ E ? ({ lineCount: w, removals: A } = T2(0, S2), w > p && ({ lineCount: w, removals: b } = T2(S2 + 1, d.length))) : ({ lineCount: w, removals: b } = T2(S2 + 1, d.length), w > p && ({ lineCount: w, removals: A } = T2(0, S2))), A > 0 && (E = true, d.splice(0, A)), b > 0 && ($ = true, d.splice(d.length - b, b));
15783
+ }
15784
+ const C = [];
15785
+ E && C.push(c);
15786
+ for (const A of d)
15787
+ for (const b of A)
15788
+ C.push(b);
15789
+ return $ && C.push(c), C;
15790
+ };
15791
+ var Rt = (e) => {
15792
+ const r = e.active ?? "Yes", s = e.inactive ?? "No";
15793
+ return new kt({ active: r, inactive: s, signal: e.signal, input: e.input, output: e.output, initialValue: e.initialValue ?? true, render() {
15794
+ const i = e.withGuide ?? _.withGuide, a = `${i ? `${t2("gray", h)}
15795
+ ` : ""}${W2(this.state)} ${e.message}
15796
+ `, o = this.value ? r : s;
15797
+ switch (this.state) {
15798
+ case "submit": {
15799
+ const u = i ? `${t2("gray", h)} ` : "";
15800
+ return `${a}${u}${t2("dim", o)}`;
15801
+ }
15802
+ case "cancel": {
15803
+ const u = i ? `${t2("gray", h)} ` : "";
15804
+ return `${a}${u}${t2(["strikethrough", "dim"], o)}${i ? `
15805
+ ${t2("gray", h)}` : ""}`;
15806
+ }
15807
+ default: {
15808
+ const u = i ? `${t2("cyan", h)} ` : "", l = i ? t2("cyan", x2) : "";
15809
+ return `${a}${u}${this.value ? `${t2("green", z2)} ${r}` : `${t2("dim", H2)} ${t2("dim", r)}`}${e.vertical ? i ? `
15810
+ ${t2("cyan", h)} ` : `
15811
+ ` : ` ${t2("dim", "/")} `}${this.value ? `${t2("dim", H2)} ${t2("dim", s)}` : `${t2("green", z2)} ${s}`}
15812
+ ${l}
15813
+ `;
15814
+ }
15815
+ }
15816
+ } }).prompt();
15817
+ };
15818
+ var Wt2 = (e = "", r) => {
15819
+ const s = r?.output ?? process.stdout, i = r?.withGuide ?? _.withGuide ? `${t2("gray", he)} ` : "";
15820
+ s.write(`${i}${e}
15821
+ `);
15822
+ };
15823
+ var Gt = (e = "", r) => {
15824
+ const s = r?.output ?? process.stdout, i = r?.withGuide ?? _.withGuide ? `${t2("gray", h)}
15825
+ ${t2("gray", x2)} ` : "";
15826
+ s.write(`${i}${e}
15827
+
15828
+ `);
15829
+ };
15830
+ var ze = { light: I2("─", "-"), heavy: I2("━", "="), block: I2("█", "#") };
15831
+ var oe = (e, r) => e.includes(`
15832
+ `) ? e.split(`
15833
+ `).map((s) => r(s)).join(`
15834
+ `) : r(e);
15835
+ var Jt = (e) => {
15836
+ const r = (s, i) => {
15837
+ const a = s.label ?? String(s.value);
15838
+ switch (i) {
15839
+ case "disabled":
15840
+ return `${t2("gray", H2)} ${oe(a, (o) => t2("gray", o))}${s.hint ? ` ${t2("dim", `(${s.hint ?? "disabled"})`)}` : ""}`;
15841
+ case "selected":
15842
+ return `${oe(a, (o) => t2("dim", o))}`;
15843
+ case "active":
15844
+ return `${t2("green", z2)} ${a}${s.hint ? ` ${t2("dim", `(${s.hint})`)}` : ""}`;
15845
+ case "cancelled":
15846
+ return `${oe(a, (o) => t2(["strikethrough", "dim"], o))}`;
15847
+ default:
15848
+ return `${t2("dim", H2)} ${oe(a, (o) => t2("dim", o))}`;
15849
+ }
15850
+ };
15851
+ return new Tt({ options: e.options, signal: e.signal, input: e.input, output: e.output, initialValue: e.initialValue, render() {
15852
+ const s = e.withGuide ?? _.withGuide, i = `${W2(this.state)} `, a = `${ve(this.state)} `, o = Bt(e.output, e.message, a, i), u = `${s ? `${t2("gray", h)}
15853
+ ` : ""}${o}
15854
+ `;
15855
+ switch (this.state) {
15856
+ case "submit": {
15857
+ const l = s ? `${t2("gray", h)} ` : "", n = Bt(e.output, r(this.options[this.cursor], "selected"), l);
15858
+ return `${u}${n}`;
15859
+ }
15860
+ case "cancel": {
15861
+ const l = s ? `${t2("gray", h)} ` : "", n = Bt(e.output, r(this.options[this.cursor], "cancelled"), l);
15862
+ return `${u}${n}${s ? `
15863
+ ${t2("gray", h)}` : ""}`;
15864
+ }
15865
+ default: {
15866
+ const l = s ? `${t2("cyan", h)} ` : "", n = s ? t2("cyan", x2) : "", c = u.split(`
15867
+ `).length, p = s ? 2 : 1;
15868
+ return `${u}${l}${X2({ output: e.output, cursor: this.cursor, options: this.options, maxItems: e.maxItems, columnPadding: l.length, rowPadding: c + p, style: (f, g) => r(f, f.disabled ? "disabled" : g ? "active" : "inactive") }).join(`
15869
+ ${l}`)}
15870
+ ${n}
15871
+ `;
15872
+ }
15873
+ }
15874
+ } }).prompt();
15875
+ };
15876
+ var Qe = `${t2("gray", h)} `;
15877
+
15878
+ // src/cli/wizard.ts
15879
+ function isInteractiveMode(yes) {
15880
+ if (yes)
15881
+ return false;
15882
+ if (!process.stdout.isTTY)
15883
+ return false;
15884
+ if (process.env.CI)
15885
+ return false;
15886
+ if (process.env.GITHUB_ACTIONS)
15887
+ return false;
15888
+ return true;
15889
+ }
15890
+ function getDefaultWizardResult(options) {
15891
+ return {
15892
+ lang: options.lang || "en",
15893
+ domain: options.domain,
15894
+ teamMode: false,
15895
+ cancelled: false
15896
+ };
15897
+ }
15898
+ function cancelResult(lang = "en", domain) {
15899
+ Gt(instance.t("cli.init.wizard.cancelled"));
15900
+ return { lang, domain: domain ?? undefined, teamMode: false, cancelled: true };
15901
+ }
15902
+ async function promptLang(options) {
15903
+ if (options.lang === "en" || options.lang === "ko") {
15904
+ return { lang: options.lang };
15905
+ }
15906
+ const result = await Jt({
15907
+ message: instance.t("cli.init.wizard.langPrompt"),
15908
+ options: [
15909
+ { value: "ko", label: "한국어" },
15910
+ { value: "en", label: "English" }
15911
+ ]
15912
+ });
15913
+ if (Ct(result))
15914
+ return null;
15915
+ return { lang: result };
15916
+ }
15917
+ async function promptDomain(options) {
15918
+ if (options.domain) {
15919
+ return { domain: options.domain === "all" ? undefined : options.domain };
15920
+ }
15921
+ const result = await Jt({
15922
+ message: instance.t("cli.init.wizard.domainPrompt"),
15923
+ options: [
15924
+ { value: "all", label: instance.t("cli.init.wizard.domainAll") },
15925
+ { value: "backend", label: instance.t("cli.init.wizard.domainBackend") },
15926
+ { value: "frontend", label: instance.t("cli.init.wizard.domainFrontend") },
15927
+ { value: "data-engineering", label: instance.t("cli.init.wizard.domainDataEngineering") },
15928
+ { value: "devops", label: instance.t("cli.init.wizard.domainDevops") }
15929
+ ]
15930
+ });
15931
+ if (Ct(result))
15932
+ return null;
15933
+ return { domain: result === "all" ? undefined : result };
15934
+ }
15935
+ async function promptTeamMode() {
15936
+ const result = await Rt({
15937
+ message: instance.t("cli.init.wizard.teamModePrompt"),
15938
+ initialValue: false
15939
+ });
15940
+ if (Ct(result))
15941
+ return null;
15942
+ return { teamMode: result };
15943
+ }
15944
+ async function runInitWizard(options) {
15945
+ if (!isInteractiveMode(options.yes)) {
15946
+ return getDefaultWizardResult(options);
15947
+ }
15948
+ Wt2(instance.t("cli.init.wizard.welcome"));
15949
+ const langStep = await promptLang(options);
15950
+ if (!langStep)
15951
+ return cancelResult();
15952
+ const { lang } = langStep;
15953
+ const domainStep = await promptDomain(options);
15954
+ if (!domainStep)
15955
+ return cancelResult(lang);
15956
+ const { domain } = domainStep;
15957
+ const teamModeStep = await promptTeamMode();
15958
+ if (!teamModeStep)
15959
+ return cancelResult(lang, domain);
15960
+ const { teamMode } = teamModeStep;
15961
+ Gt(instance.t("cli.init.wizard.confirm"));
15962
+ return { lang, domain, teamMode, cancelled: false };
15963
+ }
15964
+
15965
+ // src/cli/init.ts
14901
15966
  async function checkExistingInstallation(targetDir) {
14902
15967
  const layout = getProviderLayout();
14903
15968
  const rootDir = join9(targetDir, layout.rootDir);
@@ -14952,8 +16017,44 @@ function logInstallResultInfo(result) {
14952
16017
  logItems(result.backedUpPaths, (path2) => console.log(i18n.t("cli.init.backedUp", { path: path2 })));
14953
16018
  logItems(result.warnings, (warning) => console.warn(`Warning: ${warning}`));
14954
16019
  }
16020
+ async function resolveOptions(options) {
16021
+ if (isInteractiveMode(options.yes)) {
16022
+ const result = await runInitWizard({
16023
+ yes: options.yes,
16024
+ lang: options.lang,
16025
+ domain: options.domain
16026
+ });
16027
+ if (result.cancelled)
16028
+ return null;
16029
+ return { lang: result.lang, domain: result.domain };
16030
+ }
16031
+ const defaults = getDefaultWizardResult({
16032
+ yes: options.yes,
16033
+ lang: options.lang,
16034
+ domain: options.domain
16035
+ });
16036
+ return { lang: defaults.lang, domain: defaults.domain };
16037
+ }
16038
+ async function setupMcpConfig(targetDir) {
16039
+ const uvAvailable = await checkUvAvailable();
16040
+ if (uvAvailable) {
16041
+ try {
16042
+ await generateMCPConfig(targetDir);
16043
+ } catch (error2) {
16044
+ const msg = error2 instanceof Error ? error2.message : String(error2);
16045
+ console.warn(`Warning: Failed to setup MCP environment: ${msg}`);
16046
+ }
16047
+ } else {
16048
+ console.warn("Warning: uv not found. Skipping MCP server configuration.");
16049
+ console.warn("Install uv (https://docs.astral.sh/uv/) to enable MCP integration.");
16050
+ }
16051
+ }
14955
16052
  async function initCommand(options) {
14956
16053
  const targetDir = process.cwd();
16054
+ const resolved = await resolveOptions(options);
16055
+ if (!resolved) {
16056
+ return { success: false, message: i18n.t("cli.init.wizard.cancelled") };
16057
+ }
14957
16058
  console.log(i18n.t("cli.init.start"));
14958
16059
  try {
14959
16060
  const layout = getProviderLayout();
@@ -14965,10 +16066,10 @@ async function initCommand(options) {
14965
16066
  console.log(i18n.t("cli.init.copying"));
14966
16067
  const installResult = await install({
14967
16068
  targetDir,
14968
- language: options.lang,
16069
+ language: resolved.lang,
14969
16070
  force: options.force ?? false,
14970
16071
  backup: exists2,
14971
- domain: options.domain
16072
+ domain: resolved.domain
14972
16073
  });
14973
16074
  if (!installResult.success) {
14974
16075
  return createFailureResult(installResult.error || "Unknown error");
@@ -14976,18 +16077,7 @@ async function initCommand(options) {
14976
16077
  const installedPaths = buildInstalledPaths(targetDir, installResult.installedComponents);
14977
16078
  logInstallResultInfo(installResult);
14978
16079
  logSuccessDetails(installedPaths, installResult.skippedComponents);
14979
- const uvAvailable = await checkUvAvailable();
14980
- if (uvAvailable) {
14981
- try {
14982
- await generateMCPConfig(targetDir);
14983
- } catch (error2) {
14984
- const msg = error2 instanceof Error ? error2.message : String(error2);
14985
- console.warn(`Warning: Failed to setup MCP environment: ${msg}`);
14986
- }
14987
- } else {
14988
- console.warn("Warning: uv not found. Skipping MCP server configuration.");
14989
- console.warn("Install uv (https://docs.astral.sh/uv/) to enable MCP integration.");
14990
- }
16080
+ await setupMcpConfig(targetDir);
14991
16081
  return {
14992
16082
  success: true,
14993
16083
  message: i18n.t("cli.init.success"),
@@ -16392,7 +17482,7 @@ var packageJson = require2("../../package.json");
16392
17482
  function createProgram() {
16393
17483
  const program2 = new Command;
16394
17484
  program2.name("omcustom").description(i18n.t("cli.description")).version(packageJson.version, "-v, --version", i18n.t("cli.versionOption")).option("--skip-version-check", "Skip CLI version pre-flight check");
16395
- program2.command("init").description(i18n.t("cli.init.description")).option("-l, --lang <language>", i18n.t("cli.init.langOption"), "en").option("--domain <domain>", "Install only agents/skills for specific domain (backend, frontend, data-engineering, devops)").action(async (options) => {
17485
+ program2.command("init").description(i18n.t("cli.init.description")).option("-l, --lang <language>", i18n.t("cli.init.langOption")).option("--domain <domain>", "Install only agents/skills for specific domain (backend, frontend, data-engineering, devops)").option("--yes", "Skip interactive wizard, use defaults").action(async (options) => {
16396
17486
  await initCommand(options);
16397
17487
  });
16398
17488
  program2.command("update").description(i18n.t("cli.update.description")).option("--dry-run", i18n.t("cli.update.dryRunOption")).option("--force", i18n.t("cli.update.forceOption")).option("--force-overwrite-all", i18n.t("cli.update.forceOverwriteAllOption")).option("--backup", i18n.t("cli.update.backupOption")).option("--agents", i18n.t("cli.update.agentsOption")).option("--skills", i18n.t("cli.update.skillsOption")).option("--rules", i18n.t("cli.update.rulesOption")).option("--guides", i18n.t("cli.update.guidesOption")).option("--hooks", i18n.t("cli.update.hooksOption")).option("--contexts", i18n.t("cli.update.contextsOption")).action(async (options) => {