agent-work-loop 0.6.23 → 0.6.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +87 -18
- package/dist/{brief-Z3JKXEUP.js → brief-JIXESFMO.js} +5 -5
- package/dist/{changelog-R7BNBF2C.js → changelog-PBF6JBOC.js} +5 -5
- package/dist/{chunk-BUWGQVHT.js → chunk-2YWYGWCZ.js} +51 -12
- package/dist/{chunk-I77CXOEX.js → chunk-6DXZYTDA.js} +3 -3
- package/dist/{chunk-DP4O5ME2.js → chunk-AMQFBJCO.js} +4 -4
- package/dist/{chunk-UOPWVM2H.js → chunk-B6AEYNF3.js} +2 -2
- package/dist/{chunk-YTAHVR4P.js → chunk-F34MITMC.js} +2 -2
- package/dist/{chunk-6E7XEQOH.js → chunk-FQLRA2YC.js} +1 -1
- package/dist/{chunk-C7BR2DCS.js → chunk-JDCW2Y2G.js} +4 -4
- package/dist/{chunk-46HZN6UB.js → chunk-KEVDO3C3.js} +5 -5
- package/dist/{chunk-IXMAFR4Y.js → chunk-NXH5EBBJ.js} +6 -6
- package/dist/{chunk-F5LHXBH7.js → chunk-OPPRCJT2.js} +2 -2
- package/dist/{chunk-IMB46O6S.js → chunk-PLHEP5QE.js} +2 -2
- package/dist/{chunk-ZE6HXOYG.js → chunk-PUI2B27T.js} +8 -8
- package/dist/{chunk-G5LAJ5TV.js → chunk-SQFGUNTY.js} +5 -5
- package/dist/{chunk-4OCSYHYB.js → chunk-XD4IDIEM.js} +2 -2
- package/dist/{chunk-QE2CLNBG.js → chunk-XQ7JJXBY.js} +5 -5
- package/dist/{chunk-7SYRDDTX.js → chunk-YODF2HTK.js} +33 -2
- package/dist/cli.js +89 -51
- package/dist/{commit-APXIVOSD.js → commit-OUZNLCNL.js} +6 -6
- package/dist/{config-TFMW7O4T.js → config-26FHYODU.js} +3 -3
- package/dist/{doctor-SSKNLPGH.js → doctor-UHUA6ULF.js} +8 -8
- package/dist/{evolve-QPD7TWGO.js → evolve-V5BQCSHC.js} +7 -7
- package/dist/{feedback-KAXNFMUY.js → feedback-UJ7WSARN.js} +5 -5
- package/dist/{gotchas-MCA5Y76R.js → gotchas-L3NXDDDI.js} +7 -7
- package/dist/{hold-recheck-WN5EG7HD.js → hold-recheck-QINLKCPM.js} +16 -16
- package/dist/{init-UDM5AXKI.js → init-6R4MT6FQ.js} +6 -2
- package/dist/lane-CJVXEV3A.js +41 -0
- package/dist/{loop-summary-XAI6KOGB.js → loop-summary-FVJICIWA.js} +6 -6
- package/dist/{metrics-WLRZZRTK.js → metrics-NVJFKQ4J.js} +4 -4
- package/dist/{record-UKDIUJ5T.js → record-JJJSGU5E.js} +5 -5
- package/dist/{review-ZTHDJ47V.js → review-I4QMZPTI.js} +13 -13
- package/dist/{rules-R2UZPIVW.js → rules-OTUONMXO.js} +8 -8
- package/dist/{state-XM7NZ2HA.js → state-UC45ECTI.js} +4 -4
- package/dist/status-TU36KJDH.js +40 -0
- package/dist/{uninstall-5DFEOFL5.js → uninstall-HHKLOXF5.js} +15 -15
- package/dist/{update-AYTBYAHI.js → update-BXRWE7OH.js} +2 -2
- package/dist/{verify-L7ARTK42.js → verify-A64P77RU.js} +10 -10
- package/dist/version-check-UBXBVPTS.js +14 -0
- package/dist/{work-KEPTGZ6H.js → work-LMM5W2PQ.js} +14 -14
- package/engine/skills/claude/awl-loop/SKILL.md +3 -1
- package/engine/skills/claude/awl-pipeline/SKILL.md +5 -1
- package/engine/skills/claude/awl-pipeline-exec/SKILL.md +4 -1
- package/engine/skills/claude/awl-pipeline-plan/SKILL.md +4 -1
- package/engine/skills/claude/awl-pipeline-review/SKILL.md +4 -1
- package/engine/skills/codex/AGENTS.awl.md +2 -0
- package/engine/version.json +1 -1
- package/package.json +1 -1
- package/dist/lane-DAZISODH.js +0 -41
- package/dist/status-L6U5KO6T.js +0 -40
- package/dist/version-check-LKGU2DNF.js +0 -14
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
computeDurationMs
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-OPPRCJT2.js";
|
|
4
4
|
import {
|
|
5
5
|
computeCoverage,
|
|
6
6
|
readRecords
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-6DXZYTDA.js";
|
|
8
8
|
import {
|
|
9
9
|
loadState
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-XD4IDIEM.js";
|
|
11
11
|
import {
|
|
12
12
|
requireConfig
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-B6AEYNF3.js";
|
|
14
14
|
import {
|
|
15
15
|
caps,
|
|
16
16
|
generationsDir,
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
lockFile,
|
|
20
20
|
makeColors,
|
|
21
21
|
signal
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-YODF2HTK.js";
|
|
23
23
|
|
|
24
24
|
// src/commands/evolve.ts
|
|
25
25
|
import fs from "fs";
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
import {
|
|
2
2
|
protectedFilesMessage
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-FQLRA2YC.js";
|
|
4
4
|
import {
|
|
5
5
|
gitDirtyFiles
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-NXH5EBBJ.js";
|
|
7
7
|
import {
|
|
8
8
|
applyVerificationAttempts,
|
|
9
9
|
loadState,
|
|
10
10
|
writeState
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-XD4IDIEM.js";
|
|
12
12
|
import {
|
|
13
13
|
CommandNotFoundError,
|
|
14
14
|
VERIFY_ORDER,
|
|
15
15
|
requireConfig,
|
|
16
16
|
run
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-B6AEYNF3.js";
|
|
18
18
|
import {
|
|
19
19
|
caps,
|
|
20
20
|
card,
|
|
21
21
|
makeColors,
|
|
22
22
|
signal
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-YODF2HTK.js";
|
|
24
24
|
|
|
25
25
|
// src/commands/verify.ts
|
|
26
26
|
import fs from "fs";
|
|
@@ -415,6 +415,27 @@ function card(title, lines, c = caps(), minInnerWidth = 0) {
|
|
|
415
415
|
const bottom = frame(`${s.boxBL}${s.boxH.repeat(inner + pad * 2)}${s.boxBR}`);
|
|
416
416
|
return [top, ...wrapped.map(row), bottom].join("\n");
|
|
417
417
|
}
|
|
418
|
+
function sectionBox(title, lines, c = caps(), minInnerWidth = 0) {
|
|
419
|
+
const s = makeSymbols(c);
|
|
420
|
+
const t = makeTokens(c);
|
|
421
|
+
const pad = 2;
|
|
422
|
+
const maxInner = Math.max(
|
|
423
|
+
minInnerWidth,
|
|
424
|
+
Math.min(HARD_MAX_WIDTH, viewportWidth() - (2 + pad * 2))
|
|
425
|
+
);
|
|
426
|
+
const wrapped = lines.flatMap((line) => wrapToWidth(line, maxInner, { hanging: true }));
|
|
427
|
+
const inner = Math.min(
|
|
428
|
+
maxInner,
|
|
429
|
+
Math.max(minInnerWidth, visibleWidth(title), ...wrapped.map(visibleWidth), 0)
|
|
430
|
+
);
|
|
431
|
+
const frame = (text) => t.frame(text);
|
|
432
|
+
const row = (text) => `${frame(s.boxV)}${" ".repeat(pad)}${text}`;
|
|
433
|
+
const safeTitle = truncateToWidth(title, inner);
|
|
434
|
+
const tvis = visibleWidth(safeTitle);
|
|
435
|
+
const dash = Math.max(1, inner + pad * 2 - 3 - tvis);
|
|
436
|
+
const top = frame(`${s.boxTL}${s.boxH} `) + t.emphasis(t.accent(safeTitle)) + frame(` ${s.boxH.repeat(dash)}`);
|
|
437
|
+
return [top, ...wrapped.map(row)].join("\n");
|
|
438
|
+
}
|
|
418
439
|
var RESET = "\x1B[0m";
|
|
419
440
|
function ansi(code, str, enabled) {
|
|
420
441
|
return enabled ? `\x1B[${code}m${str}${RESET}` : str;
|
|
@@ -476,12 +497,21 @@ function makeColors(enabled) {
|
|
|
476
497
|
gray: (s) => ansi(90, s, enabled)
|
|
477
498
|
};
|
|
478
499
|
}
|
|
500
|
+
var RAINBOW = [196, 208, 226, 46, 51, 33, 129];
|
|
479
501
|
function gradient(lines, c) {
|
|
480
502
|
if (!c.color) {
|
|
481
503
|
return lines;
|
|
482
504
|
}
|
|
483
|
-
const
|
|
484
|
-
return lines.map((line
|
|
505
|
+
const maxWidth = Math.max(...lines.map((l) => [...l].length), 1);
|
|
506
|
+
return lines.map((line) => {
|
|
507
|
+
const chars = [...line];
|
|
508
|
+
return chars.map((ch, col) => {
|
|
509
|
+
if (ch === " ") return ch;
|
|
510
|
+
const ratio = maxWidth <= 1 ? 0 : col / (maxWidth - 1);
|
|
511
|
+
const idx = RAINBOW[Math.min(RAINBOW.length - 1, Math.floor(ratio * RAINBOW.length))];
|
|
512
|
+
return `\x1B[38;5;${idx}m${ch}${RESET}`;
|
|
513
|
+
}).join("");
|
|
514
|
+
});
|
|
485
515
|
}
|
|
486
516
|
var color = makeColors(caps().color);
|
|
487
517
|
|
|
@@ -507,6 +537,7 @@ export {
|
|
|
507
537
|
padEndDisplay,
|
|
508
538
|
makeSymbols,
|
|
509
539
|
card,
|
|
540
|
+
sectionBox,
|
|
510
541
|
makeTokens,
|
|
511
542
|
signal,
|
|
512
543
|
statusBadge,
|
package/dist/cli.js
CHANGED
|
@@ -3,29 +3,59 @@ import {
|
|
|
3
3
|
computeUpdateAvailable,
|
|
4
4
|
readCachedLatestVersion,
|
|
5
5
|
version
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-F34MITMC.js";
|
|
7
7
|
import {
|
|
8
8
|
caps,
|
|
9
|
+
card,
|
|
9
10
|
gradient,
|
|
10
11
|
installedEngineVersion,
|
|
11
12
|
makeColors,
|
|
12
13
|
makeSymbols,
|
|
14
|
+
makeTokens,
|
|
13
15
|
signal,
|
|
14
16
|
visibleWidth
|
|
15
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-YODF2HTK.js";
|
|
16
18
|
|
|
17
19
|
// src/program.ts
|
|
18
20
|
import { Command } from "commander";
|
|
19
|
-
var BANNER = `
|
|
21
|
+
var BANNER = `
|
|
22
|
+
[ AGENT WORK LOOP ]
|
|
20
23
|
|
|
21
|
-
\
|
|
22
|
-
\uD310\uB2E8\uC740 Claude Code\uB098 Codex\uAC00 \uD558\uACE0,
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
24
|
+
\uD55C \uBC88\uB9CC \uC2E4\uD328\uD558\uB294 \uB3C4\uAD6C \uC785\uB2C8\uB2E4. (\uB450\uBC88 \uC2E4\uD328 \uC5C6\uC74C)
|
|
25
|
+
\uD310\uB2E8\uC740 Claude Code\uB098 Codex\uAC00 \uD558\uACE0,
|
|
26
|
+
awl\uC740 \uD30C\uC77C\uACFC \uC0C1\uD0DC\uB9CC \uAD00\uB9AC\uD569\uB2C8\uB2E4.`;
|
|
27
|
+
var GETTING_STARTED = [
|
|
28
|
+
{ cmd: "awl init", desc: "\uC774 \uD504\uB85C\uC81D\uD2B8\uB97C \uC124\uC815\uD569\uB2C8\uB2E4" },
|
|
29
|
+
{ cmd: "awl status", desc: "\uC9C0\uAE08 \uC5B4\uB514\uAE4C\uC9C0 \uC654\uB294\uC9C0 \uBD05\uB2C8\uB2E4" },
|
|
30
|
+
{ cmd: "awl doctor", desc: "\uC124\uCE58\uC640 \uD658\uACBD\uC744 \uC810\uAC80\uD569\uB2C8\uB2E4" }
|
|
31
|
+
];
|
|
32
|
+
function padVisible(s, width) {
|
|
33
|
+
return s + " ".repeat(Math.max(0, width - visibleWidth(s)));
|
|
34
|
+
}
|
|
35
|
+
function renderGettingStartedCard(c) {
|
|
36
|
+
const t = makeTokens(c);
|
|
37
|
+
const cmdWidth = Math.max(...GETTING_STARTED.map((g) => visibleWidth(g.cmd)));
|
|
38
|
+
const lines = GETTING_STARTED.map(
|
|
39
|
+
(g, i) => `${i + 1}. ${t.accent(padVisible(g.cmd, cmdWidth))} ${g.desc}`
|
|
40
|
+
);
|
|
41
|
+
return card("\uC2DC\uC791\uD558\uAE30", lines, c);
|
|
42
|
+
}
|
|
43
|
+
function renderExamplesCard(c) {
|
|
44
|
+
const t = makeTokens(c);
|
|
45
|
+
const examples = [
|
|
46
|
+
{ cmd: "awl commit AC-01 --start", note: "\uAD6C\uD604 \uC2DC\uC791 \uC2DC \uBCA0\uC774\uC2A4\uB77C\uC778\uBD80\uD130 \uC7A1\uB294\uB2E4" },
|
|
47
|
+
{ cmd: 'awl commit AC-01 -m "\uC644\uB8CC \uC870\uAC74 \uC124\uBA85"', note: "<criterion> \uC790\uB9AC\uC5D4 \uC644\uB8CC\uC870\uAC74 ID(AC-01)" },
|
|
48
|
+
{ cmd: "awl review AC-01..AC-03", note: "<range> \uC790\uB9AC\uC5D4 \uC644\uB8CC\uC870\uAC74 \uBC94\uC704" },
|
|
49
|
+
{ cmd: "awl status --pipeline", note: "[options] \uC790\uB9AC\uC5D4 --json/--pipeline \uAC19\uC740 \uD50C\uB798\uADF8" }
|
|
50
|
+
];
|
|
51
|
+
const cmdWidth = Math.max(...examples.map((e) => visibleWidth(e.cmd)));
|
|
52
|
+
const lines = examples.map(
|
|
53
|
+
(e) => `${t.accent(padVisible(e.cmd, cmdWidth))} ${t.muted(`# ${e.note}`)}`
|
|
54
|
+
);
|
|
55
|
+
return card("\uC608\uC2DC", lines, c);
|
|
56
|
+
}
|
|
57
|
+
var DENSE_AWL = `
|
|
58
|
+
\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2557\u2588\u2588\u2557
|
|
29
59
|
\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551
|
|
30
60
|
\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2557 \u2588\u2588\u2551\u2588\u2588\u2551
|
|
31
61
|
\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2551\u2588\u2588\u2551\u2588\u2588\u2588\u2557\u2588\u2588\u2551\u2588\u2588\u2551
|
|
@@ -41,11 +71,14 @@ function renderBanner(c = caps()) {
|
|
|
41
71
|
const copyLines = BANNER.split("\n");
|
|
42
72
|
const markWidth = Math.max(...markLines.map(visibleWidth));
|
|
43
73
|
const rowCount = Math.max(markLines.length, copyLines.length);
|
|
44
|
-
|
|
74
|
+
const header = Array.from({ length: rowCount }, (_, i) => {
|
|
45
75
|
const mark = markLines[i] ?? "";
|
|
46
76
|
const copy = copyLines[i] ?? "";
|
|
47
77
|
return `${mark}${" ".repeat(Math.max(0, markWidth - visibleWidth(mark)) + 4)}${copy}`.trimEnd();
|
|
48
78
|
}).join("\n");
|
|
79
|
+
return `${header}
|
|
80
|
+
|
|
81
|
+
${renderGettingStartedCard(c)}`;
|
|
49
82
|
}
|
|
50
83
|
function versionString(c = caps()) {
|
|
51
84
|
const color = makeColors(c.color);
|
|
@@ -113,16 +146,21 @@ function parseWorkitemsOption(input) {
|
|
|
113
146
|
function buildProgram() {
|
|
114
147
|
const program = new Command();
|
|
115
148
|
program.name("awl").version(versionString(), "-v, --version", "\uBC84\uC804\uC744 \uCD9C\uB825\uD569\uB2C8\uB2E4").helpOption("-h, --help", "\uB3C4\uC6C0\uB9D0\uC744 \uCD9C\uB825\uD569\uB2C8\uB2E4").addHelpText("beforeAll", (ctx) => ctx.command === program ? `${renderBanner()}
|
|
116
|
-
` : "").
|
|
149
|
+
` : "").addHelpText(
|
|
150
|
+
"afterAll",
|
|
151
|
+
(ctx) => ctx.command === program ? `
|
|
152
|
+
${renderExamplesCard(caps())}
|
|
153
|
+
` : ""
|
|
154
|
+
).showHelpAfterError();
|
|
117
155
|
program.command("init").description("\uC774 \uD504\uB85C\uC81D\uD2B8\uC5D0 Agent Work Loop \uB97C \uC124\uC815\uD569\uB2C8\uB2E4").option("--yes", "\uC9C8\uBB38 \uC5C6\uC774 \uC790\uB3D9 \uAC10\uC9C0\uB41C \uAC12\uC73C\uB85C \uC9C4\uD589\uD569\uB2C8\uB2E4 (\uBE44\uB300\uD654\uD615)").action(async (opts) => {
|
|
118
|
-
const { runInit } = await import("./init-
|
|
156
|
+
const { runInit } = await import("./init-6R4MT6FQ.js");
|
|
119
157
|
await runInit({ yes: opts.yes === true });
|
|
120
158
|
});
|
|
121
159
|
program.command("status").description("\uC9C0\uAE08 \uC5B4\uB514\uAE4C\uC9C0 \uC654\uB294\uC9C0 \uD55C\uB208\uC5D0 \uBD05\uB2C8\uB2E4").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").option("--pipeline", ".tasks \uB808\uC778(plan/exec/review)\uC758 workitem \uC0C1\uD0DC\uB97C \uBC30\uC9C0\uB85C \uBD05\uB2C8\uB2E4").option(
|
|
122
160
|
"--archive",
|
|
123
161
|
"(--pipeline\uACFC \uD568\uAED8) \uC720\uC608 \uAE30\uAC04(3\uC77C) \uC9C0\uB09C \uC644\uB8CC workitem\uC744 .tasks/archive/ \uB85C \uBCF4\uAD00\uD569\uB2C8\uB2E4"
|
|
124
162
|
).action(async (opts) => {
|
|
125
|
-
const { runStatus } = await import("./status-
|
|
163
|
+
const { runStatus } = await import("./status-TU36KJDH.js");
|
|
126
164
|
await runStatus({
|
|
127
165
|
json: opts.json === true,
|
|
128
166
|
pipeline: opts.pipeline === true,
|
|
@@ -130,24 +168,24 @@ function buildProgram() {
|
|
|
130
168
|
});
|
|
131
169
|
});
|
|
132
170
|
program.command("brief").description("KST \uC624\uB298(\uB610\uB294 --date)\uC758 \uC9C4\uD589\uBD84\uC744 \uBAA8\uC544 \uB0C5\uB2C8\uB2E4(\uC2A4\uD0AC \uC18C\uBE44\uC6A9 --json)").option("--today", "\uC624\uB298(KST) \uAE30\uC900\uC73C\uB85C \uBAA8\uC74D\uB2C8\uB2E4(\uAE30\uBCF8)").option("--date <YYYY-MM-DD>", "KST \uAE30\uC900 \uD2B9\uC815 \uB0A0\uC9DC\uB85C \uBAA8\uC74D\uB2C8\uB2E4").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
|
|
133
|
-
const { runBrief } = await import("./brief-
|
|
171
|
+
const { runBrief } = await import("./brief-JIXESFMO.js");
|
|
134
172
|
await runBrief({ today: opts.today === true, date: opts.date, json: opts.json === true });
|
|
135
173
|
});
|
|
136
174
|
program.command("doctor").description("\uC124\uCE58\uC640 \uD658\uACBD\uC744 \uC810\uAC80\uD569\uB2C8\uB2E4 (\uC544\uBB34\uAC83\uB3C4 \uACE0\uCE58\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4)").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
|
|
137
|
-
const { runDoctor } = await import("./doctor-
|
|
175
|
+
const { runDoctor } = await import("./doctor-UHUA6ULF.js");
|
|
138
176
|
await runDoctor({ json: opts.json === true });
|
|
139
177
|
});
|
|
140
178
|
program.command("version-check").description("\uBC84\uC804 \uBD88\uC77C\uCE58\uB97C \uAC80\uC0AC\uD569\uB2C8\uB2E4 (package/engine/\uD504\uB85C\uC81D\uD2B8/\uC2A4\uD0AC)").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
|
|
141
|
-
const { runVersionCheck } = await import("./version-check-
|
|
179
|
+
const { runVersionCheck } = await import("./version-check-UBXBVPTS.js");
|
|
142
180
|
await runVersionCheck({ json: opts.json === true });
|
|
143
181
|
});
|
|
144
182
|
program.command("update").description("\uC124\uCE58\uB41C \uC5D4\uC9C4(~/.awl/engine)\uC744 \uAC31\uC2E0\uD569\uB2C8\uB2E4").action(async () => {
|
|
145
|
-
const { runUpdate } = await import("./update-
|
|
183
|
+
const { runUpdate } = await import("./update-BXRWE7OH.js");
|
|
146
184
|
runUpdate();
|
|
147
185
|
});
|
|
148
186
|
program.command("uninstall").description("awl \uC774 \uC190\uB304 \uD754\uC801\uC744 \uC9C0\uC6C1\uB2C8\uB2E4 (\uAE30\uBCF8\uC740 \uB4DC\uB77C\uC774\uB7F0 \u2014 --yes \uC5C6\uC774\uB294 \uC0AD\uC81C\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4)").option("--yes", "\uC2E4\uC81C\uB85C \uC0AD\uC81C\uD569\uB2C8\uB2E4 (\uAE30\uBCF8\uC740 \uB4DC\uB77C\uC774\uB7F0)").option("--project", "\uC774 \uD504\uB85C\uC81D\uD2B8 \uB85C\uCEEC\uB9CC \uC815\uB9AC\uD569\uB2C8\uB2E4 (\uAE30\uBCF8\uAC12)").option("--global", "\uC804\uC5ED(~/.awl)\uB9CC \uC815\uB9AC\uD569\uB2C8\uB2E4 \u2014 \uB2E4\uB978 \uD504\uB85C\uC81D\uD2B8\uC758 \uD559\uC2B5\uB3C4 \uD568\uAED8 \uC0AC\uB77C\uC9D1\uB2C8\uB2E4").option("--all", "\uD504\uB85C\uC81D\uD2B8 \uB85C\uCEEC + \uC804\uC5ED\uC744 \uBAA8\uB450 \uC815\uB9AC\uD569\uB2C8\uB2E4").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(
|
|
149
187
|
async (opts) => {
|
|
150
|
-
const { runUninstall } = await import("./uninstall-
|
|
188
|
+
const { runUninstall } = await import("./uninstall-HHKLOXF5.js");
|
|
151
189
|
await runUninstall({
|
|
152
190
|
yes: opts.yes === true,
|
|
153
191
|
project: opts.project === true,
|
|
@@ -159,22 +197,22 @@ function buildProgram() {
|
|
|
159
197
|
);
|
|
160
198
|
const config = program.command("config").description("\uC774 \uD504\uB85C\uC81D\uD2B8\uC758 \uC124\uC815\uC744 \uBD05\uB2C8\uB2E4 (TTY \uBA74 \uC218\uC815\uB3C4)");
|
|
161
199
|
config.action(async () => {
|
|
162
|
-
const { runConfig } = await import("./config-
|
|
200
|
+
const { runConfig } = await import("./config-26FHYODU.js");
|
|
163
201
|
await runConfig();
|
|
164
202
|
});
|
|
165
203
|
config.command("set [key] [value]").description("\uC124\uC815 \uAC12\uC744 \uBC14\uAFC9\uB2C8\uB2E4 (\uD0A4 \uC0DD\uB7B5 \uC2DC \uBAA9\uB85D, cmd \uB294 \uC2E4\uC81C\uB85C \uC2E4\uD589\uD574 \uBD05\uB2C8\uB2E4)").option("--force", "\uAC80\uC99D\uC5D0 \uC2E4\uD328\uD574\uB3C4 \uC800\uC7A5\uD569\uB2C8\uB2E4").action(
|
|
166
204
|
async (key, value, opts) => {
|
|
167
|
-
const { runConfigSet } = await import("./config-
|
|
205
|
+
const { runConfigSet } = await import("./config-26FHYODU.js");
|
|
168
206
|
await runConfigSet(key, value, { force: opts.force === true });
|
|
169
207
|
}
|
|
170
208
|
);
|
|
171
209
|
const work = program.command("work").description("\uC774 \uD504\uB85C\uC81D\uD2B8\uC758 \uC6CC\uD06C\uC544\uC774\uD15C\uC744 \uAD00\uB9AC\uD569\uB2C8\uB2E4");
|
|
172
210
|
work.option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
|
|
173
|
-
const { runWorkList } = await import("./work-
|
|
211
|
+
const { runWorkList } = await import("./work-LMM5W2PQ.js");
|
|
174
212
|
runWorkList({ json: opts.json === true });
|
|
175
213
|
});
|
|
176
214
|
work.command("list").description("\uB4F1\uB85D\uB41C \uC6CC\uD06C\uC544\uC774\uD15C \uBAA9\uB85D\uACFC \uC9C4\uD589 \uC0C1\uD669\uC744 \uBD05\uB2C8\uB2E4").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
|
|
177
|
-
const { runWorkList } = await import("./work-
|
|
215
|
+
const { runWorkList } = await import("./work-LMM5W2PQ.js");
|
|
178
216
|
runWorkList({ json: opts.json === true });
|
|
179
217
|
});
|
|
180
218
|
work.command("new <id> [description]").description("\uC0C8 \uC6CC\uD06C\uC544\uC774\uD15C\uC744 \uB9CC\uB4E4\uACE0 \uC804\uD658\uD569\uB2C8\uB2E4 (\uD604\uC7AC \uC6CC\uD06C\uC544\uC774\uD15C\uC740 \uBCF4\uAD00\uB429\uB2C8\uB2E4)").option("--worktree [branch]", "\uACA9\uB9AC\uB41C git worktree \uB97C \uB9CC\uB4E4\uC5B4 \uADF8 \uC548\uC5D0\uC11C \uC2DC\uC791\uD569\uB2C8\uB2E4").option("--skip-baseline", "\uAC80\uC99D \uBCA0\uC774\uC2A4\uB77C\uC778 \uCEA1\uCC98\uB97C \uAC74\uB108\uB701\uB2C8\uB2E4 (\uB290\uB9B0 \uD504\uB85C\uC81D\uD2B8\uC6A9)").option(
|
|
@@ -182,7 +220,7 @@ function buildProgram() {
|
|
|
182
220
|
"records(~/.awl)\uB97C \uC774 \uC6CC\uD06C\uC544\uC774\uD15C \uC804\uC6A9 AWL_HOME \uC73C\uB85C \uACA9\uB9AC\uD569\uB2C8\uB2E4 (\uBCD1\uB82C \uC138\uC158\uC6A9)"
|
|
183
221
|
).option("--experiment <json>", '\uC2E4\uD5D8 \uCF00\uC774\uC2A4 \uBA54\uD0C0 JSON (\uC608: {"model":"lite","mode":"loop"})').action(
|
|
184
222
|
async (id, description, opts) => {
|
|
185
|
-
const { runWorkNew } = await import("./work-
|
|
223
|
+
const { runWorkNew } = await import("./work-LMM5W2PQ.js");
|
|
186
224
|
const parsedExp = parseExperimentOption(opts.experiment);
|
|
187
225
|
if (!parsedExp.ok) {
|
|
188
226
|
process.stderr.write(`
|
|
@@ -194,52 +232,52 @@ function buildProgram() {
|
|
|
194
232
|
}
|
|
195
233
|
);
|
|
196
234
|
work.command("switch <id>").description("\uB2E4\uB978 \uC6CC\uD06C\uC544\uC774\uD15C\uC73C\uB85C \uC804\uD658\uD569\uB2C8\uB2E4 (\uD604\uC7AC \uC6CC\uD06C\uC544\uC774\uD15C\uC740 \uBCF4\uAD00\uB429\uB2C8\uB2E4)").action(async (id) => {
|
|
197
|
-
const { runWorkSwitch } = await import("./work-
|
|
235
|
+
const { runWorkSwitch } = await import("./work-LMM5W2PQ.js");
|
|
198
236
|
await runWorkSwitch(id);
|
|
199
237
|
});
|
|
200
238
|
work.command("abandon <id>").description("\uC6CC\uD06C\uC544\uC774\uD15C\uC744 \uC911\uB2E8 \uCC98\uB9AC\uD569\uB2C8\uB2E4 (\uC0AD\uC81C\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4, \uAE30\uB85D\uC740 \uB0A8\uC2B5\uB2C8\uB2E4)").action(async (id) => {
|
|
201
|
-
const { runWorkAbandon } = await import("./work-
|
|
239
|
+
const { runWorkAbandon } = await import("./work-LMM5W2PQ.js");
|
|
202
240
|
runWorkAbandon(id);
|
|
203
241
|
});
|
|
204
242
|
work.command("done <id>").description(
|
|
205
243
|
"\uC644\uB8CC\uB41C \uC6CC\uD06C\uC544\uC774\uD15C\uC744 \uC815\uB9AC\uD569\uB2C8\uB2E4 (\uC6CC\uD06C\uD2B8\uB9AC \uC81C\uAC70 + \uC0C1\uD0DC \uC2A4\uB0C5\uC0F7 \uD68C\uC218, \uAE30\uB85D\uC740 \uB0A8\uC2B5\uB2C8\uB2E4)"
|
|
206
244
|
).option("--force", "\uC815\uB9AC\uB418\uC9C0 \uC54A\uC740 \uBCC0\uACBD\uC774 \uC788\uC5B4\uB3C4 \uC6CC\uD06C\uD2B8\uB9AC\uB97C \uC81C\uAC70\uD569\uB2C8\uB2E4").action(async (id, opts) => {
|
|
207
|
-
const { runWorkDone } = await import("./work-
|
|
245
|
+
const { runWorkDone } = await import("./work-LMM5W2PQ.js");
|
|
208
246
|
await runWorkDone(id, { force: opts.force === true });
|
|
209
247
|
});
|
|
210
248
|
const lane = program.command("lane").description("\uACA9\uB9AC \uB808\uC778(worktree)\uC73C\uB85C \uD30C\uC774\uD504\uB77C\uC778\uC744 \uBCD1\uB82C \uC2E4\uD589\uD569\uB2C8\uB2E4 (\uB808\uC778 \uC0DD\uC131\xB7\uC870\uD68C\xB7\uC815\uB9AC)");
|
|
211
249
|
lane.option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
|
|
212
|
-
const { runLaneList } = await import("./lane-
|
|
250
|
+
const { runLaneList } = await import("./lane-CJVXEV3A.js");
|
|
213
251
|
await runLaneList({ json: opts.json === true });
|
|
214
252
|
});
|
|
215
253
|
lane.command("new <name> [description]").description("\uACA9\uB9AC \uB808\uC778\uC744 \uB9CC\uB4ED\uB2C8\uB2E4 (worktree + \uC804\uC6A9 AWL_HOME + \uC2A4\uD0AC \uC7AC\uC124\uCE58 + \uAE30\uB3D9 \uC548\uB0B4)").action(async (name, description) => {
|
|
216
|
-
const { runLaneNew } = await import("./lane-
|
|
254
|
+
const { runLaneNew } = await import("./lane-CJVXEV3A.js");
|
|
217
255
|
await runLaneNew(name, description);
|
|
218
256
|
});
|
|
219
257
|
lane.command("ls").description("\uD604\uC874 \uB808\uC778\uC744 \uC774\uB984\xB7\uACBD\uB85C\xB7\uBE0C\uB79C\uCE58\uC640 \uD568\uAED8 \uB098\uC5F4\uD569\uB2C8\uB2E4").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
|
|
220
|
-
const { runLaneList } = await import("./lane-
|
|
258
|
+
const { runLaneList } = await import("./lane-CJVXEV3A.js");
|
|
221
259
|
await runLaneList({ json: opts.json === true });
|
|
222
260
|
});
|
|
223
261
|
lane.command("rm <name>").description("\uB808\uC778\uC758 \uC6CC\uD06C\uD2B8\uB9AC\uB97C \uD68C\uC218\uD558\uACE0 \uB514\uB809\uD1A0\uB9AC\uB97C \uC81C\uAC70\uD569\uB2C8\uB2E4").option("--force", "\uCEE4\uBC0B\uB418\uC9C0 \uC54A\uC740 \uBCC0\uACBD\uC774 \uC788\uC5B4\uB3C4 \uC81C\uAC70\uD569\uB2C8\uB2E4").action(async (name, opts) => {
|
|
224
|
-
const { runLaneRemove } = await import("./lane-
|
|
262
|
+
const { runLaneRemove } = await import("./lane-CJVXEV3A.js");
|
|
225
263
|
await runLaneRemove(name, { force: opts.force === true });
|
|
226
264
|
});
|
|
227
265
|
program.command("records").description("\uC313\uC778 \uAE30\uB85D\uC744 \uBD05\uB2C8\uB2E4").option("--type <type>", "\uD0C0\uC785\uC73C\uB85C \uAC70\uB985\uB2C8\uB2E4 (attempt, blocked \uB4F1)").option("--workitem <id>", "\uC6CC\uD06C\uC544\uC774\uD15C\uC73C\uB85C \uAC70\uB985\uB2C8\uB2E4").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
|
|
228
|
-
const { runRecords } = await import("./record-
|
|
266
|
+
const { runRecords } = await import("./record-JJJSGU5E.js");
|
|
229
267
|
runRecords({ type: opts.type, workitem: opts.workitem, json: opts.json === true });
|
|
230
268
|
});
|
|
231
269
|
const rules = program.command("rules").description("\uC774 \uD504\uB85C\uC81D\uD2B8\uC5D0 \uC801\uC6A9\uB418\uB294 \uADDC\uCE59\uC744 \uBD05\uB2C8\uB2E4").enablePositionalOptions();
|
|
232
270
|
rules.option("--scope <scope>", "\uBC94\uC704\uB85C \uAC70\uB985\uB2C8\uB2E4 (implement \uB4F1)").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
|
|
233
|
-
const { runRules } = await import("./rules-
|
|
271
|
+
const { runRules } = await import("./rules-OTUONMXO.js");
|
|
234
272
|
runRules({ scope: opts.scope, json: opts.json === true });
|
|
235
273
|
});
|
|
236
274
|
rules.command("edit").description("$EDITOR \uB85C \uADDC\uCE59 \uD30C\uC77C\uC744 \uC5FD\uB2C8\uB2E4").action(async () => {
|
|
237
|
-
const { runRules } = await import("./rules-
|
|
275
|
+
const { runRules } = await import("./rules-OTUONMXO.js");
|
|
238
276
|
runRules({ edit: true });
|
|
239
277
|
});
|
|
240
278
|
rules.command("promote <gotchaId>").description("\uAD50\uD6C8\uC744 \uADDC\uCE59\uC73C\uB85C \uC2B9\uACA9\uD569\uB2C8\uB2E4 (applies/counter \uD544\uC218, \uC0AC\uB78C\uC774 \uC2E4\uD589)").option("--applies <cond>", "\uC801\uC6A9 \uC870\uAC74 (\uD544\uC218)").option("--counter <cond>", "\uBC18\uC99D \uC870\uAC74 (\uD544\uC218)").option("--rule-scope <scope>", "\uB85C\uB4DC \uB2E8\uACC4 (audit/criteria/implement/commit/review)").action(
|
|
241
279
|
async (gotchaId, opts) => {
|
|
242
|
-
const { runRulesPromote } = await import("./rules-
|
|
280
|
+
const { runRulesPromote } = await import("./rules-OTUONMXO.js");
|
|
243
281
|
runRulesPromote(gotchaId, {
|
|
244
282
|
applies: opts.applies,
|
|
245
283
|
counter: opts.counter,
|
|
@@ -248,16 +286,16 @@ function buildProgram() {
|
|
|
248
286
|
}
|
|
249
287
|
);
|
|
250
288
|
program.command("gotchas").description("\uC544\uC9C1 \uADDC\uCE59\uC774 \uB418\uC9C0 \uC54A\uC740 \uD568\uC815\uC744 \uBD05\uB2C8\uB2E4").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
|
|
251
|
-
const { runGotchas } = await import("./gotchas-
|
|
289
|
+
const { runGotchas } = await import("./gotchas-L3NXDDDI.js");
|
|
252
290
|
runGotchas({ json: opts.json === true });
|
|
253
291
|
});
|
|
254
292
|
program.command("metrics").description("\uC6CC\uD06C\uC544\uC774\uD15C(\uC138\uB300)\uBCC4 \uD504\uB85D\uC2DC \uC9C0\uD45C \uCD94\uC138\uB97C \uBD05\uB2C8\uB2E4 (\uD1A0\uD070 \uC9C1\uC811 \uCE21\uC815 \uC544\uB2D8)").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").option("--compare", "\uC2E4\uD5D8 \uCF00\uC774\uC2A4(experiment model/mode/taskType)\uBCC4\uB85C \uC9C0\uD45C\uB97C \uBE44\uAD50\uD569\uB2C8\uB2E4").action(async (opts) => {
|
|
255
|
-
const { runMetrics } = await import("./metrics-
|
|
293
|
+
const { runMetrics } = await import("./metrics-NVJFKQ4J.js");
|
|
256
294
|
runMetrics({ json: opts.json === true, compare: opts.compare === true });
|
|
257
295
|
});
|
|
258
296
|
program.command("loop-summary").description("\uB8E8\uD504/\uD30C\uC774\uD504\uB77C\uC778 \uC644\uB8CC\uB97C 4\uB80C\uC988(\uAC1C\uC785\xB7\uD488\uC9C8\xB7\uD6A8\uC728\xB7\uC0B0\uCD9C)\uB85C \uC694\uC57D\uD569\uB2C8\uB2E4").option("--workitem <id>", "\uB300\uC0C1 \uC6CC\uD06C\uC544\uC774\uD15C (\uAE30\uBCF8: \uD604\uC7AC)").option("--workitems <ids>", "\uBC30\uCE58 \uBAA8\uB4DC: \uCF64\uB9C8\uB85C \uAD6C\uBD84\uD55C \uC6CC\uD06C\uC544\uC774\uD15C \uBAA9\uB85D").option("--since <iso>", "\uBC30\uCE58 \uBAA8\uB4DC: \uC774 \uC2DC\uAC01(ISO) \uC774\uD6C4 \uC644\uB8CC\uB41C \uC6CC\uD06C\uC544\uC774\uD15C \uC804\uBD80").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(
|
|
259
297
|
async (opts) => {
|
|
260
|
-
const { runLoopSummary } = await import("./loop-summary-
|
|
298
|
+
const { runLoopSummary } = await import("./loop-summary-FVJICIWA.js");
|
|
261
299
|
runLoopSummary({
|
|
262
300
|
workitem: opts.workitem,
|
|
263
301
|
workitems: parseWorkitemsOption(opts.workitems),
|
|
@@ -267,7 +305,7 @@ function buildProgram() {
|
|
|
267
305
|
}
|
|
268
306
|
);
|
|
269
307
|
program.command("feedback").description("awl \uB3C4\uAD6C \uC790\uCCB4 \uD53C\uB4DC\uBC31\uC744 area \uBCC4\uB85C \uBB36\uC5B4 \uBD05\uB2C8\uB2E4 (\uD574\uBC95\uC740 \uC81C\uC2DC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4)").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").option("--area <area>", "area \uB85C \uAC70\uB985\uB2C8\uB2E4 (commit, gate, verify \uB4F1)").option("--severity <sev>", "severity \uB85C \uAC70\uB985\uB2C8\uB2E4 (high/medium/low)").option("--since <date>", "\uC774 ISO \uB0A0\uC9DC \uC774\uD6C4 \uC218\uC9D1\uBD84\uB9CC \uBD05\uB2C8\uB2E4 (\uC608: 2026-07-01)").action(async (opts) => {
|
|
270
|
-
const { runFeedback } = await import("./feedback-
|
|
308
|
+
const { runFeedback } = await import("./feedback-UJ7WSARN.js");
|
|
271
309
|
runFeedback({
|
|
272
310
|
json: opts.json === true,
|
|
273
311
|
area: opts.area,
|
|
@@ -276,12 +314,12 @@ function buildProgram() {
|
|
|
276
314
|
});
|
|
277
315
|
});
|
|
278
316
|
program.command("changelog").description("Gate 2 \uC2B9\uC778 \uB4A4 CHANGELOG.md\uC5D0 \uC62E\uAE38 \uCD08\uC548\uC744 \uB9CC\uB4ED\uB2C8\uB2E4 (\uD30C\uC77C\uC740 \uC4F0\uC9C0 \uC54A\uC74C)").option("--workitem <id>", "\uB300\uC0C1 \uC6CC\uD06C\uC544\uC774\uD15C (\uAE30\uBCF8: \uD604\uC7AC)").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
|
|
279
|
-
const { runChangelogDraft } = await import("./changelog-
|
|
317
|
+
const { runChangelogDraft } = await import("./changelog-PBF6JBOC.js");
|
|
280
318
|
runChangelogDraft({ workitem: opts.workitem, json: opts.json === true });
|
|
281
319
|
});
|
|
282
320
|
program.command("commit <criterion>").description("\uC644\uB8CC \uC870\uAC74 \uC791\uC5C5\uC744 \uACA9\uB9AC \uCEE4\uBC0B\uD569\uB2C8\uB2E4 (\uB0B4 \uBCC0\uACBD\uB9CC)").option("--start", "\uBCA0\uC774\uC2A4\uB77C\uC778\uC744 \uC7A1\uC2B5\uB2C8\uB2E4 (\uC791\uC5C5 \uC2DC\uC791 \uC2DC)").option("-m, --message <msg>", "\uCEE4\uBC0B \uBA54\uC2DC\uC9C0").option("--base <ref>", "\uBCA0\uC774\uC2A4 \uB4DC\uB9AC\uD504\uD2B8\uB97C \uD655\uC778\uD560 \uAE30\uC900 \uBE0C\uB79C\uCE58").option("--force", "\uBCF4\uD638 \uD30C\uC77C \uBCC0\uACBD \uAC80\uC0AC\uB97C \uC0AC\uB78C\uC774 \uD655\uC778\uD558\uACE0 \uC6B0\uD68C\uD569\uB2C8\uB2E4").action(
|
|
283
321
|
async (criterion, opts) => {
|
|
284
|
-
const { runCommit } = await import("./commit-
|
|
322
|
+
const { runCommit } = await import("./commit-OUZNLCNL.js");
|
|
285
323
|
await runCommit(criterion, {
|
|
286
324
|
start: opts.start,
|
|
287
325
|
message: opts.message,
|
|
@@ -291,12 +329,12 @@ function buildProgram() {
|
|
|
291
329
|
}
|
|
292
330
|
);
|
|
293
331
|
program.command("review <range>").description("\uB9AC\uBDF0\uC5B4\uC5D0\uAC8C \uB118\uAE38 \uC790\uB8CC\uB97C \uC870\uB9BD\uD569\uB2C8\uB2E4 (provenance \uD3EC\uD568)").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").option("--base <ref>", "diff \uAE30\uC900 (\uAE30\uBCF8\uC740 \uC644\uB8CC \uC870\uAC74 baseline)").action(async (range, opts) => {
|
|
294
|
-
const { runReview } = await import("./review-
|
|
332
|
+
const { runReview } = await import("./review-I4QMZPTI.js");
|
|
295
333
|
await runReview(range, { json: opts.json === true, base: opts.base });
|
|
296
334
|
});
|
|
297
335
|
program.command("record <type>", { hidden: true }).description("\uAD6C\uC870\uD654\uB41C \uAE30\uB85D\uC744 \uB0A8\uAE41\uB2C8\uB2E4").option("--json <data>", "\uAE30\uB85D\uD560 \uB370\uC774\uD130 (JSON \uBB38\uC790\uC5F4)").option("--file <path>", "\uB370\uC774\uD130 \uD30C\uC77C \uACBD\uB85C (\uD070 \uB370\uC774\uD130\uC6A9)").option("--diff", "git diff \uB97C \uCEA1\uCC98\uD574 \uCCA8\uBD80\uD569\uB2C8\uB2E4 (blocked)").option("--workitem <id>", "\uC774 \uAE30\uB85D\uB9CC \uB2E4\uB978 \uC6CC\uD06C\uC544\uC774\uD15C\uC73C\uB85C \uB0A8\uAE41\uB2C8\uB2E4(\uAE30\uBCF8\uC740 \uD604\uC7AC \uC6CC\uD06C\uC544\uC774\uD15C)").action(
|
|
298
336
|
async (type, opts) => {
|
|
299
|
-
const { runRecord } = await import("./record-
|
|
337
|
+
const { runRecord } = await import("./record-JJJSGU5E.js");
|
|
300
338
|
await runRecord(type, {
|
|
301
339
|
json: opts.json,
|
|
302
340
|
file: opts.file,
|
|
@@ -310,7 +348,7 @@ function buildProgram() {
|
|
|
310
348
|
"\uBCC0\uACBD\uB41C \uD30C\uC77C\uC5D0 \uAD00\uB828\uB41C \uD14C\uC2A4\uD2B8\uB9CC \uC2E4\uD589\uD569\uB2C8\uB2E4(relatedCmd \uD544\uC694, \uC5C6\uC73C\uBA74 \uC804\uCCB4 \uD14C\uC2A4\uD2B8\uB85C \uD3F4\uBC31)"
|
|
311
349
|
).action(
|
|
312
350
|
async (opts) => {
|
|
313
|
-
const { runVerify } = await import("./verify-
|
|
351
|
+
const { runVerify } = await import("./verify-A64P77RU.js");
|
|
314
352
|
await runVerify({
|
|
315
353
|
json: opts.json === true,
|
|
316
354
|
bail: opts.bail === true,
|
|
@@ -321,17 +359,17 @@ function buildProgram() {
|
|
|
321
359
|
}
|
|
322
360
|
);
|
|
323
361
|
program.command("hold-recheck", { hidden: true }).description(".tasks/plan \uC758 \uC758\uC874\uD615 hold \uB97C \uC7AC\uC810\uAC80\uD574 \uCC29\uC9C0+\uD569\uACA9\uD55C \uC758\uC874\uC774\uBA74 \uC790\uB3D9 un-hold \uD569\uB2C8\uB2E4").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
|
|
324
|
-
const { runHoldRecheck } = await import("./hold-recheck-
|
|
362
|
+
const { runHoldRecheck } = await import("./hold-recheck-QINLKCPM.js");
|
|
325
363
|
await runHoldRecheck({ json: opts.json === true });
|
|
326
364
|
});
|
|
327
365
|
const state = program.command("state", { hidden: true }).description("\uB8E8\uD504 \uC0C1\uD0DC\uB97C \uC77D\uACE0 \uC501\uB2C8\uB2E4");
|
|
328
366
|
state.command("get").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
|
|
329
|
-
const { runStateGet } = await import("./state-
|
|
367
|
+
const { runStateGet } = await import("./state-UC45ECTI.js");
|
|
330
368
|
runStateGet({ json: opts.json === true });
|
|
331
369
|
});
|
|
332
370
|
state.command("set").requiredOption("--json <patch>", "\uBD80\uBD84 \uAC31\uC2E0 (JSON \uBB38\uC790\uC5F4)").action(async (opts) => {
|
|
333
|
-
const { runStateSet } = await import("./state-
|
|
334
|
-
const { hasApprovedGate1 } = await import("./record-
|
|
371
|
+
const { runStateSet } = await import("./state-UC45ECTI.js");
|
|
372
|
+
const { hasApprovedGate1 } = await import("./record-JJJSGU5E.js");
|
|
335
373
|
runStateSet(opts.json, {
|
|
336
374
|
// phase:'loop' 로의 전이는 이 워크아이템에 "승인된" 게이트1 레코드가 있을
|
|
337
375
|
// 때만 허용한다(0.6.3, 적대검증 발견). 예전엔 gate:1 레코드의 존재만 봐서
|
|
@@ -342,7 +380,7 @@ function buildProgram() {
|
|
|
342
380
|
});
|
|
343
381
|
program.command("evolve", { hidden: true }).description("\uAE30\uB85D\uC744 \uBAA8\uC544 \uAD50\uD6C8\uC73C\uB85C, \uAD50\uD6C8\uC744 \uADDC\uCE59\uC73C\uB85C \uC787\uC2B5\uB2C8\uB2E4").option("--collect", "\uC774\uBC88 \uC6CC\uD06C\uC544\uC774\uD15C\uC758 \uAE30\uB85D\uC744 \uBAA8\uC544 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").option("--record", "\uAD50\uD6C8\uC744 gotchas \uC5D0 \uAE30\uB85D\uD569\uB2C8\uB2E4 (--json \uC73C\uB85C \uB370\uC774\uD130)").option("--json [data]", "collect: \uCD9C\uB825 \uD50C\uB798\uADF8 / record: \uAD50\uD6C8 \uB370\uC774\uD130(JSON \uBB38\uC790\uC5F4)").option("--workitem <wi>", "\uC6CC\uD06C\uC544\uC774\uD15C\uC73C\uB85C \uAC70\uB985\uB2C8\uB2E4 (--collect)").option("--from <YYYY-MM>", "\uAE30\uAC04 \uC2DC\uC791 \uC6D4\uB85C \uC77D\uAE30\uB97C \uC881\uD799\uB2C8\uB2E4 (--collect, \uC5C6\uC73C\uBA74 \uC804\uB7C9)").option("--to <YYYY-MM>", "\uAE30\uAC04 \uB05D \uC6D4 (--collect)").action(
|
|
344
382
|
async (opts) => {
|
|
345
|
-
const m = await import("./evolve-
|
|
383
|
+
const m = await import("./evolve-V5BQCSHC.js");
|
|
346
384
|
if (opts.collect && opts.record) {
|
|
347
385
|
process.stderr.write("\n --collect \uC640 --record \uB294 \uB3D9\uC2DC\uC5D0 \uC4F8 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n");
|
|
348
386
|
process.exit(1);
|
|
@@ -361,7 +399,7 @@ function buildProgram() {
|
|
|
361
399
|
}
|
|
362
400
|
);
|
|
363
401
|
program.command("defer-summary", { hidden: true }).description("\uBCF4\uB958\uD55C \uC911\uC694 \uD56D\uBAA9(\uC0AC\uB78C \uCD5C\uC885 \uD655\uC778 \uD56D\uBAA9)\uC744 \uCD5C\uC885 \uC694\uC57D\uD569\uB2C8\uB2E4").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").option("--workitem <wi>", "\uC6CC\uD06C\uC544\uC774\uD15C \uC9C0\uC815(\uC5C6\uC73C\uBA74 \uD604\uC7AC)").action(async (opts) => {
|
|
364
|
-
const m = await import("./record-
|
|
402
|
+
const m = await import("./record-JJJSGU5E.js");
|
|
365
403
|
m.runDeferSummary({ json: opts.json === true, workitem: opts.workitem });
|
|
366
404
|
});
|
|
367
405
|
program.action((_opts, command) => {
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
import {
|
|
2
2
|
protectedFilesMessage
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-FQLRA2YC.js";
|
|
4
4
|
import {
|
|
5
5
|
hasApprovedGate1
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-6DXZYTDA.js";
|
|
7
7
|
import {
|
|
8
8
|
getCriterion,
|
|
9
9
|
loadState,
|
|
10
10
|
setCriterion,
|
|
11
11
|
writeState
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-XD4IDIEM.js";
|
|
13
13
|
import {
|
|
14
14
|
loadConfig,
|
|
15
15
|
resolveProjectRoot,
|
|
16
16
|
run
|
|
17
|
-
} from "./chunk-
|
|
18
|
-
import "./chunk-
|
|
17
|
+
} from "./chunk-B6AEYNF3.js";
|
|
18
|
+
import "./chunk-2YWYGWCZ.js";
|
|
19
19
|
import {
|
|
20
20
|
caps,
|
|
21
21
|
feedback,
|
|
22
22
|
makeColors,
|
|
23
23
|
makeTokens,
|
|
24
24
|
signal
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-YODF2HTK.js";
|
|
26
26
|
|
|
27
27
|
// src/commands/commit.ts
|
|
28
28
|
import fs from "fs";
|
|
@@ -13,9 +13,9 @@ import {
|
|
|
13
13
|
runConfig,
|
|
14
14
|
runConfigSet,
|
|
15
15
|
validateConfig
|
|
16
|
-
} from "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
16
|
+
} from "./chunk-B6AEYNF3.js";
|
|
17
|
+
import "./chunk-2YWYGWCZ.js";
|
|
18
|
+
import "./chunk-YODF2HTK.js";
|
|
19
19
|
export {
|
|
20
20
|
KNOWN_LANGUAGES,
|
|
21
21
|
KNOWN_NAMING_CONVENTIONS,
|
|
@@ -8,14 +8,14 @@ import {
|
|
|
8
8
|
gitHasCommits,
|
|
9
9
|
renderText,
|
|
10
10
|
runDoctor
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
11
|
+
} from "./chunk-NXH5EBBJ.js";
|
|
12
|
+
import "./chunk-JDCW2Y2G.js";
|
|
13
|
+
import "./chunk-F34MITMC.js";
|
|
14
|
+
import "./chunk-6DXZYTDA.js";
|
|
15
|
+
import "./chunk-XD4IDIEM.js";
|
|
16
|
+
import "./chunk-B6AEYNF3.js";
|
|
17
|
+
import "./chunk-2YWYGWCZ.js";
|
|
18
|
+
import "./chunk-YODF2HTK.js";
|
|
19
19
|
export {
|
|
20
20
|
collectChecks,
|
|
21
21
|
computeFileSizeOutliers,
|
|
@@ -13,13 +13,13 @@ import {
|
|
|
13
13
|
runEvolveCollect,
|
|
14
14
|
runEvolveRecord,
|
|
15
15
|
writeGeneration
|
|
16
|
-
} from "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
16
|
+
} from "./chunk-SQFGUNTY.js";
|
|
17
|
+
import "./chunk-OPPRCJT2.js";
|
|
18
|
+
import "./chunk-6DXZYTDA.js";
|
|
19
|
+
import "./chunk-XD4IDIEM.js";
|
|
20
|
+
import "./chunk-B6AEYNF3.js";
|
|
21
|
+
import "./chunk-2YWYGWCZ.js";
|
|
22
|
+
import "./chunk-YODF2HTK.js";
|
|
23
23
|
export {
|
|
24
24
|
GOTCHA_RELATION_TYPES,
|
|
25
25
|
acquireLock,
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
readRecords
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-6DXZYTDA.js";
|
|
4
|
+
import "./chunk-XD4IDIEM.js";
|
|
5
|
+
import "./chunk-B6AEYNF3.js";
|
|
6
|
+
import "./chunk-2YWYGWCZ.js";
|
|
7
7
|
import {
|
|
8
8
|
caps,
|
|
9
9
|
card,
|
|
10
10
|
makeColors,
|
|
11
11
|
signal
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-YODF2HTK.js";
|
|
13
13
|
|
|
14
14
|
// src/commands/feedback.ts
|
|
15
15
|
var SEVERITY_RANK = { high: 0, medium: 1, low: 2 };
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
loadGotchaList
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-SQFGUNTY.js";
|
|
4
|
+
import "./chunk-OPPRCJT2.js";
|
|
5
|
+
import "./chunk-6DXZYTDA.js";
|
|
6
|
+
import "./chunk-XD4IDIEM.js";
|
|
7
|
+
import "./chunk-B6AEYNF3.js";
|
|
8
|
+
import "./chunk-2YWYGWCZ.js";
|
|
9
9
|
import {
|
|
10
10
|
caps,
|
|
11
11
|
card,
|
|
12
12
|
makeColors
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-YODF2HTK.js";
|
|
14
14
|
|
|
15
15
|
// src/commands/gotchas.ts
|
|
16
16
|
function loadGotchas() {
|