@litfamily/lithermes 1.0.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.
Files changed (557) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +186 -0
  3. package/README_Ko-KR.md +188 -0
  4. package/assets/lithermes-plugin/NOTICE.md +46 -0
  5. package/assets/lithermes-plugin/README.md +390 -0
  6. package/assets/lithermes-plugin/__init__.py +589 -0
  7. package/assets/lithermes-plugin/auto_update.py +338 -0
  8. package/assets/lithermes-plugin/bounded_work.py +1120 -0
  9. package/assets/lithermes-plugin/bounded_work_tools.py +115 -0
  10. package/assets/lithermes-plugin/core.py +1813 -0
  11. package/assets/lithermes-plugin/core_commands.py +243 -0
  12. package/assets/lithermes-plugin/core_contexts.py +458 -0
  13. package/assets/lithermes-plugin/core_contract.py +456 -0
  14. package/assets/lithermes-plugin/core_plans.py +418 -0
  15. package/assets/lithermes-plugin/core_reader_args.py +34 -0
  16. package/assets/lithermes-plugin/core_recap_command.py +141 -0
  17. package/assets/lithermes-plugin/core_recap_state.py +175 -0
  18. package/assets/lithermes-plugin/core_review.py +198 -0
  19. package/assets/lithermes-plugin/core_routing.py +641 -0
  20. package/assets/lithermes-plugin/core_runs.py +283 -0
  21. package/assets/lithermes-plugin/core_runtime.py +251 -0
  22. package/assets/lithermes-plugin/core_workflow_commands.py +207 -0
  23. package/assets/lithermes-plugin/deliverable_hedge_guard.py +562 -0
  24. package/assets/lithermes-plugin/diagnostics.py +468 -0
  25. package/assets/lithermes-plugin/handoff.py +97 -0
  26. package/assets/lithermes-plugin/knowledge.py +920 -0
  27. package/assets/lithermes-plugin/knowledge_tools.py +130 -0
  28. package/assets/lithermes-plugin/lit_mark.py +140 -0
  29. package/assets/lithermes-plugin/lit_mark_rows.json +1363 -0
  30. package/assets/lithermes-plugin/litgoal/__init__.py +10 -0
  31. package/assets/lithermes-plugin/litgoal/cli.py +207 -0
  32. package/assets/lithermes-plugin/litgoal/hook.py +81 -0
  33. package/assets/lithermes-plugin/litgoal/model.py +203 -0
  34. package/assets/lithermes-plugin/litgoal/runtime.py +522 -0
  35. package/assets/lithermes-plugin/litgoal/store.py +367 -0
  36. package/assets/lithermes-plugin/litgoal/tools.py +300 -0
  37. package/assets/lithermes-plugin/output-styles/asd-ste100-ko.md +41 -0
  38. package/assets/lithermes-plugin/output-styles/asd-ste100.md +40 -0
  39. package/assets/lithermes-plugin/output-styles/eli5-ko.md +13 -0
  40. package/assets/lithermes-plugin/output-styles/eli5.md +11 -0
  41. package/assets/lithermes-plugin/output_styles.py +62 -0
  42. package/assets/lithermes-plugin/payload-version.json +2107 -0
  43. package/assets/lithermes-plugin/plugin.yaml +16 -0
  44. package/assets/lithermes-plugin/provider_metrics.py +161 -0
  45. package/assets/lithermes-plugin/redaction.py +148 -0
  46. package/assets/lithermes-plugin/rules/__init__.py +55 -0
  47. package/assets/lithermes-plugin/rules/bundled-rules/baseline-discipline.md +20 -0
  48. package/assets/lithermes-plugin/rules/bundled-rules/build-decision-gate.md +19 -0
  49. package/assets/lithermes-plugin/rules/bundled-rules/windows-git-bash.md +17 -0
  50. package/assets/lithermes-plugin/rules/constants.py +122 -0
  51. package/assets/lithermes-plugin/rules/discovery.py +276 -0
  52. package/assets/lithermes-plugin/rules/engine.py +447 -0
  53. package/assets/lithermes-plugin/rules/frontmatter.py +149 -0
  54. package/assets/lithermes-plugin/rules/globmatch.py +333 -0
  55. package/assets/lithermes-plugin/scientific_visualization.py +158 -0
  56. package/assets/lithermes-plugin/session_context.py +8 -0
  57. package/assets/lithermes-plugin/skill_loop.py +2044 -0
  58. package/assets/lithermes-plugin/skill_observer.py +1778 -0
  59. package/assets/lithermes-plugin/skills/autoconference/LICENSE +21 -0
  60. package/assets/lithermes-plugin/skills/autoconference/ORIGIN.json +11 -0
  61. package/assets/lithermes-plugin/skills/autoconference/SKILL.md +163 -0
  62. package/assets/lithermes-plugin/skills/autoconference/assets/conference_template.md +76 -0
  63. package/assets/lithermes-plugin/skills/autoconference/assets/report_template.md +53 -0
  64. package/assets/lithermes-plugin/skills/autoconference/assets/synthesis_template.md +39 -0
  65. package/assets/lithermes-plugin/skills/autoconference/dependencies/autoresearch.md +14 -0
  66. package/assets/lithermes-plugin/skills/autoconference/modes/analyze/SKILL.md +269 -0
  67. package/assets/lithermes-plugin/skills/autoconference/modes/core/SKILL.md +134 -0
  68. package/assets/lithermes-plugin/skills/autoconference/modes/core/convergence-guide.md +162 -0
  69. package/assets/lithermes-plugin/skills/autoconference/modes/core/crash-recovery.md +63 -0
  70. package/assets/lithermes-plugin/skills/autoconference/modes/debate/SKILL.md +383 -0
  71. package/assets/lithermes-plugin/skills/autoconference/modes/plan/SKILL.md +304 -0
  72. package/assets/lithermes-plugin/skills/autoconference/modes/resume/SKILL.md +82 -0
  73. package/assets/lithermes-plugin/skills/autoconference/modes/ship/SKILL.md +78 -0
  74. package/assets/lithermes-plugin/skills/autoconference/modes/survey/SKILL.md +376 -0
  75. package/assets/lithermes-plugin/skills/autoconference/references/agent-prompts.md +110 -0
  76. package/assets/lithermes-plugin/skills/autoconference/references/conference-protocol.md +90 -0
  77. package/assets/lithermes-plugin/skills/autoconference/references/core-principles.md +78 -0
  78. package/assets/lithermes-plugin/skills/autoconference/references/results-logging.md +165 -0
  79. package/assets/lithermes-plugin/skills/autoconference/references/visualization-guide.md +99 -0
  80. package/assets/lithermes-plugin/skills/autoconference/scripts/check_conference.sh +197 -0
  81. package/assets/lithermes-plugin/skills/autoconference/scripts/init_conference.py +489 -0
  82. package/assets/lithermes-plugin/skills/autoconference/scripts/style_presets.py +104 -0
  83. package/assets/lithermes-plugin/skills/autoconference/templates/code-performance.md +59 -0
  84. package/assets/lithermes-plugin/skills/autoconference/templates/debate-mode.md +50 -0
  85. package/assets/lithermes-plugin/skills/autoconference/templates/prompt-optimization.md +58 -0
  86. package/assets/lithermes-plugin/skills/autoconference/templates/quick-conference.md +48 -0
  87. package/assets/lithermes-plugin/skills/autoconference/templates/research-synthesis.md +56 -0
  88. package/assets/lithermes-plugin/skills/autoconference/templates/survey-mode.md +63 -0
  89. package/assets/lithermes-plugin/skills/autoresearch/LICENSE +21 -0
  90. package/assets/lithermes-plugin/skills/autoresearch/ORIGIN.json +11 -0
  91. package/assets/lithermes-plugin/skills/autoresearch/SKILL.md +175 -0
  92. package/assets/lithermes-plugin/skills/autoresearch/assets/report_template.md +50 -0
  93. package/assets/lithermes-plugin/skills/autoresearch/assets/research_template.md +38 -0
  94. package/assets/lithermes-plugin/skills/autoresearch/assets/results_template.tsv +2 -0
  95. package/assets/lithermes-plugin/skills/autoresearch/modes/core/SKILL.md +204 -0
  96. package/assets/lithermes-plugin/skills/autoresearch/modes/core/evaluator-contract.md +108 -0
  97. package/assets/lithermes-plugin/skills/autoresearch/modes/core/stuck-detection.md +102 -0
  98. package/assets/lithermes-plugin/skills/autoresearch/modes/debug/SKILL.md +240 -0
  99. package/assets/lithermes-plugin/skills/autoresearch/modes/debug/investigation-techniques.md +254 -0
  100. package/assets/lithermes-plugin/skills/autoresearch/modes/fix/SKILL.md +176 -0
  101. package/assets/lithermes-plugin/skills/autoresearch/modes/learn/SKILL.md +96 -0
  102. package/assets/lithermes-plugin/skills/autoresearch/modes/plan/SKILL.md +291 -0
  103. package/assets/lithermes-plugin/skills/autoresearch/modes/predict/SKILL.md +271 -0
  104. package/assets/lithermes-plugin/skills/autoresearch/modes/predict/persona-templates.md +227 -0
  105. package/assets/lithermes-plugin/skills/autoresearch/modes/reason/SKILL.md +174 -0
  106. package/assets/lithermes-plugin/skills/autoresearch/modes/scenario/SKILL.md +168 -0
  107. package/assets/lithermes-plugin/skills/autoresearch/modes/scenario/dimensions.md +173 -0
  108. package/assets/lithermes-plugin/skills/autoresearch/modes/security/SKILL.md +287 -0
  109. package/assets/lithermes-plugin/skills/autoresearch/modes/security/owasp-checklist.md +156 -0
  110. package/assets/lithermes-plugin/skills/autoresearch/modes/security/stride-model.md +191 -0
  111. package/assets/lithermes-plugin/skills/autoresearch/modes/ship/SKILL.md +99 -0
  112. package/assets/lithermes-plugin/skills/autoresearch/modes/ship/type-checklists.md +158 -0
  113. package/assets/lithermes-plugin/skills/autoresearch/references/core-principles.md +75 -0
  114. package/assets/lithermes-plugin/skills/autoresearch/references/results-logging.md +55 -0
  115. package/assets/lithermes-plugin/skills/autoresearch/references/visualization-guide.md +90 -0
  116. package/assets/lithermes-plugin/skills/autoresearch/scripts/check_progress.sh +139 -0
  117. package/assets/lithermes-plugin/skills/autoresearch/scripts/init_research.py +219 -0
  118. package/assets/lithermes-plugin/skills/autoresearch/scripts/style_presets.py +104 -0
  119. package/assets/lithermes-plugin/skills/browser-drive/SKILL.md +147 -0
  120. package/assets/lithermes-plugin/skills/browser-drive/scripts/capability_probe.py +528 -0
  121. package/assets/lithermes-plugin/skills/comment-checker/SKILL.md +162 -0
  122. package/assets/lithermes-plugin/skills/debugging/SKILL.md +271 -0
  123. package/assets/lithermes-plugin/skills/debugging/references/methodology/00-setup.md +108 -0
  124. package/assets/lithermes-plugin/skills/debugging/references/methodology/02-investigate.md +122 -0
  125. package/assets/lithermes-plugin/skills/debugging/references/methodology/04-oracle-triple.md +136 -0
  126. package/assets/lithermes-plugin/skills/debugging/references/methodology/05-escalate.md +69 -0
  127. package/assets/lithermes-plugin/skills/debugging/references/methodology/06-fix.md +116 -0
  128. package/assets/lithermes-plugin/skills/debugging/references/methodology/08-qa.md +94 -0
  129. package/assets/lithermes-plugin/skills/debugging/references/methodology/09-cleanup.md +164 -0
  130. package/assets/lithermes-plugin/skills/debugging/references/methodology/partial-runtime-evidence.md +229 -0
  131. package/assets/lithermes-plugin/skills/debugging/references/runtimes/bundled-js-binary.md +415 -0
  132. package/assets/lithermes-plugin/skills/debugging/references/runtimes/go.md +252 -0
  133. package/assets/lithermes-plugin/skills/debugging/references/runtimes/native-binary.md +484 -0
  134. package/assets/lithermes-plugin/skills/debugging/references/runtimes/node.md +260 -0
  135. package/assets/lithermes-plugin/skills/debugging/references/runtimes/python.md +248 -0
  136. package/assets/lithermes-plugin/skills/debugging/references/runtimes/rust.md +234 -0
  137. package/assets/lithermes-plugin/skills/debugging/references/tools/ghidra.md +212 -0
  138. package/assets/lithermes-plugin/skills/debugging/references/tools/playwright-cli.md +194 -0
  139. package/assets/lithermes-plugin/skills/debugging/references/tools/pwndbg.md +263 -0
  140. package/assets/lithermes-plugin/skills/debugging/references/tools/pwntools.md +265 -0
  141. package/assets/lithermes-plugin/skills/deep-interview/SKILL.md +419 -0
  142. package/assets/lithermes-plugin/skills/frontend-ui-ux/SKILL.md +49 -0
  143. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/.gitattributes +2 -0
  144. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/README.md +248 -0
  145. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/_INDEX.md +191 -0
  146. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/airbnb.md +393 -0
  147. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/airtable.md +92 -0
  148. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/apple.md +250 -0
  149. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/aside.md +209 -0
  150. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/binance.md +348 -0
  151. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/bmw.md +183 -0
  152. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/brutalist-skill.md +92 -0
  153. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/bugatti.md +271 -0
  154. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/cal.md +262 -0
  155. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/claude.md +315 -0
  156. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/clay.md +307 -0
  157. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/clickhouse.md +284 -0
  158. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/clone-from-url.md +65 -0
  159. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/cohere.md +269 -0
  160. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/coinbase.md +132 -0
  161. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/composio.md +310 -0
  162. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/cursor.md +312 -0
  163. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/design-system-architecture.md +244 -0
  164. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/elevenlabs.md +268 -0
  165. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/expo.md +284 -0
  166. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/ferrari.md +317 -0
  167. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/figma.md +223 -0
  168. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/framer.md +249 -0
  169. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/gpt-tasteskill.md +74 -0
  170. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/hashicorp.md +281 -0
  171. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/ibm.md +335 -0
  172. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/image-to-code-skill.md +1228 -0
  173. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/imagegen-brandkit.md +798 -0
  174. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/imagegen-frontend-mobile.md +1465 -0
  175. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/imagegen-frontend-web.md +987 -0
  176. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/intercom.md +149 -0
  177. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/kraken.md +128 -0
  178. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/lamborghini.md +291 -0
  179. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/layout-skill.md +107 -0
  180. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/lazyweb.md +77 -0
  181. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/linear.app.md +370 -0
  182. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/lovable.md +301 -0
  183. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/mastercard.md +368 -0
  184. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/meta.md +369 -0
  185. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/minimalist-skill.md +85 -0
  186. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/minimax.md +260 -0
  187. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/mintlify.md +329 -0
  188. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/miro.md +111 -0
  189. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/mistral.ai.md +264 -0
  190. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/mongodb.md +269 -0
  191. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/nike.md +366 -0
  192. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/notion.md +312 -0
  193. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/nvidia.md +296 -0
  194. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/ollama.md +270 -0
  195. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/opencode.ai.md +284 -0
  196. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/output-skill.md +49 -0
  197. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/pinterest.md +233 -0
  198. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/playstation.md +367 -0
  199. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/posthog.md +259 -0
  200. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/raycast.md +271 -0
  201. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/react-dev-tooling-skill.md +230 -0
  202. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/redesign-skill.md +178 -0
  203. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/renault.md +314 -0
  204. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/replicate.md +264 -0
  205. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/resend.md +306 -0
  206. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/revolut.md +188 -0
  207. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/runwayml.md +247 -0
  208. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/sanity.md +360 -0
  209. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/sentry.md +265 -0
  210. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/shopify.md +353 -0
  211. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/soft-skill.md +98 -0
  212. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/spacex.md +197 -0
  213. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/spotify.md +249 -0
  214. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/starbucks.md +583 -0
  215. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/stitch-design-example.md +121 -0
  216. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/stitch-skill.md +184 -0
  217. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/stripe.md +325 -0
  218. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/supabase.md +258 -0
  219. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/superhuman.md +255 -0
  220. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/taste-skill.md +1206 -0
  221. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/tesla.md +289 -0
  222. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/theverge.md +342 -0
  223. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/together.ai.md +266 -0
  224. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/uber.md +298 -0
  225. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/vercel.md +313 -0
  226. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/vodafone.md +426 -0
  227. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/voltagent.md +326 -0
  228. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/warp.md +256 -0
  229. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/webflow.md +95 -0
  230. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/wired.md +281 -0
  231. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/wise.md +176 -0
  232. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/x.ai.md +260 -0
  233. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/design/zapier.md +331 -0
  234. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/EVIDENCE.md +97 -0
  235. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/README.md +48 -0
  236. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/UPSTREAM.md +80 -0
  237. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/lane-a-direction.md +64 -0
  238. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/lane-b-execution.md +65 -0
  239. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/lane-c-review.md +65 -0
  240. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/lane-d-memory.md +83 -0
  241. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/orchestration.md +80 -0
  242. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/routing.md +79 -0
  243. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/vendor/LICENSE +21 -0
  244. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/vendor/agents/accessibility-reviewer.md +83 -0
  245. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/vendor/agents/content-writer.md +132 -0
  246. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/vendor/agents/design-builder.md +109 -0
  247. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/vendor/agents/design-critic.md +89 -0
  248. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/vendor/agents/design-lead.md +113 -0
  249. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/vendor/agents/design-scout.md +78 -0
  250. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/vendor/agents/design-strategist.md +121 -0
  251. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/vendor/agents/heuristic-evaluator.md +268 -0
  252. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/vendor/agents/inspiration-scout.md +107 -0
  253. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/vendor/agents/motion-designer.md +120 -0
  254. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/vendor/skills/accessible-content/reference.md +101 -0
  255. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/vendor/skills/adaptive-interfaces/reference.md +109 -0
  256. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/vendor/skills/cognitive-accessibility/reference.md +107 -0
  257. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/vendor/skills/design-debate/reference.md +199 -0
  258. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/vendor/skills/design-debt-tracker/reference.md +174 -0
  259. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/vendor/skills/design-handoff/reference.md +125 -0
  260. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/vendor/skills/design-md/reference.md +106 -0
  261. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/vendor/skills/design-retrospective/reference.md +266 -0
  262. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/vendor/skills/design-review/reference.md +123 -0
  263. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/vendor/skills/design-system-alignment/reference.md +120 -0
  264. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/vendor/skills/designpowers-critique/reference.md +164 -0
  265. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/vendor/skills/heuristic-evaluation/reference.md +85 -0
  266. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/vendor/skills/inclusive-personas/reference.md +98 -0
  267. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/vendor/skills/inspiration-scouting/reference.md +165 -0
  268. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/vendor/skills/interaction-design/reference.md +122 -0
  269. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/vendor/skills/motion-choreography/reference.md +81 -0
  270. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/vendor/skills/research-planning/reference.md +96 -0
  271. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/vendor/skills/responsive-patterns/reference.md +77 -0
  272. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/vendor/skills/synthetic-user-testing/reference.md +192 -0
  273. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/vendor/skills/taste-feedback/reference.md +165 -0
  274. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/vendor/skills/taste-report/reference.md +78 -0
  275. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/vendor/skills/token-architecture/reference.md +75 -0
  276. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/vendor/skills/ui-composition/reference.md +117 -0
  277. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/vendor/skills/usability-testing/reference.md +78 -0
  278. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/vendor/skills/verification-before-shipping/reference.md +125 -0
  279. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/vendor/skills/voice-and-tone/reference.md +79 -0
  280. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/designpowers/vendor/skills/writing-design-plans/reference.md +119 -0
  281. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/perfection/README.md +160 -0
  282. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/perfection/react-perf-tooling.md +127 -0
  283. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/ui-ux-db/README.md +659 -0
  284. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/ui-ux-db/data/charts.csv +26 -0
  285. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/ui-ux-db/data/colors.csv +162 -0
  286. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/ui-ux-db/data/icons.csv +106 -0
  287. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/ui-ux-db/data/landing.csv +35 -0
  288. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/ui-ux-db/data/products.csv +162 -0
  289. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/ui-ux-db/data/react-performance.csv +45 -0
  290. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/ui-ux-db/data/stacks/astro.csv +54 -0
  291. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/ui-ux-db/data/stacks/flutter.csv +53 -0
  292. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/ui-ux-db/data/stacks/html-tailwind.csv +56 -0
  293. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/ui-ux-db/data/stacks/jetpack-compose.csv +53 -0
  294. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/ui-ux-db/data/stacks/nextjs.csv +53 -0
  295. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/ui-ux-db/data/stacks/nuxt-ui.csv +51 -0
  296. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/ui-ux-db/data/stacks/nuxtjs.csv +59 -0
  297. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/ui-ux-db/data/stacks/react-native.csv +52 -0
  298. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/ui-ux-db/data/stacks/react.csv +54 -0
  299. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/ui-ux-db/data/stacks/shadcn.csv +61 -0
  300. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/ui-ux-db/data/stacks/svelte.csv +54 -0
  301. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/ui-ux-db/data/stacks/swiftui.csv +51 -0
  302. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/ui-ux-db/data/stacks/vue.csv +50 -0
  303. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/ui-ux-db/data/styles.csv +85 -0
  304. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/ui-ux-db/data/typography.csv +74 -0
  305. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/ui-ux-db/data/ui-reasoning.csv +162 -0
  306. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/ui-ux-db/data/ux-guidelines.csv +100 -0
  307. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/ui-ux-db/data/web-interface.csv +31 -0
  308. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/ui-ux-db/scripts/core.py +262 -0
  309. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/ui-ux-db/scripts/design_system.py +1148 -0
  310. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/corpus/ui-ux-db/scripts/search.py +114 -0
  311. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/legal/ATTRIBUTION.md +217 -0
  312. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/legal/LICENSE +21 -0
  313. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/legal/LICENSE-Apache-2.0.txt +201 -0
  314. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/_canonical-corpus/manifest.json +876 -0
  315. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/adaptive-layout.md +81 -0
  316. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/brand-and-imagery.md +84 -0
  317. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/complete-contract.md +457 -0
  318. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/composition.md +89 -0
  319. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/creative-directions.md +81 -0
  320. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/evidence-review.md +113 -0
  321. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/implementation-platforms.md +92 -0
  322. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/inclusive-interface.md +85 -0
  323. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/interaction-motion.md +87 -0
  324. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/operating-lanes.md +85 -0
  325. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/performance-delivery.md +85 -0
  326. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/product-direction.md +86 -0
  327. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/redesign-playbook.md +91 -0
  328. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/system-foundations.md +82 -0
  329. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/taste-direction.md +86 -0
  330. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/visual-language.md +85 -0
  331. package/assets/lithermes-plugin/skills/frontend-ui-ux/references/visual-reconstruction.md +94 -0
  332. package/assets/lithermes-plugin/skills/frontend-ui-ux/resources/LICENSE +21 -0
  333. package/assets/lithermes-plugin/skills/frontend-ui-ux/resources/PROVENANCE.json +38 -0
  334. package/assets/lithermes-plugin/skills/frontend-ui-ux/resources/THIRD-PARTY-NOTICE.txt +14 -0
  335. package/assets/lithermes-plugin/skills/frontend-ui-ux/resources/design-intelligence.json +1 -0
  336. package/assets/lithermes-plugin/skills/frontend-ui-ux/resources/import-manifest.json +1060 -0
  337. package/assets/lithermes-plugin/skills/frontend-ui-ux/schemas/design-contract-v1alpha1.schema.json +264 -0
  338. package/assets/lithermes-plugin/skills/frontend-ui-ux/schemas/design-contract-v1beta1.schema.json +268 -0
  339. package/assets/lithermes-plugin/skills/frontend-ui-ux/schemas/design-contract-v1beta2.schema.json +280 -0
  340. package/assets/lithermes-plugin/skills/frontend-ui-ux/scripts/design_contract_validation.py +996 -0
  341. package/assets/lithermes-plugin/skills/frontend-ui-ux/scripts/design_intelligence.py +128 -0
  342. package/assets/lithermes-plugin/skills/frontend-ui-ux/scripts/design_runtime.py +98 -0
  343. package/assets/lithermes-plugin/skills/frontend-ui-ux/scripts/import_design_intelligence.py +56 -0
  344. package/assets/lithermes-plugin/skills/frontend-ui-ux/scripts/source_import.py +144 -0
  345. package/assets/lithermes-plugin/skills/frontend-ui-ux/scripts/source_manifest.py +65 -0
  346. package/assets/lithermes-plugin/skills/lit-burnoff/SKILL.md +448 -0
  347. package/assets/lithermes-plugin/skills/lit-burnoff-file/SKILL.md +254 -0
  348. package/assets/lithermes-plugin/skills/lit-code/SKILL.md +609 -0
  349. package/assets/lithermes-plugin/skills/lit-code/references/go/README.md +90 -0
  350. package/assets/lithermes-plugin/skills/lit-code/references/go/backend-stack.md +641 -0
  351. package/assets/lithermes-plugin/skills/lit-code/references/go/bootstrap.md +328 -0
  352. package/assets/lithermes-plugin/skills/lit-code/references/go/bubbletea-v2.md +359 -0
  353. package/assets/lithermes-plugin/skills/lit-code/references/go/cobra-stack.md +468 -0
  354. package/assets/lithermes-plugin/skills/lit-code/references/go/concurrency.md +362 -0
  355. package/assets/lithermes-plugin/skills/lit-code/references/go/data-modeling.md +329 -0
  356. package/assets/lithermes-plugin/skills/lit-code/references/go/error-handling.md +359 -0
  357. package/assets/lithermes-plugin/skills/lit-code/references/go/golangci-strict.md +236 -0
  358. package/assets/lithermes-plugin/skills/lit-code/references/go/grpc-connect.md +375 -0
  359. package/assets/lithermes-plugin/skills/lit-code/references/go/libraries.md +337 -0
  360. package/assets/lithermes-plugin/skills/lit-code/references/go/one-liners.md +202 -0
  361. package/assets/lithermes-plugin/skills/lit-code/references/go/sqlc-pgx.md +471 -0
  362. package/assets/lithermes-plugin/skills/lit-code/references/go/testing.md +467 -0
  363. package/assets/lithermes-plugin/skills/lit-code/references/go/type-patterns.md +298 -0
  364. package/assets/lithermes-plugin/skills/lit-code/references/python/README.md +314 -0
  365. package/assets/lithermes-plugin/skills/lit-code/references/python/async-anyio.md +442 -0
  366. package/assets/lithermes-plugin/skills/lit-code/references/python/data-modeling.md +233 -0
  367. package/assets/lithermes-plugin/skills/lit-code/references/python/data-processing.md +133 -0
  368. package/assets/lithermes-plugin/skills/lit-code/references/python/error-handling.md +218 -0
  369. package/assets/lithermes-plugin/skills/lit-code/references/python/fastapi-stack.md +316 -0
  370. package/assets/lithermes-plugin/skills/lit-code/references/python/httpx2-optimization.md +360 -0
  371. package/assets/lithermes-plugin/skills/lit-code/references/python/libraries.md +307 -0
  372. package/assets/lithermes-plugin/skills/lit-code/references/python/one-liners.md +268 -0
  373. package/assets/lithermes-plugin/skills/lit-code/references/python/orjson-stack.md +378 -0
  374. package/assets/lithermes-plugin/skills/lit-code/references/python/pydantic-ai.md +285 -0
  375. package/assets/lithermes-plugin/skills/lit-code/references/python/pyproject-strict.md +232 -0
  376. package/assets/lithermes-plugin/skills/lit-code/references/python/textual-tui.md +201 -0
  377. package/assets/lithermes-plugin/skills/lit-code/references/python/type-patterns.md +176 -0
  378. package/assets/lithermes-plugin/skills/lit-code/references/rust/README.md +317 -0
  379. package/assets/lithermes-plugin/skills/lit-code/references/rust/async-tokio.md +299 -0
  380. package/assets/lithermes-plugin/skills/lit-code/references/rust/axum-stack.md +467 -0
  381. package/assets/lithermes-plugin/skills/lit-code/references/rust/cargo-strict.md +317 -0
  382. package/assets/lithermes-plugin/skills/lit-code/references/rust/clap-stack.md +409 -0
  383. package/assets/lithermes-plugin/skills/lit-code/references/rust/concurrency.md +375 -0
  384. package/assets/lithermes-plugin/skills/lit-code/references/rust/libraries.md +439 -0
  385. package/assets/lithermes-plugin/skills/lit-code/references/rust/one-liners.md +291 -0
  386. package/assets/lithermes-plugin/skills/lit-code/references/rust/proptest-insta.md +429 -0
  387. package/assets/lithermes-plugin/skills/lit-code/references/rust/type-state.md +354 -0
  388. package/assets/lithermes-plugin/skills/lit-code/references/rust/unsafe-discipline.md +250 -0
  389. package/assets/lithermes-plugin/skills/lit-code/references/rust/zero-cost-safety.md +527 -0
  390. package/assets/lithermes-plugin/skills/lit-code/references/rust-ub/README.md +289 -0
  391. package/assets/lithermes-plugin/skills/lit-code/references/rust-ub/miri-sanitizers-loom.md +411 -0
  392. package/assets/lithermes-plugin/skills/lit-code/references/rust-ub/ub-taxonomy.md +269 -0
  393. package/assets/lithermes-plugin/skills/lit-code/references/typescript/README.md +195 -0
  394. package/assets/lithermes-plugin/skills/lit-code/references/typescript/backend-hono.md +672 -0
  395. package/assets/lithermes-plugin/skills/lit-code/references/typescript/bootstrap.md +199 -0
  396. package/assets/lithermes-plugin/skills/lit-code/references/typescript/data-modeling.md +202 -0
  397. package/assets/lithermes-plugin/skills/lit-code/references/typescript/error-handling.md +169 -0
  398. package/assets/lithermes-plugin/skills/lit-code/references/typescript/tsconfig-strict.md +152 -0
  399. package/assets/lithermes-plugin/skills/lit-code/references/typescript/type-patterns.md +196 -0
  400. package/assets/lithermes-plugin/skills/lit-code/scripts/go/check-no-excuse-rules.sh +173 -0
  401. package/assets/lithermes-plugin/skills/lit-code/scripts/go/new-project.py +138 -0
  402. package/assets/lithermes-plugin/skills/lit-code/scripts/go/templates/.editorconfig +13 -0
  403. package/assets/lithermes-plugin/skills/lit-code/scripts/go/templates/.golangci.yml +95 -0
  404. package/assets/lithermes-plugin/skills/lit-code/scripts/go/templates/AGENTS.md.tmpl +24 -0
  405. package/assets/lithermes-plugin/skills/lit-code/scripts/go/templates/README.md.tmpl +12 -0
  406. package/assets/lithermes-plugin/skills/lit-code/scripts/go/templates/Taskfile.yml +40 -0
  407. package/assets/lithermes-plugin/skills/lit-code/scripts/go/templates/ci.yml +37 -0
  408. package/assets/lithermes-plugin/skills/lit-code/scripts/go/templates/config.go +24 -0
  409. package/assets/lithermes-plugin/skills/lit-code/scripts/go/templates/gitignore +15 -0
  410. package/assets/lithermes-plugin/skills/lit-code/scripts/go/templates/main.go.tmpl +22 -0
  411. package/assets/lithermes-plugin/skills/lit-code/scripts/go/templates/run.go +15 -0
  412. package/assets/lithermes-plugin/skills/lit-code/scripts/python/check-no-excuse-rules.py +687 -0
  413. package/assets/lithermes-plugin/skills/lit-code/scripts/python/new-project.py +172 -0
  414. package/assets/lithermes-plugin/skills/lit-code/scripts/python/new-script.py +116 -0
  415. package/assets/lithermes-plugin/skills/lit-code/scripts/rust/check-no-excuse-rules.py +296 -0
  416. package/assets/lithermes-plugin/skills/lit-code/scripts/rust/check-no-excuse-rules.sh +158 -0
  417. package/assets/lithermes-plugin/skills/lit-code/scripts/rust/new-project.py +175 -0
  418. package/assets/lithermes-plugin/skills/lit-code/scripts/typescript/check-no-excuse-rules.ts +282 -0
  419. package/assets/lithermes-plugin/skills/lit-code/scripts/typescript/new-project.ts +177 -0
  420. package/assets/lithermes-plugin/skills/lit-commit/SKILL.md +242 -0
  421. package/assets/lithermes-plugin/skills/lit-comprehend/SKILL.md +259 -0
  422. package/assets/lithermes-plugin/skills/lit-comprehend/assets/explainer-scaffold.html +123 -0
  423. package/assets/lithermes-plugin/skills/lit-comprehend/references/artifact-template.md +205 -0
  424. package/assets/lithermes-plugin/skills/lit-comprehend/references/micro-worlds.md +139 -0
  425. package/assets/lithermes-plugin/skills/lit-comprehend/scripts/verify-explainer.py +324 -0
  426. package/assets/lithermes-plugin/skills/lit-crucible/SKILL.md +315 -0
  427. package/assets/lithermes-plugin/skills/lit-handoff/ORIGIN.json +23 -0
  428. package/assets/lithermes-plugin/skills/lit-handoff/SKILL.md +145 -0
  429. package/assets/lithermes-plugin/skills/lit-init/SKILL.md +329 -0
  430. package/assets/lithermes-plugin/skills/lit-korean/SKILL.md +237 -0
  431. package/assets/lithermes-plugin/skills/lit-korean/references/quick-rules.md +24 -0
  432. package/assets/lithermes-plugin/skills/lit-korean/references/safety-checklist.md +23 -0
  433. package/assets/lithermes-plugin/skills/lit-plan/SKILL.md +596 -0
  434. package/assets/lithermes-plugin/skills/lit-recap/SKILL.md +183 -0
  435. package/assets/lithermes-plugin/skills/lit-scientific-visualization/ORIGIN.json +32 -0
  436. package/assets/lithermes-plugin/skills/lit-scientific-visualization/SKILL.md +170 -0
  437. package/assets/lithermes-plugin/skills/litgoal/.gitkeep +0 -0
  438. package/assets/lithermes-plugin/skills/litgoal/SKILL.md +372 -0
  439. package/assets/lithermes-plugin/skills/litresearch/ATTRIBUTION.md +50 -0
  440. package/assets/lithermes-plugin/skills/litresearch/SKILL.md +593 -0
  441. package/assets/lithermes-plugin/skills/litwork/SKILL.md +419 -0
  442. package/assets/lithermes-plugin/skills/lsp/SKILL.md +165 -0
  443. package/assets/lithermes-plugin/skills/lsp-setup/SKILL.md +265 -0
  444. package/assets/lithermes-plugin/skills/lsp-setup/references/bash/README.md +68 -0
  445. package/assets/lithermes-plugin/skills/lsp-setup/references/c-cpp/README.md +78 -0
  446. package/assets/lithermes-plugin/skills/lsp-setup/references/csharp/README.md +90 -0
  447. package/assets/lithermes-plugin/skills/lsp-setup/references/dart/README.md +59 -0
  448. package/assets/lithermes-plugin/skills/lsp-setup/references/elixir/README.md +61 -0
  449. package/assets/lithermes-plugin/skills/lsp-setup/references/go/README.md +63 -0
  450. package/assets/lithermes-plugin/skills/lsp-setup/references/haskell/README.md +69 -0
  451. package/assets/lithermes-plugin/skills/lsp-setup/references/java/README.md +70 -0
  452. package/assets/lithermes-plugin/skills/lsp-setup/references/julia/README.md +70 -0
  453. package/assets/lithermes-plugin/skills/lsp-setup/references/kotlin/README.md +72 -0
  454. package/assets/lithermes-plugin/skills/lsp-setup/references/lua/README.md +68 -0
  455. package/assets/lithermes-plugin/skills/lsp-setup/references/php/README.md +61 -0
  456. package/assets/lithermes-plugin/skills/lsp-setup/references/python/README.md +73 -0
  457. package/assets/lithermes-plugin/skills/lsp-setup/references/ruby/README.md +67 -0
  458. package/assets/lithermes-plugin/skills/lsp-setup/references/rust/README.md +65 -0
  459. package/assets/lithermes-plugin/skills/lsp-setup/references/swift/README.md +64 -0
  460. package/assets/lithermes-plugin/skills/lsp-setup/references/terraform/README.md +66 -0
  461. package/assets/lithermes-plugin/skills/lsp-setup/references/typescript/README.md +82 -0
  462. package/assets/lithermes-plugin/skills/lsp-setup/references/yaml/README.md +65 -0
  463. package/assets/lithermes-plugin/skills/lsp-setup/references/zig/README.md +59 -0
  464. package/assets/lithermes-plugin/skills/lsp-setup/scripts/detect-lsp.ts +221 -0
  465. package/assets/lithermes-plugin/skills/lsp-setup/scripts/lsp-server-table.ts +146 -0
  466. package/assets/lithermes-plugin/skills/lsp-setup/scripts/tsconfig.json +18 -0
  467. package/assets/lithermes-plugin/skills/lsp-setup/scripts/verify-lsp.ts +252 -0
  468. package/assets/lithermes-plugin/skills/refactor/SKILL.md +896 -0
  469. package/assets/lithermes-plugin/skills/review-work/SKILL.md +450 -0
  470. package/assets/lithermes-plugin/skills/rules/SKILL.md +194 -0
  471. package/assets/lithermes-plugin/skills/skill-observer/SKILL.md +190 -0
  472. package/assets/lithermes-plugin/skills/skill-observer/references/review-contract.md +77 -0
  473. package/assets/lithermes-plugin/skills/start-work/SKILL.md +550 -0
  474. package/assets/lithermes-plugin/skills/structural-search/SKILL.md +274 -0
  475. package/assets/lithermes-plugin/skills/visual-qa/SKILL.md +48 -0
  476. package/assets/lithermes-plugin/skills/visual-qa/references/capture-playbook.md +133 -0
  477. package/assets/lithermes-plugin/skills/visual-qa/references/complete-contract.md +522 -0
  478. package/assets/lithermes-plugin/skills/visual-qa/schemas/evidence-manifest-v1alpha1.schema.json +135 -0
  479. package/assets/lithermes-plugin/skills/visual-qa/schemas/evidence-manifest-v1beta1.schema.json +110 -0
  480. package/assets/lithermes-plugin/skills/visual-qa/schemas/review-receipt-v1alpha1.schema.json +49 -0
  481. package/assets/lithermes-plugin/skills/visual-qa/scripts/contract_checks.py +71 -0
  482. package/assets/lithermes-plugin/skills/visual-qa/scripts/evidence_contract.py +288 -0
  483. package/assets/lithermes-plugin/skills/visual-qa/scripts/png_runtime.py +379 -0
  484. package/assets/lithermes-plugin/skills/visual-qa/scripts/review_contract.py +151 -0
  485. package/assets/lithermes-plugin/skills/visual-qa/scripts/tier_checks.py +190 -0
  486. package/assets/lithermes-plugin/skills/visual-qa/scripts/tier_contract.py +103 -0
  487. package/assets/lithermes-plugin/skills/visual-qa/scripts/tui_runtime.py +170 -0
  488. package/assets/lithermes-plugin/skills/visual-qa/scripts/visual_contracts.py +31 -0
  489. package/assets/lithermes-plugin/skills/visual-qa/scripts/visual_qa.py +79 -0
  490. package/assets/lithermes-plugin/skills/wikify/LICENSE +21 -0
  491. package/assets/lithermes-plugin/skills/wikify/ORIGIN.json +12 -0
  492. package/assets/lithermes-plugin/skills/wikify/SKILL.md +192 -0
  493. package/assets/lithermes-plugin/skills/wikify/assets/home-template.md +44 -0
  494. package/assets/lithermes-plugin/skills/wikify/assets/maintenance-report-template.md +46 -0
  495. package/assets/lithermes-plugin/skills/wikify/assets/paper-source-note-template.md +138 -0
  496. package/assets/lithermes-plugin/skills/wikify/assets/source-note-template.md +45 -0
  497. package/assets/lithermes-plugin/skills/wikify/assets/wiki-rules-template.md +117 -0
  498. package/assets/lithermes-plugin/skills/wikify/modes/ingest/SKILL.md +24 -0
  499. package/assets/lithermes-plugin/skills/wikify/modes/init/SKILL.md +26 -0
  500. package/assets/lithermes-plugin/skills/wikify/modes/lint/SKILL.md +30 -0
  501. package/assets/lithermes-plugin/skills/wikify/modes/query/SKILL.md +22 -0
  502. package/assets/lithermes-plugin/skills/wikify/modes/save/SKILL.md +32 -0
  503. package/assets/lithermes-plugin/skills/wikify/references/full-contract.md +761 -0
  504. package/assets/lithermes-plugin/uiux_runtime_common.py +117 -0
  505. package/assets/lithermes-plugin/vendor/NOTICE.md +21 -0
  506. package/assets/lithermes-plugin/vendor/handoff/SKILL.md +199 -0
  507. package/assets/lithermes-plugin/vendor/handoff/evals/evals.json +154 -0
  508. package/assets/lithermes-plugin/vendor/handoff/examples/HANDOFF-example-generic-auth-refactor.md +97 -0
  509. package/assets/lithermes-plugin/vendor/handoff/templates/HANDOFF.md +121 -0
  510. package/assets/lithermes-plugin/vendor/licenses/022_handoff-MIT.txt +21 -0
  511. package/assets/lithermes-plugin/vendor/licenses/045_scientific-visualization-MIT.txt +21 -0
  512. package/assets/lithermes-plugin/vendor/provenance/022_handoff.md +16 -0
  513. package/assets/lithermes-plugin/vendor/provenance/045_scientific-visualization.md +18 -0
  514. package/assets/lithermes-plugin/vendor/scientific-visualization/SKILL.md +283 -0
  515. package/assets/lithermes-plugin/vendor/scientific-visualization/assets/color_palettes.py +197 -0
  516. package/assets/lithermes-plugin/vendor/scientific-visualization/assets/nature.mplstyle +75 -0
  517. package/assets/lithermes-plugin/vendor/scientific-visualization/assets/presentation.mplstyle +74 -0
  518. package/assets/lithermes-plugin/vendor/scientific-visualization/assets/publication.mplstyle +78 -0
  519. package/assets/lithermes-plugin/vendor/scientific-visualization/evals/evals.json +158 -0
  520. package/assets/lithermes-plugin/vendor/scientific-visualization/references/color_palettes.md +380 -0
  521. package/assets/lithermes-plugin/vendor/scientific-visualization/references/journal_requirements.md +359 -0
  522. package/assets/lithermes-plugin/vendor/scientific-visualization/references/matplotlib_examples.md +608 -0
  523. package/assets/lithermes-plugin/vendor/scientific-visualization/references/mdanalysis_martini_visualization.md +85 -0
  524. package/assets/lithermes-plugin/vendor/scientific-visualization/references/publication_guidelines.md +217 -0
  525. package/assets/lithermes-plugin/vendor/scientific-visualization/references/seaborn_for_publications.md +293 -0
  526. package/assets/lithermes-plugin/vendor/scientific-visualization/scripts/figure_export.py +238 -0
  527. package/assets/lithermes-plugin/vendor/scientific-visualization/scripts/style_presets.py +467 -0
  528. package/assets/lithermes-plugin/vendor/scientific-visualization/tests/test_figure_export.py +51 -0
  529. package/assets/lithermes-plugin/vendor/scientific-visualization/tests/test_style_presets.py +114 -0
  530. package/bin/lithermes.js +8 -0
  531. package/package.json +58 -0
  532. package/readme-assets/badge-license.svg +1 -0
  533. package/readme-assets/badge-version.svg +1 -0
  534. package/readme-assets/cover.webp +0 -0
  535. package/readme-assets/lithermes-clay-icon.png +0 -0
  536. package/readme-assets/lithermes-wordmark.svg +5 -0
  537. package/src/cli.js +396 -0
  538. package/src/lib/autoUpdate.js +4 -0
  539. package/src/lib/canonicalCorpus.js +436 -0
  540. package/src/lib/check.js +200 -0
  541. package/src/lib/config.js +229 -0
  542. package/src/lib/files.js +126 -0
  543. package/src/lib/hermesDiscovery.js +122 -0
  544. package/src/lib/hud.js +135 -0
  545. package/src/lib/install.js +559 -0
  546. package/src/lib/litMark.js +68 -0
  547. package/src/lib/modelConfig.js +431 -0
  548. package/src/lib/modelConfigBoundary.js +206 -0
  549. package/src/lib/modelPrompt.js +201 -0
  550. package/src/lib/modelRoutePolicy.js +379 -0
  551. package/src/lib/patch.js +153 -0
  552. package/src/lib/skillLoop.js +62 -0
  553. package/src/lib/skillPayload.js +306 -0
  554. package/src/lib/skins.js +274 -0
  555. package/src/lib/spinner.js +193 -0
  556. package/src/lib/updateNotifier.js +1133 -0
  557. package/src/lib/updateNotifierWorker.js +9 -0
@@ -0,0 +1,85 @@
1
+ Performance and delivery constraints
2
+
3
+ Speed is a contract term with a number beside it, not a cleanup pass after the visuals settle. Fix the
4
+ numbers in `performance` while the inventory is still open, then measure the rendered route.
5
+
6
+ ## Numeric budgets
7
+
8
+ Write every budget as a value, a unit, and a device. An adjective is not a budget.
9
+
10
+ - LCP <= 2.5 s, INP <= 200 ms, CLS <= 0.1, at p75 on the slowest device in `platform`.
11
+ - TTFB <= 800 ms; usable interaction <= 3.5 s at 4x CPU throttle, 1.6 Mbps.
12
+ - Route payload <= 500 KB compressed: <= 170 KB script, <= 60 KB style, <= 200 KB above-fold imagery.
13
+ - At most 2 font families, 4 files, each <= 40 KB woff2, subset to `locale`.
14
+ - Frame budget 16.7 ms; no task over 50 ms; blocking under 300 ms per route.
15
+
16
+ ## Diagnose the critical path
17
+
18
+ Follow navigation to largest paint to first input on a cold cache, name the blocking resource, then match
19
+ it to this list.
20
+
21
+ - Synchronous script or unsplit stylesheet in `<head>`.
22
+ - LCP image set in CSS or marked `loading="lazy"`, so discovery waits on layout.
23
+ - Typeface with no `preload` and no `font-display`: invisible text, then reflow.
24
+ - Sequential fetches — the child request starts only after the parent mounts.
25
+ - Layout thrash: `offsetHeight` read between writes inside a loop.
26
+ - A list that renders every row at mount.
27
+ - Analytics or chat tag on the critical path with no `async` and no timeout.
28
+ - Whole-document hydration for a route that is mostly static markup.
29
+
30
+ ## Bytes on the wire
31
+
32
+ Ship the smallest byte that still renders correctly at the declared device pixel ratio.
33
+
34
+ - AVIF with WebP fallback; cap raster width at 2x the largest CSS box that shows it.
35
+ - `width`/`height` or `aspect-ratio` on every `img`; missing intrinsic size is the usual CLS source.
36
+ - `loading="lazy"` below the fold only; the LCP element takes `fetchpriority="high"`.
37
+
38
+ ## Script payload and hydration
39
+
40
+ Count a kilobyte of script as roughly 3x a kilobyte of image data: it parses, compiles, and runs.
41
+
42
+ - Split by route first, then at interaction boundaries — modal, editor, chart, map.
43
+ - Load charting, rich-text, and animation libraries on the interaction that needs them.
44
+ - Server-render markup and hydrate islands; document hydration pays for static regions.
45
+
46
+ ## Virtualized lists and their cost
47
+
48
+ Virtualize above a measured threshold only. Below it the machinery costs more than the rows.
49
+
50
+ - Threshold near 200 rows or 2,000 nodes, measured rather than assumed.
51
+ - Variable row heights need a measurement cache or the scrollbar jumps mid-scroll.
52
+ - Find-in-page and anchor links stop reaching unrendered rows; state the fallback.
53
+ - Supply `aria-rowcount` and `aria-rowindex`; the DOM no longer holds the full set.
54
+
55
+ ## Felt speed against recorded speed
56
+
57
+ Both must pass. A good number under an empty rectangle still reads as broken.
58
+
59
+ - Skeleton matching final geometry within 100 ms; never a full-page spinner.
60
+ - Acknowledge a tap inside 100 ms even when the result needs 2 s.
61
+ - Never pad a delay to look deliberate; that hides the regression.
62
+
63
+ ## Audit protocol
64
+
65
+ Run in order, stop at the first failed budget, and end on one of four decisions.
66
+
67
+ 1. Record route, viewport, device pixel ratio, theme, throttle profile, 40-hex source revision.
68
+ 2. Capture one cold-cache and one warm-cache load of that route.
69
+ 3. Extract LCP, INP, CLS, TTFB, bytes per resource type, longest task, element count.
70
+ 4. Mark each against its contract number PASS or FAIL, measured value beside it.
71
+ 5. For every FAIL name one cause above plus its one-line fix.
72
+ 6. Apply the single highest-leverage fix, then repeat steps 2-4.
73
+ 7. Decide: **SHIP** (all PASS), **OPTIMIZE** (named cause and owner), **RESCOPE** (the budget is
74
+ unreachable as designed), or **EXCEPTION** (an `accepted_exceptions` entry with owner, rationale,
75
+ expiry, evidence pointer).
76
+
77
+ ## Failure patterns
78
+
79
+ Reject:
80
+
81
+ - A performance claim with no measured value attached.
82
+ - Warm-cache numbers from a developer laptop presented as p75 field data.
83
+ - A bundle called optimized but never re-measured after the change.
84
+ - Virtualization on a 40-row table, breaking find-in-page for no gain.
85
+ - A breached budget edited in the contract to match the build.
@@ -0,0 +1,86 @@
1
+ Product direction and user journeys
2
+
3
+ Settle who the surface serves, what they must finish, and how finishing is measured before any
4
+ direction, token, or component exists. Fills `intent.tasks`, `intent.audiences`, `intent.constraints`.
5
+
6
+ ## Describe the operator by working conditions
7
+
8
+ Write the primary user as a job plus operating conditions. One primary, two secondary at most.
9
+
10
+ - The job, the decision they answer for, and what a wrong decision costs them.
11
+ - Screen class, input method, assistive technology: pointer, keyboard, touch, reader.
12
+ - Frequency and dwell — 40 visits a day at 20 seconds is a different product from one monthly hour.
13
+ - Expertise tier: first-run, occasional, resident. Only residents tolerate dense layouts.
14
+
15
+ ## Fix the one task that cannot fail
16
+
17
+ Name the task whose failure empties the product of value: the critical task. Hierarchy arguments
18
+ settle against it.
19
+
20
+ - Phrase it as verb, object, and the condition that means finished.
21
+ - Today's step count, and the count you commit to.
22
+ - The two rival tasks forbidden from taking its screen space.
23
+
24
+ ## State success as signals with numbers
25
+
26
+ Replace adjectives with signals readable off a stopwatch or a log, agreed before build.
27
+
28
+ - Seconds to first meaningful action, first-run and returning users measured separately.
29
+ - Completion rate, plus the error rate you refuse to exceed.
30
+ - Keyboard-only completion of the critical task: mandatory, never a stretch goal.
31
+ - One counter-signal whose increase proves the design regressed.
32
+
33
+ ## Run a knowledge-gap register
34
+
35
+ Unknowns are contract entries, not silence. Each gap gets an id, a closing method, a blocking scope.
36
+
37
+ - `G1` peak rows per operator at p95 — count in the production store; blocks table versus list.
38
+ - `G2` share of accounts on CJK locales — read the locale column; blocks type scale, `localization.cjk_line_break_review`.
39
+ - Mirror every gap into `omissions` and move `status` forward as it closes.
40
+ - A gap blocks only the surfaces it touches. Close it by measurement or one direct question.
41
+
42
+ ## Walk five inclusive scenarios
43
+
44
+ Write each as a concrete run of the critical task under a single constraint.
45
+
46
+ 1. Low vision — 200% zoom over 200% OS text scale; nothing clipped, no horizontal scroll.
47
+ 2. Keyboard only — whole task on Tab, Enter, Escape, arrows; focus visible, never trapped.
48
+ 3. Screen reader — landmarks in order, every control named, every async result announced.
49
+ 4. Low bandwidth — 3G-class link; usable at first paint, no reflow when late assets arrive.
50
+ 5. Unfamiliar language — labels 40% longer, CJK line breaking correct, no silent truncation.
51
+
52
+ ## Hand over bounded alternatives
53
+
54
+ Give the next stage a choice set with stated costs, not one answer dressed as inevitable.
55
+
56
+ - Three directions, each optimising a different axis: speed, breadth, or guidance.
57
+ - One line per direction: who gains, who pays, reversal cost — cheap, moderate, structural.
58
+ - One direction marked do-not-build, with the reason.
59
+
60
+ ## Set decision checkpoints
61
+
62
+ Name the points where work halts for a decision; each writes one line — chosen, rejected, reason.
63
+
64
+ - `CP1` operator and critical task accepted, before direction work; `CP2` direction chosen, before
65
+ token work.
66
+ - `CP3` inventory frozen — routes, screens, states, viewports, themes, permissions — before build
67
+ and before `/start-work`.
68
+ - `CP4` evidence complete, before the independent review pass.
69
+
70
+ ## Ship the research package
71
+
72
+ The next stage receives a package. Whatever is missing cannot be argued about later.
73
+
74
+ - Operator, critical task, numeric signals, checkpoint log with dates.
75
+ - The gap register, with statuses and blocking scopes.
76
+ - Five scenarios verbatim, three directions, the disqualified one.
77
+ - `contract_id` with its SHA-256, so the independent review pass audits the same text.
78
+
79
+ ## Failure patterns
80
+
81
+ Reject:
82
+
83
+ - A persona with a name and a photograph but no device, session length, or input method.
84
+ - "Modern", "intuitive", or "more engaging" standing in for a signal.
85
+ - An empty gap register, or accessibility deferred to a checklist instead of five task runs.
86
+ - `/start-work` entered before `CP3`, or a transcript handed over instead of the package and hash.
@@ -0,0 +1,91 @@
1
+ Redesign safety and preservation of product behavior
2
+
3
+ A redesign changes how a working product looks while it keeps working; the risk is silent behavior loss,
4
+ not ugliness. Capture the old surface before editing, or nothing can judge the new one.
5
+
6
+ ## Capture the baseline
7
+
8
+ No edit before the baseline exists; a baseline taken after the first commit is not a baseline.
9
+
10
+ - Every route, screen, state, and viewport at the pre-change 40-hex source revision.
11
+ - Per surface: controls, validation text, empty and error copy, keyboard order.
12
+ - Current performance numbers, so a regression is provable instead of arguable.
13
+ - Theme per capture; a dark-only baseline proves nothing about light.
14
+ - Stored under `.hermes/lithermes/`, keyed by `capture_sha256`, immutable.
15
+
16
+ ## Map the debt by category
17
+
18
+ Sort what is wrong before choosing what to touch, and rank each item high, medium, or low by user impact.
19
+
20
+ - **Token debt** — raw hex or px sitting where a token already exists.
21
+ - **Structural debt** — divs standing in for landmarks and heading rank.
22
+ - **State debt** — components with no focus, loading, empty, error, or disabled rendering.
23
+ - **Consistency debt** — three button variants doing one job.
24
+ - **Accessibility debt** — contrast, target size, label, and focus-order failures.
25
+ - **Performance debt** — breached budgets carried forward with their measured values.
26
+
27
+ ## Decide per surface
28
+
29
+ Give every inventory surface exactly one verdict and record the reason. No verdict means preserve.
30
+
31
+ - **Preserve** — correct today: do not touch it, and guard it.
32
+ - **Change** — same structure and behavior, new tokens, layout, or type.
33
+ - **Replace** — new implementation, identical external behavior and URL.
34
+ - **Remove** — requires an owner, a usage number, and a redirect or replacement.
35
+
36
+ ## Stage so it always ships
37
+
38
+ Order stages so the product ships at the end of each one. Never close a stage with two languages live.
39
+
40
+ 1. Land tokens and primitives, aliasing the old values to the new names.
41
+ 2. Convert one low-traffic route end to end as the proof.
42
+ 3. Convert the rest in traffic order, capturing after each route.
43
+ 4. Delete aliases and dead styles only after the last route converts.
44
+ 5. Send the whole surface to the independent review pass, not stage by stage.
45
+
46
+ ## The parity list
47
+
48
+ Every item holds before and after. A visual improvement never buys a parity exception.
49
+
50
+ - Same URLs, query params, and deep links resolving to the same content.
51
+ - Same fields, defaults, validation rules, and error text.
52
+ - Same data visible per permission; nothing newly exposed or hidden.
53
+ - Same keyboard order, focus return points, and shortcut bindings.
54
+ - Same copy meaning; wording may tighten, claims may not move.
55
+
56
+ ## Debate on a clock
57
+
58
+ Bounded debate improves the result; open debate replaces it. Timebox and record the option that lost.
59
+
60
+ - Two options maximum, each carrying one capture or one paragraph.
61
+ - Two exchanges or 15 minutes, whichever ends first.
62
+ - Decide against `direction.principles`, then log the rejected option in `omissions`.
63
+ - Still tied: ship the option preserving more behavior and revisit with usage data.
64
+
65
+ ## Regression guards
66
+
67
+ Guard the preserve verdicts mechanically. Intention is not a guard.
68
+
69
+ - Capture-diff every preserve surface at every declared viewport.
70
+ - Assert contrast and focus order on each converted route.
71
+ - Fail the build on new raw hex or raw px outside the token file.
72
+ - Re-run the performance budgets per converted route.
73
+ - Check CJK line breaking at the narrowest viewport when `locale` includes CJK.
74
+
75
+ ## Closeout
76
+
77
+ Close only when the removal list is empty and captures pair up one to one.
78
+
79
+ - Every remove verdict executed, or deferred with an owner and a date.
80
+ - Baseline and post-change captures paired in the evidence manifest.
81
+ - Contract re-frozen, SHA-256 recomputed, `payload-version.json` refreshed if plugin assets changed.
82
+
83
+ ## Failure patterns
84
+
85
+ Reject:
86
+
87
+ - A baseline captured after editing began.
88
+ - "Improved" copy that changes what the product promises.
89
+ - Removing a control because nobody could explain it.
90
+ - Two design languages live past the end of a stage.
91
+ - Parity waived because the new version looks better.
@@ -0,0 +1,82 @@
1
+ Design-system foundations: tokens, primitives, states, variants
2
+
3
+ A design system is a boundary rule plus an inventory, not a folder of components. Fills
4
+ `direction.token_strategy` and every entry in `inventory.components[]`.
5
+
6
+ ## Audit before you create anything
7
+
8
+ Count what exists before adding to it; most "new" primitives already exist twice.
9
+
10
+ - List every component in the codebase with its file path; group duplicates by rendered role.
11
+ - Extract every color, size, radius, shadow, and spacing value in use; count distinct values.
12
+ - Record which components already carry all nine states and which do not.
13
+ - Write the audit into `omissions` first; an unaudited addition is a hidden duplicate.
14
+
15
+ ## Three token layers
16
+
17
+ Three layers, one direction of reference. A skipped layer is why systems cannot be re-themed.
18
+
19
+ - Foundation: raw values, neutral names — `color.slate.700`, `space.4`, `radius.md`; no meaning.
20
+ - Semantic: roles referencing foundation only — `surface.raised`, `text.secondary`, `border.focus`.
21
+ - Component: decisions referencing semantic only — `button.primary.bg`, `table.row.gap`.
22
+ - Every component token names its component and its property; without both it is unowned.
23
+
24
+ ## Components never reach past a semantic role
25
+
26
+ This boundary is the whole value of the system. Enforce it mechanically.
27
+
28
+ - A component reads component tokens, or semantic roles when no component token exists.
29
+ - Lint it: raw hex, raw px, or a foundation reference inside a component file fails the build.
30
+ - Exceptions live in `accepted_exceptions` with a reason and an owner, one line each.
31
+
32
+ ## Component anatomy as a checklist
33
+
34
+ A primitive is finished when every line holds, not when the happy path looks right.
35
+
36
+ - Anatomy: container, content slots, label, icon, status indicator, hit region.
37
+ - States: default, hover, focus-visible, active, disabled, loading, empty, error, success.
38
+ - Variants: intent, size, density — every combination renders or is declared unsupported.
39
+ - Content stress: one character, longest supported string, CJK string, zero items, 100 items.
40
+ - API: prop names, defaults, and the tokens consumed, recorded in `components[]`.
41
+
42
+ ## Gate feature work behind a primitive showcase
43
+
44
+ Build the showcase route before any feature route.
45
+
46
+ - One route rendering every primitive × variant × state on a single page.
47
+ - Toggles for theme, density, 200% text scale, and reduced motion.
48
+ - Tab the whole showcase; every interactive element shows a focus ring in every theme.
49
+ - Capture it per theme under `.hermes/lithermes/` as the baseline for later diffs.
50
+ - No feature route starts until each primitive it needs appears in the showcase.
51
+
52
+ ## Theme architecture: dark mode and forced colors
53
+
54
+ A theme swaps semantic roles and nothing else. If a component changes per theme, the system leaks.
55
+
56
+ - Themes redefine semantic roles; foundation values and component tokens stay byte-identical.
57
+ - Dark is not inverted light: raise surfaces by lightness, cut saturation, re-measure contrast.
58
+ - Forced colors: system color keywords, a 1px border on every interactive element, never state by
59
+ background alone.
60
+
61
+ ## Align with an existing system
62
+
63
+ In brownfield work the existing system is the specification; match its names first.
64
+
65
+ - Map each requested primitive onto the existing one and extend it; never add a sibling.
66
+ - New variants ship behind the current API; no rename lands without an enumerated migration list.
67
+ - When primitives ship as plugin assets, run `npm --prefix packages/lithermes-installer run
68
+ sync-plugin -- --in-place`, confirm the `payload-version.json` entry changed, then check an
69
+ isolated `--hermes-home` install with `lithermes doctor`.
70
+ - Hand `contract_id` and its SHA-256 to the independent review pass.
71
+
72
+ ## Failure patterns
73
+
74
+ Apply this governance reject-list to every proposed addition.
75
+
76
+ Reject:
77
+
78
+ - A token added with no consumer, or a component token with no owning component.
79
+ - A component referencing a foundation value or a literal directly.
80
+ - A primitive shipped without focus-visible, disabled, loading, empty, and error.
81
+ - A second primitive doing an existing primitive's job because renaming felt risky.
82
+ - A theme that patches component internals instead of semantic roles.
@@ -0,0 +1,86 @@
1
+ # Taste direction
2
+
3
+ Inert reference data. Load it when a Design Contract needs a defensible visual direction, not on
4
+ every interface question.
5
+
6
+ Generic output is not a matter of preference. It is a describable defect with named causes, and it
7
+ is what an interface looks like when nobody decided anything. This reference turns "make it feel
8
+ better" into three numbers a reviewer can argue with, and into checks that run before the first
9
+ element is written.
10
+
11
+ ## The three dials
12
+
13
+ The contract carries them as the optional `taste` object in
14
+ `litfamily.design-contract/v1beta2`. Each is an integer from 1 through 10. Declaring `taste` means
15
+ declaring all three; omitting the object leaves the harness default in force.
16
+
17
+ | Dial | 1 means | 10 means | Decided by |
18
+ | --- | --- | --- | --- |
19
+ | `variance` | The most conventional arrangement a user could predict | A composition that departs from the expected grid where the departure carries meaning | How much novelty the audience will tolerate before the surface feels unfamiliar |
20
+ | `motion` | Movement only where it prevents a jump or explains a change | Movement is a primary carrier of meaning and sequence | What the interface must communicate that stillness cannot |
21
+ | `density` | One idea at a time, generous rest | Many related facts readable at a glance | Whether the user scans or dwells |
22
+
23
+ Pick each from the audience and the task, never from fashion. A dial you cannot justify in one
24
+ sentence is a dial you have not chosen.
25
+
26
+ ### `motion` versus `motion.policy`
27
+
28
+ They answer different questions and both must agree. `motion.policy` decides whether animation is
29
+ permitted at all: `none`, `functional`, or `expressive`. The `motion` dial decides how much
30
+ meaning animation carries once permitted. A contract with `motion.policy: "none"` and a `motion`
31
+ dial above 1 is contradictory: it forbids transitions and then leans on them. Set the policy first,
32
+ then the dial within it.
33
+
34
+ ## The failure modes these dials target
35
+
36
+ Each is a defect you can point at in a review, not a vague complaint.
37
+
38
+ - **Undecided hierarchy.** Every element competes because nothing was ranked. Usually a `density`
39
+ chosen by accident rather than from the task.
40
+ - **Default-everything.** Stock radii, stock shadows, stock spacing scale, stock type ramp, applied
41
+ because they were there. A `variance` of 1 that was never actually selected.
42
+ - **Uniform rhythm.** Identical spacing between unrelated things, so grouping carries no
43
+ information. Density without hierarchy.
44
+ - **Decorative motion.** Movement that neither prevents a jump nor explains a change, and that
45
+ reduced-motion users lose nothing by missing. A `motion` dial above what the interface needs.
46
+ - **Single-viewport thinking.** A composition that only resolves at one width, which the contract's
47
+ `responsive_transformations` then cannot describe honestly.
48
+ - **Borrowed voice.** Copy and imagery from a reference product whose audience is not this one.
49
+
50
+ ## Pre-flight, before writing any interface code
51
+
52
+ Run this against the frozen contract. Each answer is one sentence; a blank answer is the finding.
53
+
54
+ 1. What is the one thing a user must understand within seconds of arrival, and which element
55
+ carries it?
56
+ 2. What is deliberately quieter so that element can be loudest?
57
+ 3. Which grouping is expressed by spacing alone, and would it survive a 200 percent zoom?
58
+ 4. Which transition would a reduced-motion user lose, and what replaces it for them?
59
+ 5. Which token is being extended or created rather than reused, and why was reuse insufficient?
60
+ 6. Which of the three dials would a reviewer most likely dispute, and what is the argument for it?
61
+
62
+ If question 6 has no answer, the direction was inherited rather than chosen.
63
+
64
+ ## Redesign audit, for a surface that already exists
65
+
66
+ Use this in the `redesign` and `brownfield` lanes. Audit before proposing, so the proposal has
67
+ something to be measured against.
68
+
69
+ 1. Inventory what is already there against `inventory`: routes, regions, components, states. Name
70
+ what exists but is undocumented.
71
+ 2. Record the current dials as observed, not as desired. An existing surface already sits somewhere
72
+ on all three, whether or not anyone chose it.
73
+ 3. Name the single largest gap between observed and intended dials, and change only that first.
74
+ Moving all three at once makes the result unattributable.
75
+ 4. List what must be preserved: behavior users depend on, keyboard paths, and any token another
76
+ surface consumes. This becomes `non_goals` and the preserved-behavior half of the contract.
77
+ 5. Put the rest in `omissions` with an owner, rather than silently leaving it out.
78
+
79
+ A redesign that cannot say what it preserved is a rewrite wearing a redesign's name.
80
+
81
+ ## Recording the outcome
82
+
83
+ Dials belong in the contract, not in prose around it. The acceptance criteria that reference them
84
+ must stay observable: "the primary action is reachable by keyboard within two stops" is checkable,
85
+ "the layout feels considered" is not. Every dial you set should be traceable to at least one
86
+ acceptance criterion, or it changed nothing that can be verified.
@@ -0,0 +1,85 @@
1
+ Visual language: type, color, surface, depth, borders, icons
2
+
3
+ Every visual decision is a role with a name, not a value someone liked. Fills
4
+ `direction.token_strategy` and `direction.principles`.
5
+
6
+ ## Define type by role, not by font name
7
+
8
+ Name the jobs text does, then assign faces once. A font list is not a typographic system.
9
+
10
+ - Roles: display, page title, section title, body, meta, label, numeric with tabular figures.
11
+ - Cap the scale at 6 sizes and 3 weights; body 16px minimum, 14px only for dense tabular data.
12
+ - Never let weight alone carry meaning; pair it with size, position, or a label.
13
+
14
+ ## Bind color to meaning, not to a palette
15
+
16
+ Declare semantic roles and let components consume only those. Raw palettes cannot be themed or audited.
17
+
18
+ - Roles: surface, surface-raised, text-primary, text-secondary, border, accent, plus status success,
19
+ warning, danger, info.
20
+ - A hex in a component has no dark-mode counterpart and no contrast record; a role has both.
21
+ - One accent, and it means "act here". A second accent needs a written reason.
22
+ - Status never travels by color alone; pair every status with an icon or a word.
23
+
24
+ ## Contrast obligations, stated numerically
25
+
26
+ Measure these thresholds in every declared theme.
27
+
28
+ - Body text 4.5:1; text at 24px, or 19px bold, 3:1.
29
+ - Component boundaries, control edges, and chart marks 3:1 against adjacent color.
30
+ - Focus ring 3:1 against both the control and its background, 2px thick, 2px offset.
31
+
32
+ ## Keep the icon set to one drawing system
33
+
34
+ One grid, one stroke, one corner treatment. Mixed icon families read as an unfinished merge.
35
+
36
+ - 24px grid, 1.5–2px stroke, matching radii; render no smaller than 16px.
37
+ - One metaphor per concept, product-wide; two icons for one action is a defect.
38
+ - Any icon without an adjacent text label needs an accessible name; decorative ones are hidden.
39
+ - Reject metaphors that do not survive translation: hand gestures, letter-shaped glyphs, local objects.
40
+
41
+ ## Treat imagery as a layer with rules
42
+
43
+ Pick one treatment and one ratio set, then hold them.
44
+
45
+ - Fixed aspect ratios from a declared set; every image gets its box before it loads.
46
+ - Text over imagery requires a measured scrim reaching 4.5:1, not an assumed one.
47
+ - One treatment product-wide: full color, duotone, or monochrome.
48
+ - Every image has alt text or is explicitly marked decorative.
49
+
50
+ ## Make surface, depth, and elevation one system
51
+
52
+ Depth is three tiers, not a shadow library. Each tier is one token set used the same way.
53
+
54
+ - Tiers: base, raised, overlay. Each declares background, border, and optional shadow.
55
+ - Signal a tier one way only — border or shadow, never both plus a tint.
56
+ - In dark themes, raise surfaces with lightness; do not darken shadows further.
57
+ - `z-index` from a named scale: content 0, sticky 100, dropdown 200, modal 300, toast 400.
58
+
59
+ ## Choose the data display from the question asked
60
+
61
+ The question decides the form; choosing a chart first inverts the work.
62
+
63
+ - Current level → one large value with units; change over time → line.
64
+ - Compare categories → bars sorted by value; part of whole → stacked bar, pie only at 3 slices or fewer.
65
+ - Distribution → histogram; relationship → scatter; exact numbers → table.
66
+ - Label axes with units, start bar axes at zero, and cap at 5 series before small multiples.
67
+
68
+ ## Drift checks before review
69
+
70
+ Drift is countable. Run these against the built surface, not the intent.
71
+
72
+ - Grep the source for raw hex and raw px outside the token file; both must return zero.
73
+ - Count distinct font sizes, shadows, radii, and accents; each must match the declared count.
74
+ - Capture one shared component on three routes; any pixel difference is unauthorised variance.
75
+ - Confirm every `design.*` block describes what shipped, then rehash `contract_id` for the review pass.
76
+
77
+ ## Failure patterns
78
+
79
+ Reject:
80
+
81
+ - A type "system" that is a font pairing with no roles and no size cap.
82
+ - `blue-500` referenced inside a component instead of a semantic role.
83
+ - Contrast judged by eye, or measured in one theme only.
84
+ - Two icon families, or one concept drawn two ways on two routes.
85
+ - A pie chart with seven slices, or a bar axis truncated to exaggerate a gap.
@@ -0,0 +1,94 @@
1
+ Visual reconstruction from references without raster fakery
2
+
3
+ A reference shows how one viewport looked at one moment. Rebuild it as a live component tree and label
4
+ every claim you cannot see in the file.
5
+
6
+ ## Classify every claim
7
+
8
+ Tag each statement about the reference before acting on it, and never promote a tag quietly.
9
+
10
+ - **Observed** — measurable in the file: a sampled color, a pixel distance, a present glyph.
11
+ - **Inferred** — a reading with a stated basis: "8 px scale, because gaps read 8/16/24".
12
+ - **Unknown** — not derivable: hover, focus, error, scroll, data outside the crop.
13
+ - Log inferred items in `omissions`; promote on confirmation; batch unknowns into one question.
14
+
15
+ ## Measurement pass
16
+
17
+ Measure before styling. Eyeballing produces a palette that is close and wrong.
18
+
19
+ - Record reference dimensions and device pixel ratio; divide by dpr before deriving CSS values.
20
+ - Sample color from flat interiors, never an edge or a gradient midpoint.
21
+ - Measure 6 or more gaps, then reduce to the smallest consistent step, usually 4 or 8 px.
22
+
23
+ ## Reconstruct semantics, not pixels
24
+
25
+ Build the structure the reference implies. Coordinate matching breaks on the first real string.
26
+
27
+ - One nav, main, and footer landmark; headings in true rank order.
28
+ - A repeated visual unit becomes one component with props, never five copies.
29
+ - Layout by flow, grid, and gap; positioning onto a measured coordinate is a defect.
30
+ - Real text nodes everywhere, including where the reference rasterized a label.
31
+
32
+ ## Asset decisions
33
+
34
+ Decide per asset: recreate, request, or substitute. Record the decision.
35
+
36
+ - **Recreate** icons, simple shapes, borders, and gradients as SVG or CSS.
37
+ - **Request** photography, logos, illustration, and brand marks as source files.
38
+ - **Substitute** a labeled placeholder at the same box size when no source exists.
39
+ - Never recreate a third-party logo, licensed photography, a chart with unknown data, or a real face.
40
+
41
+ ## Metric-compatible font fallback
42
+
43
+ When the reference face is unavailable, match metrics or every line box drifts.
44
+
45
+ - Choose a fallback with comparable cap height, x-height, and average advance width.
46
+ - Tune `size-adjust`, `ascent-override`, and `descent-override` until line boxes align.
47
+ - Verify at three string lengths including the longest real string.
48
+ - Declare the substitution in the typography rules; never present it as the original.
49
+
50
+ ## Responsive behavior from one reference
51
+
52
+ One reference proves one width. Derive the rest and mark the derivation inferred.
53
+
54
+ - Classify each block as fixed, fluid, reflowing, or hidden below a breakpoint.
55
+ - Put breakpoints where measured content breaks, not at borrowed device widths.
56
+ - Verify at 320, 768, 1280, and the reference width; that width matches closest.
57
+ - Retest with strings 1.5x the reference length under the declared `localization.cjk_line_break_review`.
58
+
59
+ ## Iteration loop
60
+
61
+ Iterate on measured deltas, never on impressions.
62
+
63
+ 1. Capture the build at the exact reference dimensions.
64
+ 2. Compare region by region: bounds, type, spacing, color, radius, shadow, content, state.
65
+ 3. List the five largest deltas with their measured values.
66
+ 4. Fix only those, then recapture.
67
+ 5. After three rounds with no delta shrinking, stop and report the residual as a limit.
68
+
69
+ ## Fidelity report
70
+
71
+ Report per region. One aggregate percentage hides every interesting failure.
72
+
73
+ - Each region: matched or deviating, with the measured delta.
74
+ - Each asset: recreated, requested, or placeholder.
75
+ - Each inferred and unknown item with its current status.
76
+
77
+ ## The "pixel perfect" gate
78
+
79
+ Use the phrase only when all five hold. Otherwise say "matched at the measured regions".
80
+
81
+ - Same-dimension captures exist for every `inventory.references` entry.
82
+ - Zero deviating regions in the fidelity report.
83
+ - No placeholder asset and no undeclared font substitution.
84
+ - No unknown item still affecting rendering.
85
+ - The independent review pass returned PASS on the same revision and contract hash.
86
+
87
+ ## Failure patterns
88
+
89
+ Reject:
90
+
91
+ - The reference set as a `background-image` with invisible hit targets over it.
92
+ - Coordinates used in place of layout.
93
+ - A third-party logo redrawn to avoid asking for it.
94
+ - "Pixel perfect" claimed from one screenshot at one width.
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Next Level Builder
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.