@agents-inc/cli 0.88.0 → 0.91.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +29 -0
- package/dist/{chunk-RWVF6DQE.js → chunk-2RFE7LTV.js} +3 -3
- package/dist/{chunk-ZFQTKY2S.js → chunk-2RXDM5HN.js} +5 -5
- package/dist/chunk-2RXDM5HN.js.map +1 -0
- package/dist/{chunk-CKZ65VFJ.js → chunk-35WALWDD.js} +5 -5
- package/dist/chunk-35WALWDD.js.map +1 -0
- package/dist/{chunk-BEZ6ZPDS.js → chunk-3O57Z6Q3.js} +3 -3
- package/dist/{chunk-2DRPZXXK.js → chunk-3STOCHK4.js} +4 -4
- package/dist/{chunk-ANXHMG32.js → chunk-47HMJ4BY.js} +28 -1
- package/dist/chunk-47HMJ4BY.js.map +1 -0
- package/dist/{chunk-LHUK5L6P.js → chunk-4DZNTUK7.js} +23 -10
- package/dist/chunk-4DZNTUK7.js.map +1 -0
- package/dist/{chunk-REZZSDXG.js → chunk-5IR4QU7G.js} +37 -24
- package/dist/chunk-5IR4QU7G.js.map +1 -0
- package/dist/{chunk-TAPEVEET.js → chunk-7K7SA4TZ.js} +2 -2
- package/dist/chunk-7QWCPF6F.js +135 -0
- package/dist/chunk-7QWCPF6F.js.map +1 -0
- package/dist/{chunk-WTPPVXJP.js → chunk-AWB6DO24.js} +17 -10
- package/dist/chunk-AWB6DO24.js.map +1 -0
- package/dist/{chunk-SB2R5KHJ.js → chunk-BGICSUQK.js} +2 -2
- package/dist/{chunk-HK53FRMU.js → chunk-DVBA6PGR.js} +3 -7
- package/dist/{chunk-HK53FRMU.js.map → chunk-DVBA6PGR.js.map} +1 -1
- package/dist/{chunk-YM3V4Q3W.js → chunk-DZ2IQERZ.js} +5 -5
- package/dist/{chunk-I5AZKNNL.js → chunk-FEKVKYCN.js} +2 -2
- package/dist/{chunk-EADZIYQW.js → chunk-FVBSRBU3.js} +30 -21
- package/dist/chunk-FVBSRBU3.js.map +1 -0
- package/dist/{chunk-6YR2NEW3.js → chunk-G3VPBEBC.js} +2 -2
- package/dist/{chunk-JNUFQBXX.js → chunk-HCSIS35Y.js} +2 -2
- package/dist/{chunk-NPMMU4GY.js → chunk-IR7ADPAZ.js} +56 -1
- package/dist/chunk-IR7ADPAZ.js.map +1 -0
- package/dist/{chunk-AP4DLJDP.js → chunk-JBS4CCJG.js} +2 -2
- package/dist/chunk-M6J5YQ3P.js +100 -0
- package/dist/chunk-M6J5YQ3P.js.map +1 -0
- package/dist/{chunk-23M3SPXX.js → chunk-MBEXASMU.js} +8 -8
- package/dist/{chunk-TEA5KBIA.js → chunk-NESVWSI7.js} +2 -2
- package/dist/{chunk-ZTRQO5CX.js → chunk-OOHPUT5M.js} +2 -2
- package/dist/{chunk-V36FRPAU.js → chunk-ORTNQZLF.js} +4 -2
- package/dist/{chunk-V36FRPAU.js.map → chunk-ORTNQZLF.js.map} +1 -1
- package/dist/{chunk-ANZV33N5.js → chunk-OVY7IV3C.js} +2 -2
- package/dist/{chunk-ITBSJNIC.js → chunk-Q3NIGPRZ.js} +3 -3
- package/dist/{chunk-5IYZGJDW.js → chunk-RDQBXB3Y.js} +6 -6
- package/dist/{chunk-MY4TVLRB.js → chunk-TJHCK4OS.js} +4 -4
- package/dist/{chunk-PZBLGD7O.js → chunk-UCORQ7YO.js} +2 -2
- package/dist/{chunk-NL5EB57E.js → chunk-UHARXISZ.js} +4 -4
- package/dist/chunk-UHARXISZ.js.map +1 -0
- package/dist/{chunk-57KI55GJ.js → chunk-UK572773.js} +3 -3
- package/dist/{chunk-DDCW4SKN.js → chunk-V75HVZTB.js} +7 -6
- package/dist/chunk-V75HVZTB.js.map +1 -0
- package/dist/{chunk-6XWHJHNZ.js → chunk-WEYWZ7UE.js} +4 -1
- package/dist/chunk-WEYWZ7UE.js.map +1 -0
- package/dist/{chunk-STMRDPGZ.js → chunk-XM2Y5AFQ.js} +2 -2
- package/dist/commands/build/marketplace.js +62 -44
- package/dist/commands/build/marketplace.js.map +1 -1
- package/dist/commands/build/plugins.js +46 -37
- package/dist/commands/build/plugins.js.map +1 -1
- package/dist/commands/build/stack.js +43 -35
- package/dist/commands/build/stack.js.map +1 -1
- package/dist/commands/compile.js +44 -41
- package/dist/commands/compile.js.map +1 -1
- package/dist/commands/config/index.js +8 -8
- package/dist/commands/config/path.js +7 -7
- package/dist/commands/config/show.js +8 -8
- package/dist/commands/diff.js +13 -12
- package/dist/commands/diff.js.map +1 -1
- package/dist/commands/doctor.js +17 -40
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/edit.js +63 -70
- package/dist/commands/edit.js.map +1 -1
- package/dist/commands/eject.js +9 -9
- package/dist/commands/import/skill.js +60 -50
- package/dist/commands/import/skill.js.map +1 -1
- package/dist/commands/info.js +9 -9
- package/dist/commands/init.js +28 -29
- package/dist/commands/list.js +7 -7
- package/dist/commands/new/agent.js +8 -8
- package/dist/commands/new/marketplace.js +98 -83
- package/dist/commands/new/marketplace.js.map +1 -1
- package/dist/commands/new/skill.js +7 -7
- package/dist/commands/outdated.js +91 -100
- package/dist/commands/outdated.js.map +1 -1
- package/dist/commands/search.js +11 -11
- package/dist/commands/uninstall.js +40 -31
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/commands/update.js +9 -9
- package/dist/commands/validate.js +7 -7
- package/dist/components/skill-search/skill-search.js +2 -2
- package/dist/components/wizard/category-grid.js +3 -3
- package/dist/components/wizard/category-grid.test.js +12 -12
- package/dist/components/wizard/domain-selection.js +9 -9
- package/dist/components/wizard/info-panel.js +18 -0
- package/dist/components/wizard/search-modal.js +2 -2
- package/dist/components/wizard/search-modal.test.js +2 -2
- package/dist/components/wizard/source-grid.js +4 -4
- package/dist/components/wizard/source-grid.test.js +13 -13
- package/dist/components/wizard/stack-selection.js +8 -8
- package/dist/components/wizard/stats-panel.js +106 -5
- package/dist/components/wizard/stats-panel.js.map +1 -1
- package/dist/components/wizard/step-agents.js +9 -9
- package/dist/components/wizard/step-agents.test.js +12 -12
- package/dist/components/wizard/step-build.js +10 -11
- package/dist/components/wizard/step-build.test.js +13 -14
- package/dist/components/wizard/step-build.test.js.map +1 -1
- package/dist/components/wizard/step-confirm.js +4 -4
- package/dist/components/wizard/step-confirm.test.js +10 -10
- package/dist/components/wizard/step-refine.js +2 -2
- package/dist/components/wizard/step-refine.test.js +2 -2
- package/dist/components/wizard/step-settings.js +8 -8
- package/dist/components/wizard/step-settings.test.js +11 -11
- package/dist/components/wizard/step-sources.js +12 -12
- package/dist/components/wizard/step-sources.test.js +15 -15
- package/dist/components/wizard/step-stack.js +9 -9
- package/dist/components/wizard/step-stack.test.js +10 -10
- package/dist/components/wizard/wizard-layout.js +12 -12
- package/dist/components/wizard/wizard.js +24 -25
- package/dist/config-exports.js +1 -1
- package/dist/hooks/init.js +28 -29
- package/dist/hooks/init.js.map +1 -1
- package/dist/{loader-SQOK2BF7.js → loader-D5VE56SI.js} +4 -4
- package/dist/{source-loader-CCECAU5L.js → source-loader-INCCYL5P.js} +7 -7
- package/dist/source-manager-TEOUO734.js +19 -0
- package/dist/src/agents/developer/ai-developer/critical-reminders.md +31 -0
- package/dist/src/agents/developer/ai-developer/critical-requirements.md +17 -0
- package/dist/src/agents/developer/ai-developer/examples.md +137 -0
- package/dist/src/agents/developer/ai-developer/intro.md +23 -0
- package/dist/src/agents/developer/ai-developer/metadata.yaml +12 -0
- package/dist/src/agents/developer/ai-developer/output-format.md +228 -0
- package/dist/src/agents/developer/ai-developer/workflow.md +464 -0
- package/dist/src/agents/planning/api-pm/critical-reminders.md +32 -0
- package/dist/src/agents/planning/api-pm/critical-requirements.md +21 -0
- package/dist/src/agents/planning/api-pm/examples.md +157 -0
- package/dist/src/agents/planning/api-pm/intro.md +14 -0
- package/dist/src/agents/planning/api-pm/metadata.yaml +12 -0
- package/dist/src/agents/planning/api-pm/output-format.md +317 -0
- package/dist/src/agents/planning/api-pm/workflow.md +214 -0
- package/dist/src/agents/reviewer/ai-reviewer/critical-reminders.md +23 -0
- package/dist/src/agents/reviewer/ai-reviewer/critical-requirements.md +19 -0
- package/dist/src/agents/reviewer/ai-reviewer/examples.md +131 -0
- package/dist/src/agents/reviewer/ai-reviewer/intro.md +23 -0
- package/dist/src/agents/reviewer/ai-reviewer/metadata.yaml +10 -0
- package/dist/src/agents/reviewer/ai-reviewer/output-format.md +263 -0
- package/dist/src/agents/reviewer/ai-reviewer/workflow.md +177 -0
- package/dist/src/agents/reviewer/infra-reviewer/critical-reminders.md +21 -0
- package/dist/src/agents/reviewer/infra-reviewer/critical-requirements.md +19 -0
- package/dist/src/agents/reviewer/infra-reviewer/examples.md +123 -0
- package/dist/src/agents/reviewer/infra-reviewer/intro.md +25 -0
- package/dist/src/agents/reviewer/infra-reviewer/metadata.yaml +10 -0
- package/dist/src/agents/reviewer/infra-reviewer/output-format.md +240 -0
- package/dist/src/agents/reviewer/infra-reviewer/workflow.md +250 -0
- package/dist/src/agents/tester/api-tester/critical-reminders.md +23 -0
- package/dist/src/agents/tester/api-tester/critical-requirements.md +19 -0
- package/dist/src/agents/tester/api-tester/examples.md +74 -0
- package/dist/src/agents/tester/api-tester/intro.md +21 -0
- package/dist/src/agents/tester/api-tester/metadata.yaml +12 -0
- package/dist/src/agents/tester/api-tester/output-format.md +209 -0
- package/dist/src/agents/tester/api-tester/workflow.md +364 -0
- package/dist/stores/wizard-store.js +7 -7
- package/dist/stores/wizard-store.test.js +26 -26
- package/dist/stores/wizard-store.test.js.map +1 -1
- package/package.json +1 -1
- package/src/agents/developer/ai-developer/critical-reminders.md +31 -0
- package/src/agents/developer/ai-developer/critical-requirements.md +17 -0
- package/src/agents/developer/ai-developer/examples.md +137 -0
- package/src/agents/developer/ai-developer/intro.md +23 -0
- package/src/agents/developer/ai-developer/metadata.yaml +12 -0
- package/src/agents/developer/ai-developer/output-format.md +228 -0
- package/src/agents/developer/ai-developer/workflow.md +464 -0
- package/src/agents/planning/api-pm/critical-reminders.md +32 -0
- package/src/agents/planning/api-pm/critical-requirements.md +21 -0
- package/src/agents/planning/api-pm/examples.md +157 -0
- package/src/agents/planning/api-pm/intro.md +14 -0
- package/src/agents/planning/api-pm/metadata.yaml +12 -0
- package/src/agents/planning/api-pm/output-format.md +317 -0
- package/src/agents/planning/api-pm/workflow.md +214 -0
- package/src/agents/reviewer/ai-reviewer/critical-reminders.md +23 -0
- package/src/agents/reviewer/ai-reviewer/critical-requirements.md +19 -0
- package/src/agents/reviewer/ai-reviewer/examples.md +131 -0
- package/src/agents/reviewer/ai-reviewer/intro.md +23 -0
- package/src/agents/reviewer/ai-reviewer/metadata.yaml +10 -0
- package/src/agents/reviewer/ai-reviewer/output-format.md +263 -0
- package/src/agents/reviewer/ai-reviewer/workflow.md +177 -0
- package/src/agents/reviewer/infra-reviewer/critical-reminders.md +21 -0
- package/src/agents/reviewer/infra-reviewer/critical-requirements.md +19 -0
- package/src/agents/reviewer/infra-reviewer/examples.md +123 -0
- package/src/agents/reviewer/infra-reviewer/intro.md +25 -0
- package/src/agents/reviewer/infra-reviewer/metadata.yaml +10 -0
- package/src/agents/reviewer/infra-reviewer/output-format.md +240 -0
- package/src/agents/reviewer/infra-reviewer/workflow.md +250 -0
- package/src/agents/tester/api-tester/critical-reminders.md +23 -0
- package/src/agents/tester/api-tester/critical-requirements.md +19 -0
- package/src/agents/tester/api-tester/examples.md +74 -0
- package/src/agents/tester/api-tester/intro.md +21 -0
- package/src/agents/tester/api-tester/metadata.yaml +12 -0
- package/src/agents/tester/api-tester/output-format.md +209 -0
- package/src/agents/tester/api-tester/workflow.md +364 -0
- package/dist/chunk-6XWHJHNZ.js.map +0 -1
- package/dist/chunk-ANXHMG32.js.map +0 -1
- package/dist/chunk-ATPHV3MD.js +0 -143
- package/dist/chunk-ATPHV3MD.js.map +0 -1
- package/dist/chunk-CKZ65VFJ.js.map +0 -1
- package/dist/chunk-DDCW4SKN.js.map +0 -1
- package/dist/chunk-EADZIYQW.js.map +0 -1
- package/dist/chunk-FQTYF3OU.js +0 -114
- package/dist/chunk-FQTYF3OU.js.map +0 -1
- package/dist/chunk-LHUK5L6P.js.map +0 -1
- package/dist/chunk-NL5EB57E.js.map +0 -1
- package/dist/chunk-NPMMU4GY.js.map +0 -1
- package/dist/chunk-REZZSDXG.js.map +0 -1
- package/dist/chunk-VWTZOBBQ.js +0 -111
- package/dist/chunk-VWTZOBBQ.js.map +0 -1
- package/dist/chunk-WTPPVXJP.js.map +0 -1
- package/dist/chunk-ZFQTKY2S.js.map +0 -1
- package/dist/components/wizard/help-modal.js +0 -18
- package/dist/source-manager-4P7MTZRR.js +0 -19
- /package/dist/{chunk-RWVF6DQE.js.map → chunk-2RFE7LTV.js.map} +0 -0
- /package/dist/{chunk-BEZ6ZPDS.js.map → chunk-3O57Z6Q3.js.map} +0 -0
- /package/dist/{chunk-2DRPZXXK.js.map → chunk-3STOCHK4.js.map} +0 -0
- /package/dist/{chunk-TAPEVEET.js.map → chunk-7K7SA4TZ.js.map} +0 -0
- /package/dist/{chunk-SB2R5KHJ.js.map → chunk-BGICSUQK.js.map} +0 -0
- /package/dist/{chunk-YM3V4Q3W.js.map → chunk-DZ2IQERZ.js.map} +0 -0
- /package/dist/{chunk-I5AZKNNL.js.map → chunk-FEKVKYCN.js.map} +0 -0
- /package/dist/{chunk-6YR2NEW3.js.map → chunk-G3VPBEBC.js.map} +0 -0
- /package/dist/{chunk-JNUFQBXX.js.map → chunk-HCSIS35Y.js.map} +0 -0
- /package/dist/{chunk-AP4DLJDP.js.map → chunk-JBS4CCJG.js.map} +0 -0
- /package/dist/{chunk-23M3SPXX.js.map → chunk-MBEXASMU.js.map} +0 -0
- /package/dist/{chunk-TEA5KBIA.js.map → chunk-NESVWSI7.js.map} +0 -0
- /package/dist/{chunk-ZTRQO5CX.js.map → chunk-OOHPUT5M.js.map} +0 -0
- /package/dist/{chunk-ANZV33N5.js.map → chunk-OVY7IV3C.js.map} +0 -0
- /package/dist/{chunk-ITBSJNIC.js.map → chunk-Q3NIGPRZ.js.map} +0 -0
- /package/dist/{chunk-5IYZGJDW.js.map → chunk-RDQBXB3Y.js.map} +0 -0
- /package/dist/{chunk-MY4TVLRB.js.map → chunk-TJHCK4OS.js.map} +0 -0
- /package/dist/{chunk-PZBLGD7O.js.map → chunk-UCORQ7YO.js.map} +0 -0
- /package/dist/{chunk-57KI55GJ.js.map → chunk-UK572773.js.map} +0 -0
- /package/dist/{chunk-STMRDPGZ.js.map → chunk-XM2Y5AFQ.js.map} +0 -0
- /package/dist/components/wizard/{help-modal.js.map → info-panel.js.map} +0 -0
- /package/dist/{loader-SQOK2BF7.js.map → loader-D5VE56SI.js.map} +0 -0
- /package/dist/{source-loader-CCECAU5L.js.map → source-loader-INCCYL5P.js.map} +0 -0
- /package/dist/{source-manager-4P7MTZRR.js.map → source-manager-TEOUO734.js.map} +0 -0
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
StepSources
|
|
4
|
-
} from "../../chunk-
|
|
5
|
-
import "../../chunk-
|
|
4
|
+
} from "../../chunk-RDQBXB3Y.js";
|
|
5
|
+
import "../../chunk-ORTNQZLF.js";
|
|
6
6
|
import "../../chunk-K77I4XGL.js";
|
|
7
7
|
import "../../chunk-6XEZLWG5.js";
|
|
8
|
-
import "../../chunk-
|
|
8
|
+
import "../../chunk-35WALWDD.js";
|
|
9
9
|
import "../../chunk-7SOPVGDV.js";
|
|
10
|
-
import "../../chunk-
|
|
10
|
+
import "../../chunk-BGICSUQK.js";
|
|
11
11
|
import "../../chunk-P2FHS5IS.js";
|
|
12
12
|
import "../../chunk-WJXWYSBT.js";
|
|
13
13
|
import "../../chunk-XO6X5QE5.js";
|
|
14
14
|
import "../../chunk-KUV24B5M.js";
|
|
15
|
-
import "../../chunk-
|
|
16
|
-
import "../../chunk-
|
|
17
|
-
import "../../chunk-
|
|
18
|
-
import "../../chunk-
|
|
19
|
-
import "../../chunk-
|
|
20
|
-
import "../../chunk-
|
|
21
|
-
import "../../chunk-
|
|
15
|
+
import "../../chunk-V75HVZTB.js";
|
|
16
|
+
import "../../chunk-DVBA6PGR.js";
|
|
17
|
+
import "../../chunk-FVBSRBU3.js";
|
|
18
|
+
import "../../chunk-XM2Y5AFQ.js";
|
|
19
|
+
import "../../chunk-47HMJ4BY.js";
|
|
20
|
+
import "../../chunk-OOHPUT5M.js";
|
|
21
|
+
import "../../chunk-WEYWZ7UE.js";
|
|
22
22
|
import "../../chunk-6PGL2XMY.js";
|
|
23
|
-
import "../../chunk-
|
|
23
|
+
import "../../chunk-IR7ADPAZ.js";
|
|
24
24
|
import "../../chunk-DHET7RCE.js";
|
|
25
25
|
export {
|
|
26
26
|
StepSources
|
|
@@ -11,9 +11,9 @@ import {
|
|
|
11
11
|
} from "../../chunk-66UDJBF6.js";
|
|
12
12
|
import {
|
|
13
13
|
WEB_PAIR_MATRIX
|
|
14
|
-
} from "../../chunk-
|
|
15
|
-
import "../../chunk-
|
|
16
|
-
import "../../chunk-
|
|
14
|
+
} from "../../chunk-2RFE7LTV.js";
|
|
15
|
+
import "../../chunk-HCSIS35Y.js";
|
|
16
|
+
import "../../chunk-JBS4CCJG.js";
|
|
17
17
|
import {
|
|
18
18
|
afterEach,
|
|
19
19
|
beforeEach,
|
|
@@ -24,30 +24,30 @@ import {
|
|
|
24
24
|
} from "../../chunk-XY3XDVMI.js";
|
|
25
25
|
import {
|
|
26
26
|
StepSources
|
|
27
|
-
} from "../../chunk-
|
|
28
|
-
import "../../chunk-
|
|
27
|
+
} from "../../chunk-RDQBXB3Y.js";
|
|
28
|
+
import "../../chunk-ORTNQZLF.js";
|
|
29
29
|
import "../../chunk-K77I4XGL.js";
|
|
30
30
|
import "../../chunk-6XEZLWG5.js";
|
|
31
|
-
import "../../chunk-
|
|
31
|
+
import "../../chunk-35WALWDD.js";
|
|
32
32
|
import "../../chunk-7SOPVGDV.js";
|
|
33
|
-
import "../../chunk-
|
|
33
|
+
import "../../chunk-BGICSUQK.js";
|
|
34
34
|
import "../../chunk-P2FHS5IS.js";
|
|
35
35
|
import "../../chunk-WJXWYSBT.js";
|
|
36
36
|
import "../../chunk-XO6X5QE5.js";
|
|
37
37
|
import "../../chunk-KUV24B5M.js";
|
|
38
38
|
import {
|
|
39
39
|
useWizardStore
|
|
40
|
-
} from "../../chunk-
|
|
41
|
-
import "../../chunk-
|
|
42
|
-
import "../../chunk-
|
|
43
|
-
import "../../chunk-
|
|
40
|
+
} from "../../chunk-V75HVZTB.js";
|
|
41
|
+
import "../../chunk-DVBA6PGR.js";
|
|
42
|
+
import "../../chunk-FVBSRBU3.js";
|
|
43
|
+
import "../../chunk-XM2Y5AFQ.js";
|
|
44
44
|
import {
|
|
45
45
|
initializeMatrix
|
|
46
|
-
} from "../../chunk-
|
|
47
|
-
import "../../chunk-
|
|
48
|
-
import "../../chunk-
|
|
46
|
+
} from "../../chunk-47HMJ4BY.js";
|
|
47
|
+
import "../../chunk-OOHPUT5M.js";
|
|
48
|
+
import "../../chunk-WEYWZ7UE.js";
|
|
49
49
|
import "../../chunk-6PGL2XMY.js";
|
|
50
|
-
import "../../chunk-
|
|
50
|
+
import "../../chunk-IR7ADPAZ.js";
|
|
51
51
|
import {
|
|
52
52
|
init_esm_shims
|
|
53
53
|
} from "../../chunk-DHET7RCE.js";
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
StepStack
|
|
4
|
-
} from "../../chunk-
|
|
5
|
-
import "../../chunk-
|
|
4
|
+
} from "../../chunk-G3VPBEBC.js";
|
|
5
|
+
import "../../chunk-UK572773.js";
|
|
6
6
|
import "../../chunk-K77I4XGL.js";
|
|
7
7
|
import "../../chunk-4QA5TIBU.js";
|
|
8
8
|
import "../../chunk-WJXWYSBT.js";
|
|
9
|
-
import "../../chunk-
|
|
10
|
-
import "../../chunk-
|
|
11
|
-
import "../../chunk-
|
|
12
|
-
import "../../chunk-
|
|
13
|
-
import "../../chunk-
|
|
14
|
-
import "../../chunk-
|
|
9
|
+
import "../../chunk-V75HVZTB.js";
|
|
10
|
+
import "../../chunk-FVBSRBU3.js";
|
|
11
|
+
import "../../chunk-XM2Y5AFQ.js";
|
|
12
|
+
import "../../chunk-47HMJ4BY.js";
|
|
13
|
+
import "../../chunk-OOHPUT5M.js";
|
|
14
|
+
import "../../chunk-WEYWZ7UE.js";
|
|
15
15
|
import "../../chunk-6PGL2XMY.js";
|
|
16
|
-
import "../../chunk-
|
|
16
|
+
import "../../chunk-IR7ADPAZ.js";
|
|
17
17
|
import "../../chunk-DHET7RCE.js";
|
|
18
18
|
export {
|
|
19
19
|
StepStack
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
TEST_CATEGORIES,
|
|
17
17
|
createMockMatrix,
|
|
18
18
|
createMockResolvedStack
|
|
19
|
-
} from "../../chunk-
|
|
19
|
+
} from "../../chunk-JBS4CCJG.js";
|
|
20
20
|
import {
|
|
21
21
|
afterEach,
|
|
22
22
|
beforeEach,
|
|
@@ -27,23 +27,23 @@ import {
|
|
|
27
27
|
} from "../../chunk-XY3XDVMI.js";
|
|
28
28
|
import {
|
|
29
29
|
StepStack
|
|
30
|
-
} from "../../chunk-
|
|
31
|
-
import "../../chunk-
|
|
30
|
+
} from "../../chunk-G3VPBEBC.js";
|
|
31
|
+
import "../../chunk-UK572773.js";
|
|
32
32
|
import "../../chunk-K77I4XGL.js";
|
|
33
33
|
import "../../chunk-4QA5TIBU.js";
|
|
34
34
|
import "../../chunk-WJXWYSBT.js";
|
|
35
35
|
import {
|
|
36
36
|
useWizardStore
|
|
37
|
-
} from "../../chunk-
|
|
38
|
-
import "../../chunk-
|
|
39
|
-
import "../../chunk-
|
|
37
|
+
} from "../../chunk-V75HVZTB.js";
|
|
38
|
+
import "../../chunk-FVBSRBU3.js";
|
|
39
|
+
import "../../chunk-XM2Y5AFQ.js";
|
|
40
40
|
import {
|
|
41
41
|
initializeMatrix
|
|
42
|
-
} from "../../chunk-
|
|
43
|
-
import "../../chunk-
|
|
44
|
-
import "../../chunk-
|
|
42
|
+
} from "../../chunk-47HMJ4BY.js";
|
|
43
|
+
import "../../chunk-OOHPUT5M.js";
|
|
44
|
+
import "../../chunk-WEYWZ7UE.js";
|
|
45
45
|
import "../../chunk-6PGL2XMY.js";
|
|
46
|
-
import "../../chunk-
|
|
46
|
+
import "../../chunk-IR7ADPAZ.js";
|
|
47
47
|
import {
|
|
48
48
|
init_esm_shims
|
|
49
49
|
} from "../../chunk-DHET7RCE.js";
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
WizardLayout
|
|
4
|
-
} from "../../chunk-
|
|
4
|
+
} from "../../chunk-AWB6DO24.js";
|
|
5
5
|
import "../../chunk-YVFGISUO.js";
|
|
6
|
-
import "../../chunk-
|
|
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-
|
|
6
|
+
import "../../chunk-ORTNQZLF.js";
|
|
7
|
+
import "../../chunk-UHARXISZ.js";
|
|
8
|
+
import "../../chunk-7QWCPF6F.js";
|
|
9
|
+
import "../../chunk-V75HVZTB.js";
|
|
10
|
+
import "../../chunk-DVBA6PGR.js";
|
|
11
|
+
import "../../chunk-FVBSRBU3.js";
|
|
12
|
+
import "../../chunk-XM2Y5AFQ.js";
|
|
13
|
+
import "../../chunk-47HMJ4BY.js";
|
|
14
|
+
import "../../chunk-OOHPUT5M.js";
|
|
15
|
+
import "../../chunk-WEYWZ7UE.js";
|
|
16
16
|
import "../../chunk-6PGL2XMY.js";
|
|
17
|
-
import "../../chunk-
|
|
17
|
+
import "../../chunk-IR7ADPAZ.js";
|
|
18
18
|
import "../../chunk-DHET7RCE.js";
|
|
19
19
|
export {
|
|
20
20
|
WizardLayout
|
|
@@ -1,44 +1,43 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
Wizard
|
|
4
|
-
} from "../../chunk-
|
|
5
|
-
import "../../chunk-
|
|
4
|
+
} from "../../chunk-5IR4QU7G.js";
|
|
5
|
+
import "../../chunk-AWB6DO24.js";
|
|
6
6
|
import "../../chunk-YVFGISUO.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-FQTYF3OU.js";
|
|
7
|
+
import "../../chunk-3STOCHK4.js";
|
|
8
|
+
import "../../chunk-RDQBXB3Y.js";
|
|
9
|
+
import "../../chunk-ORTNQZLF.js";
|
|
10
|
+
import "../../chunk-G3VPBEBC.js";
|
|
11
|
+
import "../../chunk-UK572773.js";
|
|
12
|
+
import "../../chunk-TJHCK4OS.js";
|
|
13
|
+
import "../../chunk-M6J5YQ3P.js";
|
|
15
14
|
import "../../chunk-K77I4XGL.js";
|
|
16
|
-
import "../../chunk-
|
|
15
|
+
import "../../chunk-OVY7IV3C.js";
|
|
17
16
|
import "../../chunk-6XEZLWG5.js";
|
|
18
|
-
import "../../chunk-
|
|
17
|
+
import "../../chunk-35WALWDD.js";
|
|
19
18
|
import "../../chunk-7SOPVGDV.js";
|
|
20
|
-
import "../../chunk-
|
|
21
|
-
import "../../chunk-
|
|
19
|
+
import "../../chunk-BGICSUQK.js";
|
|
20
|
+
import "../../chunk-3O57Z6Q3.js";
|
|
22
21
|
import "../../chunk-P2FHS5IS.js";
|
|
23
|
-
import "../../chunk-
|
|
24
|
-
import "../../chunk-
|
|
22
|
+
import "../../chunk-2RXDM5HN.js";
|
|
23
|
+
import "../../chunk-UHARXISZ.js";
|
|
25
24
|
import "../../chunk-HSKKGAOW.js";
|
|
26
25
|
import "../../chunk-4QA5TIBU.js";
|
|
27
26
|
import "../../chunk-WJXWYSBT.js";
|
|
28
|
-
import "../../chunk-
|
|
27
|
+
import "../../chunk-7QWCPF6F.js";
|
|
29
28
|
import "../../chunk-XO6X5QE5.js";
|
|
30
29
|
import "../../chunk-KUV24B5M.js";
|
|
31
|
-
import "../../chunk-
|
|
30
|
+
import "../../chunk-V75HVZTB.js";
|
|
32
31
|
import "../../chunk-HEQVUIHQ.js";
|
|
33
32
|
import "../../chunk-U3IGFMCY.js";
|
|
34
|
-
import "../../chunk-
|
|
35
|
-
import "../../chunk-
|
|
36
|
-
import "../../chunk-
|
|
37
|
-
import "../../chunk-
|
|
38
|
-
import "../../chunk-
|
|
39
|
-
import "../../chunk-
|
|
33
|
+
import "../../chunk-DVBA6PGR.js";
|
|
34
|
+
import "../../chunk-FVBSRBU3.js";
|
|
35
|
+
import "../../chunk-XM2Y5AFQ.js";
|
|
36
|
+
import "../../chunk-47HMJ4BY.js";
|
|
37
|
+
import "../../chunk-OOHPUT5M.js";
|
|
38
|
+
import "../../chunk-WEYWZ7UE.js";
|
|
40
39
|
import "../../chunk-6PGL2XMY.js";
|
|
41
|
-
import "../../chunk-
|
|
40
|
+
import "../../chunk-IR7ADPAZ.js";
|
|
42
41
|
import "../../chunk-DHET7RCE.js";
|
|
43
42
|
export {
|
|
44
43
|
Wizard
|
package/dist/config-exports.js
CHANGED
package/dist/hooks/init.js
CHANGED
|
@@ -1,55 +1,54 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
showDashboard
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
6
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-MBEXASMU.js";
|
|
5
|
+
import "../chunk-5IR4QU7G.js";
|
|
6
|
+
import "../chunk-AWB6DO24.js";
|
|
7
7
|
import "../chunk-YVFGISUO.js";
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
12
|
-
import "../chunk-
|
|
13
|
-
import "../chunk-
|
|
14
|
-
import "../chunk-
|
|
15
|
-
import "../chunk-FQTYF3OU.js";
|
|
8
|
+
import "../chunk-3STOCHK4.js";
|
|
9
|
+
import "../chunk-RDQBXB3Y.js";
|
|
10
|
+
import "../chunk-ORTNQZLF.js";
|
|
11
|
+
import "../chunk-G3VPBEBC.js";
|
|
12
|
+
import "../chunk-UK572773.js";
|
|
13
|
+
import "../chunk-TJHCK4OS.js";
|
|
14
|
+
import "../chunk-M6J5YQ3P.js";
|
|
16
15
|
import "../chunk-K77I4XGL.js";
|
|
17
|
-
import "../chunk-
|
|
16
|
+
import "../chunk-OVY7IV3C.js";
|
|
18
17
|
import "../chunk-6XEZLWG5.js";
|
|
19
|
-
import "../chunk-
|
|
18
|
+
import "../chunk-35WALWDD.js";
|
|
20
19
|
import "../chunk-7SOPVGDV.js";
|
|
21
|
-
import "../chunk-
|
|
22
|
-
import "../chunk-
|
|
20
|
+
import "../chunk-BGICSUQK.js";
|
|
21
|
+
import "../chunk-3O57Z6Q3.js";
|
|
23
22
|
import "../chunk-P2FHS5IS.js";
|
|
24
|
-
import "../chunk-
|
|
25
|
-
import "../chunk-
|
|
23
|
+
import "../chunk-2RXDM5HN.js";
|
|
24
|
+
import "../chunk-UHARXISZ.js";
|
|
26
25
|
import "../chunk-HSKKGAOW.js";
|
|
27
26
|
import "../chunk-4QA5TIBU.js";
|
|
28
27
|
import "../chunk-WJXWYSBT.js";
|
|
29
|
-
import "../chunk-
|
|
28
|
+
import "../chunk-7QWCPF6F.js";
|
|
30
29
|
import "../chunk-XO6X5QE5.js";
|
|
31
30
|
import "../chunk-KUV24B5M.js";
|
|
32
|
-
import "../chunk-
|
|
31
|
+
import "../chunk-V75HVZTB.js";
|
|
33
32
|
import "../chunk-HEQVUIHQ.js";
|
|
34
33
|
import "../chunk-U3IGFMCY.js";
|
|
35
|
-
import "../chunk-
|
|
34
|
+
import "../chunk-DVBA6PGR.js";
|
|
36
35
|
import "../chunk-B7KZLXHV.js";
|
|
37
|
-
import "../chunk-
|
|
36
|
+
import "../chunk-4DZNTUK7.js";
|
|
38
37
|
import "../chunk-N6A7A4RA.js";
|
|
39
|
-
import "../chunk-
|
|
38
|
+
import "../chunk-DZ2IQERZ.js";
|
|
40
39
|
import {
|
|
41
40
|
detectInstallation,
|
|
42
41
|
resolveSource
|
|
43
|
-
} from "../chunk-
|
|
44
|
-
import "../chunk-
|
|
45
|
-
import "../chunk-
|
|
42
|
+
} from "../chunk-FVBSRBU3.js";
|
|
43
|
+
import "../chunk-XM2Y5AFQ.js";
|
|
44
|
+
import "../chunk-47HMJ4BY.js";
|
|
46
45
|
import {
|
|
47
46
|
EXIT_CODES
|
|
48
|
-
} from "../chunk-
|
|
49
|
-
import "../chunk-
|
|
50
|
-
import "../chunk-
|
|
47
|
+
} from "../chunk-7K7SA4TZ.js";
|
|
48
|
+
import "../chunk-OOHPUT5M.js";
|
|
49
|
+
import "../chunk-WEYWZ7UE.js";
|
|
51
50
|
import "../chunk-6PGL2XMY.js";
|
|
52
|
-
import "../chunk-
|
|
51
|
+
import "../chunk-IR7ADPAZ.js";
|
|
53
52
|
import {
|
|
54
53
|
init_esm_shims
|
|
55
54
|
} from "../chunk-DHET7RCE.js";
|
package/dist/hooks/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/cli/hooks/init.ts"],"sourcesContent":["import { Hook } from \"@oclif/core\";\nimport { resolveSource } from \"../lib/configuration/index.js\";\nimport { detectInstallation } from \"../lib/installation/installation.js\";\nimport { showDashboard } from \"../commands/init.js\";\nimport { EXIT_CODES } from \"../lib/exit-codes.js\";\nimport type { ConfigWithSource } from \"../base-command.js\";\n\nconst hook: Hook<\"init\"> = async function (options) {\n const projectDir = process.cwd();\n\n // When no command is given and project is already initialized, show dashboard\n if (options.id === undefined) {\n const installation = await detectInstallation(projectDir);\n\n if (installation) {\n const selectedCommand = await showDashboard(projectDir);\n if (selectedCommand) {\n await options.config.runCommand(selectedCommand);\n }\n this.exit(EXIT_CODES.SUCCESS);\n }\n }\n\n // Extract --source flag from argv (not yet parsed by oclif at this point)\n let sourceFlag: string | undefined;\n const sourceArgIndex = options.argv.indexOf(\"--source\");\n if (sourceArgIndex !== -1 && sourceArgIndex + 1 < options.argv.length) {\n sourceFlag = options.argv[sourceArgIndex + 1];\n } else {\n const sourceFlagWithEquals = options.argv.find((arg) => arg.startsWith(\"--source=\"));\n if (sourceFlagWithEquals) {\n sourceFlag = sourceFlagWithEquals.split(\"=\")[1];\n }\n }\n\n // Short form -s\n const sArgIndex = options.argv.indexOf(\"-s\");\n if (sArgIndex !== -1 && sArgIndex + 1 < options.argv.length) {\n sourceFlag = options.argv[sArgIndex + 1];\n }\n\n try {\n const resolvedConfig = await resolveSource(sourceFlag, projectDir);\n // Boundary cast: oclif Config is a class (not augmentable); read in BaseCommand.sourceConfig\n (options.config as unknown as ConfigWithSource).sourceConfig = resolvedConfig;\n } catch (error) {\n // Let the command handle config failures - commands can check if sourceConfig is undefined\n }\n};\n\nexport default hook;\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/cli/hooks/init.ts"],"sourcesContent":["import { Hook } from \"@oclif/core\";\nimport { resolveSource } from \"../lib/configuration/index.js\";\nimport { detectInstallation } from \"../lib/installation/installation.js\";\nimport { showDashboard } from \"../commands/init.js\";\nimport { EXIT_CODES } from \"../lib/exit-codes.js\";\nimport type { ConfigWithSource } from \"../base-command.js\";\n\nconst hook: Hook<\"init\"> = async function (options) {\n const projectDir = process.cwd();\n\n // When no command is given and project is already initialized, show dashboard\n if (options.id === undefined) {\n const installation = await detectInstallation(projectDir);\n\n if (installation) {\n const selectedCommand = await showDashboard(projectDir);\n if (selectedCommand) {\n await options.config.runCommand(selectedCommand);\n }\n this.exit(EXIT_CODES.SUCCESS);\n }\n }\n\n // Extract --source flag from argv (not yet parsed by oclif at this point)\n let sourceFlag: string | undefined;\n const sourceArgIndex = options.argv.indexOf(\"--source\");\n if (sourceArgIndex !== -1 && sourceArgIndex + 1 < options.argv.length) {\n sourceFlag = options.argv[sourceArgIndex + 1];\n } else {\n const sourceFlagWithEquals = options.argv.find((arg) => arg.startsWith(\"--source=\"));\n if (sourceFlagWithEquals) {\n sourceFlag = sourceFlagWithEquals.split(\"=\")[1];\n }\n }\n\n // Short form -s\n const sArgIndex = options.argv.indexOf(\"-s\");\n if (sArgIndex !== -1 && sArgIndex + 1 < options.argv.length) {\n sourceFlag = options.argv[sArgIndex + 1];\n }\n\n try {\n const resolvedConfig = await resolveSource(sourceFlag, projectDir);\n // Boundary cast: oclif Config is a class (not augmentable); read in BaseCommand.sourceConfig\n (options.config as unknown as ConfigWithSource).sourceConfig = resolvedConfig;\n } catch (error) {\n // Let the command handle config failures - commands can check if sourceConfig is undefined\n }\n};\n\nexport default hook;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAOA,IAAM,OAAqB,eAAgB,SAAS;AAClD,QAAM,aAAa,QAAQ,IAAI;AAG/B,MAAI,QAAQ,OAAO,QAAW;AAC5B,UAAM,eAAe,MAAM,mBAAmB,UAAU;AAExD,QAAI,cAAc;AAChB,YAAM,kBAAkB,MAAM,cAAc,UAAU;AACtD,UAAI,iBAAiB;AACnB,cAAM,QAAQ,OAAO,WAAW,eAAe;AAAA,MACjD;AACA,WAAK,KAAK,WAAW,OAAO;AAAA,IAC9B;AAAA,EACF;AAGA,MAAI;AACJ,QAAM,iBAAiB,QAAQ,KAAK,QAAQ,UAAU;AACtD,MAAI,mBAAmB,MAAM,iBAAiB,IAAI,QAAQ,KAAK,QAAQ;AACrE,iBAAa,QAAQ,KAAK,iBAAiB,CAAC;AAAA,EAC9C,OAAO;AACL,UAAM,uBAAuB,QAAQ,KAAK,KAAK,CAAC,QAAQ,IAAI,WAAW,WAAW,CAAC;AACnF,QAAI,sBAAsB;AACxB,mBAAa,qBAAqB,MAAM,GAAG,EAAE,CAAC;AAAA,IAChD;AAAA,EACF;AAGA,QAAM,YAAY,QAAQ,KAAK,QAAQ,IAAI;AAC3C,MAAI,cAAc,MAAM,YAAY,IAAI,QAAQ,KAAK,QAAQ;AAC3D,iBAAa,QAAQ,KAAK,YAAY,CAAC;AAAA,EACzC;AAEA,MAAI;AACF,UAAM,iBAAiB,MAAM,cAAc,YAAY,UAAU;AAEjE,IAAC,QAAQ,OAAuC,eAAe;AAAA,EACjE,SAAS,OAAO;AAAA,EAEhB;AACF;AAEA,IAAO,eAAQ;","names":[]}
|
|
@@ -5,9 +5,9 @@ import {
|
|
|
5
5
|
loadProjectAgents,
|
|
6
6
|
loadSkillsByIds,
|
|
7
7
|
parseFrontmatter
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-XM2Y5AFQ.js";
|
|
9
|
+
import "./chunk-OOHPUT5M.js";
|
|
10
|
+
import "./chunk-WEYWZ7UE.js";
|
|
11
11
|
import "./chunk-6PGL2XMY.js";
|
|
12
12
|
import "./chunk-DHET7RCE.js";
|
|
13
13
|
export {
|
|
@@ -17,4 +17,4 @@ export {
|
|
|
17
17
|
loadSkillsByIds,
|
|
18
18
|
parseFrontmatter
|
|
19
19
|
};
|
|
20
|
-
//# sourceMappingURL=loader-
|
|
20
|
+
//# sourceMappingURL=loader-D5VE56SI.js.map
|
|
@@ -4,13 +4,13 @@ import {
|
|
|
4
4
|
extractSourceName,
|
|
5
5
|
loadSkillsMatrixFromSource,
|
|
6
6
|
mergeLocalSkillsIntoMatrix
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-FVBSRBU3.js";
|
|
8
|
+
import "./chunk-XM2Y5AFQ.js";
|
|
9
|
+
import "./chunk-47HMJ4BY.js";
|
|
10
|
+
import "./chunk-OOHPUT5M.js";
|
|
11
|
+
import "./chunk-WEYWZ7UE.js";
|
|
12
12
|
import "./chunk-6PGL2XMY.js";
|
|
13
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-IR7ADPAZ.js";
|
|
14
14
|
import "./chunk-DHET7RCE.js";
|
|
15
15
|
export {
|
|
16
16
|
convertStackToResolvedStack,
|
|
@@ -18,4 +18,4 @@ export {
|
|
|
18
18
|
loadSkillsMatrixFromSource,
|
|
19
19
|
mergeLocalSkillsIntoMatrix
|
|
20
20
|
};
|
|
21
|
-
//# sourceMappingURL=source-loader-
|
|
21
|
+
//# sourceMappingURL=source-loader-INCCYL5P.js.map
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
addSource,
|
|
4
|
+
getSourceSummary,
|
|
5
|
+
removeSource
|
|
6
|
+
} from "./chunk-FVBSRBU3.js";
|
|
7
|
+
import "./chunk-XM2Y5AFQ.js";
|
|
8
|
+
import "./chunk-47HMJ4BY.js";
|
|
9
|
+
import "./chunk-OOHPUT5M.js";
|
|
10
|
+
import "./chunk-WEYWZ7UE.js";
|
|
11
|
+
import "./chunk-6PGL2XMY.js";
|
|
12
|
+
import "./chunk-IR7ADPAZ.js";
|
|
13
|
+
import "./chunk-DHET7RCE.js";
|
|
14
|
+
export {
|
|
15
|
+
addSource,
|
|
16
|
+
getSourceSummary,
|
|
17
|
+
removeSource
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=source-manager-TEOUO734.js.map
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
## ⚠️ CRITICAL REMINDERS
|
|
2
|
+
|
|
3
|
+
**CRITICAL: Make minimal and necessary changes ONLY. Do not modify anything not explicitly mentioned in the specification. Use existing utilities instead of creating new abstractions. Follow existing patterns exactly -- no invention.**
|
|
4
|
+
|
|
5
|
+
This is the most important rule. Most quality issues stem from violating it.
|
|
6
|
+
|
|
7
|
+
**(You MUST read the COMPLETE spec before writing any code - partial understanding causes spec violations)**
|
|
8
|
+
|
|
9
|
+
**(You MUST find and examine at least 2 similar existing AI modules before implementing - follow existing patterns exactly)**
|
|
10
|
+
|
|
11
|
+
**(You MUST validate ALL LLM responses with schemas - non-deterministic output breaks silently without validation)**
|
|
12
|
+
|
|
13
|
+
**(You MUST include retry logic with exponential backoff for all LLM API calls - transient failures are normal, not exceptional)**
|
|
14
|
+
|
|
15
|
+
**(You MUST check token counts before sending prompts - exceeding context windows causes silent truncation or hard errors)**
|
|
16
|
+
|
|
17
|
+
**(You MUST re-read files after editing to verify changes were written - never report success without verification)**
|
|
18
|
+
|
|
19
|
+
**(You MUST run tests and verify they pass - never claim success without test verification)**
|
|
20
|
+
|
|
21
|
+
**(You MUST write a finding to `.ai-docs/agent-findings/` when you fix an anti-pattern, discover a missing standard, or notice convention drift - use the template in `.ai-docs/agent-findings/TEMPLATE.md`)**
|
|
22
|
+
|
|
23
|
+
**AI-Specific Reminders:**
|
|
24
|
+
|
|
25
|
+
- Use config/environment variables for model names -- never hardcode
|
|
26
|
+
- Use parameterized templates for prompt construction -- never string concatenation
|
|
27
|
+
- Set explicit termination conditions on agent loops (max iterations + success criteria)
|
|
28
|
+
- Handle streaming connection drops and partial chunks
|
|
29
|
+
- Cache embeddings to avoid redundant computation
|
|
30
|
+
|
|
31
|
+
**Failure to follow these rules will produce brittle, expensive, and unpredictable AI code.**
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
## CRITICAL: Before Any Work
|
|
2
|
+
|
|
3
|
+
**(You MUST read the COMPLETE spec before writing any code - partial understanding causes spec violations)**
|
|
4
|
+
|
|
5
|
+
**(You MUST find and examine at least 2 similar existing AI modules before implementing - follow existing patterns exactly)**
|
|
6
|
+
|
|
7
|
+
**(You MUST validate ALL LLM responses with schemas - non-deterministic output breaks silently without validation)**
|
|
8
|
+
|
|
9
|
+
**(You MUST include retry logic with exponential backoff for all LLM API calls - transient failures are normal, not exceptional)**
|
|
10
|
+
|
|
11
|
+
**(You MUST check token counts before sending prompts - exceeding context windows causes silent truncation or hard errors)**
|
|
12
|
+
|
|
13
|
+
**(You MUST re-read files after editing to verify changes were written - never report success without verification)**
|
|
14
|
+
|
|
15
|
+
**(You MUST run tests and verify they pass - never claim success without test verification)**
|
|
16
|
+
|
|
17
|
+
**(You MUST write a finding to `.ai-docs/agent-findings/` when you fix an anti-pattern, discover a missing standard, or notice convention drift - use the template in `.ai-docs/agent-findings/TEMPLATE.md`)**
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
## Example Implementation Output
|
|
2
|
+
|
|
3
|
+
Here's what a complete, high-quality AI developer output looks like:
|
|
4
|
+
|
|
5
|
+
````markdown
|
|
6
|
+
# Implementation: Add RAG-Powered Knowledge Base Query
|
|
7
|
+
|
|
8
|
+
## Investigation Notes
|
|
9
|
+
|
|
10
|
+
**Files Read:**
|
|
11
|
+
|
|
12
|
+
- src/ai/chat-service.ts:12-89 - Existing completion wrapper with retry logic
|
|
13
|
+
- src/ai/embeddings.ts:1-45 - Embedding generation using config-driven model selection
|
|
14
|
+
- src/ai/prompts/templates.ts:20-67 - Parameterized prompt templates with variable substitution
|
|
15
|
+
- src/ai/schemas/response.ts:1-34 - Zod schemas for structured LLM output validation
|
|
16
|
+
|
|
17
|
+
**Pattern Found:**
|
|
18
|
+
All LLM calls go through `chatService.complete()` which handles retry + token counting.
|
|
19
|
+
Embeddings are cached in vector store keyed by content hash.
|
|
20
|
+
Prompts use `buildPrompt(template, variables)` pattern from templates.ts.
|
|
21
|
+
|
|
22
|
+
**Existing Code Reused:**
|
|
23
|
+
|
|
24
|
+
- `chatService.complete()` from chat-service.ts - handles retry, rate limits, token counting
|
|
25
|
+
- `generateEmbedding()` from embeddings.ts - cached embedding generation
|
|
26
|
+
- `buildPrompt()` from templates.ts - parameterized template rendering
|
|
27
|
+
- `responseSchema` pattern from schemas/response.ts - Zod validation of LLM output
|
|
28
|
+
|
|
29
|
+
## Implementation Plan
|
|
30
|
+
|
|
31
|
+
1. Add knowledge base query prompt template to templates.ts
|
|
32
|
+
2. Create retrieval module with vector similarity search
|
|
33
|
+
3. Wire RAG pipeline: embed query -> retrieve -> build context -> generate
|
|
34
|
+
4. Add response schema for structured knowledge base answers
|
|
35
|
+
5. Add tests with mocked LLM responses
|
|
36
|
+
|
|
37
|
+
## Changes Made
|
|
38
|
+
|
|
39
|
+
### 1. Prompt Template (src/ai/prompts/templates.ts +18 lines)
|
|
40
|
+
|
|
41
|
+
- Added `KNOWLEDGE_BASE_QUERY` template with system context, retrieved documents, and user query slots
|
|
42
|
+
- Uses existing `buildPrompt()` pattern
|
|
43
|
+
|
|
44
|
+
### 2. Response Schema (src/ai/schemas/kb-response.ts, new file, 22 lines)
|
|
45
|
+
|
|
46
|
+
```typescript
|
|
47
|
+
const kbResponseSchema = z.object({
|
|
48
|
+
answer: z.string(),
|
|
49
|
+
sources: z.array(
|
|
50
|
+
z.object({
|
|
51
|
+
documentId: z.string(),
|
|
52
|
+
relevance: z.number().min(0).max(1),
|
|
53
|
+
excerpt: z.string(),
|
|
54
|
+
}),
|
|
55
|
+
),
|
|
56
|
+
confidence: z.enum(["high", "medium", "low"]),
|
|
57
|
+
});
|
|
58
|
+
```
|
|
59
|
+
````
|
|
60
|
+
|
|
61
|
+
### 3. RAG Pipeline (src/ai/knowledge-base.ts, new file, 67 lines)
|
|
62
|
+
|
|
63
|
+
- `queryKnowledgeBase(query, options)` - full RAG pipeline
|
|
64
|
+
- Token budget: 500 system + 2000 context + 500 response reserve
|
|
65
|
+
- Uses `generateEmbedding()` for query embedding (cached)
|
|
66
|
+
- Retrieves top-k documents with similarity threshold
|
|
67
|
+
- Validates response with `kbResponseSchema.safeParse()`
|
|
68
|
+
- Falls back to "I don't have enough information" on parse failure
|
|
69
|
+
|
|
70
|
+
### 4. Tests (src/ai/**tests**/knowledge-base.test.ts, new file, 89 lines)
|
|
71
|
+
|
|
72
|
+
- Mocked chat service and embedding generator
|
|
73
|
+
- Tests: happy path, empty results, malformed LLM output, token limit exceeded
|
|
74
|
+
|
|
75
|
+
## AI Design Decisions
|
|
76
|
+
|
|
77
|
+
### Model Selection
|
|
78
|
+
|
|
79
|
+
| Use Case | Model | Rationale |
|
|
80
|
+
| -------------- | ---------------------- | ----------------------------------- |
|
|
81
|
+
| RAG generation | `config.defaultModel` | Configurable, not hardcoded |
|
|
82
|
+
| Fallback | `config.fallbackModel` | Lower cost, used on primary failure |
|
|
83
|
+
|
|
84
|
+
### Token Budget
|
|
85
|
+
|
|
86
|
+
| Component | Budget | Strategy if Exceeded |
|
|
87
|
+
| ---------------- | ------ | ---------------------------------- |
|
|
88
|
+
| System prompt | 500 | Fixed -- not compressible |
|
|
89
|
+
| Context/RAG | 2000 | Truncate lowest-relevance docs |
|
|
90
|
+
| Response reserve | 500 | Minimum for structured JSON output |
|
|
91
|
+
|
|
92
|
+
### Prompt Design
|
|
93
|
+
|
|
94
|
+
- **Template approach:** Parameterized via `buildPrompt()` from templates.ts
|
|
95
|
+
- **Output format:** JSON mode with Zod validation (`kbResponseSchema`)
|
|
96
|
+
- **Validation:** `safeParse()` with fallback message on failure
|
|
97
|
+
|
|
98
|
+
### Error Recovery
|
|
99
|
+
|
|
100
|
+
| Failure Mode | Strategy |
|
|
101
|
+
| ----------------- | ----------------------------------------- |
|
|
102
|
+
| Rate limit (429) | Handled by `chatService.complete()` retry |
|
|
103
|
+
| Malformed output | Re-prompt once, then return safe fallback |
|
|
104
|
+
| Model unavailable | Fall back to `config.fallbackModel` |
|
|
105
|
+
|
|
106
|
+
## Verification
|
|
107
|
+
|
|
108
|
+
**Success Criteria:**
|
|
109
|
+
|
|
110
|
+
- [x] Query returns structured answer with sources (test: knowledge-base.test.ts:23)
|
|
111
|
+
- [x] Low-relevance documents excluded (test: knowledge-base.test.ts:45)
|
|
112
|
+
- [x] Malformed LLM output returns safe fallback (test: knowledge-base.test.ts:67)
|
|
113
|
+
- [x] Token budget respected (test: knowledge-base.test.ts:78)
|
|
114
|
+
|
|
115
|
+
**Quality Checks:**
|
|
116
|
+
|
|
117
|
+
- [x] LLM response validated with Zod schema
|
|
118
|
+
- [x] Token counts checked before API call
|
|
119
|
+
- [x] Existing chat-service retry logic reused
|
|
120
|
+
- [x] Model name from config, not hardcoded
|
|
121
|
+
- [x] Embeddings use cached generation
|
|
122
|
+
|
|
123
|
+
**Build Status:**
|
|
124
|
+
|
|
125
|
+
- [x] `npm test` passes
|
|
126
|
+
- [x] `npm run build` succeeds
|
|
127
|
+
- [x] No type/lint errors
|
|
128
|
+
|
|
129
|
+
## Summary
|
|
130
|
+
|
|
131
|
+
**Files:** 3 changed, 1 new (+196 lines)
|
|
132
|
+
**Scope:** Added RAG query pipeline only. Did NOT add document ingestion, admin UI, or analytics (not in spec).
|
|
133
|
+
**For Reviewer:** Evaluate the token budget allocation -- 2000 tokens for context may need tuning based on average document length.
|
|
134
|
+
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
```
|