@litfamily/lithermes 1.0.32 → 1.0.34
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 +7 -7
- package/README_Ko-KR.md +7 -7
- package/assets/lithermes-plugin/README.md +0 -12
- package/assets/lithermes-plugin/adhd_stack.py +43 -1
- package/assets/lithermes-plugin/auto_handoff.py +13 -2
- package/assets/lithermes-plugin/bounded_work.py +33 -3
- package/assets/lithermes-plugin/core.py +59 -18
- package/assets/lithermes-plugin/core_review.py +2 -2
- package/assets/lithermes-plugin/lit_mark.py +2 -7
- package/assets/lithermes-plugin/payload-version.json +49 -53
- package/assets/lithermes-plugin/plugin.yaml +1 -1
- package/assets/lithermes-plugin/rules/bundled-rules/baseline-discipline.md +7 -13
- package/assets/lithermes-plugin/rules/globmatch.py +1 -1
- package/assets/lithermes-plugin/skills/debugging/SKILL.md +1 -1
- package/assets/lithermes-plugin/skills/debugging/references/methodology/00-setup.md +1 -1
- package/assets/lithermes-plugin/skills/debugging/references/methodology/02-investigate.md +2 -2
- package/assets/lithermes-plugin/skills/debugging/references/methodology/09-cleanup.md +1 -1
- package/assets/lithermes-plugin/skills/debugging/references/runtimes/native-binary.md +1 -1
- package/assets/lithermes-plugin/skills/debugging/references/runtimes/rust.md +4 -4
- package/assets/lithermes-plugin/skills/debugging/references/tools/ghidra.md +1 -1
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/ui-ux-db/data/stacks/nuxtjs.csv +1 -1
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/manifest.json +2 -2
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/complete-contract.md +2 -2
- package/assets/lithermes-plugin/skills/lit-adhd/SKILL.md +10 -10
- package/assets/lithermes-plugin/skills/lit-adhd/references/brief-contract.md +12 -7
- package/assets/lithermes-plugin/skills/lit-adhd/scripts/lib/collect.mjs +81 -27
- package/assets/lithermes-plugin/skills/lit-adhd/scripts/lib/next-step.mjs +34 -6
- package/assets/lithermes-plugin/skills/lit-burnoff/SKILL.md +1 -1
- package/assets/lithermes-plugin/skills/lit-code/SKILL.md +4 -4
- package/assets/lithermes-plugin/skills/lit-code/references/rust/README.md +2 -2
- package/assets/lithermes-plugin/skills/lit-code/references/rust/async-tokio.md +4 -4
- package/assets/lithermes-plugin/skills/lit-code/references/rust/axum-stack.md +1 -1
- package/assets/lithermes-plugin/skills/lit-code/references/rust/clap-stack.md +1 -1
- package/assets/lithermes-plugin/skills/lit-code/references/rust/libraries.md +3 -3
- package/assets/lithermes-plugin/skills/lit-code/references/rust/proptest-insta.md +10 -10
- package/assets/lithermes-plugin/skills/lit-code/references/rust/zero-cost-safety.md +1 -1
- package/assets/lithermes-plugin/skills/lit-code/references/typescript/README.md +2 -2
- package/assets/lithermes-plugin/skills/lit-code/references/typescript/backend-hono.md +1 -1
- package/assets/lithermes-plugin/skills/lit-code/references/typescript/tsconfig-strict.md +1 -1
- package/assets/lithermes-plugin/skills/lit-code/scripts/typescript/check-no-excuse-rules.ts +2 -2
- package/assets/lithermes-plugin/skills/lit-typographic-motion/SKILL.md +1 -1
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/cover.mjs +1 -1
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/stage-gate.mjs +1 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/stage-kit.js +42 -3
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/stage.mjs +133 -4
- package/assets/lithermes-plugin/skills/lit-typographic-motion/references/stage.md +55 -1
- package/assets/lithermes-plugin/skills/readme-studio/templates/remotion/package-lock.json +3 -3
- package/assets/lithermes-plugin/skills/readme-studio/templates/remotion/package.json +2 -1
- package/assets/lithermes-plugin/skills/rules/SKILL.md +1 -1
- package/assets/lithermes-plugin/skills/visual-qa/references/complete-contract.md +2 -2
- package/assets/{lithermes-plugin → npm-channel}/auto_update.py +43 -9
- package/package.json +1 -1
- package/readme-assets/badge-version.svg +1 -1
- package/src/lib/canonicalCorpus.js +1 -1
- package/src/lib/install.js +22 -0
- package/src/lib/skillPayload.js +10 -5
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
"syncedAt": "2026-
|
|
2
|
+
"syncedAt": "2026-11-01T12:25:40.311Z",
|
|
3
3
|
"source": "bundled-payload",
|
|
4
|
-
"sourceHash": "
|
|
4
|
+
"sourceHash": "2301b868931c86d3bfeecdd04559f48bea1a0d8edf65879d4c3720755b023e07",
|
|
5
5
|
"files": [
|
|
6
6
|
{
|
|
7
7
|
"path": "NOTICE.md",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
},
|
|
10
10
|
{
|
|
11
11
|
"path": "README.md",
|
|
12
|
-
"sha256": "
|
|
12
|
+
"sha256": "fc223bcca7846557bf86f17328f54e8954cc41d991bb41e0e1494a0e60eab3b0"
|
|
13
13
|
},
|
|
14
14
|
{
|
|
15
15
|
"path": "__init__.py",
|
|
@@ -17,19 +17,15 @@
|
|
|
17
17
|
},
|
|
18
18
|
{
|
|
19
19
|
"path": "adhd_stack.py",
|
|
20
|
-
"sha256": "
|
|
20
|
+
"sha256": "c2e31ecd2c1d3bd37b1c630b71d658d0364c9bc199b15a992f05be0da9b933f8"
|
|
21
21
|
},
|
|
22
22
|
{
|
|
23
23
|
"path": "auto_handoff.py",
|
|
24
|
-
"sha256": "
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
"path": "auto_update.py",
|
|
28
|
-
"sha256": "062e9ace40cc802b4889e0f69cc67155ef20ecb73f2d20e5c46bae4662253c50"
|
|
24
|
+
"sha256": "5f3525048b259be09111d430b66c727b95e62aced29d31efb53c93a3cddbc8c0"
|
|
29
25
|
},
|
|
30
26
|
{
|
|
31
27
|
"path": "bounded_work.py",
|
|
32
|
-
"sha256": "
|
|
28
|
+
"sha256": "418c4a140b0fb3d6f075fbaccd058be70dee8ad2b033c6f18244a4c06c03d2ca"
|
|
33
29
|
},
|
|
34
30
|
{
|
|
35
31
|
"path": "bounded_work_tools.py",
|
|
@@ -37,7 +33,7 @@
|
|
|
37
33
|
},
|
|
38
34
|
{
|
|
39
35
|
"path": "core.py",
|
|
40
|
-
"sha256": "
|
|
36
|
+
"sha256": "68bfc846f0497cd456db8db979454e15cb98d8fd59dcbf8fcf322b07ef7a395c"
|
|
41
37
|
},
|
|
42
38
|
{
|
|
43
39
|
"path": "core_commands.py",
|
|
@@ -69,7 +65,7 @@
|
|
|
69
65
|
},
|
|
70
66
|
{
|
|
71
67
|
"path": "core_review.py",
|
|
72
|
-
"sha256": "
|
|
68
|
+
"sha256": "b90d0b6432a01885887403f6197cc7b32af928be5ecf81058794f824951145d4"
|
|
73
69
|
},
|
|
74
70
|
{
|
|
75
71
|
"path": "core_routing.py",
|
|
@@ -121,7 +117,7 @@
|
|
|
121
117
|
},
|
|
122
118
|
{
|
|
123
119
|
"path": "lit_mark.py",
|
|
124
|
-
"sha256": "
|
|
120
|
+
"sha256": "bc98017e15b5dc06fa461b8bb9452f7755d20e8dcd55bdbd37dc13c9279b5fd4"
|
|
125
121
|
},
|
|
126
122
|
{
|
|
127
123
|
"path": "lit_mark_rows.json",
|
|
@@ -185,7 +181,7 @@
|
|
|
185
181
|
},
|
|
186
182
|
{
|
|
187
183
|
"path": "plugin.yaml",
|
|
188
|
-
"sha256": "
|
|
184
|
+
"sha256": "d3a858b2ae8b43fe9010b8078777737ab2bb6eae3f32b38b44043df7454e381d"
|
|
189
185
|
},
|
|
190
186
|
{
|
|
191
187
|
"path": "provider_metrics.py",
|
|
@@ -201,7 +197,7 @@
|
|
|
201
197
|
},
|
|
202
198
|
{
|
|
203
199
|
"path": "rules/bundled-rules/baseline-discipline.md",
|
|
204
|
-
"sha256": "
|
|
200
|
+
"sha256": "f2cb1776e3522719c929a6f4f2d801e7236c6de8e168fe8ac78ec017d7bc2e6b"
|
|
205
201
|
},
|
|
206
202
|
{
|
|
207
203
|
"path": "rules/bundled-rules/build-decision-gate.md",
|
|
@@ -233,7 +229,7 @@
|
|
|
233
229
|
},
|
|
234
230
|
{
|
|
235
231
|
"path": "rules/globmatch.py",
|
|
236
|
-
"sha256": "
|
|
232
|
+
"sha256": "d8e6a20b0fca9841590936a3aea67e4be4d8ca51e304a4238d9ecbc686e142d5"
|
|
237
233
|
},
|
|
238
234
|
{
|
|
239
235
|
"path": "scientific_visualization.py",
|
|
@@ -501,15 +497,15 @@
|
|
|
501
497
|
},
|
|
502
498
|
{
|
|
503
499
|
"path": "skills/debugging/SKILL.md",
|
|
504
|
-
"sha256": "
|
|
500
|
+
"sha256": "5ffdf6ef1d422f521dda18a6053efff853a132ba2503a5562fb840864079c911"
|
|
505
501
|
},
|
|
506
502
|
{
|
|
507
503
|
"path": "skills/debugging/references/methodology/00-setup.md",
|
|
508
|
-
"sha256": "
|
|
504
|
+
"sha256": "3cb3a251dcac602694f7e8e0bdd70f76da6b5994bf59889bd4cece994b959096"
|
|
509
505
|
},
|
|
510
506
|
{
|
|
511
507
|
"path": "skills/debugging/references/methodology/02-investigate.md",
|
|
512
|
-
"sha256": "
|
|
508
|
+
"sha256": "de243e3eee0125baef6340e91fb7841e7a1907d01868508b8efc63f67e7b1579"
|
|
513
509
|
},
|
|
514
510
|
{
|
|
515
511
|
"path": "skills/debugging/references/methodology/04-oracle-triple.md",
|
|
@@ -529,7 +525,7 @@
|
|
|
529
525
|
},
|
|
530
526
|
{
|
|
531
527
|
"path": "skills/debugging/references/methodology/09-cleanup.md",
|
|
532
|
-
"sha256": "
|
|
528
|
+
"sha256": "2efe84de9684e93c0156b19cea8e5411635a4c0c11eb1e3dc146c4224cf6d645"
|
|
533
529
|
},
|
|
534
530
|
{
|
|
535
531
|
"path": "skills/debugging/references/methodology/partial-runtime-evidence.md",
|
|
@@ -545,7 +541,7 @@
|
|
|
545
541
|
},
|
|
546
542
|
{
|
|
547
543
|
"path": "skills/debugging/references/runtimes/native-binary.md",
|
|
548
|
-
"sha256": "
|
|
544
|
+
"sha256": "1f0d5f64661baf235cc742d4bf029c4010e4b9ca4dedcb60f101fc755fe564b7"
|
|
549
545
|
},
|
|
550
546
|
{
|
|
551
547
|
"path": "skills/debugging/references/runtimes/node.md",
|
|
@@ -557,11 +553,11 @@
|
|
|
557
553
|
},
|
|
558
554
|
{
|
|
559
555
|
"path": "skills/debugging/references/runtimes/rust.md",
|
|
560
|
-
"sha256": "
|
|
556
|
+
"sha256": "e159b858524626cf538d79ca92884b3f4b31b431c80fe60d745729d988341da3"
|
|
561
557
|
},
|
|
562
558
|
{
|
|
563
559
|
"path": "skills/debugging/references/tools/ghidra.md",
|
|
564
|
-
"sha256": "
|
|
560
|
+
"sha256": "5abed319fa62a95f2bd7109f3291150af9b6cd959a794c38b2a5b6b25916d01e"
|
|
565
561
|
},
|
|
566
562
|
{
|
|
567
563
|
"path": "skills/debugging/references/tools/playwright-cli.md",
|
|
@@ -1249,7 +1245,7 @@
|
|
|
1249
1245
|
},
|
|
1250
1246
|
{
|
|
1251
1247
|
"path": "skills/frontend-ui-ux/references/_canonical-corpus/corpus/ui-ux-db/data/stacks/nuxtjs.csv",
|
|
1252
|
-
"sha256": "
|
|
1248
|
+
"sha256": "560b74265e334d325b92d7add4271442cff67d99bdc134ce5896e28e23fcd753"
|
|
1253
1249
|
},
|
|
1254
1250
|
{
|
|
1255
1251
|
"path": "skills/frontend-ui-ux/references/_canonical-corpus/corpus/ui-ux-db/data/stacks/react-native.csv",
|
|
@@ -1321,7 +1317,7 @@
|
|
|
1321
1317
|
},
|
|
1322
1318
|
{
|
|
1323
1319
|
"path": "skills/frontend-ui-ux/references/_canonical-corpus/manifest.json",
|
|
1324
|
-
"sha256": "
|
|
1320
|
+
"sha256": "27f83c01586e6bf1edc2e4aaa152681c6a1e9b421ffea8c6df49ef4fbaf169bc"
|
|
1325
1321
|
},
|
|
1326
1322
|
{
|
|
1327
1323
|
"path": "skills/frontend-ui-ux/references/adaptive-layout.md",
|
|
@@ -1333,7 +1329,7 @@
|
|
|
1333
1329
|
},
|
|
1334
1330
|
{
|
|
1335
1331
|
"path": "skills/frontend-ui-ux/references/complete-contract.md",
|
|
1336
|
-
"sha256": "
|
|
1332
|
+
"sha256": "fae8c15d7256482e79a48444972ca1b91ae8ea723d362521648f74b286c12e9a"
|
|
1337
1333
|
},
|
|
1338
1334
|
{
|
|
1339
1335
|
"path": "skills/frontend-ui-ux/references/composition.md",
|
|
@@ -1489,11 +1485,11 @@
|
|
|
1489
1485
|
},
|
|
1490
1486
|
{
|
|
1491
1487
|
"path": "skills/lit-adhd/SKILL.md",
|
|
1492
|
-
"sha256": "
|
|
1488
|
+
"sha256": "9b3f05d71da59e7f68024f2e9104e07aeb9f6d0e9562f6d6023d30bd40163cf0"
|
|
1493
1489
|
},
|
|
1494
1490
|
{
|
|
1495
1491
|
"path": "skills/lit-adhd/references/brief-contract.md",
|
|
1496
|
-
"sha256": "
|
|
1492
|
+
"sha256": "1eb34945f8035b5e997ccd5986fe073b7e6c8dfea5750833d8bdaea35b973bdf"
|
|
1497
1493
|
},
|
|
1498
1494
|
{
|
|
1499
1495
|
"path": "skills/lit-adhd/references/card-examples.md",
|
|
@@ -1509,7 +1505,7 @@
|
|
|
1509
1505
|
},
|
|
1510
1506
|
{
|
|
1511
1507
|
"path": "skills/lit-adhd/scripts/lib/collect.mjs",
|
|
1512
|
-
"sha256": "
|
|
1508
|
+
"sha256": "b8c5463c8c5f877dca3e8ba48ab38763da6c6e23469e729b6e348d8786f76495"
|
|
1513
1509
|
},
|
|
1514
1510
|
{
|
|
1515
1511
|
"path": "skills/lit-adhd/scripts/lib/gauge.mjs",
|
|
@@ -1521,7 +1517,7 @@
|
|
|
1521
1517
|
},
|
|
1522
1518
|
{
|
|
1523
1519
|
"path": "skills/lit-adhd/scripts/lib/next-step.mjs",
|
|
1524
|
-
"sha256": "
|
|
1520
|
+
"sha256": "f17467ce2371170408d9a1429218c027e70d34e1f3e438e6a654b2aa48d11d70"
|
|
1525
1521
|
},
|
|
1526
1522
|
{
|
|
1527
1523
|
"path": "skills/lit-adhd/scripts/lib/plan-task-rows.mjs",
|
|
@@ -1541,7 +1537,7 @@
|
|
|
1541
1537
|
},
|
|
1542
1538
|
{
|
|
1543
1539
|
"path": "skills/lit-burnoff/SKILL.md",
|
|
1544
|
-
"sha256": "
|
|
1540
|
+
"sha256": "bd50b2a6aaf0de12b8394867916531fc985f0a3510678d880c1a926834a5fadb"
|
|
1545
1541
|
},
|
|
1546
1542
|
{
|
|
1547
1543
|
"path": "skills/lit-burnoff-file/SKILL.md",
|
|
@@ -1549,7 +1545,7 @@
|
|
|
1549
1545
|
},
|
|
1550
1546
|
{
|
|
1551
1547
|
"path": "skills/lit-code/SKILL.md",
|
|
1552
|
-
"sha256": "
|
|
1548
|
+
"sha256": "6cd781ed5035abe6679277cad9fe1fb7a905201b1ee1d6943d3ec009f133e34d"
|
|
1553
1549
|
},
|
|
1554
1550
|
{
|
|
1555
1551
|
"path": "skills/lit-code/references/go/README.md",
|
|
@@ -1669,15 +1665,15 @@
|
|
|
1669
1665
|
},
|
|
1670
1666
|
{
|
|
1671
1667
|
"path": "skills/lit-code/references/rust/README.md",
|
|
1672
|
-
"sha256": "
|
|
1668
|
+
"sha256": "60439bf4f6aabd6031619349ec96a841e72a825dc889e226c29a48f8f3607893"
|
|
1673
1669
|
},
|
|
1674
1670
|
{
|
|
1675
1671
|
"path": "skills/lit-code/references/rust/async-tokio.md",
|
|
1676
|
-
"sha256": "
|
|
1672
|
+
"sha256": "96ce1f75794f3493efb8871daeb0dadbb47b2dff695c48b579f5848c4a688bc9"
|
|
1677
1673
|
},
|
|
1678
1674
|
{
|
|
1679
1675
|
"path": "skills/lit-code/references/rust/axum-stack.md",
|
|
1680
|
-
"sha256": "
|
|
1676
|
+
"sha256": "aa7c269e850abe826af77571cc2f9390213f06528581e01b7ef7fa2e8a04c21b"
|
|
1681
1677
|
},
|
|
1682
1678
|
{
|
|
1683
1679
|
"path": "skills/lit-code/references/rust/cargo-strict.md",
|
|
@@ -1685,7 +1681,7 @@
|
|
|
1685
1681
|
},
|
|
1686
1682
|
{
|
|
1687
1683
|
"path": "skills/lit-code/references/rust/clap-stack.md",
|
|
1688
|
-
"sha256": "
|
|
1684
|
+
"sha256": "c5be3307613fbbf7d7326580293ffc8503d6cfba4ca90759bbdb5fdd9893f816"
|
|
1689
1685
|
},
|
|
1690
1686
|
{
|
|
1691
1687
|
"path": "skills/lit-code/references/rust/concurrency.md",
|
|
@@ -1693,7 +1689,7 @@
|
|
|
1693
1689
|
},
|
|
1694
1690
|
{
|
|
1695
1691
|
"path": "skills/lit-code/references/rust/libraries.md",
|
|
1696
|
-
"sha256": "
|
|
1692
|
+
"sha256": "dd25794cdc67c1924793624cc6efa15342e4f48e7d69cbe9f54692662973ced1"
|
|
1697
1693
|
},
|
|
1698
1694
|
{
|
|
1699
1695
|
"path": "skills/lit-code/references/rust/one-liners.md",
|
|
@@ -1701,7 +1697,7 @@
|
|
|
1701
1697
|
},
|
|
1702
1698
|
{
|
|
1703
1699
|
"path": "skills/lit-code/references/rust/proptest-insta.md",
|
|
1704
|
-
"sha256": "
|
|
1700
|
+
"sha256": "aef996c4f965a14a76fe62fd11ecd40f973c64557f4bafcd38fd73de20378d7c"
|
|
1705
1701
|
},
|
|
1706
1702
|
{
|
|
1707
1703
|
"path": "skills/lit-code/references/rust/type-state.md",
|
|
@@ -1713,7 +1709,7 @@
|
|
|
1713
1709
|
},
|
|
1714
1710
|
{
|
|
1715
1711
|
"path": "skills/lit-code/references/rust/zero-cost-safety.md",
|
|
1716
|
-
"sha256": "
|
|
1712
|
+
"sha256": "9b41629d158a91cc2a05341dfafa868b3126cc7625b2714c74823ddcbcd1a59b"
|
|
1717
1713
|
},
|
|
1718
1714
|
{
|
|
1719
1715
|
"path": "skills/lit-code/references/rust-ub/README.md",
|
|
@@ -1729,11 +1725,11 @@
|
|
|
1729
1725
|
},
|
|
1730
1726
|
{
|
|
1731
1727
|
"path": "skills/lit-code/references/typescript/README.md",
|
|
1732
|
-
"sha256": "
|
|
1728
|
+
"sha256": "87a776dd654c4ed4a70565a063dba24f525fb94635f64471437f127bfe79a8e0"
|
|
1733
1729
|
},
|
|
1734
1730
|
{
|
|
1735
1731
|
"path": "skills/lit-code/references/typescript/backend-hono.md",
|
|
1736
|
-
"sha256": "
|
|
1732
|
+
"sha256": "b4c7fb35a5493d24bc755a21196f94321d9b22c0d701599b1464b9b585794fa5"
|
|
1737
1733
|
},
|
|
1738
1734
|
{
|
|
1739
1735
|
"path": "skills/lit-code/references/typescript/bootstrap.md",
|
|
@@ -1749,7 +1745,7 @@
|
|
|
1749
1745
|
},
|
|
1750
1746
|
{
|
|
1751
1747
|
"path": "skills/lit-code/references/typescript/tsconfig-strict.md",
|
|
1752
|
-
"sha256": "
|
|
1748
|
+
"sha256": "3207febd94978f32d4a8e5d098ddaadea7df1af48fb1e3a977a44aaefba8b043"
|
|
1753
1749
|
},
|
|
1754
1750
|
{
|
|
1755
1751
|
"path": "skills/lit-code/references/typescript/type-patterns.md",
|
|
@@ -1829,7 +1825,7 @@
|
|
|
1829
1825
|
},
|
|
1830
1826
|
{
|
|
1831
1827
|
"path": "skills/lit-code/scripts/typescript/check-no-excuse-rules.ts",
|
|
1832
|
-
"sha256": "
|
|
1828
|
+
"sha256": "c96021f1529fef33f5d0551e4093cd2be2832c6b9cfe326e0c18fa136755b61f"
|
|
1833
1829
|
},
|
|
1834
1830
|
{
|
|
1835
1831
|
"path": "skills/lit-code/scripts/typescript/new-project.ts",
|
|
@@ -4333,7 +4329,7 @@
|
|
|
4333
4329
|
},
|
|
4334
4330
|
{
|
|
4335
4331
|
"path": "skills/lit-typographic-motion/SKILL.md",
|
|
4336
|
-
"sha256": "
|
|
4332
|
+
"sha256": "a1da7728a3f998c05150a23426be0b7e1a0e000e58ffe5a24289d50a71b8370e"
|
|
4337
4333
|
},
|
|
4338
4334
|
{
|
|
4339
4335
|
"path": "skills/lit-typographic-motion/bin/audio.py",
|
|
@@ -4421,7 +4417,7 @@
|
|
|
4421
4417
|
},
|
|
4422
4418
|
{
|
|
4423
4419
|
"path": "skills/lit-typographic-motion/engine/cover.mjs",
|
|
4424
|
-
"sha256": "
|
|
4420
|
+
"sha256": "0a112972eacbc6b18f7ca1765a26a5044c4b5c76dfd4812338ae7486f831c2d9"
|
|
4425
4421
|
},
|
|
4426
4422
|
{
|
|
4427
4423
|
"path": "skills/lit-typographic-motion/engine/director.mjs",
|
|
@@ -4489,7 +4485,7 @@
|
|
|
4489
4485
|
},
|
|
4490
4486
|
{
|
|
4491
4487
|
"path": "skills/lit-typographic-motion/engine/stage-gate.mjs",
|
|
4492
|
-
"sha256": "
|
|
4488
|
+
"sha256": "7ce876d61ed0cbee9b2e3f847e9da0257113572737b1f7c76649632a2a31ff9d"
|
|
4493
4489
|
},
|
|
4494
4490
|
{
|
|
4495
4491
|
"path": "skills/lit-typographic-motion/engine/stage-init.js",
|
|
@@ -4497,7 +4493,7 @@
|
|
|
4497
4493
|
},
|
|
4498
4494
|
{
|
|
4499
4495
|
"path": "skills/lit-typographic-motion/engine/stage-kit.js",
|
|
4500
|
-
"sha256": "
|
|
4496
|
+
"sha256": "b33f71648fd897c22c119841c1b43226cb11bb5ad855e85040a1dc8d81ca66e2"
|
|
4501
4497
|
},
|
|
4502
4498
|
{
|
|
4503
4499
|
"path": "skills/lit-typographic-motion/engine/stage-qa.mjs",
|
|
@@ -4509,7 +4505,7 @@
|
|
|
4509
4505
|
},
|
|
4510
4506
|
{
|
|
4511
4507
|
"path": "skills/lit-typographic-motion/engine/stage.mjs",
|
|
4512
|
-
"sha256": "
|
|
4508
|
+
"sha256": "03165bde6fdb74ca8ad29e38a835629f672c272cb1e88d43c1c2f64914849a8f"
|
|
4513
4509
|
},
|
|
4514
4510
|
{
|
|
4515
4511
|
"path": "skills/lit-typographic-motion/engine/stills.mjs",
|
|
@@ -4641,7 +4637,7 @@
|
|
|
4641
4637
|
},
|
|
4642
4638
|
{
|
|
4643
4639
|
"path": "skills/lit-typographic-motion/references/stage.md",
|
|
4644
|
-
"sha256": "
|
|
4640
|
+
"sha256": "c02bd6c8373bd684b58ae3f92c178418353465cbefabf310292c17cf8f91490b"
|
|
4645
4641
|
},
|
|
4646
4642
|
{
|
|
4647
4643
|
"path": "skills/lit-typographic-motion/references/studio.md",
|
|
@@ -4893,11 +4889,11 @@
|
|
|
4893
4889
|
},
|
|
4894
4890
|
{
|
|
4895
4891
|
"path": "skills/readme-studio/templates/remotion/package-lock.json",
|
|
4896
|
-
"sha256": "
|
|
4892
|
+
"sha256": "e045d4aa92e321e86ce40f6ca3c545cc147be4e14141134176513744d96dc946"
|
|
4897
4893
|
},
|
|
4898
4894
|
{
|
|
4899
4895
|
"path": "skills/readme-studio/templates/remotion/package.json",
|
|
4900
|
-
"sha256": "
|
|
4896
|
+
"sha256": "51a55a9b47b179bebd817640c1df02067f72fdbe2187eb42bdb27636683277eb"
|
|
4901
4897
|
},
|
|
4902
4898
|
{
|
|
4903
4899
|
"path": "skills/readme-studio/templates/remotion/src/index.tsx",
|
|
@@ -4925,7 +4921,7 @@
|
|
|
4925
4921
|
},
|
|
4926
4922
|
{
|
|
4927
4923
|
"path": "skills/rules/SKILL.md",
|
|
4928
|
-
"sha256": "
|
|
4924
|
+
"sha256": "81ef82aa8c819dc3f48841afa6cbcd5969717dcb7e6e2779ca8c353967916325"
|
|
4929
4925
|
},
|
|
4930
4926
|
{
|
|
4931
4927
|
"path": "skills/start-work/SKILL.md",
|
|
@@ -4945,7 +4941,7 @@
|
|
|
4945
4941
|
},
|
|
4946
4942
|
{
|
|
4947
4943
|
"path": "skills/visual-qa/references/complete-contract.md",
|
|
4948
|
-
"sha256": "
|
|
4944
|
+
"sha256": "393cc99a6fabb2fc40d8d77075833747580e2553614b552012ca1d22acc9e7e5"
|
|
4949
4945
|
},
|
|
4950
4946
|
{
|
|
4951
4947
|
"path": "skills/visual-qa/schemas/evidence-manifest-v1alpha1.schema.json",
|
|
@@ -5,16 +5,10 @@ alwaysApply: true
|
|
|
5
5
|
|
|
6
6
|
# Baseline discipline
|
|
7
7
|
|
|
8
|
-
- Restate the completion promise before changing files.
|
|
9
|
-
|
|
10
|
-
-
|
|
11
|
-
|
|
12
|
-
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
- Tests alone never prove done. Run the real surface once and capture the artifact
|
|
16
|
-
path, then tear down every artifact the run spawned and record a cleanup receipt.
|
|
17
|
-
- A gate you did not run is not green. Paste the command and its actual output;
|
|
18
|
-
never describe a red or unrun gate as passing.
|
|
19
|
-
- If an instruction and this rule conflict, the current user wins — but say which
|
|
20
|
-
rule you are setting aside and why.
|
|
8
|
+
- Restate the completion promise before changing files.
|
|
9
|
+
- Preserve unrelated worktree changes. Never revert, stash, or reformat work you did not author in this session.
|
|
10
|
+
- Never run destructive git commands (`reset --hard`, `clean -fd`, force-push) or stage, commit, tag, publish, or bump a version without an explicit yes from the current user in this turn.
|
|
11
|
+
- `lit` at the start of a prompt is LitHermes's activation word. Read plans/, HANDOFF.md or .handoff/HANDOFF.md, and .hermes/lithermes/ before resuming. A plain git push needs an explicit yes.
|
|
12
|
+
- Tests alone never prove done. Run the real surface once and capture the artifact path, then tear down every artifact the run spawned and record a cleanup receipt.
|
|
13
|
+
- A gate you did not run is not green. Paste the command and its actual output; never describe a red or unrun gate as passing.
|
|
14
|
+
- If an instruction and this rule conflict, the current user wins — but say which rule you are setting aside and why.
|
|
@@ -16,7 +16,7 @@ Supported:
|
|
|
16
16
|
`?` exactly one character within one segment
|
|
17
17
|
`[abc]` `[a-z]` `[!abc]` `[^abc]` character class, never matches `/`
|
|
18
18
|
`{a,b}` brace alternation, nestable, expanded before compilation
|
|
19
|
-
leading
|
|
19
|
+
leading (!) negation (handled by the caller, not here)
|
|
20
20
|
|
|
21
21
|
There is NO backslash escape: `\` is normalized to `/` so Windows-style paths and
|
|
22
22
|
patterns match, exactly as the reference does. See D9.
|
|
@@ -144,7 +144,7 @@ The methodology is language-agnostic. The commands to launch, attach, breakpoint
|
|
|
144
144
|
|---|---|---|
|
|
145
145
|
| Python (CPython, pytest, asyncio, Django, FastAPI) | 📖 **[references/runtimes/python.md](references/runtimes/python.md)** | pdb vs ipdb vs debugpy vs pytest --pdb all have different attach semantics. Async code needs special breakpoint handling. Wrappers like `poetry run` swallow flags. |
|
|
146
146
|
| Node.js / tsx / ts-node / Bun / Deno (running source) | 📖 **[references/runtimes/node.md](references/runtimes/node.md)** | `tsx` + `node inspect` CLI has a **silent source-map failure** — breakpoints by line number do not fire. You will not notice unless you read this first. |
|
|
147
|
-
| Rust (cargo, tokio, panics) | 📖 **[references/runtimes/rust.md](references/runtimes/rust.md)** | Release builds strip symbols. Tokio tasks need `tokio-console`. The borrow checker makes `dbg
|
|
147
|
+
| Rust (cargo, tokio, panics) | 📖 **[references/runtimes/rust.md](references/runtimes/rust.md)** | Release builds strip symbols. Tokio tasks need `tokio-console`. The borrow checker makes `dbg!() the faster tool most of the time. |
|
|
148
148
|
| Go (goroutines, dlv, pprof, race) | 📖 **[references/runtimes/go.md](references/runtimes/go.md)** | Goroutine leaks and recovered panics are silent by default. `dlv` has a specific port convention. `go test -race` is the first thing to run, not the last. |
|
|
149
149
|
| Native binary / stripped C/C++ / no source | 📖 **[references/runtimes/native-binary.md](references/runtimes/native-binary.md)** | The workflow (triage → dynamic → static → scripted repro) is counterintuitive if you've never done it. `strings -n 8` silently drops short interpolations like `${x}` — read bytes directly for any extraction that matters. macOS adds SIP / Mach-O / lldb specifics that don't apply on Linux. |
|
|
150
150
|
| **Bundled-app binary** (Bun SEA, Node SEA, Deno compile, pkg, nexe, Electron, Tauri, PyInstaller) | 📖 **[references/runtimes/bundled-js-binary.md](references/runtimes/bundled-js-binary.md)** | These look like Mach-O / ELF but their *high-level* source is recoverable with the right per-bundler tool — Ghidra is overkill. Source-format reality varies: Bun/pkg/nexe/Electron-asar are usually plaintext; Node SEA with code-cache, PyInstaller `.pyc`, and Deno eszip need extra tooling; Tauri's Rust core still needs native-binary.md. Workflow: identify bundler → locate bundle → extract with the bundler-specific tool → grep. |
|
|
@@ -105,4 +105,4 @@ If you catch yourself about to run a command that creates a file, opens a port,
|
|
|
105
105
|
|
|
106
106
|
- One `git checkout`, one `rm`, one `tmux kill-session` list — simple Phase 9 walk.
|
|
107
107
|
- Survives interruptions. If you get pulled away mid-session, the next agent (or you later) can continue or revert without guessing.
|
|
108
|
-
- Prevents the most common failure: leaving `console.log`/`print()`/`dbg
|
|
108
|
+
- Prevents the most common failure: leaving `console.log`/`print()`/`dbg!() scattered across the tree.
|
|
@@ -51,7 +51,7 @@ child task whose `goal`/`context` inlines that role's mandate. Fan out whenever
|
|
|
51
51
|
whose evidence source is most likely to confirm or refute it, and inline the full
|
|
52
52
|
hypothesis list in every child's `context` so each knows what the others are testing.
|
|
53
53
|
Children investigate and report evidence only — they do **not** edit source code, and any
|
|
54
|
-
instrumentation statement (`breakpoint()`, `debugger;`, `dbg
|
|
54
|
+
instrumentation statement (`breakpoint()`, `debugger;`, `dbg!(), etc.) is added by you, the
|
|
55
55
|
orchestrator, after a child requests it.
|
|
56
56
|
|
|
57
57
|
Dispatch the batch in a single `delegate_task` call. Roles to inline as child mandates:
|
|
@@ -83,7 +83,7 @@ delegate_task(tasks=[
|
|
|
83
83
|
|
|
84
84
|
**Orchestrator responsibilities** (you keep these — children never do them):
|
|
85
85
|
- Maintain the journal; children return evidence, you record it.
|
|
86
|
-
- Approve and apply any source-code edits (including `debugger;` / `breakpoint()` / `dbg
|
|
86
|
+
- Approve and apply any source-code edits (including `debugger;` / `breakpoint()` / `dbg!()).
|
|
87
87
|
- Synthesize child reports into updated hypothesis statuses.
|
|
88
88
|
|
|
89
89
|
Hermes re-enters each hypothesis result as a separate message. The parent records and merges
|
|
@@ -48,7 +48,7 @@ unset RUST_LOG
|
|
|
48
48
|
unset DEBUG
|
|
49
49
|
|
|
50
50
|
# --- Ghidra scratch projects (if created just for this session) ---
|
|
51
|
-
#
|
|
51
|
+
# delete the scratch project directory the journal names under ~/ghidra-projects
|
|
52
52
|
|
|
53
53
|
# --- Core dumps from debugging (if any) ---
|
|
54
54
|
rm -f ./core ./core.* ~/core.*
|
|
@@ -445,7 +445,7 @@ pkill -f 'lldb' || true
|
|
|
445
445
|
# Ghidra scratch projects (if made just for this session)
|
|
446
446
|
# Named something like ~/ghidra-projects/debug-<timestamp>:
|
|
447
447
|
ls -la ~/ghidra-projects/ 2>/dev/null
|
|
448
|
-
#
|
|
448
|
+
# delete the scratch project directory the journal names under ~/ghidra-projects
|
|
449
449
|
|
|
450
450
|
# Core dumps left from crashes
|
|
451
451
|
rm -f ./core ./core.* ~/core.*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Rust Debugging
|
|
2
2
|
|
|
3
|
-
Covers `cargo`, `tokio`, panics, and the fact that you usually don't actually need a debugger — Rust's type system, `dbg
|
|
3
|
+
Covers `cargo`, `tokio`, panics, and the fact that you usually don't actually need a debugger — Rust's type system, `dbg!(), and logging cover 80% of sessions faster than gdb would.
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -43,7 +43,7 @@ Reach for the lightest tool that answers the hypothesis.
|
|
|
43
43
|
|
|
44
44
|
---
|
|
45
45
|
|
|
46
|
-
## `dbg
|
|
46
|
+
## `dbg!() — the underused macro
|
|
47
47
|
|
|
48
48
|
```rust
|
|
49
49
|
let x = 5;
|
|
@@ -60,7 +60,7 @@ Multiple values at once:
|
|
|
60
60
|
dbg!(&user, &request, elapsed.as_millis());
|
|
61
61
|
```
|
|
62
62
|
|
|
63
|
-
`dbg
|
|
63
|
+
`dbg!() writes to stderr, so it won't corrupt stdout-based pipelines. **Journal each `dbg!() you add**; revert at Phase 9.
|
|
64
64
|
|
|
65
65
|
---
|
|
66
66
|
|
|
@@ -208,7 +208,7 @@ Now `rust-gdb ./target/release/my_binary` works on release builds. This is requi
|
|
|
208
208
|
| `if let Ok(x) = ... { use(x); } // no else` | Silent on Err |
|
|
209
209
|
| `.ok()` chaining | Converts Result to Option, throwing the error away |
|
|
210
210
|
| Panic inside a tokio task not `.await`ed | Task dies silently; runtime usually logs but it's quiet if logs are off |
|
|
211
|
-
| `eprintln
|
|
211
|
+
| `eprintln!() that goes to a redirected-null stderr | Looks like nothing happened |
|
|
212
212
|
| `Drop` impl that panics under specific condition | Double-panic aborts process silently if no logging configured |
|
|
213
213
|
|
|
214
214
|
---
|
|
@@ -203,7 +203,7 @@ Ghidra is the right tool when you need to **read the logic** of a binary you don
|
|
|
203
203
|
# (the journal should have the exact path)
|
|
204
204
|
# Example:
|
|
205
205
|
ls ~/ghidra-projects/ 2>/dev/null
|
|
206
|
-
#
|
|
206
|
+
# delete the scratch project directory the journal names under ~/ghidra-projects
|
|
207
207
|
|
|
208
208
|
# If you promoted the project (kept it), it's not cleanup — note it in the final summary to the user
|
|
209
209
|
|
|
@@ -48,7 +48,7 @@ No,Category,Guideline,Description,Do,Don't,Code Good,Code Bad,Severity,Docs URL
|
|
|
48
48
|
47,AutoImports,Use #imports for explicit imports,Explicit imports when needed,#imports for clarity or disabled auto-imports,"import from 'vue' when auto-import enabled","import { ref } from '#imports'","import { ref } from 'vue'",Low,https://nuxt.com/docs/guide/concepts/auto-imports
|
|
49
49
|
48,AutoImports,Configure third-party auto-imports,Add external package auto-imports,imports.presets in nuxt.config,Manual imports everywhere,"imports: { presets: [{ from: 'vue-i18n', imports: ['useI18n'] }] }",import { useI18n } everywhere,Low,https://nuxt.com/docs/guide/concepts/auto-imports
|
|
50
50
|
49,Plugins,Use defineNuxtPlugin,Define plugins properly,defineNuxtPlugin wrapper,export default function,"export default defineNuxtPlugin((nuxtApp) => {})","export default function(ctx) {}",High,https://nuxt.com/docs/guide/directory-structure/plugins
|
|
51
|
-
50,Plugins,Use provide for injection,Provide helpers across app,return { provide: {} } for type safety,nuxtApp.provide without types,"return { provide: { hello: (name) => `Hello ${name}
|
|
51
|
+
50,Plugins,Use provide for injection,Provide helpers across app,return { provide: {} } for type safety,nuxtApp.provide without types,"return { provide: { hello: (name) => `Hello ${name}.` } }","nuxtApp.provide('hello', fn)",Medium,https://nuxt.com/docs/guide/directory-structure/plugins
|
|
52
52
|
51,Plugins,Use .client or .server suffix,Control plugin execution environment,plugin.client.ts for client-only,if (process.client) checks,analytics.client.ts,"if (process.client) { // analytics }",Medium,https://nuxt.com/docs/guide/directory-structure/plugins
|
|
53
53
|
52,Environment,Use runtimeConfig for env vars,Access environment variables safely,runtimeConfig in nuxt.config,process.env directly,"runtimeConfig: { apiSecret: '', public: { apiBase: '' } }",process.env.API_SECRET in components,High,https://nuxt.com/docs/guide/going-further/runtime-config
|
|
54
54
|
53,Environment,Use NUXT_ prefix for env override,Override config with environment variables,NUXT_API_SECRET NUXT_PUBLIC_API_BASE,Custom env var names,NUXT_PUBLIC_API_BASE=https://api.example.com,API_BASE=https://api.example.com,High,https://nuxt.com/docs/guide/going-further/runtime-config
|
package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/manifest.json
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"corpus": {
|
|
14
14
|
"fileCount": 167,
|
|
15
15
|
"totalBytes": 2596360,
|
|
16
|
-
"digest": "
|
|
16
|
+
"digest": "c921ed87f41b5aaef14ef480c791f1c36bbd3ec616eaccc32f5e1246fcc547e6",
|
|
17
17
|
"digestFormat": "sorted sha256 two-spaces path newline"
|
|
18
18
|
},
|
|
19
19
|
"files": [
|
|
@@ -780,7 +780,7 @@
|
|
|
780
780
|
{
|
|
781
781
|
"path": "ui-ux-db/data/stacks/nuxtjs.csv",
|
|
782
782
|
"size": 16539,
|
|
783
|
-
"sha256": "
|
|
783
|
+
"sha256": "560b74265e334d325b92d7add4271442cff67d99bdc134ce5896e28e23fcd753"
|
|
784
784
|
},
|
|
785
785
|
{
|
|
786
786
|
"path": "ui-ux-db/data/stacks/react-native.csv",
|
|
@@ -445,7 +445,7 @@ isolated Hermes home. Use `--hermes-home`; never `--home`.
|
|
|
445
445
|
|
|
446
446
|
```text
|
|
447
447
|
$ node packages/lithermes-installer/bin/lithermes.js install --yes --offline --no-hud --hermes-home "$ISOLATED"
|
|
448
|
-
Installed LitHermes 1.0.
|
|
448
|
+
Installed LitHermes 1.0.34
|
|
449
449
|
plugin: $ISOLATED/plugins/lithermes
|
|
450
450
|
model config: updated
|
|
451
451
|
|
|
@@ -462,7 +462,7 @@ installed payload: PASS
|
|
|
462
462
|
enabled config: PASS
|
|
463
463
|
|
|
464
464
|
$ hermes lithermes doctor
|
|
465
|
-
[OK] plugin.yaml readable (version 1.0.
|
|
465
|
+
[OK] plugin.yaml readable (version 1.0.34)
|
|
466
466
|
[OK] skills bundled: 40
|
|
467
467
|
[OK] litgoal durable runtime importable
|
|
468
468
|
```
|