agent-work-loop 0.6.26 → 0.6.30
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 +28 -0
- package/dist/{brief-JIXESFMO.js → brief-O6IGLOPY.js} +5 -5
- package/dist/{changelog-PBF6JBOC.js → changelog-4XKSWJX2.js} +5 -5
- package/dist/{chunk-PUI2B27T.js → chunk-3CR74VLL.js} +111 -14
- package/dist/{chunk-YODF2HTK.js → chunk-45X7T64Y.js} +12 -37
- package/dist/{chunk-F34MITMC.js → chunk-7WDDWO2B.js} +3 -3
- package/dist/{chunk-XD4IDIEM.js → chunk-7WE2E76P.js} +6 -6
- package/dist/{chunk-2YWYGWCZ.js → chunk-AYFHV27J.js} +70 -32
- package/dist/{chunk-JDCW2Y2G.js → chunk-FJKJTXN4.js} +7 -7
- package/dist/{chunk-NXH5EBBJ.js → chunk-FOTWJOWF.js} +8 -8
- package/dist/{chunk-OPPRCJT2.js → chunk-FUP7DKT3.js} +7 -7
- package/dist/{chunk-AMQFBJCO.js → chunk-IEFYCUWX.js} +18 -8
- package/dist/{chunk-SQFGUNTY.js → chunk-ILXQGAUE.js} +5 -5
- package/dist/{chunk-KEVDO3C3.js → chunk-R4LFOY5M.js} +9 -9
- package/dist/{chunk-B6AEYNF3.js → chunk-RAMHRXFX.js} +40 -23
- package/dist/{chunk-PLHEP5QE.js → chunk-RXG6BUQ6.js} +5 -5
- package/dist/{chunk-6DXZYTDA.js → chunk-TTLFDLK6.js} +6 -6
- package/dist/{chunk-XQ7JJXBY.js → chunk-VX23A4FW.js} +7 -7
- package/dist/{chunk-FQLRA2YC.js → chunk-WZCIAGNJ.js} +1 -1
- package/dist/cli.js +61 -53
- package/dist/{commit-OUZNLCNL.js → commit-2UFIIERX.js} +6 -6
- package/dist/{config-26FHYODU.js → config-D7LUIZYA.js} +3 -3
- package/dist/{doctor-UHUA6ULF.js → doctor-IAK57PIS.js} +8 -8
- package/dist/{evolve-V5BQCSHC.js → evolve-RMKOBGSK.js} +7 -7
- package/dist/{feedback-UJ7WSARN.js → feedback-RT63F57C.js} +8 -8
- package/dist/{gotchas-L3NXDDDI.js → gotchas-DM7BXF77.js} +11 -11
- package/dist/{hold-recheck-QINLKCPM.js → hold-recheck-I6JMGTP6.js} +18 -18
- package/dist/{init-6R4MT6FQ.js → init-XUJTEY2Y.js} +6 -2
- package/dist/lane-OZ5WGGDT.js +41 -0
- package/dist/{loop-summary-FVJICIWA.js → loop-summary-7HMFHKUD.js} +10 -10
- package/dist/{metrics-NVJFKQ4J.js → metrics-F3YDMURU.js} +4 -4
- package/dist/{record-JJJSGU5E.js → record-ZNGMMZHF.js} +5 -5
- package/dist/{review-I4QMZPTI.js → review-R5I4KYFN.js} +16 -16
- package/dist/{rules-OTUONMXO.js → rules-GVDXKROQ.js} +8 -8
- package/dist/{state-UC45ECTI.js → state-B45D6VSF.js} +4 -4
- package/dist/status-7SBNSHTV.js +40 -0
- package/dist/{uninstall-HHKLOXF5.js → uninstall-Q6KJYH5E.js} +17 -17
- package/dist/update-WHHGVXIY.js +135 -0
- package/dist/{verify-A64P77RU.js → verify-ZBDWID5U.js} +10 -10
- package/dist/version-check-3NVRLYUF.js +14 -0
- package/dist/{work-LMM5W2PQ.js → work-EVYCDIPE.js} +14 -14
- package/engine/version.json +1 -1
- package/package.json +1 -1
- package/dist/lane-CJVXEV3A.js +0 -41
- package/dist/status-TU36KJDH.js +0 -40
- package/dist/update-BXRWE7OH.js +0 -61
- package/dist/version-check-UBXBVPTS.js +0 -14
package/dist/cli.js
CHANGED
|
@@ -3,18 +3,18 @@ import {
|
|
|
3
3
|
computeUpdateAvailable,
|
|
4
4
|
readCachedLatestVersion,
|
|
5
5
|
version
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-7WDDWO2B.js";
|
|
7
7
|
import {
|
|
8
8
|
caps,
|
|
9
|
-
card,
|
|
10
9
|
gradient,
|
|
11
10
|
installedEngineVersion,
|
|
12
11
|
makeColors,
|
|
13
12
|
makeSymbols,
|
|
14
13
|
makeTokens,
|
|
14
|
+
sectionBox,
|
|
15
15
|
signal,
|
|
16
16
|
visibleWidth
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-45X7T64Y.js";
|
|
18
18
|
|
|
19
19
|
// src/program.ts
|
|
20
20
|
import { Command } from "commander";
|
|
@@ -38,7 +38,7 @@ function renderGettingStartedCard(c) {
|
|
|
38
38
|
const lines = GETTING_STARTED.map(
|
|
39
39
|
(g, i) => `${i + 1}. ${t.accent(padVisible(g.cmd, cmdWidth))} ${g.desc}`
|
|
40
40
|
);
|
|
41
|
-
return
|
|
41
|
+
return sectionBox("\uC2DC\uC791\uD558\uAE30", lines, c);
|
|
42
42
|
}
|
|
43
43
|
function renderExamplesCard(c) {
|
|
44
44
|
const t = makeTokens(c);
|
|
@@ -52,7 +52,7 @@ function renderExamplesCard(c) {
|
|
|
52
52
|
const lines = examples.map(
|
|
53
53
|
(e) => `${t.accent(padVisible(e.cmd, cmdWidth))} ${t.muted(`# ${e.note}`)}`
|
|
54
54
|
);
|
|
55
|
-
return
|
|
55
|
+
return sectionBox("\uC608\uC2DC", lines, c);
|
|
56
56
|
}
|
|
57
57
|
var DENSE_AWL = `
|
|
58
58
|
\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2557\u2588\u2588\u2557
|
|
@@ -76,9 +76,12 @@ function renderBanner(c = caps()) {
|
|
|
76
76
|
const copy = copyLines[i] ?? "";
|
|
77
77
|
return `${mark}${" ".repeat(Math.max(0, markWidth - visibleWidth(mark)) + 4)}${copy}`.trimEnd();
|
|
78
78
|
}).join("\n");
|
|
79
|
+
const color = makeColors(c.color);
|
|
79
80
|
return `${header}
|
|
80
81
|
|
|
81
|
-
${renderGettingStartedCard(c)}
|
|
82
|
+
${renderGettingStartedCard(c)}
|
|
83
|
+
|
|
84
|
+
${color.dim("\uC608\uC2DC\uB294 awl --examples \uB85C \uBD05\uB2C8\uB2E4.")}`;
|
|
82
85
|
}
|
|
83
86
|
function versionString(c = caps()) {
|
|
84
87
|
const color = makeColors(c.color);
|
|
@@ -146,21 +149,16 @@ function parseWorkitemsOption(input) {
|
|
|
146
149
|
function buildProgram() {
|
|
147
150
|
const program = new Command();
|
|
148
151
|
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()}
|
|
149
|
-
` : "").
|
|
150
|
-
"afterAll",
|
|
151
|
-
(ctx) => ctx.command === program ? `
|
|
152
|
-
${renderExamplesCard(caps())}
|
|
153
|
-
` : ""
|
|
154
|
-
).showHelpAfterError();
|
|
152
|
+
` : "").option("--examples", "\uC790\uC8FC \uC4F0\uB294 \uBA85\uB839 \uC608\uC2DC\uB97C \uBCF4\uC5EC\uC90D\uB2C8\uB2E4").showHelpAfterError();
|
|
155
153
|
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) => {
|
|
156
|
-
const { runInit } = await import("./init-
|
|
154
|
+
const { runInit } = await import("./init-XUJTEY2Y.js");
|
|
157
155
|
await runInit({ yes: opts.yes === true });
|
|
158
156
|
});
|
|
159
157
|
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(
|
|
160
158
|
"--archive",
|
|
161
159
|
"(--pipeline\uACFC \uD568\uAED8) \uC720\uC608 \uAE30\uAC04(3\uC77C) \uC9C0\uB09C \uC644\uB8CC workitem\uC744 .tasks/archive/ \uB85C \uBCF4\uAD00\uD569\uB2C8\uB2E4"
|
|
162
160
|
).action(async (opts) => {
|
|
163
|
-
const { runStatus } = await import("./status-
|
|
161
|
+
const { runStatus } = await import("./status-7SBNSHTV.js");
|
|
164
162
|
await runStatus({
|
|
165
163
|
json: opts.json === true,
|
|
166
164
|
pipeline: opts.pipeline === true,
|
|
@@ -168,24 +166,29 @@ ${renderExamplesCard(caps())}
|
|
|
168
166
|
});
|
|
169
167
|
});
|
|
170
168
|
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) => {
|
|
171
|
-
const { runBrief } = await import("./brief-
|
|
169
|
+
const { runBrief } = await import("./brief-O6IGLOPY.js");
|
|
172
170
|
await runBrief({ today: opts.today === true, date: opts.date, json: opts.json === true });
|
|
173
171
|
});
|
|
174
172
|
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) => {
|
|
175
|
-
const { runDoctor } = await import("./doctor-
|
|
173
|
+
const { runDoctor } = await import("./doctor-IAK57PIS.js");
|
|
176
174
|
await runDoctor({ json: opts.json === true });
|
|
177
175
|
});
|
|
178
176
|
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) => {
|
|
179
|
-
const { runVersionCheck } = await import("./version-check-
|
|
177
|
+
const { runVersionCheck } = await import("./version-check-3NVRLYUF.js");
|
|
180
178
|
await runVersionCheck({ json: opts.json === true });
|
|
181
179
|
});
|
|
182
|
-
program.command("update").description(
|
|
183
|
-
|
|
184
|
-
|
|
180
|
+
program.command("update").description(
|
|
181
|
+
"\uC124\uCE58\uB41C \uC5D4\uC9C4(~/.awl/engine)\uC744 \uAC31\uC2E0\uD569\uB2C8\uB2E4 (\uAE30\uBCF8\uC740 \uC804\uC5ED\uB9CC, --local/--all \uB85C \uD504\uB85C\uC81D\uD2B8\uAE4C\uC9C0)"
|
|
182
|
+
).option("-g, --global", "\uC804\uC5ED \uC5D4\uC9C4(~/.awl/engine)\uB9CC \uAC31\uC2E0\uD569\uB2C8\uB2E4 (\uAE30\uBCF8\uAC12)").option(
|
|
183
|
+
"-l, --local",
|
|
184
|
+
"\uB4F1\uB85D\uB41C \uD504\uB85C\uC81D\uD2B8 \uC804\uBD80\uC758 \uB85C\uCEEC \uC2A4\uD0AC\uC744 \uC9C0\uAE08 \uC124\uCE58\uB41C \uC5D4\uC9C4\uC5D0 \uB9DE\uCDB0 \uC7AC\uB3D9\uAE30\uD654\uD569\uB2C8\uB2E4"
|
|
185
|
+
).option("-a, --all", "\uC804\uC5ED\uACFC \uB4F1\uB85D\uB41C \uD504\uB85C\uC81D\uD2B8 \uB85C\uCEEC\uC744 \uBAA8\uB450 \uAC31\uC2E0\uD569\uB2C8\uB2E4").action(async (opts) => {
|
|
186
|
+
const { runUpdate } = await import("./update-WHHGVXIY.js");
|
|
187
|
+
runUpdate(opts);
|
|
185
188
|
});
|
|
186
189
|
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(
|
|
187
190
|
async (opts) => {
|
|
188
|
-
const { runUninstall } = await import("./uninstall-
|
|
191
|
+
const { runUninstall } = await import("./uninstall-Q6KJYH5E.js");
|
|
189
192
|
await runUninstall({
|
|
190
193
|
yes: opts.yes === true,
|
|
191
194
|
project: opts.project === true,
|
|
@@ -197,22 +200,22 @@ ${renderExamplesCard(caps())}
|
|
|
197
200
|
);
|
|
198
201
|
const config = program.command("config").description("\uC774 \uD504\uB85C\uC81D\uD2B8\uC758 \uC124\uC815\uC744 \uBD05\uB2C8\uB2E4 (TTY \uBA74 \uC218\uC815\uB3C4)");
|
|
199
202
|
config.action(async () => {
|
|
200
|
-
const { runConfig } = await import("./config-
|
|
203
|
+
const { runConfig } = await import("./config-D7LUIZYA.js");
|
|
201
204
|
await runConfig();
|
|
202
205
|
});
|
|
203
206
|
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(
|
|
204
207
|
async (key, value, opts) => {
|
|
205
|
-
const { runConfigSet } = await import("./config-
|
|
208
|
+
const { runConfigSet } = await import("./config-D7LUIZYA.js");
|
|
206
209
|
await runConfigSet(key, value, { force: opts.force === true });
|
|
207
210
|
}
|
|
208
211
|
);
|
|
209
212
|
const work = program.command("work").description("\uC774 \uD504\uB85C\uC81D\uD2B8\uC758 \uC6CC\uD06C\uC544\uC774\uD15C\uC744 \uAD00\uB9AC\uD569\uB2C8\uB2E4");
|
|
210
213
|
work.option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
|
|
211
|
-
const { runWorkList } = await import("./work-
|
|
214
|
+
const { runWorkList } = await import("./work-EVYCDIPE.js");
|
|
212
215
|
runWorkList({ json: opts.json === true });
|
|
213
216
|
});
|
|
214
217
|
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) => {
|
|
215
|
-
const { runWorkList } = await import("./work-
|
|
218
|
+
const { runWorkList } = await import("./work-EVYCDIPE.js");
|
|
216
219
|
runWorkList({ json: opts.json === true });
|
|
217
220
|
});
|
|
218
221
|
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(
|
|
@@ -220,7 +223,7 @@ ${renderExamplesCard(caps())}
|
|
|
220
223
|
"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)"
|
|
221
224
|
).option("--experiment <json>", '\uC2E4\uD5D8 \uCF00\uC774\uC2A4 \uBA54\uD0C0 JSON (\uC608: {"model":"lite","mode":"loop"})').action(
|
|
222
225
|
async (id, description, opts) => {
|
|
223
|
-
const { runWorkNew } = await import("./work-
|
|
226
|
+
const { runWorkNew } = await import("./work-EVYCDIPE.js");
|
|
224
227
|
const parsedExp = parseExperimentOption(opts.experiment);
|
|
225
228
|
if (!parsedExp.ok) {
|
|
226
229
|
process.stderr.write(`
|
|
@@ -232,52 +235,52 @@ ${renderExamplesCard(caps())}
|
|
|
232
235
|
}
|
|
233
236
|
);
|
|
234
237
|
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) => {
|
|
235
|
-
const { runWorkSwitch } = await import("./work-
|
|
238
|
+
const { runWorkSwitch } = await import("./work-EVYCDIPE.js");
|
|
236
239
|
await runWorkSwitch(id);
|
|
237
240
|
});
|
|
238
241
|
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) => {
|
|
239
|
-
const { runWorkAbandon } = await import("./work-
|
|
242
|
+
const { runWorkAbandon } = await import("./work-EVYCDIPE.js");
|
|
240
243
|
runWorkAbandon(id);
|
|
241
244
|
});
|
|
242
245
|
work.command("done <id>").description(
|
|
243
246
|
"\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)"
|
|
244
247
|
).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) => {
|
|
245
|
-
const { runWorkDone } = await import("./work-
|
|
248
|
+
const { runWorkDone } = await import("./work-EVYCDIPE.js");
|
|
246
249
|
await runWorkDone(id, { force: opts.force === true });
|
|
247
250
|
});
|
|
248
251
|
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)");
|
|
249
252
|
lane.option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
|
|
250
|
-
const { runLaneList } = await import("./lane-
|
|
253
|
+
const { runLaneList } = await import("./lane-OZ5WGGDT.js");
|
|
251
254
|
await runLaneList({ json: opts.json === true });
|
|
252
255
|
});
|
|
253
256
|
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) => {
|
|
254
|
-
const { runLaneNew } = await import("./lane-
|
|
257
|
+
const { runLaneNew } = await import("./lane-OZ5WGGDT.js");
|
|
255
258
|
await runLaneNew(name, description);
|
|
256
259
|
});
|
|
257
260
|
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) => {
|
|
258
|
-
const { runLaneList } = await import("./lane-
|
|
261
|
+
const { runLaneList } = await import("./lane-OZ5WGGDT.js");
|
|
259
262
|
await runLaneList({ json: opts.json === true });
|
|
260
263
|
});
|
|
261
264
|
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) => {
|
|
262
|
-
const { runLaneRemove } = await import("./lane-
|
|
265
|
+
const { runLaneRemove } = await import("./lane-OZ5WGGDT.js");
|
|
263
266
|
await runLaneRemove(name, { force: opts.force === true });
|
|
264
267
|
});
|
|
265
268
|
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) => {
|
|
266
|
-
const { runRecords } = await import("./record-
|
|
269
|
+
const { runRecords } = await import("./record-ZNGMMZHF.js");
|
|
267
270
|
runRecords({ type: opts.type, workitem: opts.workitem, json: opts.json === true });
|
|
268
271
|
});
|
|
269
272
|
const rules = program.command("rules").description("\uC774 \uD504\uB85C\uC81D\uD2B8\uC5D0 \uC801\uC6A9\uB418\uB294 \uADDC\uCE59\uC744 \uBD05\uB2C8\uB2E4").enablePositionalOptions();
|
|
270
273
|
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) => {
|
|
271
|
-
const { runRules } = await import("./rules-
|
|
274
|
+
const { runRules } = await import("./rules-GVDXKROQ.js");
|
|
272
275
|
runRules({ scope: opts.scope, json: opts.json === true });
|
|
273
276
|
});
|
|
274
277
|
rules.command("edit").description("$EDITOR \uB85C \uADDC\uCE59 \uD30C\uC77C\uC744 \uC5FD\uB2C8\uB2E4").action(async () => {
|
|
275
|
-
const { runRules } = await import("./rules-
|
|
278
|
+
const { runRules } = await import("./rules-GVDXKROQ.js");
|
|
276
279
|
runRules({ edit: true });
|
|
277
280
|
});
|
|
278
281
|
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(
|
|
279
282
|
async (gotchaId, opts) => {
|
|
280
|
-
const { runRulesPromote } = await import("./rules-
|
|
283
|
+
const { runRulesPromote } = await import("./rules-GVDXKROQ.js");
|
|
281
284
|
runRulesPromote(gotchaId, {
|
|
282
285
|
applies: opts.applies,
|
|
283
286
|
counter: opts.counter,
|
|
@@ -286,16 +289,16 @@ ${renderExamplesCard(caps())}
|
|
|
286
289
|
}
|
|
287
290
|
);
|
|
288
291
|
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) => {
|
|
289
|
-
const { runGotchas } = await import("./gotchas-
|
|
292
|
+
const { runGotchas } = await import("./gotchas-DM7BXF77.js");
|
|
290
293
|
runGotchas({ json: opts.json === true });
|
|
291
294
|
});
|
|
292
295
|
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) => {
|
|
293
|
-
const { runMetrics } = await import("./metrics-
|
|
296
|
+
const { runMetrics } = await import("./metrics-F3YDMURU.js");
|
|
294
297
|
runMetrics({ json: opts.json === true, compare: opts.compare === true });
|
|
295
298
|
});
|
|
296
299
|
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(
|
|
297
300
|
async (opts) => {
|
|
298
|
-
const { runLoopSummary } = await import("./loop-summary-
|
|
301
|
+
const { runLoopSummary } = await import("./loop-summary-7HMFHKUD.js");
|
|
299
302
|
runLoopSummary({
|
|
300
303
|
workitem: opts.workitem,
|
|
301
304
|
workitems: parseWorkitemsOption(opts.workitems),
|
|
@@ -305,7 +308,7 @@ ${renderExamplesCard(caps())}
|
|
|
305
308
|
}
|
|
306
309
|
);
|
|
307
310
|
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) => {
|
|
308
|
-
const { runFeedback } = await import("./feedback-
|
|
311
|
+
const { runFeedback } = await import("./feedback-RT63F57C.js");
|
|
309
312
|
runFeedback({
|
|
310
313
|
json: opts.json === true,
|
|
311
314
|
area: opts.area,
|
|
@@ -314,12 +317,12 @@ ${renderExamplesCard(caps())}
|
|
|
314
317
|
});
|
|
315
318
|
});
|
|
316
319
|
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) => {
|
|
317
|
-
const { runChangelogDraft } = await import("./changelog-
|
|
320
|
+
const { runChangelogDraft } = await import("./changelog-4XKSWJX2.js");
|
|
318
321
|
runChangelogDraft({ workitem: opts.workitem, json: opts.json === true });
|
|
319
322
|
});
|
|
320
323
|
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(
|
|
321
324
|
async (criterion, opts) => {
|
|
322
|
-
const { runCommit } = await import("./commit-
|
|
325
|
+
const { runCommit } = await import("./commit-2UFIIERX.js");
|
|
323
326
|
await runCommit(criterion, {
|
|
324
327
|
start: opts.start,
|
|
325
328
|
message: opts.message,
|
|
@@ -329,12 +332,12 @@ ${renderExamplesCard(caps())}
|
|
|
329
332
|
}
|
|
330
333
|
);
|
|
331
334
|
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) => {
|
|
332
|
-
const { runReview } = await import("./review-
|
|
335
|
+
const { runReview } = await import("./review-R5I4KYFN.js");
|
|
333
336
|
await runReview(range, { json: opts.json === true, base: opts.base });
|
|
334
337
|
});
|
|
335
338
|
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(
|
|
336
339
|
async (type, opts) => {
|
|
337
|
-
const { runRecord } = await import("./record-
|
|
340
|
+
const { runRecord } = await import("./record-ZNGMMZHF.js");
|
|
338
341
|
await runRecord(type, {
|
|
339
342
|
json: opts.json,
|
|
340
343
|
file: opts.file,
|
|
@@ -348,7 +351,7 @@ ${renderExamplesCard(caps())}
|
|
|
348
351
|
"\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)"
|
|
349
352
|
).action(
|
|
350
353
|
async (opts) => {
|
|
351
|
-
const { runVerify } = await import("./verify-
|
|
354
|
+
const { runVerify } = await import("./verify-ZBDWID5U.js");
|
|
352
355
|
await runVerify({
|
|
353
356
|
json: opts.json === true,
|
|
354
357
|
bail: opts.bail === true,
|
|
@@ -359,17 +362,17 @@ ${renderExamplesCard(caps())}
|
|
|
359
362
|
}
|
|
360
363
|
);
|
|
361
364
|
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) => {
|
|
362
|
-
const { runHoldRecheck } = await import("./hold-recheck-
|
|
365
|
+
const { runHoldRecheck } = await import("./hold-recheck-I6JMGTP6.js");
|
|
363
366
|
await runHoldRecheck({ json: opts.json === true });
|
|
364
367
|
});
|
|
365
368
|
const state = program.command("state", { hidden: true }).description("\uB8E8\uD504 \uC0C1\uD0DC\uB97C \uC77D\uACE0 \uC501\uB2C8\uB2E4");
|
|
366
369
|
state.command("get").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
|
|
367
|
-
const { runStateGet } = await import("./state-
|
|
370
|
+
const { runStateGet } = await import("./state-B45D6VSF.js");
|
|
368
371
|
runStateGet({ json: opts.json === true });
|
|
369
372
|
});
|
|
370
373
|
state.command("set").requiredOption("--json <patch>", "\uBD80\uBD84 \uAC31\uC2E0 (JSON \uBB38\uC790\uC5F4)").action(async (opts) => {
|
|
371
|
-
const { runStateSet } = await import("./state-
|
|
372
|
-
const { hasApprovedGate1 } = await import("./record-
|
|
374
|
+
const { runStateSet } = await import("./state-B45D6VSF.js");
|
|
375
|
+
const { hasApprovedGate1 } = await import("./record-ZNGMMZHF.js");
|
|
373
376
|
runStateSet(opts.json, {
|
|
374
377
|
// phase:'loop' 로의 전이는 이 워크아이템에 "승인된" 게이트1 레코드가 있을
|
|
375
378
|
// 때만 허용한다(0.6.3, 적대검증 발견). 예전엔 gate:1 레코드의 존재만 봐서
|
|
@@ -380,7 +383,7 @@ ${renderExamplesCard(caps())}
|
|
|
380
383
|
});
|
|
381
384
|
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(
|
|
382
385
|
async (opts) => {
|
|
383
|
-
const m = await import("./evolve-
|
|
386
|
+
const m = await import("./evolve-RMKOBGSK.js");
|
|
384
387
|
if (opts.collect && opts.record) {
|
|
385
388
|
process.stderr.write("\n --collect \uC640 --record \uB294 \uB3D9\uC2DC\uC5D0 \uC4F8 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n");
|
|
386
389
|
process.exit(1);
|
|
@@ -399,10 +402,15 @@ ${renderExamplesCard(caps())}
|
|
|
399
402
|
}
|
|
400
403
|
);
|
|
401
404
|
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) => {
|
|
402
|
-
const m = await import("./record-
|
|
405
|
+
const m = await import("./record-ZNGMMZHF.js");
|
|
403
406
|
m.runDeferSummary({ json: opts.json === true, workitem: opts.workitem });
|
|
404
407
|
});
|
|
405
|
-
program.action((
|
|
408
|
+
program.action((opts, command) => {
|
|
409
|
+
if (opts.examples) {
|
|
410
|
+
process.stdout.write(`${renderExamplesCard(caps())}
|
|
411
|
+
`);
|
|
412
|
+
return;
|
|
413
|
+
}
|
|
406
414
|
const [first, second] = command.args;
|
|
407
415
|
if (first === void 0) {
|
|
408
416
|
program.help();
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
import {
|
|
2
2
|
protectedFilesMessage
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-WZCIAGNJ.js";
|
|
4
4
|
import {
|
|
5
5
|
hasApprovedGate1
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-TTLFDLK6.js";
|
|
7
7
|
import {
|
|
8
8
|
getCriterion,
|
|
9
9
|
loadState,
|
|
10
10
|
setCriterion,
|
|
11
11
|
writeState
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-7WE2E76P.js";
|
|
13
13
|
import {
|
|
14
14
|
loadConfig,
|
|
15
15
|
resolveProjectRoot,
|
|
16
16
|
run
|
|
17
|
-
} from "./chunk-
|
|
18
|
-
import "./chunk-
|
|
17
|
+
} from "./chunk-RAMHRXFX.js";
|
|
18
|
+
import "./chunk-AYFHV27J.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-45X7T64Y.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-RAMHRXFX.js";
|
|
17
|
+
import "./chunk-AYFHV27J.js";
|
|
18
|
+
import "./chunk-45X7T64Y.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-FOTWJOWF.js";
|
|
12
|
+
import "./chunk-FJKJTXN4.js";
|
|
13
|
+
import "./chunk-7WDDWO2B.js";
|
|
14
|
+
import "./chunk-TTLFDLK6.js";
|
|
15
|
+
import "./chunk-7WE2E76P.js";
|
|
16
|
+
import "./chunk-RAMHRXFX.js";
|
|
17
|
+
import "./chunk-AYFHV27J.js";
|
|
18
|
+
import "./chunk-45X7T64Y.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-ILXQGAUE.js";
|
|
17
|
+
import "./chunk-FUP7DKT3.js";
|
|
18
|
+
import "./chunk-TTLFDLK6.js";
|
|
19
|
+
import "./chunk-7WE2E76P.js";
|
|
20
|
+
import "./chunk-RAMHRXFX.js";
|
|
21
|
+
import "./chunk-AYFHV27J.js";
|
|
22
|
+
import "./chunk-45X7T64Y.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-TTLFDLK6.js";
|
|
4
|
+
import "./chunk-7WE2E76P.js";
|
|
5
|
+
import "./chunk-RAMHRXFX.js";
|
|
6
|
+
import "./chunk-AYFHV27J.js";
|
|
7
7
|
import {
|
|
8
8
|
caps,
|
|
9
|
-
card,
|
|
10
9
|
makeColors,
|
|
10
|
+
sectionBox,
|
|
11
11
|
signal
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-45X7T64Y.js";
|
|
13
13
|
|
|
14
14
|
// src/commands/feedback.ts
|
|
15
15
|
var SEVERITY_RANK = { high: 0, medium: 1, low: 2 };
|
|
@@ -64,7 +64,7 @@ function renderFeedback(report, c) {
|
|
|
64
64
|
const color = makeColors(c.color);
|
|
65
65
|
const entries = Object.entries(report.areas).sort(([, a], [, b]) => b.count - a.count);
|
|
66
66
|
if (entries.length === 0) {
|
|
67
|
-
return
|
|
67
|
+
return sectionBox(
|
|
68
68
|
"awl \uC790\uCCB4 \uD53C\uB4DC\uBC31",
|
|
69
69
|
[
|
|
70
70
|
"\uC544\uC9C1 \uC218\uC9D1\uB41C awl-feedback \uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",
|
|
@@ -96,7 +96,7 @@ function renderFeedback(report, c) {
|
|
|
96
96
|
)
|
|
97
97
|
);
|
|
98
98
|
}
|
|
99
|
-
return
|
|
99
|
+
return sectionBox(`awl \uC790\uCCB4 \uD53C\uB4DC\uBC31 \xB7 \uC6CC\uD06C\uC544\uC774\uD15C ${report.collectedFrom}\uAC1C\uC5D0\uC11C \uC218\uC9D1`, out, c);
|
|
100
100
|
}
|
|
101
101
|
function runFeedback(opts) {
|
|
102
102
|
if (isInvalidSince(opts.since)) {
|
|
@@ -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-ILXQGAUE.js";
|
|
4
|
+
import "./chunk-FUP7DKT3.js";
|
|
5
|
+
import "./chunk-TTLFDLK6.js";
|
|
6
|
+
import "./chunk-7WE2E76P.js";
|
|
7
|
+
import "./chunk-RAMHRXFX.js";
|
|
8
|
+
import "./chunk-AYFHV27J.js";
|
|
9
9
|
import {
|
|
10
10
|
caps,
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
} from "./chunk-
|
|
11
|
+
makeColors,
|
|
12
|
+
sectionBox
|
|
13
|
+
} from "./chunk-45X7T64Y.js";
|
|
14
14
|
|
|
15
15
|
// src/commands/gotchas.ts
|
|
16
16
|
function loadGotchas() {
|
|
@@ -19,13 +19,13 @@ function loadGotchas() {
|
|
|
19
19
|
function renderGotchas(gotchas, c) {
|
|
20
20
|
const color = makeColors(c.color);
|
|
21
21
|
if (gotchas.length === 0) {
|
|
22
|
-
return
|
|
22
|
+
return sectionBox("\uD568\uC815", ["\uD568\uC815\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."], c);
|
|
23
23
|
}
|
|
24
24
|
const out = [];
|
|
25
25
|
for (const g of gotchas) {
|
|
26
26
|
out.push(`${color.dim("\xB7")} ${g.lesson || "(\uC694\uC57D \uC5C6\uC74C)"}`);
|
|
27
27
|
}
|
|
28
|
-
return
|
|
28
|
+
return sectionBox(`\uD568\uC815 ${gotchas.length}\uAC1C \xB7 \uC544\uC9C1 \uADDC\uCE59 \uC544\uB2D8`, out, c);
|
|
29
29
|
}
|
|
30
30
|
function runGotchas(opts) {
|
|
31
31
|
const gotchas = loadGotchas();
|
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
import {
|
|
2
2
|
pipelineLanes
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-R4LFOY5M.js";
|
|
4
|
+
import "./chunk-IEFYCUWX.js";
|
|
5
|
+
import "./chunk-3CR74VLL.js";
|
|
6
6
|
import "./chunk-D5OINC3G.js";
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-VX23A4FW.js";
|
|
8
|
+
import "./chunk-WZCIAGNJ.js";
|
|
9
|
+
import "./chunk-FOTWJOWF.js";
|
|
10
|
+
import "./chunk-FJKJTXN4.js";
|
|
11
|
+
import "./chunk-7WDDWO2B.js";
|
|
12
|
+
import "./chunk-RXG6BUQ6.js";
|
|
13
|
+
import "./chunk-ILXQGAUE.js";
|
|
14
|
+
import "./chunk-FUP7DKT3.js";
|
|
15
|
+
import "./chunk-TTLFDLK6.js";
|
|
16
|
+
import "./chunk-7WE2E76P.js";
|
|
17
17
|
import {
|
|
18
18
|
resolveProjectRoot
|
|
19
|
-
} from "./chunk-
|
|
20
|
-
import "./chunk-
|
|
19
|
+
} from "./chunk-RAMHRXFX.js";
|
|
20
|
+
import "./chunk-AYFHV27J.js";
|
|
21
21
|
import {
|
|
22
22
|
caps,
|
|
23
|
-
card,
|
|
24
23
|
makeColors,
|
|
24
|
+
sectionBox,
|
|
25
25
|
signal
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-45X7T64Y.js";
|
|
27
27
|
|
|
28
28
|
// src/commands/hold-recheck.ts
|
|
29
29
|
import fs from "fs";
|
|
@@ -123,7 +123,7 @@ async function runHoldRecheck(opts) {
|
|
|
123
123
|
const why = k.reason === "no-condition" ? "\uD328\uD134 \uC5C6\uC74C(\uC804\uB7B5\uBB38\uC11C \uB4F1)" : `\uB300\uAE30: ${(k.waitingOn ?? []).join(", ")}`;
|
|
124
124
|
lines.push(`${signal(c, "warn")} ${color.dim(k.name)} hold \uC720\uC9C0 ${color.dim(`(${why})`)}`);
|
|
125
125
|
}
|
|
126
|
-
process.stdout.write(`${
|
|
126
|
+
process.stdout.write(`${sectionBox("hold \uC7AC\uC810\uAC80", lines, c)}
|
|
127
127
|
`);
|
|
128
128
|
}
|
|
129
129
|
export {
|
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
claudeSkillLabel,
|
|
10
10
|
detectAgents,
|
|
11
11
|
detectLanguage,
|
|
12
|
+
detectLanguages,
|
|
12
13
|
detectVerify,
|
|
13
14
|
detectWorkspacePackages,
|
|
14
15
|
ensureGitignore,
|
|
@@ -17,6 +18,7 @@ import {
|
|
|
17
18
|
installCodexSkill,
|
|
18
19
|
installSafetyHook,
|
|
19
20
|
isGlobalInstalled,
|
|
21
|
+
listRegisteredProjects,
|
|
20
22
|
nonInteractiveInputs,
|
|
21
23
|
packageEngineDir,
|
|
22
24
|
promptNumber,
|
|
@@ -38,8 +40,8 @@ import {
|
|
|
38
40
|
writeConfig,
|
|
39
41
|
writeSkillsVersionStamp,
|
|
40
42
|
writeState
|
|
41
|
-
} from "./chunk-
|
|
42
|
-
import "./chunk-
|
|
43
|
+
} from "./chunk-AYFHV27J.js";
|
|
44
|
+
import "./chunk-45X7T64Y.js";
|
|
43
45
|
export {
|
|
44
46
|
LANG_OPTIONS,
|
|
45
47
|
LANG_VALUES,
|
|
@@ -51,6 +53,7 @@ export {
|
|
|
51
53
|
claudeSkillLabel,
|
|
52
54
|
detectAgents,
|
|
53
55
|
detectLanguage,
|
|
56
|
+
detectLanguages,
|
|
54
57
|
detectVerify,
|
|
55
58
|
detectWorkspacePackages,
|
|
56
59
|
ensureGitignore,
|
|
@@ -59,6 +62,7 @@ export {
|
|
|
59
62
|
installCodexSkill,
|
|
60
63
|
installSafetyHook,
|
|
61
64
|
isGlobalInstalled,
|
|
65
|
+
listRegisteredProjects,
|
|
62
66
|
nonInteractiveInputs,
|
|
63
67
|
packageEngineDir,
|
|
64
68
|
promptNumber,
|