@hiroleague/taskmanager 0.0.1 → 0.0.3
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/LICENSE +21 -0
- package/README.md +41 -52
- package/dist/assets/architecture-YZFGNWBL-DoE0KxgG.js +1 -0
- package/dist/assets/architectureDiagram-Q4EWVU46-DeuBhy7X.js +36 -0
- package/dist/assets/{blockDiagram-DXYQGD6D-DfOGNphI.js → blockDiagram-DXYQGD6D-BDBy9ns9.js} +1 -1
- package/dist/assets/{c4Diagram-AHTNJAMY-B2Yfcwbo.js → c4Diagram-AHTNJAMY-CpqJj_8a.js} +1 -1
- package/dist/assets/channel-PHRyjspt.js +1 -0
- package/dist/assets/{chunk-2KRD3SAO-9yt00aGC.js → chunk-2KRD3SAO-DEpUsxdZ.js} +1 -1
- package/dist/assets/chunk-336JU56O-BGQvSwLk.js +2 -0
- package/dist/assets/chunk-426QAEUC-Cl9nQN9c.js +1 -0
- package/dist/assets/{chunk-4TB4RGXK-DF8yJBFl.js → chunk-4TB4RGXK-Dq7aiIrZ.js} +2 -2
- package/dist/assets/{chunk-5FUZZQ4R-XEga0hMC.js → chunk-5FUZZQ4R-B_HuuUjf.js} +1 -1
- package/dist/assets/{chunk-5PVQY5BW-BrmXs2Gs.js → chunk-5PVQY5BW-cGfZCZGU.js} +2 -2
- package/dist/assets/{chunk-67CJDMHE-5wFKo04G.js → chunk-67CJDMHE-BMYAVZfw.js} +1 -1
- package/dist/assets/{chunk-7N4EOEYR-BRRGX_NC.js → chunk-7N4EOEYR-Ct-EY7Nc.js} +1 -1
- package/dist/assets/{chunk-AA7GKIK3-DUZv_pNI.js → chunk-AA7GKIK3-Bd4HFpeo.js} +1 -1
- package/dist/assets/{chunk-CIAEETIT-mA5aM_d7.js → chunk-CIAEETIT-CrFUkPMT.js} +1 -1
- package/dist/assets/{chunk-EDXVE4YY-DxUqDyxy.js → chunk-EDXVE4YY-DMDyt0NF.js} +1 -1
- package/dist/assets/{chunk-ENJZ2VHE-BgZKYo1l.js → chunk-ENJZ2VHE-DrWzOrpd.js} +1 -1
- package/dist/assets/{chunk-FOC6F5B3-B-cqGCPC.js → chunk-FOC6F5B3-Bemzq96j.js} +1 -1
- package/dist/assets/{chunk-ICPOFSXX-BNR1V8rT.js → chunk-ICPOFSXX-DkUVjrLw.js} +5 -5
- package/dist/assets/{chunk-K5T4RW27-BLRDzioh.js → chunk-K5T4RW27-ALKIf000.js} +5 -5
- package/dist/assets/{chunk-KGLVRYIC-CTkQSeKy.js → chunk-KGLVRYIC-Bg6HNTZ-.js} +1 -1
- package/dist/assets/{chunk-LIHQZDEY-Cf34Nu3J.js → chunk-LIHQZDEY-DeyGongE.js} +1 -1
- package/dist/assets/{chunk-ORNJ4GCN-D3uXgbay.js → chunk-ORNJ4GCN-Bx83s1bJ.js} +1 -1
- package/dist/assets/{chunk-OYMX7WX6-syQho5jf.js → chunk-OYMX7WX6-BqRUtRpL.js} +1 -1
- package/dist/assets/{chunk-U2HBQHQK-DTJPeU7W.js → chunk-U2HBQHQK-DogcerR6.js} +1 -1
- package/dist/assets/{chunk-X2U36JSP-CrTnmMqG.js → chunk-X2U36JSP-CwVWdmZV.js} +1 -1
- package/dist/assets/chunk-XPW4576I-DQpNCogT.js +32 -0
- package/dist/assets/{chunk-YZCP3GAM-9wq0QKUn.js → chunk-YZCP3GAM-crQSbji9.js} +1 -1
- package/dist/assets/{chunk-ZZ45TVLE-D3I1kLlo.js → chunk-ZZ45TVLE-Bk1S1YtS.js} +1 -1
- package/dist/assets/classDiagram-6PBFFD2Q-B_TabGaU.js +1 -0
- package/dist/assets/classDiagram-v2-HSJHXN6E-CGnZkUWw.js +1 -0
- package/dist/assets/clone-D4ka472w.js +1 -0
- package/dist/assets/{cose-bilkent-S5V4N54A-BygGvZGW.js → cose-bilkent-S5V4N54A-RBTHUit8.js} +1 -1
- package/dist/assets/cytoscape.esm-BGJwlmkf.js +321 -0
- package/dist/assets/dagre-B32eYLtm.js +1 -0
- package/dist/assets/{dagre-KV5264BT-BBqulDtd.js → dagre-KV5264BT-nX7tuXXn.js} +1 -1
- package/dist/assets/diagram-5BDNPKRD-DRxMXlQr.js +10 -0
- package/dist/assets/diagram-G4DWMVQ6-CoojevGm.js +24 -0
- package/dist/assets/diagram-MMDJMWI5-CWtJyfVW.js +43 -0
- package/dist/assets/diagram-TYMM5635-CsDJC4Hq.js +24 -0
- package/dist/assets/{erDiagram-SMLLAGMA-BN5eJerP.js → erDiagram-SMLLAGMA-Cf7Xtd9A.js} +2 -2
- package/dist/assets/{flatten-C5NL-f24.js → flatten-CYX_pHZ7.js} +1 -1
- package/dist/assets/{flowDiagram-DWJPFMVM-CbFskc8S.js → flowDiagram-DWJPFMVM-DQaeR16a.js} +3 -3
- package/dist/assets/{ganttDiagram-T4ZO3ILL-OCTvbRxF.js → ganttDiagram-T4ZO3ILL-8EIcztcH.js} +1 -1
- package/dist/assets/gitGraph-7Q5UKJZL-BH9A1SAZ.js +1 -0
- package/dist/assets/{gitGraphDiagram-UUTBAWPF-wpqI2kyI.js → gitGraphDiagram-UUTBAWPF-DO9ODqYw.js} +1 -1
- package/dist/assets/graphlib-bPBqlJKT.js +1 -0
- package/dist/assets/identity-Me9aart9.js +1 -0
- package/dist/assets/index-oKG1C41_.js +273 -0
- package/dist/assets/info-OMHHGYJF-BvKR-zWh.js +1 -0
- package/dist/assets/infoDiagram-42DDH7IO-pRTXCm5C.js +2 -0
- package/dist/assets/isEmpty-Cu0k-j1j.js +1 -0
- package/dist/assets/{ishikawaDiagram-UXIWVN3A-Epc23N_0.js → ishikawaDiagram-UXIWVN3A-BP2YE5QI.js} +2 -2
- package/dist/assets/{journeyDiagram-VCZTEJTY-BkMxoaPq.js → journeyDiagram-VCZTEJTY-B3l2juoL.js} +1 -1
- package/dist/assets/{kanban-definition-6JOO6SKY-C8dW_26n.js → kanban-definition-6JOO6SKY-BpIpEOZZ.js} +4 -4
- package/dist/assets/{line-DNzQATGr.js → line-otOkzGl8.js} +1 -1
- package/dist/assets/mermaid-parser.core-xWsW24Gq.js +4 -0
- package/dist/assets/{mindmap-definition-QFDTVHPH-CvpNtrKT.js → mindmap-definition-QFDTVHPH-B9khyC7X.js} +3 -3
- package/dist/assets/packet-4T2RLAQJ-D8Dw3nmf.js +1 -0
- package/dist/assets/pie-ZZUOXDRM-ZghowlAE.js +1 -0
- package/dist/assets/{pieDiagram-DEJITSTG-eENymoXZ.js → pieDiagram-DEJITSTG-v32hL3i7.js} +1 -1
- package/dist/assets/{quadrantDiagram-34T5L4WZ-c0iZxo2I.js → quadrantDiagram-34T5L4WZ-DIL3GDFt.js} +1 -1
- package/dist/assets/radar-PYXPWWZC-D-PK3JOd.js +1 -0
- package/dist/assets/reduce-CImcgAcU.js +1 -0
- package/dist/assets/{requirementDiagram-MS252O5E-CmRO3hLp.js → requirementDiagram-MS252O5E-D8os2-4y.js} +2 -2
- package/dist/assets/{sankeyDiagram-XADWPNL6-woJZoQ58.js → sankeyDiagram-XADWPNL6-BV70D4l5.js} +1 -1
- package/dist/assets/{sequenceDiagram-FGHM5R23-B7qNcwNo.js → sequenceDiagram-FGHM5R23-Cwu8hQW1.js} +1 -1
- package/dist/assets/stateDiagram-FHFEXIEX-oYUWv7Fb.js +1 -0
- package/dist/assets/stateDiagram-v2-QKLJ7IA2-CFUTpFu-.js +1 -0
- package/dist/assets/{timeline-definition-GMOUNBTQ-CQWqDPGG.js → timeline-definition-GMOUNBTQ-CxSdKxpL.js} +1 -1
- package/dist/assets/treeView-SZITEDCU-uVgaJQzG.js +1 -0
- package/dist/assets/treemap-W4RFUUIX-Dcad_9AN.js +1 -0
- package/dist/assets/vennDiagram-DHZGUBPP-D4wgD7QI.js +34 -0
- package/dist/assets/wardley-RL74JXVD-CFXrK8mx.js +1 -0
- package/dist/assets/{wardleyDiagram-NUSXRM2D-DNhPIFCg.js → wardleyDiagram-NUSXRM2D-5Q201ea3.js} +1 -1
- package/dist/assets/{xychartDiagram-5P7HB3ND-BDblAZ11.js → xychartDiagram-5P7HB3ND-BPZv_axd.js} +3 -3
- package/dist/index.html +16 -12
- package/package.json +99 -92
- package/scripts/stubs/node-domexception/index.cjs +18 -0
- package/scripts/stubs/node-domexception/package.json +7 -0
- package/skills/hiro-task-manager-cli/SKILL.md +97 -0
- package/skills/hiro-task-manager-cli/reference/boards.md +143 -0
- package/skills/hiro-task-manager-cli/reference/cli-access-policy.md +72 -0
- package/skills/hiro-task-manager-cli/reference/errors.md +85 -0
- package/skills/hiro-task-manager-cli/reference/lists.md +106 -0
- package/skills/hiro-task-manager-cli/reference/releases.md +87 -0
- package/skills/hiro-task-manager-cli/reference/search.md +38 -0
- package/skills/hiro-task-manager-cli/reference/statuses.md +25 -0
- package/skills/hiro-task-manager-cli/reference/tasks.md +144 -0
- package/skills/hiro-task-manager-cli/reference/trash.md +50 -0
- package/src/cli/bootstrap/launcher.test.ts +66 -0
- package/src/cli/bootstrap/launcher.ts +389 -35
- package/src/cli/bootstrap/program.test.ts +46 -0
- package/src/cli/bootstrap/program.ts +54 -1
- package/src/cli/bootstrap/runtime.test.ts +15 -0
- package/src/cli/bootstrap/runtime.ts +27 -1
- package/src/cli/commands/query.ts +56 -56
- package/src/cli/commands/server.ts +27 -19
- package/src/cli/handlers/boards.test.ts +669 -669
- package/src/cli/handlers/cli-wiring.test.ts +1 -1
- package/src/cli/handlers/search.test.ts +374 -374
- package/src/cli/handlers/search.ts +17 -17
- package/src/cli/handlers/server.test.ts +55 -13
- package/src/cli/handlers/server.ts +16 -3
- package/src/cli/lib/api-client.test.ts +35 -2
- package/src/cli/lib/api-client.ts +43 -10
- package/src/cli/lib/cli-http-errors.test.ts +85 -85
- package/src/cli/lib/command-helpers.ts +161 -154
- package/src/cli/lib/config.ts +4 -0
- package/src/cli/lib/launcherUi.test.ts +74 -0
- package/src/cli/lib/launcherUi.ts +213 -0
- package/src/cli/lib/process.test.ts +24 -5
- package/src/cli/lib/process.ts +86 -55
- package/src/cli/ports/process.ts +8 -2
- package/src/cli/subprocess.real-stack.test.ts +611 -598
- package/src/cli/subprocess.smoke.test.ts +954 -969
- package/src/cli/types/config.ts +2 -6
- package/src/client/components/auth/AuthScreen.tsx +3 -3
- package/src/client/components/board/BoardStatsChips.tsx +233 -233
- package/src/client/components/board/BoardStatsContext.tsx +41 -41
- package/src/client/components/board/boardHeaderButtonStyles.ts +38 -38
- package/src/client/components/board/shortcuts/useBoardShortcutKeydown.ts +49 -49
- package/src/client/components/board/useBoardCanvasPanScroll.ts +108 -108
- package/src/client/components/board/useBoardTaskContainerDroppableReact.ts +33 -33
- package/src/client/components/board/useBoardTaskSortableReact.ts +26 -26
- package/src/client/components/multi-select.tsx +1206 -1206
- package/src/client/components/routing/BoardPage.tsx +20 -20
- package/src/client/components/routing/NavigationRegistrar.tsx +13 -13
- package/src/client/components/settings/SettingsPage.tsx +1 -1
- package/src/client/components/task/TaskCard.tsx +643 -643
- package/src/client/components/ui/badge.tsx +49 -49
- package/src/client/components/ui/button.tsx +65 -65
- package/src/client/components/ui/command.tsx +193 -193
- package/src/client/components/ui/dialog.tsx +163 -163
- package/src/client/components/ui/input-group.tsx +155 -155
- package/src/client/components/ui/input.tsx +19 -19
- package/src/client/components/ui/popover.tsx +87 -87
- package/src/client/components/ui/separator.tsx +28 -28
- package/src/client/components/ui/textarea.tsx +18 -18
- package/src/client/index.css +248 -248
- package/src/client/lib/appNavigate.ts +16 -16
- package/src/client/lib/taskCardDate.ts +111 -111
- package/src/client/lib/utils.ts +6 -6
- package/src/server/auth.ts +351 -302
- package/src/server/bootstrapDev.ts +11 -2
- package/src/server/bootstrapInstalled.ts +6 -1
- package/src/server/index.ts +33 -7
- package/src/server/migrations/013_cli_policy_and_provenance.ts +2 -2
- package/src/server/migrations/019_cli_global_create_board_default_on.ts +14 -0
- package/src/server/migrations/registry.ts +43 -41
- package/src/server/parseBootstrapProfile.ts +42 -0
- package/src/server/storage/cliPolicy.ts +2 -1
- package/src/shared/runtimeConfig.ts +256 -237
- package/src/shared/runtimeIdentity.test.ts +47 -0
- package/src/shared/runtimeIdentity.ts +35 -0
- package/src/shared/serverStatus.ts +21 -0
- package/src/shared/skillsInstall.ts +70 -0
- package/src/shared/terminalColors.ts +24 -0
- package/dist/assets/architecture-YZFGNWBL-3h1eIYfB.js +0 -1
- package/dist/assets/architectureDiagram-Q4EWVU46-DSQ1_74_.js +0 -36
- package/dist/assets/channel-yBmN_ln0.js +0 -1
- package/dist/assets/classDiagram-6PBFFD2Q-CotFZI8-.js +0 -1
- package/dist/assets/classDiagram-v2-HSJHXN6E-DAPzeDGn.js +0 -1
- package/dist/assets/clone-BRQpYu_n.js +0 -1
- package/dist/assets/cytoscape.esm-BIYWHPG0.js +0 -321
- package/dist/assets/dagre-rhyPjnsQ.js +0 -1
- package/dist/assets/diagram-5BDNPKRD-Ky3EXXj0.js +0 -10
- package/dist/assets/diagram-G4DWMVQ6-t7LbT0Uz.js +0 -24
- package/dist/assets/diagram-MMDJMWI5-CdnLXEMx.js +0 -43
- package/dist/assets/diagram-TYMM5635-CnzTqJBM.js +0 -24
- package/dist/assets/gitGraph-7Q5UKJZL-CG8f8JF7.js +0 -1
- package/dist/assets/graphlib-COiJG5Qv.js +0 -1
- package/dist/assets/identity-D4WOnl_h.js +0 -1
- package/dist/assets/index-lyyIVcc_.js +0 -304
- package/dist/assets/info-OMHHGYJF-C8_SHoRO.js +0 -1
- package/dist/assets/infoDiagram-42DDH7IO-BbvTdpSV.js +0 -2
- package/dist/assets/mermaid-parser.core-6Tn8epr_.js +0 -4
- package/dist/assets/packet-4T2RLAQJ-BvpAX0kJ.js +0 -1
- package/dist/assets/pie-ZZUOXDRM-Ow26Yf-E.js +0 -1
- package/dist/assets/radar-PYXPWWZC-e_ron5jQ.js +0 -1
- package/dist/assets/reduce-BDOBPIXr.js +0 -1
- package/dist/assets/stateDiagram-FHFEXIEX-CYfGMoR8.js +0 -1
- package/dist/assets/stateDiagram-v2-QKLJ7IA2-CO1W_n55.js +0 -1
- package/dist/assets/treeView-SZITEDCU-DsEr3xeq.js +0 -1
- package/dist/assets/treemap-W4RFUUIX-DV7nk2AB.js +0 -1
- package/dist/assets/vennDiagram-DHZGUBPP-BjTbuhcb.js +0 -34
- package/dist/assets/wardley-RL74JXVD-CrrFU9AE.js +0 -1
- /package/dist/assets/{chunk-4BX2VUAB-ean5NKtU.js → chunk-4BX2VUAB-C70mcfQR.js} +0 -0
- /package/dist/assets/{chunk-55IACEB6-CvSRyJqy.js → chunk-55IACEB6-CWfnqcLM.js} +0 -0
- /package/dist/assets/{chunk-BSJP7CBP-D8kBlJsf.js → chunk-BSJP7CBP-B0LrXV9y.js} +0 -0
- /package/dist/assets/{chunk-FMBD7UC4-DrNhFt1N.js → chunk-FMBD7UC4-_mV71Mwu.js} +0 -0
- /package/dist/assets/{chunk-QZHKN3VN-Csp3OYJY.js → chunk-QZHKN3VN-t2nrsegL.js} +0 -0
- /package/dist/assets/{katex-8mXVa4k3.js → katex-B2dtGfSp.js} +0 -0
- /package/dist/assets/{rough.esm-DtEqI08j.js → rough.esm-DEh6Frf9.js} +0 -0
package/dist/index.html
CHANGED
|
@@ -25,23 +25,27 @@
|
|
|
25
25
|
} catch (e) {}
|
|
26
26
|
})();
|
|
27
27
|
</script>
|
|
28
|
-
<script type="module" crossorigin src="/assets/index-
|
|
28
|
+
<script type="module" crossorigin src="/assets/index-oKG1C41_.js"></script>
|
|
29
29
|
<link rel="modulepreload" crossorigin href="/assets/chunk-CFjPhJqf.js">
|
|
30
30
|
<link rel="modulepreload" crossorigin href="/assets/src-C47h8eAM.js">
|
|
31
|
-
<link rel="modulepreload" crossorigin href="/assets/chunk-ICPOFSXX-
|
|
31
|
+
<link rel="modulepreload" crossorigin href="/assets/chunk-ICPOFSXX-DkUVjrLw.js">
|
|
32
32
|
<link rel="modulepreload" crossorigin href="/assets/dist-BXMOO6xX.js">
|
|
33
|
-
<link rel="modulepreload" crossorigin href="/assets/identity-
|
|
34
|
-
<link rel="modulepreload" crossorigin href="/assets/chunk-5PVQY5BW-
|
|
35
|
-
<link rel="modulepreload" crossorigin href="/assets/chunk-U2HBQHQK-
|
|
36
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
37
|
-
<link rel="modulepreload" crossorigin href="/assets/chunk-
|
|
38
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
39
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
40
|
-
<link rel="modulepreload" crossorigin href="/assets/chunk-
|
|
33
|
+
<link rel="modulepreload" crossorigin href="/assets/identity-Me9aart9.js">
|
|
34
|
+
<link rel="modulepreload" crossorigin href="/assets/chunk-5PVQY5BW-cGfZCZGU.js">
|
|
35
|
+
<link rel="modulepreload" crossorigin href="/assets/chunk-U2HBQHQK-DogcerR6.js">
|
|
36
|
+
<link rel="modulepreload" crossorigin href="/assets/isEmpty-Cu0k-j1j.js">
|
|
37
|
+
<link rel="modulepreload" crossorigin href="/assets/chunk-X2U36JSP-CwVWdmZV.js">
|
|
38
|
+
<link rel="modulepreload" crossorigin href="/assets/chunk-ZZ45TVLE-Bk1S1YtS.js">
|
|
39
|
+
<link rel="modulepreload" crossorigin href="/assets/rough.esm-DEh6Frf9.js">
|
|
40
|
+
<link rel="modulepreload" crossorigin href="/assets/chunk-5FUZZQ4R-B_HuuUjf.js">
|
|
41
41
|
<link rel="modulepreload" crossorigin href="/assets/path-CIRGLb_6.js">
|
|
42
42
|
<link rel="modulepreload" crossorigin href="/assets/array-BCJ35G43.js">
|
|
43
|
-
<link rel="modulepreload" crossorigin href="/assets/line-
|
|
44
|
-
<link rel="modulepreload" crossorigin href="/assets/chunk-
|
|
43
|
+
<link rel="modulepreload" crossorigin href="/assets/line-otOkzGl8.js">
|
|
44
|
+
<link rel="modulepreload" crossorigin href="/assets/chunk-BSJP7CBP-B0LrXV9y.js">
|
|
45
|
+
<link rel="modulepreload" crossorigin href="/assets/chunk-ENJZ2VHE-DrWzOrpd.js">
|
|
46
|
+
<link rel="modulepreload" crossorigin href="/assets/chunk-336JU56O-BGQvSwLk.js">
|
|
47
|
+
<link rel="modulepreload" crossorigin href="/assets/chunk-426QAEUC-Cl9nQN9c.js">
|
|
48
|
+
<link rel="modulepreload" crossorigin href="/assets/chunk-XPW4576I-DQpNCogT.js">
|
|
45
49
|
<link rel="stylesheet" crossorigin href="/assets/index-hMFTu7sr.css">
|
|
46
50
|
</head>
|
|
47
51
|
<body>
|
package/package.json
CHANGED
|
@@ -1,92 +1,99 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@hiroleague/taskmanager",
|
|
3
|
-
"version": "0.0.
|
|
4
|
-
"type": "module",
|
|
5
|
-
"description": "
|
|
6
|
-
"license": "
|
|
7
|
-
"repository": {
|
|
8
|
-
"type": "git",
|
|
9
|
-
"url": "git+https://github.com/hiro-league/hirotaskmanager.git"
|
|
10
|
-
},
|
|
11
|
-
"homepage": "https://github.com/hiro-league/hirotaskmanager#readme",
|
|
12
|
-
"bugs": {
|
|
13
|
-
"url": "https://github.com/hiro-league/hirotaskmanager/issues"
|
|
14
|
-
},
|
|
15
|
-
"publishConfig": {
|
|
16
|
-
"access": "public",
|
|
17
|
-
"registry": "https://registry.npmjs.org/"
|
|
18
|
-
},
|
|
19
|
-
"files": [
|
|
20
|
-
"dist",
|
|
21
|
-
"src",
|
|
22
|
-
"
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
"
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
"@
|
|
55
|
-
"@
|
|
56
|
-
"@
|
|
57
|
-
"@
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
"
|
|
69
|
-
"react": "^
|
|
70
|
-
"
|
|
71
|
-
"react
|
|
72
|
-
"
|
|
73
|
-
"
|
|
74
|
-
"
|
|
75
|
-
"
|
|
76
|
-
"
|
|
77
|
-
"
|
|
78
|
-
"
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
"
|
|
84
|
-
"
|
|
85
|
-
"
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
"
|
|
89
|
-
"
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "@hiroleague/taskmanager",
|
|
3
|
+
"version": "0.0.3",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "Task Manager for Solo Builders and AI Agents, working as a team",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/hiro-league/hirotaskmanager.git"
|
|
10
|
+
},
|
|
11
|
+
"homepage": "https://github.com/hiro-league/hirotaskmanager#readme",
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/hiro-league/hirotaskmanager/issues"
|
|
14
|
+
},
|
|
15
|
+
"publishConfig": {
|
|
16
|
+
"access": "public",
|
|
17
|
+
"registry": "https://registry.npmjs.org/"
|
|
18
|
+
},
|
|
19
|
+
"files": [
|
|
20
|
+
"dist",
|
|
21
|
+
"src",
|
|
22
|
+
"skills",
|
|
23
|
+
"LICENSE",
|
|
24
|
+
"README.md",
|
|
25
|
+
"scripts/stubs/node-domexception"
|
|
26
|
+
],
|
|
27
|
+
"overrides": {
|
|
28
|
+
"node-domexception": "file:./scripts/stubs/node-domexception"
|
|
29
|
+
},
|
|
30
|
+
"bin": {
|
|
31
|
+
"hirotaskmanager": "./src/cli/bin/hirotaskmanager.ts",
|
|
32
|
+
"hirotm": "./src/cli/bin/hirotm.ts"
|
|
33
|
+
},
|
|
34
|
+
"scripts": {
|
|
35
|
+
"app": "bun run src/cli/bin/hirotaskmanager.ts",
|
|
36
|
+
"cli": "bun run src/cli/bin/hirotm.ts",
|
|
37
|
+
"dev": "concurrently -k -n api,web -c blue,green \"npm run dev:server\" \"npm run dev:client\"",
|
|
38
|
+
"dev:server": "npx --yes bun --watch src/server/bootstrapDev.ts --dev --profile dev",
|
|
39
|
+
"dev:client": "npx --yes wait-on tcp:127.0.0.1:3002 && vite",
|
|
40
|
+
"build": "vite build",
|
|
41
|
+
"pack:install": "node ./pack-and-install.mjs",
|
|
42
|
+
"prepack": "npm run build",
|
|
43
|
+
"release:check": "npm run typecheck && bun test && npm run build && npm pack --dry-run",
|
|
44
|
+
"release:publish": "npm publish --access public",
|
|
45
|
+
"start": "npx --yes bun src/server/bootstrapInstalled.ts",
|
|
46
|
+
"typecheck": "tsc --noEmit",
|
|
47
|
+
"test": "bun test",
|
|
48
|
+
"test:cli:real-stack": "bun run scripts/run-cli-real-stack-test.ts",
|
|
49
|
+
"profile:summarize": "node --max-old-space-size=8192 docs/profiling/summarize-profiler-export.mjs",
|
|
50
|
+
"profile:chrome": "node docs/chrome-profiling/summarize-chrome-trace.mjs",
|
|
51
|
+
"seed:perf": "bun run scripts/seed-perf-board.ts"
|
|
52
|
+
},
|
|
53
|
+
"dependencies": {
|
|
54
|
+
"@dnd-kit/abstract": "^0.3.2",
|
|
55
|
+
"@dnd-kit/helpers": "^0.3.2",
|
|
56
|
+
"@dnd-kit/react": "^0.3.2",
|
|
57
|
+
"@fontsource-variable/plus-jakarta-sans": "^5.2.8",
|
|
58
|
+
"@fontsource/lora": "^5.2.8",
|
|
59
|
+
"@number-flow/react": "^0.6.0",
|
|
60
|
+
"@radix-ui/react-dropdown-menu": "^2.1.16",
|
|
61
|
+
"@tailwindcss/vite": "^4.2.2",
|
|
62
|
+
"@tanstack/react-query": "^5.95.2",
|
|
63
|
+
"@tanstack/react-virtual": "^3.13.23",
|
|
64
|
+
"@uiw/react-md-editor": "^4.0.11",
|
|
65
|
+
"class-variance-authority": "^0.7.1",
|
|
66
|
+
"clsx": "^2.1.1",
|
|
67
|
+
"cmdk": "^1.1.1",
|
|
68
|
+
"commander": "^14.0.3",
|
|
69
|
+
"emoji-picker-react": "^4.18.0",
|
|
70
|
+
"hono": "^4.12.9",
|
|
71
|
+
"lucide-react": "^1.7.0",
|
|
72
|
+
"mermaid": "^11.14.0",
|
|
73
|
+
"motion": "^12.38.0",
|
|
74
|
+
"partycles": "^1.2.6",
|
|
75
|
+
"radix-ui": "^1.4.3",
|
|
76
|
+
"react": "^19.2.4",
|
|
77
|
+
"react-dom": "^19.2.4",
|
|
78
|
+
"react-markdown": "^10.1.0",
|
|
79
|
+
"react-router-dom": "^7.13.2",
|
|
80
|
+
"rehype-rewrite": "^4.0.4",
|
|
81
|
+
"shadcn": "^4.1.1",
|
|
82
|
+
"tailwind-merge": "^3.5.0",
|
|
83
|
+
"tailwindcss": "^4.2.2",
|
|
84
|
+
"tw-animate-css": "^1.4.0",
|
|
85
|
+
"zustand": "^5.0.12"
|
|
86
|
+
},
|
|
87
|
+
"devDependencies": {
|
|
88
|
+
"@types/bun": "^1.3.11",
|
|
89
|
+
"@types/node": "^25.5.0",
|
|
90
|
+
"@types/react": "^19.2.14",
|
|
91
|
+
"@types/react-dom": "^19.2.3",
|
|
92
|
+
"@vitejs/plugin-react": "^6.0.1",
|
|
93
|
+
"concurrently": "^9.2.1",
|
|
94
|
+
"typescript": "^6.0.2",
|
|
95
|
+
"vite": "^8.0.2",
|
|
96
|
+
"wait-on": "^8.0.5"
|
|
97
|
+
},
|
|
98
|
+
"packageManager": "bun@1.3.11"
|
|
99
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Same implementation as registry `node-domexception@1.0.0` (MIT), vendored so
|
|
3
|
+
* npm does not warn about the deprecated package. Transitive deps (fetch-blob)
|
|
4
|
+
* still need this export shape.
|
|
5
|
+
*/
|
|
6
|
+
if (!globalThis.DOMException) {
|
|
7
|
+
try {
|
|
8
|
+
const { MessageChannel } = require("worker_threads"),
|
|
9
|
+
port = new MessageChannel().port1,
|
|
10
|
+
ab = new ArrayBuffer();
|
|
11
|
+
port.postMessage(ab, [ab, ab]);
|
|
12
|
+
} catch (err) {
|
|
13
|
+
err.constructor.name === "DOMException" &&
|
|
14
|
+
(globalThis.DOMException = err.constructor);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
module.exports = globalThis.DOMException;
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: hiro-task-manager-cli
|
|
3
|
+
description: Use this skill when working with Hiro Task Manager through the `hirotm` CLI to manage tasks, task lists and task boards.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Hiro Task Manager CLI
|
|
7
|
+
|
|
8
|
+
Use this skill when the user wants to work with Hiro Task Manager through the `hirotm` CLI to manage tasks, task lists and task boards.
|
|
9
|
+
|
|
10
|
+
## Use this skill for
|
|
11
|
+
- Creating, updating and deleting tasks.
|
|
12
|
+
- Creating, updating and deleting task lists.
|
|
13
|
+
- Managing boards.
|
|
14
|
+
- listing, searching and filtering tasks, lists and boards.
|
|
15
|
+
- Managing Hiro Task Manager server, to be able to operate on tasks, lists and boards.
|
|
16
|
+
- Delete, purge or restore tasks, lists and boards.
|
|
17
|
+
|
|
18
|
+
## Default operating workflow
|
|
19
|
+
1. Navigate to intended workspace root.
|
|
20
|
+
2. Initially make sure Hiro Task Manager server is running.
|
|
21
|
+
3. Discover the boards, lists or tasks you need to work with.
|
|
22
|
+
4. Narrow down to the entity you need to work with, using search or list/filter.
|
|
23
|
+
5. Use (Identification) to identify yourself in all commands.
|
|
24
|
+
6. Perform the smallest safe mutation using all the available data,
|
|
25
|
+
7. Show the resulting state after the change.
|
|
26
|
+
|
|
27
|
+
## Core rules
|
|
28
|
+
- Use `hirotm` cli command for all operations.
|
|
29
|
+
- use `--help` to get help on any command or sub command `boards --help`, `boards describe --help`.
|
|
30
|
+
- Run commands from the intended workspace root.
|
|
31
|
+
- Inspect current state before making mutations.
|
|
32
|
+
- Use `--client-name` on mutating commands so changes are attributable.
|
|
33
|
+
- Treat delete, purge, and structural changes as sensitive.
|
|
34
|
+
|
|
35
|
+
# Identification
|
|
36
|
+
|
|
37
|
+
Identify yourself in all commands with `--client-name <your-name>`. Your name should reflect the Agent Name, ex: Cursor Agent, Github Copilot Agent, Claude Code Agent, Open Code Agent.
|
|
38
|
+
If you are not sure, use a generic name "AI Agent"
|
|
39
|
+
|
|
40
|
+
## Installation
|
|
41
|
+
|
|
42
|
+
If command is not found, ask the user to [install](https://docs.hiroleague.com/task-manager/get-started/quick-start) it and configure it.
|
|
43
|
+
|
|
44
|
+
# Discovery
|
|
45
|
+
|
|
46
|
+
- use `boards list` to list all boards.
|
|
47
|
+
- use `boards describe <id-or-slug>` to describe all or some board details.
|
|
48
|
+
- use `tasks list --board <board-id-or-slug>` to list and filter tasks in a board.
|
|
49
|
+
|
|
50
|
+
# Finding/Adding/Updating Tasks
|
|
51
|
+
|
|
52
|
+
- When a user refers to an existing task, use `tasks list` with filers, or `search query` to find it.
|
|
53
|
+
- If convenient, use limit, offset, fields, or quiet options to manage and the output shape.
|
|
54
|
+
- When adding a task
|
|
55
|
+
- use any available information such as priority, task group, release, etc...
|
|
56
|
+
- Add proper title (80 characters max) and Emoji if relevant only.
|
|
57
|
+
- use Organized Markdown description if the task body is detailed.
|
|
58
|
+
- use mermaid diagrams if the task includes design diagrams or if the user requests it.
|
|
59
|
+
- If linking to a larger documents in the workspace, make sure to use a proper link from the workspace root.
|
|
60
|
+
|
|
61
|
+
# Access
|
|
62
|
+
|
|
63
|
+
If you are not allowed to access an entity or perform an operation due to CLI Access Control, explain the situation and suggest the user to give you the necessary permissions. Never attempt to bypass the CLI Access Control.
|
|
64
|
+
|
|
65
|
+
# Server Operations
|
|
66
|
+
|
|
67
|
+
- Check Server Status with `server status`
|
|
68
|
+
- Start Server with `server start --background`
|
|
69
|
+
- Stop Server with `server stop`
|
|
70
|
+
|
|
71
|
+
## References
|
|
72
|
+
|
|
73
|
+
- [Installation Guide](https://docs.hiroleague.com/task-manager/get-started/quick-start)
|
|
74
|
+
- Server Commands - Start, stop, and check the server status.
|
|
75
|
+
- [Boards Commands](reference/boards.md) - Create, update, delete, list, describe, and configure boards.
|
|
76
|
+
- [Lists Commands](reference/lists.md) - List, add, update, move, delete, restore, and purge board lists.
|
|
77
|
+
- [Tasks Commands](reference/tasks.md) - List, add, update, move, delete, restore, and purge tasks.
|
|
78
|
+
- [Releases Commands](reference/releases.md) - List, show, add, update, and delete releases.
|
|
79
|
+
- [Trash Commands](reference/trash.md) - Inspect trashed boards, lists, and tasks.
|
|
80
|
+
- [Status Commands](reference/statuses.md) - List workflow statuses and their meanings.
|
|
81
|
+
- [Search Commands](reference/search.md) - Full-text task search with `query search`.
|
|
82
|
+
- [CLI Access Policy](reference/cli-access-policy.md) - Map commands to `cliPolicy` requirements and read/write permissions.
|
|
83
|
+
- [Errors and Exit Codes](reference/errors.md) - Exit codes, stderr fields, and common machine-readable codes.
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
**Safety notes**
|
|
88
|
+
|
|
89
|
+
- Prefer inspect-first workflows.
|
|
90
|
+
- Search before create when overlap is likely.
|
|
91
|
+
- Do not purge unless intent is clearly explicit.
|
|
92
|
+
- Do not bypass the CLI by any other means than the `hirotm` CLI.
|
|
93
|
+
- Respect permission and policy failures instead of working around them unsafely.
|
|
94
|
+
|
|
95
|
+
**References**
|
|
96
|
+
|
|
97
|
+
- [Online Documentation](https://docs.hiroleague.com/task-manager/get-started/quick-start)
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
# Boards Commands
|
|
2
|
+
|
|
3
|
+
Use `hirotm boards` to discover boards, inspect board structure, and manage board-level settings. Use `hirotm tasks list --board <id-or-slug>` for task rows; `boards describe` does not return tasks.
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
## Shared arguments
|
|
7
|
+
|
|
8
|
+
- `<id-or-slug>`: board numeric id or board slug.
|
|
9
|
+
- `--yes`: use for non-interactive destructive or structural commands.
|
|
10
|
+
|
|
11
|
+
### Text input variants
|
|
12
|
+
|
|
13
|
+
Used by board create or update when setting descriptions.
|
|
14
|
+
|
|
15
|
+
- `--description <text>`: inline text.
|
|
16
|
+
- `--description-file <path>`: read text from file.
|
|
17
|
+
- `--description-stdin`: read text from stdin.
|
|
18
|
+
|
|
19
|
+
### JSON input variants
|
|
20
|
+
|
|
21
|
+
Used by `boards configure groups` and `boards configure priorities`. Pass exactly one.
|
|
22
|
+
|
|
23
|
+
- `--json <text>`: inline JSON.
|
|
24
|
+
- `--file <path>`: read JSON from file.
|
|
25
|
+
- `--stdin`: read JSON from stdin.
|
|
26
|
+
|
|
27
|
+
## Commands
|
|
28
|
+
|
|
29
|
+
### `boards list`
|
|
30
|
+
|
|
31
|
+
Format:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
hirotm boards list [--limit <n>] [--offset <n>] [--page-all] [--fields <keys>]
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Use this to discover accessible boards before mutation.
|
|
38
|
+
|
|
39
|
+
- `--limit <n>`: page size.
|
|
40
|
+
- `--offset <n>`: skip rows.
|
|
41
|
+
- `--page-all`: merge all pages.
|
|
42
|
+
- `--fields <keys>`: project only selected fields.
|
|
43
|
+
- Supports global `--quiet` with `--format ndjson`.
|
|
44
|
+
|
|
45
|
+
### `boards describe <id-or-slug>`
|
|
46
|
+
|
|
47
|
+
Format:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
hirotm boards describe <id-or-slug> [--entities <csv>]
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Use this to inspect one board without loading tasks.
|
|
54
|
+
|
|
55
|
+
- Best source for `listId`, `groupId`, `priority`, `releaseId`, and status ids.
|
|
56
|
+
- `--entities <csv>` accepts `list`, `group`, `priority`, `release`, `status`, `meta`.
|
|
57
|
+
- Omitting `--entities` returns the standard entity sections without `meta`.
|
|
58
|
+
- There is no `boards show`; pair `boards describe` with `tasks list --board` when task rows are needed.
|
|
59
|
+
|
|
60
|
+
### `boards add [name]`
|
|
61
|
+
|
|
62
|
+
Format:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
hirotm boards add [name] [--emoji <text>] [description flags]
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Create a new board.
|
|
69
|
+
|
|
70
|
+
- `[name]`: board name. Optional.
|
|
71
|
+
- `--emoji <text>`: emoji prefix for the board.
|
|
72
|
+
- Description flags are listed once in `Text input variants`.
|
|
73
|
+
|
|
74
|
+
### `boards update <id-or-slug>`
|
|
75
|
+
|
|
76
|
+
Format:
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
hirotm boards update <id-or-slug> [--name <text>] [--emoji <text> | --clear-emoji] [description flags | --clear-description] [--board-color <preset> | --clear-board-color]
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Update board identity or appearance. Pass at least one change.
|
|
83
|
+
|
|
84
|
+
- `--name <text>`: rename the board.
|
|
85
|
+
- `--emoji <text>` or `--clear-emoji`: set or clear emoji.
|
|
86
|
+
- Description flags are listed once in `Text input variants`.
|
|
87
|
+
- `--clear-description`: remove the description.
|
|
88
|
+
- `--board-color <preset>`: one of `stone`, `cyan`, `azure`, `indigo`, `violet`, `rose`, `amber`, `emerald`, `coral`, `sage`.
|
|
89
|
+
- `--clear-board-color`: remove the color preset.
|
|
90
|
+
|
|
91
|
+
### `boards delete <id-or-slug>`
|
|
92
|
+
|
|
93
|
+
Format:
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
hirotm boards delete <id-or-slug> --yes
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Move a board to Trash.
|
|
100
|
+
|
|
101
|
+
### `boards restore <id-or-slug>`
|
|
102
|
+
|
|
103
|
+
Format:
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
hirotm boards restore <id-or-slug> --yes
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
Restore a trashed board.
|
|
110
|
+
|
|
111
|
+
### `boards purge <id-or-slug>`
|
|
112
|
+
|
|
113
|
+
Format:
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
hirotm boards purge <id-or-slug> --yes
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
Permanently delete a trashed board. This is irreversible.
|
|
120
|
+
|
|
121
|
+
### `boards configure groups <id-or-slug>`
|
|
122
|
+
|
|
123
|
+
Format:
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
hirotm boards configure groups <id-or-slug> [--json <text> | --file <path> | --stdin] --yes
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
Replace board task groups from JSON input.
|
|
130
|
+
|
|
131
|
+
- JSON input variants are listed once in `JSON input variants`.
|
|
132
|
+
|
|
133
|
+
### `boards configure priorities <id-or-slug>`
|
|
134
|
+
|
|
135
|
+
Format:
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
hirotm boards configure priorities <id-or-slug> [--json <text> | --file <path> | --stdin] --yes
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
Replace board priorities from JSON input.
|
|
142
|
+
|
|
143
|
+
- JSON input variants are listed once in `JSON input variants`.
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# CLI Access Policy
|
|
2
|
+
|
|
3
|
+
Use this page to map `hirotm` commands to the board CLI policy checks enforced by Task Manager.
|
|
4
|
+
|
|
5
|
+
## Core rule
|
|
6
|
+
|
|
7
|
+
- `readBoard` is the baseline requirement for board-scoped commands.
|
|
8
|
+
- Trash listings only return rows for boards the CLI can read.
|
|
9
|
+
- If `readBoard` is off, board-scoped reads and writes fail for that board.
|
|
10
|
+
|
|
11
|
+
## Policy flags
|
|
12
|
+
|
|
13
|
+
- `readBoard`: read board-scoped data.
|
|
14
|
+
- `createLists`: create new lists on a board.
|
|
15
|
+
- `createTasks`: create new tasks on a board.
|
|
16
|
+
- `manageCliCreatedLists`: manage lists created by the CLI.
|
|
17
|
+
- `manageAnyLists`: manage lists regardless of creator.
|
|
18
|
+
- `manageCliCreatedTasks`: manage tasks created by the CLI.
|
|
19
|
+
- `manageAnyTasks`: manage tasks regardless of creator.
|
|
20
|
+
- `manageStructure`: manage releases and board structure.
|
|
21
|
+
- `deleteBoard`: delete, restore, and purge boards.
|
|
22
|
+
|
|
23
|
+
## Command mapping
|
|
24
|
+
|
|
25
|
+
### Board reads
|
|
26
|
+
|
|
27
|
+
- `boards list`: `readBoard`
|
|
28
|
+
- `boards describe`: `readBoard`
|
|
29
|
+
|
|
30
|
+
### Board lifecycle
|
|
31
|
+
|
|
32
|
+
- `boards delete`: `readBoard` + `deleteBoard`
|
|
33
|
+
- `boards restore`: `readBoard` + `deleteBoard`
|
|
34
|
+
- `boards purge`: `readBoard` + `deleteBoard`
|
|
35
|
+
|
|
36
|
+
### List commands
|
|
37
|
+
|
|
38
|
+
- `lists add`: `readBoard` + `createLists`
|
|
39
|
+
- `lists delete`: `readBoard` + either `manageCliCreatedLists` for CLI-created lists or `manageAnyLists` for other lists
|
|
40
|
+
- `lists restore`: `readBoard` + either `manageCliCreatedLists` for CLI-created lists or `manageAnyLists` for other lists
|
|
41
|
+
- `lists purge`: `readBoard` + either `manageCliCreatedLists` for CLI-created lists or `manageAnyLists` for other lists
|
|
42
|
+
|
|
43
|
+
### Task commands
|
|
44
|
+
|
|
45
|
+
- `tasks add`: `readBoard` + `createTasks`
|
|
46
|
+
- `tasks delete`: `readBoard` + either `manageCliCreatedTasks` for CLI-created tasks or `manageAnyTasks` for other tasks
|
|
47
|
+
- `tasks restore`: `readBoard` + either `manageCliCreatedTasks` for CLI-created tasks or `manageAnyTasks` for other tasks
|
|
48
|
+
- `tasks purge`: `readBoard` + either `manageCliCreatedTasks` for CLI-created tasks or `manageAnyTasks` for other tasks
|
|
49
|
+
|
|
50
|
+
### Release commands
|
|
51
|
+
|
|
52
|
+
- `releases list`: `readBoard`
|
|
53
|
+
- `releases show`: `readBoard`
|
|
54
|
+
- `releases add`: `readBoard` + `manageStructure`
|
|
55
|
+
- `releases update`: `readBoard` + `manageStructure`
|
|
56
|
+
- `releases delete`: `readBoard` + `manageStructure`
|
|
57
|
+
|
|
58
|
+
### Search and trash
|
|
59
|
+
|
|
60
|
+
- `query search` without `--board`: returns hits only from boards the CLI can read
|
|
61
|
+
- `query search --board <id-or-slug>`: `readBoard` for that board
|
|
62
|
+
- `trash list boards`: `readBoard` for each returned board
|
|
63
|
+
- `trash list lists`: `readBoard` for each row's board
|
|
64
|
+
- `trash list tasks`: `readBoard` for each row's board
|
|
65
|
+
|
|
66
|
+
### Global commands
|
|
67
|
+
|
|
68
|
+
- `statuses list`: not board-scoped
|
|
69
|
+
|
|
70
|
+
## Practical note
|
|
71
|
+
|
|
72
|
+
Use `hirotm boards describe <id-or-slug>` to inspect the current `cliPolicy` values before attempting a write.
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# Errors and Exit Codes
|
|
2
|
+
|
|
3
|
+
Use this page for how `hirotm` reports failures through exit codes and stderr payloads.
|
|
4
|
+
|
|
5
|
+
## Failure output
|
|
6
|
+
|
|
7
|
+
- With `--format ndjson`, failures are JSON on stderr.
|
|
8
|
+
- With `--format human`, failures are plain text on stderr.
|
|
9
|
+
- Prefer the machine-readable `code` field over parsing `error` text.
|
|
10
|
+
|
|
11
|
+
## Common stderr fields
|
|
12
|
+
|
|
13
|
+
- `error`: human-readable summary.
|
|
14
|
+
- `code`: stable machine-readable identifier.
|
|
15
|
+
- `retryable`: whether retry may succeed later.
|
|
16
|
+
- `hint`: recovery hint, such as how to start the server.
|
|
17
|
+
- `status`: HTTP status when the error came from the API.
|
|
18
|
+
- `url`: request URL when relevant.
|
|
19
|
+
- `serverCode`: original API code when the CLI normalized `code`.
|
|
20
|
+
|
|
21
|
+
## Exit codes
|
|
22
|
+
|
|
23
|
+
| Exit | Meaning | Typical action |
|
|
24
|
+
| --- | --- | --- |
|
|
25
|
+
| `0` | Success | Parse stdout and continue. |
|
|
26
|
+
| `1` | Generic failure or unmapped server/API error | Read `error` and `code`; retry only if appropriate. |
|
|
27
|
+
| `2` | Invalid CLI arguments | Fix flags or values; do not retry unchanged. |
|
|
28
|
+
| `3` | Not found | Refresh ids, slugs, or file paths. |
|
|
29
|
+
| `4` | Forbidden | Respect CLI policy; do not retry unchanged. |
|
|
30
|
+
| `5` | Conflict | Skip create, rename differently, or resolve state conflict. |
|
|
31
|
+
| `6` | Server unreachable | Start the server using the provided `hint`, then retry. |
|
|
32
|
+
| `7` | Timeout | Retry after a delay. |
|
|
33
|
+
| `8` | Version mismatch | Update the CLI or app. |
|
|
34
|
+
| `9` | Bad request or validation failure | Fix the request shape or values. |
|
|
35
|
+
| `10` | Unauthenticated | Configure auth when that flow exists. |
|
|
36
|
+
|
|
37
|
+
## Common `code` values
|
|
38
|
+
|
|
39
|
+
### API and permission codes
|
|
40
|
+
|
|
41
|
+
- `bad_request`
|
|
42
|
+
- `unauthenticated`
|
|
43
|
+
- `forbidden`
|
|
44
|
+
- `not_found`
|
|
45
|
+
- `conflict`
|
|
46
|
+
- `request_timeout`
|
|
47
|
+
- `version_mismatch`
|
|
48
|
+
- `rate_limited`
|
|
49
|
+
- `internal_error`
|
|
50
|
+
- `http_error`
|
|
51
|
+
|
|
52
|
+
### Local validation codes
|
|
53
|
+
|
|
54
|
+
- `missing_required`
|
|
55
|
+
- `invalid_value`
|
|
56
|
+
- `mutually_exclusive_options`
|
|
57
|
+
- `conflicting_input_sources`
|
|
58
|
+
- `conflicting_clear_with_input`
|
|
59
|
+
- `invalid_json`
|
|
60
|
+
- `invalid_input_shape`
|
|
61
|
+
- `no_update_fields`
|
|
62
|
+
- `release_not_found_by_name`
|
|
63
|
+
- `emoji_validation_failed`
|
|
64
|
+
|
|
65
|
+
### Connection and process codes
|
|
66
|
+
|
|
67
|
+
- `server_unreachable`
|
|
68
|
+
- `request_timeout`
|
|
69
|
+
- `server_start_timeout`
|
|
70
|
+
- `server_exited`
|
|
71
|
+
- `no_managed_server`
|
|
72
|
+
- `stale_pid`
|
|
73
|
+
- `signal_failed`
|
|
74
|
+
|
|
75
|
+
### Other useful codes
|
|
76
|
+
|
|
77
|
+
- `file_not_found`
|
|
78
|
+
- `response_inconsistent`
|
|
79
|
+
- `internal_error`
|
|
80
|
+
- `confirmation_required`
|
|
81
|
+
- `confirmation_declined`
|
|
82
|
+
|
|
83
|
+
## Recovery rule
|
|
84
|
+
|
|
85
|
+
If the CLI exits with `6`, run the exact `hint` command from stderr, then retry.
|