@litfamily/litcodex 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 (1252) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +293 -0
  3. package/bin/litcodex.js +12 -0
  4. package/dist/auto-update.d.ts +27 -0
  5. package/dist/auto-update.js +106 -0
  6. package/dist/cli-model-route.d.ts +7 -0
  7. package/dist/cli-model-route.js +47 -0
  8. package/dist/cli.d.ts +23 -0
  9. package/dist/cli.js +282 -0
  10. package/dist/config-migration/backup.d.ts +2 -0
  11. package/dist/config-migration/backup.js +42 -0
  12. package/dist/config-migration/catalog.d.ts +23 -0
  13. package/dist/config-migration/catalog.js +108 -0
  14. package/dist/config-migration/cli.d.ts +16 -0
  15. package/dist/config-migration/cli.js +186 -0
  16. package/dist/config-migration/config-file-io.d.ts +11 -0
  17. package/dist/config-migration/config-file-io.js +62 -0
  18. package/dist/config-migration/config-paths.d.ts +4 -0
  19. package/dist/config-migration/config-paths.js +64 -0
  20. package/dist/config-migration/errors.d.ts +11 -0
  21. package/dist/config-migration/errors.js +30 -0
  22. package/dist/config-migration/gpt56-policy.d.ts +53 -0
  23. package/dist/config-migration/gpt56-policy.js +158 -0
  24. package/dist/config-migration/index.d.ts +63 -0
  25. package/dist/config-migration/index.js +208 -0
  26. package/dist/config-migration/multi-agent-v2-guard.d.ts +26 -0
  27. package/dist/config-migration/multi-agent-v2-guard.js +166 -0
  28. package/dist/config-migration/native-default-route.d.ts +9 -0
  29. package/dist/config-migration/native-default-route.js +336 -0
  30. package/dist/config-migration/profile-files.d.ts +11 -0
  31. package/dist/config-migration/profile-files.js +72 -0
  32. package/dist/config-migration/root-settings.d.ts +10 -0
  33. package/dist/config-migration/root-settings.js +144 -0
  34. package/dist/config-migration/state.d.ts +16 -0
  35. package/dist/config-migration/state.js +40 -0
  36. package/dist/config-migration/toml-shape.d.ts +8 -0
  37. package/dist/config-migration/toml-shape.js +141 -0
  38. package/dist/config-migration/unsafe-route-guard.d.ts +1 -0
  39. package/dist/config-migration/unsafe-route-guard.js +17 -0
  40. package/dist/install/agent-routing.d.ts +19 -0
  41. package/dist/install/agent-routing.js +145 -0
  42. package/dist/install/agents-install.d.ts +40 -0
  43. package/dist/install/agents-install.js +211 -0
  44. package/dist/install/auth-mode.d.ts +4 -0
  45. package/dist/install/auth-mode.js +26 -0
  46. package/dist/install/bundled-skill-manifests.d.ts +25 -0
  47. package/dist/install/bundled-skill-manifests.js +25 -0
  48. package/dist/install/bundled-skills.d.ts +7 -0
  49. package/dist/install/bundled-skills.js +70 -0
  50. package/dist/install/capability-preflight-error.d.ts +3 -0
  51. package/dist/install/capability-preflight-error.js +33 -0
  52. package/dist/install/codex-version.d.ts +17 -0
  53. package/dist/install/codex-version.js +37 -0
  54. package/dist/install/codex.d.ts +56 -0
  55. package/dist/install/codex.js +164 -0
  56. package/dist/install/development-marketplace.d.ts +6 -0
  57. package/dist/install/development-marketplace.js +83 -0
  58. package/dist/install/doctor-config.d.ts +4 -0
  59. package/dist/install/doctor-config.js +54 -0
  60. package/dist/install/doctor-render.d.ts +2 -0
  61. package/dist/install/doctor-render.js +72 -0
  62. package/dist/install/doctor.d.ts +12 -0
  63. package/dist/install/doctor.js +223 -0
  64. package/dist/install/errors.d.ts +20 -0
  65. package/dist/install/errors.js +53 -0
  66. package/dist/install/execute.d.ts +56 -0
  67. package/dist/install/execute.js +221 -0
  68. package/dist/install/file-walk.d.ts +33 -0
  69. package/dist/install/file-walk.js +252 -0
  70. package/dist/install/generated-skill-payload-hashes.d.ts +330 -0
  71. package/dist/install/generated-skill-payload-hashes.js +331 -0
  72. package/dist/install/hook-verifier.d.ts +5 -0
  73. package/dist/install/hook-verifier.js +20 -0
  74. package/dist/install/host-capabilities.d.ts +23 -0
  75. package/dist/install/host-capabilities.js +177 -0
  76. package/dist/install/index.d.ts +27 -0
  77. package/dist/install/index.js +403 -0
  78. package/dist/install/install-model-prompt.d.ts +28 -0
  79. package/dist/install/install-model-prompt.js +82 -0
  80. package/dist/install/install-options.d.ts +9 -0
  81. package/dist/install/install-options.js +164 -0
  82. package/dist/install/install-output.d.ts +4 -0
  83. package/dist/install/install-output.js +12 -0
  84. package/dist/install/install-presentation.d.ts +13 -0
  85. package/dist/install/install-presentation.js +165 -0
  86. package/dist/install/install-ui.d.ts +25 -0
  87. package/dist/install/install-ui.js +109 -0
  88. package/dist/install/marketplace-payload.d.ts +10 -0
  89. package/dist/install/marketplace-payload.js +178 -0
  90. package/dist/install/marketplace.d.ts +18 -0
  91. package/dist/install/marketplace.js +74 -0
  92. package/dist/install/package-root.d.ts +13 -0
  93. package/dist/install/package-root.js +25 -0
  94. package/dist/install/plan.d.ts +3 -0
  95. package/dist/install/plan.js +54 -0
  96. package/dist/install/registration.d.ts +8 -0
  97. package/dist/install/registration.js +62 -0
  98. package/dist/install/render-plan.d.ts +3 -0
  99. package/dist/install/render-plan.js +16 -0
  100. package/dist/install/runtime-file-policy.d.ts +2 -0
  101. package/dist/install/runtime-file-policy.js +17 -0
  102. package/dist/install/skill-catalog.d.ts +17 -0
  103. package/dist/install/skill-catalog.js +111 -0
  104. package/dist/install/skill-resource-hashes.d.ts +1 -0
  105. package/dist/install/skill-resource-hashes.js +1 -0
  106. package/dist/install/spinner-motion.d.ts +2 -0
  107. package/dist/install/spinner-motion.js +51 -0
  108. package/dist/install/strict-config-probe.d.ts +14 -0
  109. package/dist/install/strict-config-probe.js +53 -0
  110. package/dist/install/types.d.ts +102 -0
  111. package/dist/install/types.js +5 -0
  112. package/dist/install/uninstall.d.ts +26 -0
  113. package/dist/install/uninstall.js +227 -0
  114. package/dist/postinstall.d.ts +1 -0
  115. package/dist/postinstall.js +35 -0
  116. package/dist/ui-style.d.ts +23 -0
  117. package/dist/ui-style.js +73 -0
  118. package/dist/ui.d.ts +10 -0
  119. package/dist/ui.js +25 -0
  120. package/dist/update-check.d.ts +101 -0
  121. package/dist/update-check.js +502 -0
  122. package/marketplace/.agents/plugins/marketplace.json +17 -0
  123. package/marketplace/plugins/litcodex/.codex-plugin/plugin.json +34 -0
  124. package/marketplace/plugins/litcodex/.mcp.json +1 -0
  125. package/marketplace/plugins/litcodex/assets/logo.png +0 -0
  126. package/marketplace/plugins/litcodex/components/auto-update/dist/auto-update.d.ts +117 -0
  127. package/marketplace/plugins/litcodex/components/auto-update/dist/auto-update.js +640 -0
  128. package/marketplace/plugins/litcodex/components/auto-update/dist/cli.d.ts +2 -0
  129. package/marketplace/plugins/litcodex/components/auto-update/dist/cli.js +103 -0
  130. package/marketplace/plugins/litcodex/components/auto-update/package.json +22 -0
  131. package/marketplace/plugins/litcodex/components/comment-checker/dist/apply-patch.d.ts +7 -0
  132. package/marketplace/plugins/litcodex/components/comment-checker/dist/apply-patch.js +173 -0
  133. package/marketplace/plugins/litcodex/components/comment-checker/dist/cli.d.ts +2 -0
  134. package/marketplace/plugins/litcodex/components/comment-checker/dist/cli.js +10 -0
  135. package/marketplace/plugins/litcodex/components/comment-checker/dist/codex-hook.d.ts +22 -0
  136. package/marketplace/plugins/litcodex/components/comment-checker/dist/codex-hook.js +165 -0
  137. package/marketplace/plugins/litcodex/components/comment-checker/dist/core-values.d.ts +1 -0
  138. package/marketplace/plugins/litcodex/components/comment-checker/dist/core-values.js +1 -0
  139. package/marketplace/plugins/litcodex/components/comment-checker/dist/core.d.ts +5 -0
  140. package/marketplace/plugins/litcodex/components/comment-checker/dist/core.js +4 -0
  141. package/marketplace/plugins/litcodex/components/comment-checker/dist/hook-input.d.ts +6 -0
  142. package/marketplace/plugins/litcodex/components/comment-checker/dist/hook-input.js +10 -0
  143. package/marketplace/plugins/litcodex/components/comment-checker/dist/record.d.ts +2 -0
  144. package/marketplace/plugins/litcodex/components/comment-checker/dist/record.js +11 -0
  145. package/marketplace/plugins/litcodex/components/comment-checker/dist/request-extractor.d.ts +3 -0
  146. package/marketplace/plugins/litcodex/components/comment-checker/dist/request-extractor.js +104 -0
  147. package/marketplace/plugins/litcodex/components/comment-checker/dist/runner.d.ts +26 -0
  148. package/marketplace/plugins/litcodex/components/comment-checker/dist/runner.js +144 -0
  149. package/marketplace/plugins/litcodex/components/comment-checker/dist/types.d.ts +43 -0
  150. package/marketplace/plugins/litcodex/components/comment-checker/dist/types.js +1 -0
  151. package/marketplace/plugins/litcodex/components/comment-checker/package.json +22 -0
  152. package/marketplace/plugins/litcodex/components/git-bash/dist/cli.d.ts +2 -0
  153. package/marketplace/plugins/litcodex/components/git-bash/dist/cli.js +29 -0
  154. package/marketplace/plugins/litcodex/components/git-bash/dist/codex-hook.d.ts +28 -0
  155. package/marketplace/plugins/litcodex/components/git-bash/dist/codex-hook.js +137 -0
  156. package/marketplace/plugins/litcodex/components/git-bash/dist/index.d.ts +1 -0
  157. package/marketplace/plugins/litcodex/components/git-bash/dist/index.js +1 -0
  158. package/marketplace/plugins/litcodex/components/git-bash/package.json +22 -0
  159. package/marketplace/plugins/litcodex/components/lit-loop/agents/litcodex-default.toml +14 -0
  160. package/marketplace/plugins/litcodex/components/lit-loop/agents/litcodex-explorer.toml +81 -0
  161. package/marketplace/plugins/litcodex/components/lit-loop/agents/litcodex-librarian.toml +104 -0
  162. package/marketplace/plugins/litcodex/components/lit-loop/agents/litcodex-litwork-reviewer.toml +41 -0
  163. package/marketplace/plugins/litcodex/components/lit-loop/agents/litcodex-metis.toml +71 -0
  164. package/marketplace/plugins/litcodex/components/lit-loop/agents/litcodex-momus.toml +75 -0
  165. package/marketplace/plugins/litcodex/components/lit-loop/agents/litcodex-plan.toml +193 -0
  166. package/marketplace/plugins/litcodex/components/lit-loop/directive.md +240 -0
  167. package/marketplace/plugins/litcodex/components/lit-loop/directives/browser-drive.md +140 -0
  168. package/marketplace/plugins/litcodex/components/lit-loop/directives/deep-interview.md +250 -0
  169. package/marketplace/plugins/litcodex/components/lit-loop/directives/lit-comprehend.md +247 -0
  170. package/marketplace/plugins/litcodex/components/lit-loop/directives/lit-crucible.md +254 -0
  171. package/marketplace/plugins/litcodex/components/lit-loop/directives/lit-handoff.md +126 -0
  172. package/marketplace/plugins/litcodex/components/lit-loop/directives/lit-init.md +140 -0
  173. package/marketplace/plugins/litcodex/components/lit-loop/directives/lit-plan.md +472 -0
  174. package/marketplace/plugins/litcodex/components/lit-loop/directives/lit-recap.md +209 -0
  175. package/marketplace/plugins/litcodex/components/lit-loop/directives/lit-scientific-visualization.md +144 -0
  176. package/marketplace/plugins/litcodex/components/lit-loop/directives/litgoal.md +231 -0
  177. package/marketplace/plugins/litcodex/components/lit-loop/directives/litresearch.md +218 -0
  178. package/marketplace/plugins/litcodex/components/lit-loop/directives/litwork.md +507 -0
  179. package/marketplace/plugins/litcodex/components/lit-loop/directives/review-work.md +184 -0
  180. package/marketplace/plugins/litcodex/components/lit-loop/directives/skill-observer.md +105 -0
  181. package/marketplace/plugins/litcodex/components/lit-loop/directives/start-work.md +149 -0
  182. package/marketplace/plugins/litcodex/components/lit-loop/dist/_scaffold.d.ts +1 -0
  183. package/marketplace/plugins/litcodex/components/lit-loop/dist/_scaffold.js +3 -0
  184. package/marketplace/plugins/litcodex/components/lit-loop/dist/browser-drive-route.d.ts +7 -0
  185. package/marketplace/plugins/litcodex/components/lit-loop/dist/browser-drive-route.js +13 -0
  186. package/marketplace/plugins/litcodex/components/lit-loop/dist/cli.d.ts +6 -0
  187. package/marketplace/plugins/litcodex/components/lit-loop/dist/cli.js +64 -0
  188. package/marketplace/plugins/litcodex/components/lit-loop/dist/codex-goal-instruction.d.ts +18 -0
  189. package/marketplace/plugins/litcodex/components/lit-loop/dist/codex-goal-instruction.js +146 -0
  190. package/marketplace/plugins/litcodex/components/lit-loop/dist/codex-hook.d.ts +53 -0
  191. package/marketplace/plugins/litcodex/components/lit-loop/dist/codex-hook.js +228 -0
  192. package/marketplace/plugins/litcodex/components/lit-loop/dist/directive.d.ts +43 -0
  193. package/marketplace/plugins/litcodex/components/lit-loop/dist/directive.js +139 -0
  194. package/marketplace/plugins/litcodex/components/lit-loop/dist/goal-status.d.ts +14 -0
  195. package/marketplace/plugins/litcodex/components/lit-loop/dist/goal-status.js +32 -0
  196. package/marketplace/plugins/litcodex/components/lit-loop/dist/guards.d.ts +73 -0
  197. package/marketplace/plugins/litcodex/components/lit-loop/dist/guards.js +215 -0
  198. package/marketplace/plugins/litcodex/components/lit-loop/dist/handoff-route.d.ts +5 -0
  199. package/marketplace/plugins/litcodex/components/lit-loop/dist/handoff-route.js +11 -0
  200. package/marketplace/plugins/litcodex/components/lit-loop/dist/hook-cli.d.ts +19 -0
  201. package/marketplace/plugins/litcodex/components/lit-loop/dist/hook-cli.js +189 -0
  202. package/marketplace/plugins/litcodex/components/lit-loop/dist/lit-mark.d.ts +20 -0
  203. package/marketplace/plugins/litcodex/components/lit-loop/dist/lit-mark.js +138 -0
  204. package/marketplace/plugins/litcodex/components/lit-loop/dist/loop-cli.d.ts +19 -0
  205. package/marketplace/plugins/litcodex/components/lit-loop/dist/loop-cli.js +109 -0
  206. package/marketplace/plugins/litcodex/components/lit-loop/dist/loop-doctor-render.d.ts +7 -0
  207. package/marketplace/plugins/litcodex/components/lit-loop/dist/loop-doctor-render.js +39 -0
  208. package/marketplace/plugins/litcodex/components/lit-loop/dist/loop-doctor-types.d.ts +52 -0
  209. package/marketplace/plugins/litcodex/components/lit-loop/dist/loop-doctor-types.js +7 -0
  210. package/marketplace/plugins/litcodex/components/lit-loop/dist/loop-doctor.d.ts +34 -0
  211. package/marketplace/plugins/litcodex/components/lit-loop/dist/loop-doctor.js +336 -0
  212. package/marketplace/plugins/litcodex/components/lit-loop/dist/loop-errors.d.ts +15 -0
  213. package/marketplace/plugins/litcodex/components/lit-loop/dist/loop-errors.js +45 -0
  214. package/marketplace/plugins/litcodex/components/lit-loop/dist/loop-handlers.d.ts +18 -0
  215. package/marketplace/plugins/litcodex/components/lit-loop/dist/loop-handlers.js +367 -0
  216. package/marketplace/plugins/litcodex/components/lit-loop/dist/loop-model.d.ts +51 -0
  217. package/marketplace/plugins/litcodex/components/lit-loop/dist/loop-model.js +166 -0
  218. package/marketplace/plugins/litcodex/components/lit-loop/dist/loop-stdout.d.ts +6 -0
  219. package/marketplace/plugins/litcodex/components/lit-loop/dist/loop-stdout.js +11 -0
  220. package/marketplace/plugins/litcodex/components/lit-loop/dist/loop-types.d.ts +26 -0
  221. package/marketplace/plugins/litcodex/components/lit-loop/dist/loop-types.js +8 -0
  222. package/marketplace/plugins/litcodex/components/lit-loop/dist/markers.d.ts +33 -0
  223. package/marketplace/plugins/litcodex/components/lit-loop/dist/markers.js +38 -0
  224. package/marketplace/plugins/litcodex/components/lit-loop/dist/modes.d.ts +29 -0
  225. package/marketplace/plugins/litcodex/components/lit-loop/dist/modes.js +176 -0
  226. package/marketplace/plugins/litcodex/components/lit-loop/dist/plan-persistence.d.ts +20 -0
  227. package/marketplace/plugins/litcodex/components/lit-loop/dist/plan-persistence.js +147 -0
  228. package/marketplace/plugins/litcodex/components/lit-loop/dist/redaction.d.ts +3 -0
  229. package/marketplace/plugins/litcodex/components/lit-loop/dist/redaction.js +177 -0
  230. package/marketplace/plugins/litcodex/components/lit-loop/dist/scientific-visualization-route.d.ts +7 -0
  231. package/marketplace/plugins/litcodex/components/lit-loop/dist/scientific-visualization-route.js +15 -0
  232. package/marketplace/plugins/litcodex/components/lit-loop/dist/skill-loop/apply.d.ts +16 -0
  233. package/marketplace/plugins/litcodex/components/lit-loop/dist/skill-loop/apply.js +227 -0
  234. package/marketplace/plugins/litcodex/components/lit-loop/dist/skill-loop/config.d.ts +13 -0
  235. package/marketplace/plugins/litcodex/components/lit-loop/dist/skill-loop/config.js +12 -0
  236. package/marketplace/plugins/litcodex/components/lit-loop/dist/skill-loop/curator.d.ts +14 -0
  237. package/marketplace/plugins/litcodex/components/lit-loop/dist/skill-loop/curator.js +112 -0
  238. package/marketplace/plugins/litcodex/components/lit-loop/dist/skill-loop/hook.d.ts +19 -0
  239. package/marketplace/plugins/litcodex/components/lit-loop/dist/skill-loop/hook.js +435 -0
  240. package/marketplace/plugins/litcodex/components/lit-loop/dist/skill-loop/ownership.d.ts +6 -0
  241. package/marketplace/plugins/litcodex/components/lit-loop/dist/skill-loop/ownership.js +145 -0
  242. package/marketplace/plugins/litcodex/components/lit-loop/dist/skill-loop/paths.d.ts +18 -0
  243. package/marketplace/plugins/litcodex/components/lit-loop/dist/skill-loop/paths.js +43 -0
  244. package/marketplace/plugins/litcodex/components/lit-loop/dist/skill-loop/review.d.ts +28 -0
  245. package/marketplace/plugins/litcodex/components/lit-loop/dist/skill-loop/review.js +702 -0
  246. package/marketplace/plugins/litcodex/components/lit-loop/dist/skill-loop/store.d.ts +32 -0
  247. package/marketplace/plugins/litcodex/components/lit-loop/dist/skill-loop/store.js +667 -0
  248. package/marketplace/plugins/litcodex/components/lit-loop/dist/skill-loop/transaction.d.ts +26 -0
  249. package/marketplace/plugins/litcodex/components/lit-loop/dist/skill-loop/transaction.js +524 -0
  250. package/marketplace/plugins/litcodex/components/lit-loop/dist/skill-loop/types.d.ts +81 -0
  251. package/marketplace/plugins/litcodex/components/lit-loop/dist/skill-loop/types.js +246 -0
  252. package/marketplace/plugins/litcodex/components/lit-loop/dist/skill-loop/usage.d.ts +6 -0
  253. package/marketplace/plugins/litcodex/components/lit-loop/dist/skill-loop/usage.js +119 -0
  254. package/marketplace/plugins/litcodex/components/lit-loop/dist/skill-loop-cli.d.ts +8 -0
  255. package/marketplace/plugins/litcodex/components/lit-loop/dist/skill-loop-cli.js +111 -0
  256. package/marketplace/plugins/litcodex/components/lit-loop/dist/skill-mention-scope.d.ts +4 -0
  257. package/marketplace/plugins/litcodex/components/lit-loop/dist/skill-mention-scope.js +69 -0
  258. package/marketplace/plugins/litcodex/components/lit-loop/dist/skill-observer-cli.d.ts +3 -0
  259. package/marketplace/plugins/litcodex/components/lit-loop/dist/skill-observer-cli.js +116 -0
  260. package/marketplace/plugins/litcodex/components/lit-loop/dist/skill-observer-route.d.ts +6 -0
  261. package/marketplace/plugins/litcodex/components/lit-loop/dist/skill-observer-route.js +12 -0
  262. package/marketplace/plugins/litcodex/components/lit-loop/dist/skill-observer.d.ts +18 -0
  263. package/marketplace/plugins/litcodex/components/lit-loop/dist/skill-observer.js +946 -0
  264. package/marketplace/plugins/litcodex/components/lit-loop/dist/skill-renames.d.ts +20 -0
  265. package/marketplace/plugins/litcodex/components/lit-loop/dist/skill-renames.js +43 -0
  266. package/marketplace/plugins/litcodex/components/lit-loop/dist/state-paths.d.ts +43 -0
  267. package/marketplace/plugins/litcodex/components/lit-loop/dist/state-paths.js +121 -0
  268. package/marketplace/plugins/litcodex/components/lit-loop/dist/state-store.d.ts +40 -0
  269. package/marketplace/plugins/litcodex/components/lit-loop/dist/state-store.js +471 -0
  270. package/marketplace/plugins/litcodex/components/lit-loop/dist/state-types.d.ts +121 -0
  271. package/marketplace/plugins/litcodex/components/lit-loop/dist/state-types.js +67 -0
  272. package/marketplace/plugins/litcodex/components/lit-loop/dist/trigger.d.ts +62 -0
  273. package/marketplace/plugins/litcodex/components/lit-loop/dist/trigger.js +277 -0
  274. package/marketplace/plugins/litcodex/components/lit-loop/package.json +33 -0
  275. package/marketplace/plugins/litcodex/components/lsp/dist/cli.d.ts +2 -0
  276. package/marketplace/plugins/litcodex/components/lsp/dist/cli.js +48 -0
  277. package/marketplace/plugins/litcodex/components/lsp/dist/codex-hook.d.ts +18 -0
  278. package/marketplace/plugins/litcodex/components/lsp/dist/codex-hook.js +53 -0
  279. package/marketplace/plugins/litcodex/components/lsp/package.json +22 -0
  280. package/marketplace/plugins/litcodex/components/rules/bundled-rules/baseline-discipline.md +53 -0
  281. package/marketplace/plugins/litcodex/components/rules/bundled-rules/build-decision-gate.md +20 -0
  282. package/marketplace/plugins/litcodex/components/rules/bundled-rules/windows-git-bash.md +10 -0
  283. package/marketplace/plugins/litcodex/components/rules/dist/cli.d.ts +2 -0
  284. package/marketplace/plugins/litcodex/components/rules/dist/cli.js +148 -0
  285. package/marketplace/plugins/litcodex/components/rules/dist/codex-hook-options.d.ts +5 -0
  286. package/marketplace/plugins/litcodex/components/rules/dist/codex-hook-options.js +1 -0
  287. package/marketplace/plugins/litcodex/components/rules/dist/codex-hook.d.ts +47 -0
  288. package/marketplace/plugins/litcodex/components/rules/dist/codex-hook.js +137 -0
  289. package/marketplace/plugins/litcodex/components/rules/dist/config.d.ts +2 -0
  290. package/marketplace/plugins/litcodex/components/rules/dist/config.js +99 -0
  291. package/marketplace/plugins/litcodex/components/rules/dist/context-pressure.d.ts +2 -0
  292. package/marketplace/plugins/litcodex/components/rules/dist/context-pressure.js +26 -0
  293. package/marketplace/plugins/litcodex/components/rules/dist/debug-log.d.ts +8 -0
  294. package/marketplace/plugins/litcodex/components/rules/dist/debug-log.js +36 -0
  295. package/marketplace/plugins/litcodex/components/rules/dist/deliverable-hedge-guard.d.ts +36 -0
  296. package/marketplace/plugins/litcodex/components/rules/dist/deliverable-hedge-guard.js +434 -0
  297. package/marketplace/plugins/litcodex/components/rules/dist/dynamic-target-fingerprints.d.ts +7 -0
  298. package/marketplace/plugins/litcodex/components/rules/dist/dynamic-target-fingerprints.js +65 -0
  299. package/marketplace/plugins/litcodex/components/rules/dist/event-budget.d.ts +7 -0
  300. package/marketplace/plugins/litcodex/components/rules/dist/event-budget.js +28 -0
  301. package/marketplace/plugins/litcodex/components/rules/dist/hook-output.d.ts +3 -0
  302. package/marketplace/plugins/litcodex/components/rules/dist/hook-output.js +24 -0
  303. package/marketplace/plugins/litcodex/components/rules/dist/model-metadata.d.ts +14 -0
  304. package/marketplace/plugins/litcodex/components/rules/dist/model-metadata.js +101 -0
  305. package/marketplace/plugins/litcodex/components/rules/dist/output-style-injection.d.ts +7 -0
  306. package/marketplace/plugins/litcodex/components/rules/dist/output-style-injection.js +53 -0
  307. package/marketplace/plugins/litcodex/components/rules/dist/path-utils.d.ts +4 -0
  308. package/marketplace/plugins/litcodex/components/rules/dist/path-utils.js +24 -0
  309. package/marketplace/plugins/litcodex/components/rules/dist/persistent-cache.d.ts +14 -0
  310. package/marketplace/plugins/litcodex/components/rules/dist/persistent-cache.js +180 -0
  311. package/marketplace/plugins/litcodex/components/rules/dist/post-compact-budget.d.ts +8 -0
  312. package/marketplace/plugins/litcodex/components/rules/dist/post-compact-budget.js +103 -0
  313. package/marketplace/plugins/litcodex/components/rules/dist/post-compact-claim.d.ts +4 -0
  314. package/marketplace/plugins/litcodex/components/rules/dist/post-compact-claim.js +6 -0
  315. package/marketplace/plugins/litcodex/components/rules/dist/post-compact-directive.d.ts +2 -0
  316. package/marketplace/plugins/litcodex/components/rules/dist/post-compact-directive.js +55 -0
  317. package/marketplace/plugins/litcodex/components/rules/dist/post-compact-state.d.ts +13 -0
  318. package/marketplace/plugins/litcodex/components/rules/dist/post-compact-state.js +29 -0
  319. package/marketplace/plugins/litcodex/components/rules/dist/rules/cache.d.ts +9 -0
  320. package/marketplace/plugins/litcodex/components/rules/dist/rules/cache.js +51 -0
  321. package/marketplace/plugins/litcodex/components/rules/dist/rules/constants.d.ts +70 -0
  322. package/marketplace/plugins/litcodex/components/rules/dist/rules/constants.js +100 -0
  323. package/marketplace/plugins/litcodex/components/rules/dist/rules/engine-dynamic-cache.d.ts +5 -0
  324. package/marketplace/plugins/litcodex/components/rules/dist/rules/engine-dynamic-cache.js +60 -0
  325. package/marketplace/plugins/litcodex/components/rules/dist/rules/engine-dynamic-loader.d.ts +6 -0
  326. package/marketplace/plugins/litcodex/components/rules/dist/rules/engine-dynamic-loader.js +61 -0
  327. package/marketplace/plugins/litcodex/components/rules/dist/rules/engine-loader.d.ts +7 -0
  328. package/marketplace/plugins/litcodex/components/rules/dist/rules/engine-loader.js +60 -0
  329. package/marketplace/plugins/litcodex/components/rules/dist/rules/engine-paths.d.ts +11 -0
  330. package/marketplace/plugins/litcodex/components/rules/dist/rules/engine-paths.js +75 -0
  331. package/marketplace/plugins/litcodex/components/rules/dist/rules/engine-static-loader.d.ts +6 -0
  332. package/marketplace/plugins/litcodex/components/rules/dist/rules/engine-static-loader.js +29 -0
  333. package/marketplace/plugins/litcodex/components/rules/dist/rules/engine-types.d.ts +47 -0
  334. package/marketplace/plugins/litcodex/components/rules/dist/rules/engine-types.js +1 -0
  335. package/marketplace/plugins/litcodex/components/rules/dist/rules/engine.d.ts +5 -0
  336. package/marketplace/plugins/litcodex/components/rules/dist/rules/engine.js +90 -0
  337. package/marketplace/plugins/litcodex/components/rules/dist/rules/errors.d.ts +6 -0
  338. package/marketplace/plugins/litcodex/components/rules/dist/rules/errors.js +12 -0
  339. package/marketplace/plugins/litcodex/components/rules/dist/rules/finder-cache.d.ts +14 -0
  340. package/marketplace/plugins/litcodex/components/rules/dist/rules/finder-cache.js +51 -0
  341. package/marketplace/plugins/litcodex/components/rules/dist/rules/finder-paths.d.ts +6 -0
  342. package/marketplace/plugins/litcodex/components/rules/dist/rules/finder-paths.js +33 -0
  343. package/marketplace/plugins/litcodex/components/rules/dist/rules/finder-sources.d.ts +5 -0
  344. package/marketplace/plugins/litcodex/components/rules/dist/rules/finder-sources.js +39 -0
  345. package/marketplace/plugins/litcodex/components/rules/dist/rules/finder.d.ts +28 -0
  346. package/marketplace/plugins/litcodex/components/rules/dist/rules/finder.js +146 -0
  347. package/marketplace/plugins/litcodex/components/rules/dist/rules/formatter.d.ts +13 -0
  348. package/marketplace/plugins/litcodex/components/rules/dist/rules/formatter.js +156 -0
  349. package/marketplace/plugins/litcodex/components/rules/dist/rules/matcher.d.ts +18 -0
  350. package/marketplace/plugins/litcodex/components/rules/dist/rules/matcher.js +93 -0
  351. package/marketplace/plugins/litcodex/components/rules/dist/rules/ordering.d.ts +3 -0
  352. package/marketplace/plugins/litcodex/components/rules/dist/rules/ordering.js +27 -0
  353. package/marketplace/plugins/litcodex/components/rules/dist/rules/parser-frontmatter.d.ts +7 -0
  354. package/marketplace/plugins/litcodex/components/rules/dist/rules/parser-frontmatter.js +30 -0
  355. package/marketplace/plugins/litcodex/components/rules/dist/rules/parser-yaml.d.ts +2 -0
  356. package/marketplace/plugins/litcodex/components/rules/dist/rules/parser-yaml.js +237 -0
  357. package/marketplace/plugins/litcodex/components/rules/dist/rules/parser.d.ts +3 -0
  358. package/marketplace/plugins/litcodex/components/rules/dist/rules/parser.js +31 -0
  359. package/marketplace/plugins/litcodex/components/rules/dist/rules/plugin-root.d.ts +1 -0
  360. package/marketplace/plugins/litcodex/components/rules/dist/rules/plugin-root.js +48 -0
  361. package/marketplace/plugins/litcodex/components/rules/dist/rules/project-root.d.ts +1 -0
  362. package/marketplace/plugins/litcodex/components/rules/dist/rules/project-root.js +23 -0
  363. package/marketplace/plugins/litcodex/components/rules/dist/rules/scanner.d.ts +14 -0
  364. package/marketplace/plugins/litcodex/components/rules/dist/rules/scanner.js +111 -0
  365. package/marketplace/plugins/litcodex/components/rules/dist/rules/sources.d.ts +3 -0
  366. package/marketplace/plugins/litcodex/components/rules/dist/rules/sources.js +9 -0
  367. package/marketplace/plugins/litcodex/components/rules/dist/rules/truncator.d.ts +19 -0
  368. package/marketplace/plugins/litcodex/components/rules/dist/rules/truncator.js +62 -0
  369. package/marketplace/plugins/litcodex/components/rules/dist/rules/types.d.ts +126 -0
  370. package/marketplace/plugins/litcodex/components/rules/dist/rules/types.js +8 -0
  371. package/marketplace/plugins/litcodex/components/rules/dist/rules-engine-factory.d.ts +6 -0
  372. package/marketplace/plugins/litcodex/components/rules/dist/rules-engine-factory.js +20 -0
  373. package/marketplace/plugins/litcodex/components/rules/dist/session-state-lock.d.ts +3 -0
  374. package/marketplace/plugins/litcodex/components/rules/dist/session-state-lock.js +41 -0
  375. package/marketplace/plugins/litcodex/components/rules/dist/shell-awareness.d.ts +10 -0
  376. package/marketplace/plugins/litcodex/components/rules/dist/shell-awareness.js +90 -0
  377. package/marketplace/plugins/litcodex/components/rules/dist/stable-file-read.d.ts +18 -0
  378. package/marketplace/plugins/litcodex/components/rules/dist/stable-file-read.js +120 -0
  379. package/marketplace/plugins/litcodex/components/rules/dist/static-injection.d.ts +3 -0
  380. package/marketplace/plugins/litcodex/components/rules/dist/static-injection.js +183 -0
  381. package/marketplace/plugins/litcodex/components/rules/dist/tool-paths.d.ts +6 -0
  382. package/marketplace/plugins/litcodex/components/rules/dist/tool-paths.js +168 -0
  383. package/marketplace/plugins/litcodex/components/rules/dist/transcript-rule-filter.d.ts +4 -0
  384. package/marketplace/plugins/litcodex/components/rules/dist/transcript-rule-filter.js +31 -0
  385. package/marketplace/plugins/litcodex/components/rules/dist/transcript-search.d.ts +5 -0
  386. package/marketplace/plugins/litcodex/components/rules/dist/transcript-search.js +191 -0
  387. package/marketplace/plugins/litcodex/components/rules/node_modules/picomatch/LICENSE +21 -0
  388. package/marketplace/plugins/litcodex/components/rules/node_modules/picomatch/README.md +749 -0
  389. package/marketplace/plugins/litcodex/components/rules/node_modules/picomatch/index.js +17 -0
  390. package/marketplace/plugins/litcodex/components/rules/node_modules/picomatch/lib/constants.js +184 -0
  391. package/marketplace/plugins/litcodex/components/rules/node_modules/picomatch/lib/parse.js +1386 -0
  392. package/marketplace/plugins/litcodex/components/rules/node_modules/picomatch/lib/picomatch.js +349 -0
  393. package/marketplace/plugins/litcodex/components/rules/node_modules/picomatch/lib/scan.js +391 -0
  394. package/marketplace/plugins/litcodex/components/rules/node_modules/picomatch/lib/utils.js +72 -0
  395. package/marketplace/plugins/litcodex/components/rules/node_modules/picomatch/package.json +82 -0
  396. package/marketplace/plugins/litcodex/components/rules/node_modules/picomatch/posix.js +3 -0
  397. package/marketplace/plugins/litcodex/components/rules/package.json +30 -0
  398. package/marketplace/plugins/litcodex/components/start-work-continuation/directive.md +109 -0
  399. package/marketplace/plugins/litcodex/components/start-work-continuation/dist/cli.d.ts +2 -0
  400. package/marketplace/plugins/litcodex/components/start-work-continuation/dist/cli.js +345 -0
  401. package/marketplace/plugins/litcodex/components/start-work-continuation/dist/codex-hook.d.ts +12 -0
  402. package/marketplace/plugins/litcodex/components/start-work-continuation/dist/codex-hook.js +292 -0
  403. package/marketplace/plugins/litcodex/components/start-work-continuation/dist/directive.d.ts +1 -0
  404. package/marketplace/plugins/litcodex/components/start-work-continuation/dist/directive.js +2 -0
  405. package/marketplace/plugins/litcodex/components/start-work-continuation/dist/index.d.ts +11 -0
  406. package/marketplace/plugins/litcodex/components/start-work-continuation/dist/index.js +6 -0
  407. package/marketplace/plugins/litcodex/components/start-work-continuation/dist/lifecycle-store.d.ts +161 -0
  408. package/marketplace/plugins/litcodex/components/start-work-continuation/dist/lifecycle-store.js +1664 -0
  409. package/marketplace/plugins/litcodex/components/start-work-continuation/dist/plan-progress.d.ts +11 -0
  410. package/marketplace/plugins/litcodex/components/start-work-continuation/dist/plan-progress.js +86 -0
  411. package/marketplace/plugins/litcodex/components/start-work-continuation/dist/plan-publisher.d.ts +11 -0
  412. package/marketplace/plugins/litcodex/components/start-work-continuation/dist/plan-publisher.js +183 -0
  413. package/marketplace/plugins/litcodex/components/start-work-continuation/dist/types.d.ts +28 -0
  414. package/marketplace/plugins/litcodex/components/start-work-continuation/dist/types.js +1 -0
  415. package/marketplace/plugins/litcodex/components/start-work-continuation/dist/work-state-reader.d.ts +44 -0
  416. package/marketplace/plugins/litcodex/components/start-work-continuation/dist/work-state-reader.js +67 -0
  417. package/marketplace/plugins/litcodex/components/start-work-continuation/package.json +24 -0
  418. package/marketplace/plugins/litcodex/components/telemetry/dist/cli.d.ts +2 -0
  419. package/marketplace/plugins/litcodex/components/telemetry/dist/cli.js +62 -0
  420. package/marketplace/plugins/litcodex/components/telemetry/dist/codex-hook.d.ts +14 -0
  421. package/marketplace/plugins/litcodex/components/telemetry/dist/codex-hook.js +14 -0
  422. package/marketplace/plugins/litcodex/components/telemetry/dist/provider-cache.d.ts +66 -0
  423. package/marketplace/plugins/litcodex/components/telemetry/dist/provider-cache.js +117 -0
  424. package/marketplace/plugins/litcodex/components/telemetry/package.json +22 -0
  425. package/marketplace/plugins/litcodex/components/wikify-knowledge/dist/cli.d.ts +2 -0
  426. package/marketplace/plugins/litcodex/components/wikify-knowledge/dist/cli.js +131 -0
  427. package/marketplace/plugins/litcodex/components/wikify-knowledge/dist/knowledge.d.ts +72 -0
  428. package/marketplace/plugins/litcodex/components/wikify-knowledge/dist/knowledge.js +623 -0
  429. package/marketplace/plugins/litcodex/components/wikify-knowledge/dist/strict-json.d.ts +2 -0
  430. package/marketplace/plugins/litcodex/components/wikify-knowledge/dist/strict-json.js +94 -0
  431. package/marketplace/plugins/litcodex/components/wikify-knowledge/package.json +22 -0
  432. package/marketplace/plugins/litcodex/hooks/hooks.json +215 -0
  433. package/marketplace/plugins/litcodex/skills/autoconference/LICENSE +21 -0
  434. package/marketplace/plugins/litcodex/skills/autoconference/PROVENANCE.md +23 -0
  435. package/marketplace/plugins/litcodex/skills/autoconference/SKILL.md +139 -0
  436. package/marketplace/plugins/litcodex/skills/autoconference/assets/conference_template.md +76 -0
  437. package/marketplace/plugins/litcodex/skills/autoconference/assets/report_template.md +56 -0
  438. package/marketplace/plugins/litcodex/skills/autoconference/assets/synthesis_template.md +40 -0
  439. package/marketplace/plugins/litcodex/skills/autoconference/references/agent-prompts.md +30 -0
  440. package/marketplace/plugins/litcodex/skills/autoconference/references/conference-protocol.md +21 -0
  441. package/marketplace/plugins/litcodex/skills/autoconference/references/core-principles.md +13 -0
  442. package/marketplace/plugins/litcodex/skills/autoconference/references/family-contract.md +26 -0
  443. package/marketplace/plugins/litcodex/skills/autoconference/references/modes/analyze.md +11 -0
  444. package/marketplace/plugins/litcodex/skills/autoconference/references/modes/core/convergence-guide.md +41 -0
  445. package/marketplace/plugins/litcodex/skills/autoconference/references/modes/core/crash-recovery.md +11 -0
  446. package/marketplace/plugins/litcodex/skills/autoconference/references/modes/core.md +25 -0
  447. package/marketplace/plugins/litcodex/skills/autoconference/references/modes/debate.md +11 -0
  448. package/marketplace/plugins/litcodex/skills/autoconference/references/modes/plan.md +12 -0
  449. package/marketplace/plugins/litcodex/skills/autoconference/references/modes/resume.md +11 -0
  450. package/marketplace/plugins/litcodex/skills/autoconference/references/modes/ship.md +11 -0
  451. package/marketplace/plugins/litcodex/skills/autoconference/references/modes/survey.md +11 -0
  452. package/marketplace/plugins/litcodex/skills/autoconference/references/results-logging.md +12 -0
  453. package/marketplace/plugins/litcodex/skills/autoconference/references/visualization-guide.md +10 -0
  454. package/marketplace/plugins/litcodex/skills/autoconference/scripts/init_conference.py +656 -0
  455. package/marketplace/plugins/litcodex/skills/autoconference/templates/code-performance.md +59 -0
  456. package/marketplace/plugins/litcodex/skills/autoconference/templates/debate-mode.md +50 -0
  457. package/marketplace/plugins/litcodex/skills/autoconference/templates/prompt-optimization.md +58 -0
  458. package/marketplace/plugins/litcodex/skills/autoconference/templates/quick-conference.md +48 -0
  459. package/marketplace/plugins/litcodex/skills/autoconference/templates/research-synthesis.md +56 -0
  460. package/marketplace/plugins/litcodex/skills/autoconference/templates/survey-mode.md +63 -0
  461. package/marketplace/plugins/litcodex/skills/autoresearch/LICENSE +21 -0
  462. package/marketplace/plugins/litcodex/skills/autoresearch/PROVENANCE.md +22 -0
  463. package/marketplace/plugins/litcodex/skills/autoresearch/SKILL.md +142 -0
  464. package/marketplace/plugins/litcodex/skills/autoresearch/assets/report_template.md +52 -0
  465. package/marketplace/plugins/litcodex/skills/autoresearch/assets/research_template.md +38 -0
  466. package/marketplace/plugins/litcodex/skills/autoresearch/assets/results_template.tsv +2 -0
  467. package/marketplace/plugins/litcodex/skills/autoresearch/references/core-principles.md +16 -0
  468. package/marketplace/plugins/litcodex/skills/autoresearch/references/family-contract.md +36 -0
  469. package/marketplace/plugins/litcodex/skills/autoresearch/references/modes/core/evaluator-contract.md +12 -0
  470. package/marketplace/plugins/litcodex/skills/autoresearch/references/modes/core/stuck-detection.md +11 -0
  471. package/marketplace/plugins/litcodex/skills/autoresearch/references/modes/core.md +21 -0
  472. package/marketplace/plugins/litcodex/skills/autoresearch/references/modes/debug/investigation-techniques.md +11 -0
  473. package/marketplace/plugins/litcodex/skills/autoresearch/references/modes/debug.md +11 -0
  474. package/marketplace/plugins/litcodex/skills/autoresearch/references/modes/fix.md +11 -0
  475. package/marketplace/plugins/litcodex/skills/autoresearch/references/modes/learn.md +11 -0
  476. package/marketplace/plugins/litcodex/skills/autoresearch/references/modes/plan.md +14 -0
  477. package/marketplace/plugins/litcodex/skills/autoresearch/references/modes/predict/persona-templates.md +11 -0
  478. package/marketplace/plugins/litcodex/skills/autoresearch/references/modes/predict.md +11 -0
  479. package/marketplace/plugins/litcodex/skills/autoresearch/references/modes/reason.md +11 -0
  480. package/marketplace/plugins/litcodex/skills/autoresearch/references/modes/scenario/dimensions.md +11 -0
  481. package/marketplace/plugins/litcodex/skills/autoresearch/references/modes/scenario.md +11 -0
  482. package/marketplace/plugins/litcodex/skills/autoresearch/references/modes/security/owasp-checklist.md +11 -0
  483. package/marketplace/plugins/litcodex/skills/autoresearch/references/modes/security/stride-model.md +11 -0
  484. package/marketplace/plugins/litcodex/skills/autoresearch/references/modes/security.md +12 -0
  485. package/marketplace/plugins/litcodex/skills/autoresearch/references/modes/ship/type-checklists.md +12 -0
  486. package/marketplace/plugins/litcodex/skills/autoresearch/references/modes/ship.md +11 -0
  487. package/marketplace/plugins/litcodex/skills/autoresearch/references/results-logging.md +12 -0
  488. package/marketplace/plugins/litcodex/skills/autoresearch/references/visualization-guide.md +24 -0
  489. package/marketplace/plugins/litcodex/skills/autoresearch/scripts/init_research.py +401 -0
  490. package/marketplace/plugins/litcodex/skills/autoresearch/scripts/style_presets.py +123 -0
  491. package/marketplace/plugins/litcodex/skills/browser-drive/SKILL.md +206 -0
  492. package/marketplace/plugins/litcodex/skills/browser-drive/agents/openai.yaml +6 -0
  493. package/marketplace/plugins/litcodex/skills/browser-drive/references/snapshot-act-loop.md +48 -0
  494. package/marketplace/plugins/litcodex/skills/browser-drive/scripts/capability-probe.mjs +437 -0
  495. package/marketplace/plugins/litcodex/skills/coding-session-audit/SKILL.md +299 -0
  496. package/marketplace/plugins/litcodex/skills/coding-session-audit/references/continuation-and-handoff.md +206 -0
  497. package/marketplace/plugins/litcodex/skills/coding-session-audit/references/read-only-recipes.md +246 -0
  498. package/marketplace/plugins/litcodex/skills/coding-session-audit/references/session-formats.md +246 -0
  499. package/marketplace/plugins/litcodex/skills/comment-checker/SKILL.md +169 -0
  500. package/marketplace/plugins/litcodex/skills/comment-checker/references/comment-policy.md +83 -0
  501. package/marketplace/plugins/litcodex/skills/debugging/SKILL.md +259 -0
  502. package/marketplace/plugins/litcodex/skills/debugging/references/methodology/00-setup.md +108 -0
  503. package/marketplace/plugins/litcodex/skills/debugging/references/methodology/02-investigate.md +124 -0
  504. package/marketplace/plugins/litcodex/skills/debugging/references/methodology/04-oracle-triple.md +129 -0
  505. package/marketplace/plugins/litcodex/skills/debugging/references/methodology/05-escalate.md +70 -0
  506. package/marketplace/plugins/litcodex/skills/debugging/references/methodology/06-fix.md +116 -0
  507. package/marketplace/plugins/litcodex/skills/debugging/references/methodology/08-qa.md +94 -0
  508. package/marketplace/plugins/litcodex/skills/debugging/references/methodology/09-cleanup.md +164 -0
  509. package/marketplace/plugins/litcodex/skills/debugging/references/methodology/partial-runtime-evidence.md +223 -0
  510. package/marketplace/plugins/litcodex/skills/debugging/references/runtimes/bundled-js-binary.md +415 -0
  511. package/marketplace/plugins/litcodex/skills/debugging/references/runtimes/go.md +252 -0
  512. package/marketplace/plugins/litcodex/skills/debugging/references/runtimes/native-binary.md +484 -0
  513. package/marketplace/plugins/litcodex/skills/debugging/references/runtimes/node.md +260 -0
  514. package/marketplace/plugins/litcodex/skills/debugging/references/runtimes/python.md +248 -0
  515. package/marketplace/plugins/litcodex/skills/debugging/references/runtimes/rust.md +234 -0
  516. package/marketplace/plugins/litcodex/skills/debugging/references/tools/ghidra.md +212 -0
  517. package/marketplace/plugins/litcodex/skills/debugging/references/tools/playwright-cli.md +194 -0
  518. package/marketplace/plugins/litcodex/skills/debugging/references/tools/pwndbg.md +263 -0
  519. package/marketplace/plugins/litcodex/skills/debugging/references/tools/pwntools.md +265 -0
  520. package/marketplace/plugins/litcodex/skills/deep-interview/SKILL.md +339 -0
  521. package/marketplace/plugins/litcodex/skills/deep-interview/agents/openai.yaml +6 -0
  522. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/SKILL.md +62 -0
  523. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/ATTRIBUTION.md +217 -0
  524. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/LICENSE +21 -0
  525. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/LICENSE-Apache-2.0.txt +201 -0
  526. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/MANIFEST.json +869 -0
  527. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/PROVENANCE.md +24 -0
  528. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/README.md +248 -0
  529. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/_INDEX.md +191 -0
  530. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/airbnb.md +393 -0
  531. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/airtable.md +92 -0
  532. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/apple.md +250 -0
  533. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/aside.md +209 -0
  534. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/binance.md +348 -0
  535. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/bmw.md +183 -0
  536. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/brutalist-skill.md +92 -0
  537. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/bugatti.md +271 -0
  538. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/cal.md +262 -0
  539. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/claude.md +315 -0
  540. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/clay.md +307 -0
  541. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/clickhouse.md +284 -0
  542. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/clone-from-url.md +65 -0
  543. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/cohere.md +269 -0
  544. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/coinbase.md +132 -0
  545. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/composio.md +310 -0
  546. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/cursor.md +312 -0
  547. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/design-system-architecture.md +244 -0
  548. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/elevenlabs.md +268 -0
  549. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/expo.md +284 -0
  550. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/ferrari.md +317 -0
  551. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/figma.md +223 -0
  552. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/framer.md +249 -0
  553. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/gpt-tasteskill.md +74 -0
  554. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/hashicorp.md +281 -0
  555. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/ibm.md +335 -0
  556. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/image-to-code-skill.md +1228 -0
  557. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/imagegen-brandkit.md +798 -0
  558. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/imagegen-frontend-mobile.md +1465 -0
  559. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/imagegen-frontend-web.md +987 -0
  560. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/intercom.md +149 -0
  561. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/kraken.md +128 -0
  562. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/lamborghini.md +291 -0
  563. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/layout-skill.md +107 -0
  564. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/lazyweb.md +77 -0
  565. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/linear.app.md +370 -0
  566. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/lovable.md +301 -0
  567. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/mastercard.md +368 -0
  568. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/meta.md +369 -0
  569. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/minimalist-skill.md +85 -0
  570. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/minimax.md +260 -0
  571. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/mintlify.md +329 -0
  572. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/miro.md +111 -0
  573. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/mistral.ai.md +264 -0
  574. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/mongodb.md +269 -0
  575. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/nike.md +366 -0
  576. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/notion.md +312 -0
  577. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/nvidia.md +296 -0
  578. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/ollama.md +270 -0
  579. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/opencode.ai.md +284 -0
  580. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/output-skill.md +49 -0
  581. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/pinterest.md +233 -0
  582. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/playstation.md +367 -0
  583. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/posthog.md +259 -0
  584. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/raycast.md +271 -0
  585. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/react-dev-tooling-skill.md +230 -0
  586. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/redesign-skill.md +178 -0
  587. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/renault.md +314 -0
  588. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/replicate.md +264 -0
  589. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/resend.md +306 -0
  590. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/revolut.md +188 -0
  591. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/runwayml.md +247 -0
  592. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/sanity.md +360 -0
  593. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/sentry.md +265 -0
  594. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/shopify.md +353 -0
  595. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/soft-skill.md +98 -0
  596. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/spacex.md +197 -0
  597. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/spotify.md +249 -0
  598. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/starbucks.md +583 -0
  599. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/stitch-design-example.md +121 -0
  600. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/stitch-skill.md +184 -0
  601. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/stripe.md +325 -0
  602. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/supabase.md +258 -0
  603. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/superhuman.md +255 -0
  604. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/taste-skill.md +1206 -0
  605. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/tesla.md +289 -0
  606. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/theverge.md +342 -0
  607. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/together.ai.md +266 -0
  608. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/uber.md +298 -0
  609. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/vercel.md +313 -0
  610. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/vodafone.md +426 -0
  611. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/voltagent.md +326 -0
  612. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/warp.md +256 -0
  613. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/webflow.md +95 -0
  614. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/wired.md +281 -0
  615. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/wise.md +176 -0
  616. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/x.ai.md +260 -0
  617. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/design/zapier.md +331 -0
  618. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/EVIDENCE.md +97 -0
  619. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/README.md +48 -0
  620. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/UPSTREAM.md +80 -0
  621. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/lane-a-direction.md +64 -0
  622. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/lane-b-execution.md +65 -0
  623. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/lane-c-review.md +65 -0
  624. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/lane-d-memory.md +83 -0
  625. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/orchestration.md +80 -0
  626. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/routing.md +79 -0
  627. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/vendor/LICENSE +21 -0
  628. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/vendor/agents/accessibility-reviewer.md +83 -0
  629. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/vendor/agents/content-writer.md +132 -0
  630. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/vendor/agents/design-builder.md +109 -0
  631. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/vendor/agents/design-critic.md +89 -0
  632. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/vendor/agents/design-lead.md +113 -0
  633. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/vendor/agents/design-scout.md +78 -0
  634. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/vendor/agents/design-strategist.md +121 -0
  635. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/vendor/agents/heuristic-evaluator.md +268 -0
  636. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/vendor/agents/inspiration-scout.md +107 -0
  637. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/vendor/agents/motion-designer.md +120 -0
  638. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/vendor/skills/accessible-content/reference.md +101 -0
  639. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/vendor/skills/adaptive-interfaces/reference.md +109 -0
  640. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/vendor/skills/cognitive-accessibility/reference.md +107 -0
  641. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/vendor/skills/design-debate/reference.md +199 -0
  642. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/vendor/skills/design-debt-tracker/reference.md +174 -0
  643. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/vendor/skills/design-handoff/reference.md +125 -0
  644. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/vendor/skills/design-md/reference.md +106 -0
  645. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/vendor/skills/design-retrospective/reference.md +266 -0
  646. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/vendor/skills/design-review/reference.md +123 -0
  647. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/vendor/skills/design-system-alignment/reference.md +120 -0
  648. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/vendor/skills/designpowers-critique/reference.md +164 -0
  649. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/vendor/skills/heuristic-evaluation/reference.md +85 -0
  650. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/vendor/skills/inclusive-personas/reference.md +98 -0
  651. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/vendor/skills/inspiration-scouting/reference.md +165 -0
  652. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/vendor/skills/interaction-design/reference.md +122 -0
  653. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/vendor/skills/motion-choreography/reference.md +81 -0
  654. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/vendor/skills/research-planning/reference.md +96 -0
  655. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/vendor/skills/responsive-patterns/reference.md +77 -0
  656. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/vendor/skills/synthetic-user-testing/reference.md +192 -0
  657. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/vendor/skills/taste-feedback/reference.md +165 -0
  658. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/vendor/skills/taste-report/reference.md +78 -0
  659. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/vendor/skills/token-architecture/reference.md +75 -0
  660. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/vendor/skills/ui-composition/reference.md +117 -0
  661. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/vendor/skills/usability-testing/reference.md +78 -0
  662. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/vendor/skills/verification-before-shipping/reference.md +125 -0
  663. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/vendor/skills/voice-and-tone/reference.md +79 -0
  664. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/designpowers/vendor/skills/writing-design-plans/reference.md +119 -0
  665. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/perfection/README.md +160 -0
  666. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/perfection/react-perf-tooling.md +127 -0
  667. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/ui-ux-db/README.md +659 -0
  668. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/ui-ux-db/data/charts.csv +26 -0
  669. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/ui-ux-db/data/colors.csv +162 -0
  670. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/ui-ux-db/data/icons.csv +106 -0
  671. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/ui-ux-db/data/landing.csv +35 -0
  672. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/ui-ux-db/data/products.csv +162 -0
  673. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/ui-ux-db/data/react-performance.csv +45 -0
  674. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/ui-ux-db/data/stacks/astro.csv +54 -0
  675. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/ui-ux-db/data/stacks/flutter.csv +53 -0
  676. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/ui-ux-db/data/stacks/html-tailwind.csv +56 -0
  677. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/ui-ux-db/data/stacks/jetpack-compose.csv +53 -0
  678. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/ui-ux-db/data/stacks/nextjs.csv +53 -0
  679. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/ui-ux-db/data/stacks/nuxt-ui.csv +51 -0
  680. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/ui-ux-db/data/stacks/nuxtjs.csv +59 -0
  681. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/ui-ux-db/data/stacks/react-native.csv +52 -0
  682. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/ui-ux-db/data/stacks/react.csv +54 -0
  683. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/ui-ux-db/data/stacks/shadcn.csv +61 -0
  684. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/ui-ux-db/data/stacks/svelte.csv +54 -0
  685. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/ui-ux-db/data/stacks/swiftui.csv +51 -0
  686. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/ui-ux-db/data/stacks/vue.csv +50 -0
  687. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/ui-ux-db/data/styles.csv +85 -0
  688. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/ui-ux-db/data/typography.csv +74 -0
  689. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/ui-ux-db/data/ui-reasoning.csv +162 -0
  690. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/ui-ux-db/data/ux-guidelines.csv +100 -0
  691. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/ui-ux-db/data/web-interface.csv +31 -0
  692. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/ui-ux-db/scripts/core.py +262 -0
  693. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/ui-ux-db/scripts/design_system.py +1148 -0
  694. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/_canonical-corpus/ui-ux-db/scripts/search.py +114 -0
  695. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/adaptive-layout.md +94 -0
  696. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/brand-and-imagery.md +77 -0
  697. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/canonical-library.md +36 -0
  698. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/complete-contract.md +353 -0
  699. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/composition.md +90 -0
  700. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/creative-directions.md +89 -0
  701. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/evidence-review.md +127 -0
  702. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/implementation-platforms.md +77 -0
  703. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/inclusive-interface.md +97 -0
  704. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/interaction-motion.md +96 -0
  705. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/operating-lanes.md +110 -0
  706. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/performance-delivery.md +89 -0
  707. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/product-direction.md +101 -0
  708. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/redesign-playbook.md +91 -0
  709. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/system-foundations.md +114 -0
  710. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/taste-direction.md +27 -0
  711. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/visual-language.md +86 -0
  712. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/references/visual-reconstruction.md +88 -0
  713. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/schemas/design-contract.v1alpha1.json +299 -0
  714. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/schemas/design-contract.v1beta1.json +32 -0
  715. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/schemas/design-contract.v1beta2.json +34 -0
  716. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/scripts/canonical-json.mjs +186 -0
  717. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/scripts/stable-file-read.mjs +201 -0
  718. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/scripts/validate-design-contract.mjs +555 -0
  719. package/marketplace/plugins/litcodex/skills/frontend-ui-ux/scripts/verify-canonical-corpus.mjs +354 -0
  720. package/marketplace/plugins/litcodex/skills/lit-burnoff/SKILL.md +489 -0
  721. package/marketplace/plugins/litcodex/skills/lit-burnoff/references/behavior-preserving-cleanup.md +105 -0
  722. package/marketplace/plugins/litcodex/skills/lit-burnoff-file/SKILL.md +169 -0
  723. package/marketplace/plugins/litcodex/skills/lit-code/SKILL.md +628 -0
  724. package/marketplace/plugins/litcodex/skills/lit-code/references/engineering-risk-signals.md +123 -0
  725. package/marketplace/plugins/litcodex/skills/lit-code/references/go/README.md +90 -0
  726. package/marketplace/plugins/litcodex/skills/lit-code/references/go/backend-stack.md +641 -0
  727. package/marketplace/plugins/litcodex/skills/lit-code/references/go/bootstrap.md +328 -0
  728. package/marketplace/plugins/litcodex/skills/lit-code/references/go/bubbletea-v2.md +360 -0
  729. package/marketplace/plugins/litcodex/skills/lit-code/references/go/cobra-stack.md +468 -0
  730. package/marketplace/plugins/litcodex/skills/lit-code/references/go/concurrency.md +362 -0
  731. package/marketplace/plugins/litcodex/skills/lit-code/references/go/data-modeling.md +329 -0
  732. package/marketplace/plugins/litcodex/skills/lit-code/references/go/error-handling.md +359 -0
  733. package/marketplace/plugins/litcodex/skills/lit-code/references/go/golangci-strict.md +236 -0
  734. package/marketplace/plugins/litcodex/skills/lit-code/references/go/grpc-connect.md +375 -0
  735. package/marketplace/plugins/litcodex/skills/lit-code/references/go/libraries.md +337 -0
  736. package/marketplace/plugins/litcodex/skills/lit-code/references/go/one-liners.md +202 -0
  737. package/marketplace/plugins/litcodex/skills/lit-code/references/go/sqlc-pgx.md +471 -0
  738. package/marketplace/plugins/litcodex/skills/lit-code/references/go/testing.md +467 -0
  739. package/marketplace/plugins/litcodex/skills/lit-code/references/go/type-patterns.md +298 -0
  740. package/marketplace/plugins/litcodex/skills/lit-code/references/observability-contracts.md +124 -0
  741. package/marketplace/plugins/litcodex/skills/lit-code/references/python/README.md +314 -0
  742. package/marketplace/plugins/litcodex/skills/lit-code/references/python/async-anyio.md +442 -0
  743. package/marketplace/plugins/litcodex/skills/lit-code/references/python/data-modeling.md +233 -0
  744. package/marketplace/plugins/litcodex/skills/lit-code/references/python/data-processing.md +133 -0
  745. package/marketplace/plugins/litcodex/skills/lit-code/references/python/error-handling.md +218 -0
  746. package/marketplace/plugins/litcodex/skills/lit-code/references/python/fastapi-stack.md +316 -0
  747. package/marketplace/plugins/litcodex/skills/lit-code/references/python/httpx2-optimization.md +360 -0
  748. package/marketplace/plugins/litcodex/skills/lit-code/references/python/libraries.md +307 -0
  749. package/marketplace/plugins/litcodex/skills/lit-code/references/python/one-liners.md +268 -0
  750. package/marketplace/plugins/litcodex/skills/lit-code/references/python/orjson-stack.md +378 -0
  751. package/marketplace/plugins/litcodex/skills/lit-code/references/python/pydantic-ai.md +285 -0
  752. package/marketplace/plugins/litcodex/skills/lit-code/references/python/pyproject-strict.md +232 -0
  753. package/marketplace/plugins/litcodex/skills/lit-code/references/python/textual-tui.md +201 -0
  754. package/marketplace/plugins/litcodex/skills/lit-code/references/python/type-patterns.md +176 -0
  755. package/marketplace/plugins/litcodex/skills/lit-code/references/rust/README.md +317 -0
  756. package/marketplace/plugins/litcodex/skills/lit-code/references/rust/async-tokio.md +299 -0
  757. package/marketplace/plugins/litcodex/skills/lit-code/references/rust/axum-stack.md +467 -0
  758. package/marketplace/plugins/litcodex/skills/lit-code/references/rust/cargo-strict.md +317 -0
  759. package/marketplace/plugins/litcodex/skills/lit-code/references/rust/clap-stack.md +409 -0
  760. package/marketplace/plugins/litcodex/skills/lit-code/references/rust/concurrency.md +375 -0
  761. package/marketplace/plugins/litcodex/skills/lit-code/references/rust/libraries.md +439 -0
  762. package/marketplace/plugins/litcodex/skills/lit-code/references/rust/one-liners.md +291 -0
  763. package/marketplace/plugins/litcodex/skills/lit-code/references/rust/proptest-insta.md +429 -0
  764. package/marketplace/plugins/litcodex/skills/lit-code/references/rust/type-state.md +354 -0
  765. package/marketplace/plugins/litcodex/skills/lit-code/references/rust/unsafe-discipline.md +250 -0
  766. package/marketplace/plugins/litcodex/skills/lit-code/references/rust/zero-cost-safety.md +527 -0
  767. package/marketplace/plugins/litcodex/skills/lit-code/references/rust-ub/README.md +289 -0
  768. package/marketplace/plugins/litcodex/skills/lit-code/references/rust-ub/miri-sanitizers-loom.md +411 -0
  769. package/marketplace/plugins/litcodex/skills/lit-code/references/rust-ub/ub-taxonomy.md +269 -0
  770. package/marketplace/plugins/litcodex/skills/lit-code/references/typescript/README.md +195 -0
  771. package/marketplace/plugins/litcodex/skills/lit-code/references/typescript/backend-hono.md +672 -0
  772. package/marketplace/plugins/litcodex/skills/lit-code/references/typescript/bootstrap.md +199 -0
  773. package/marketplace/plugins/litcodex/skills/lit-code/references/typescript/data-modeling.md +202 -0
  774. package/marketplace/plugins/litcodex/skills/lit-code/references/typescript/error-handling.md +169 -0
  775. package/marketplace/plugins/litcodex/skills/lit-code/references/typescript/tsconfig-strict.md +152 -0
  776. package/marketplace/plugins/litcodex/skills/lit-code/references/typescript/type-patterns.md +196 -0
  777. package/marketplace/plugins/litcodex/skills/lit-code/scripts/go/check-no-excuse-rules.sh +173 -0
  778. package/marketplace/plugins/litcodex/skills/lit-code/scripts/go/new-project.py +138 -0
  779. package/marketplace/plugins/litcodex/skills/lit-code/scripts/go/templates/.editorconfig +13 -0
  780. package/marketplace/plugins/litcodex/skills/lit-code/scripts/go/templates/.golangci.yml +95 -0
  781. package/marketplace/plugins/litcodex/skills/lit-code/scripts/go/templates/AGENTS.md.tmpl +24 -0
  782. package/marketplace/plugins/litcodex/skills/lit-code/scripts/go/templates/README.md.tmpl +12 -0
  783. package/marketplace/plugins/litcodex/skills/lit-code/scripts/go/templates/Taskfile.yml +40 -0
  784. package/marketplace/plugins/litcodex/skills/lit-code/scripts/go/templates/ci.yml +37 -0
  785. package/marketplace/plugins/litcodex/skills/lit-code/scripts/go/templates/config.go +24 -0
  786. package/marketplace/plugins/litcodex/skills/lit-code/scripts/go/templates/gitignore +15 -0
  787. package/marketplace/plugins/litcodex/skills/lit-code/scripts/go/templates/main.go.tmpl +22 -0
  788. package/marketplace/plugins/litcodex/skills/lit-code/scripts/go/templates/run.go +15 -0
  789. package/marketplace/plugins/litcodex/skills/lit-code/scripts/python/check-no-excuse-rules.py +687 -0
  790. package/marketplace/plugins/litcodex/skills/lit-code/scripts/python/new-project.py +172 -0
  791. package/marketplace/plugins/litcodex/skills/lit-code/scripts/python/new-script.py +116 -0
  792. package/marketplace/plugins/litcodex/skills/lit-code/scripts/rust/check-no-excuse-rules.py +296 -0
  793. package/marketplace/plugins/litcodex/skills/lit-code/scripts/rust/check-no-excuse-rules.sh +158 -0
  794. package/marketplace/plugins/litcodex/skills/lit-code/scripts/rust/new-project.py +175 -0
  795. package/marketplace/plugins/litcodex/skills/lit-code/scripts/typescript/check-no-excuse-rules.ts +344 -0
  796. package/marketplace/plugins/litcodex/skills/lit-code/scripts/typescript/new-project.ts +174 -0
  797. package/marketplace/plugins/litcodex/skills/lit-commit/SKILL.md +254 -0
  798. package/marketplace/plugins/litcodex/skills/lit-commit/agents/openai.yaml +13 -0
  799. package/marketplace/plugins/litcodex/skills/lit-commit/references/safe-git-operations.md +123 -0
  800. package/marketplace/plugins/litcodex/skills/lit-comprehend/SKILL.md +472 -0
  801. package/marketplace/plugins/litcodex/skills/lit-comprehend/agents/openai.yaml +6 -0
  802. package/marketplace/plugins/litcodex/skills/lit-comprehend/assets/explainer-scaffold.html +231 -0
  803. package/marketplace/plugins/litcodex/skills/lit-comprehend/references/artifact-template.md +211 -0
  804. package/marketplace/plugins/litcodex/skills/lit-comprehend/references/micro-worlds.md +190 -0
  805. package/marketplace/plugins/litcodex/skills/lit-comprehend/scripts/verify-explainer.ts +409 -0
  806. package/marketplace/plugins/litcodex/skills/lit-crucible/SKILL.md +321 -0
  807. package/marketplace/plugins/litcodex/skills/lit-crucible/agents/openai.yaml +6 -0
  808. package/marketplace/plugins/litcodex/skills/lit-crucible/references/adversarial-workflow.md +142 -0
  809. package/marketplace/plugins/litcodex/skills/lit-fetch/SKILL.md +326 -0
  810. package/marketplace/plugins/litcodex/skills/lit-fetch/references/ab-eval.md +36 -0
  811. package/marketplace/plugins/litcodex/skills/lit-fetch/references/discovery-evidence.md +200 -0
  812. package/marketplace/plugins/litcodex/skills/lit-fetch/references/workflow.md +137 -0
  813. package/marketplace/plugins/litcodex/skills/lit-fetch/scripts/lib/fetch.mjs +122 -0
  814. package/marketplace/plugins/litcodex/skills/lit-fetch/scripts/lib/reader.mjs +115 -0
  815. package/marketplace/plugins/litcodex/skills/lit-fetch/scripts/lib/redaction.mjs +53 -0
  816. package/marketplace/plugins/litcodex/skills/lit-fetch/scripts/lib/report.mjs +190 -0
  817. package/marketplace/plugins/litcodex/skills/lit-fetch/scripts/lib/routes.mjs +56 -0
  818. package/marketplace/plugins/litcodex/skills/lit-fetch/scripts/lib/safety.mjs +165 -0
  819. package/marketplace/plugins/litcodex/skills/lit-fetch/scripts/lib/validate.mjs +189 -0
  820. package/marketplace/plugins/litcodex/skills/lit-fetch/scripts/read-public-page.mjs +61 -0
  821. package/marketplace/plugins/litcodex/skills/lit-handoff/SKILL.md +231 -0
  822. package/marketplace/plugins/litcodex/skills/lit-init/SKILL.md +474 -0
  823. package/marketplace/plugins/litcodex/skills/lit-init/agents/openai.yaml +6 -0
  824. package/marketplace/plugins/litcodex/skills/lit-init/references/deep-repository-map.md +116 -0
  825. package/marketplace/plugins/litcodex/skills/lit-korean/SKILL.md +206 -0
  826. package/marketplace/plugins/litcodex/skills/lit-korean/references/prompt-injection-handling.md +23 -0
  827. package/marketplace/plugins/litcodex/skills/lit-korean/references/quick-rules.md +38 -0
  828. package/marketplace/plugins/litcodex/skills/lit-korean/references/safety-checklist.md +38 -0
  829. package/marketplace/plugins/litcodex/skills/lit-loop/.gitkeep +0 -0
  830. package/marketplace/plugins/litcodex/skills/lit-loop/SKILL.md +202 -0
  831. package/marketplace/plugins/litcodex/skills/lit-loop/agents/openai.yaml +9 -0
  832. package/marketplace/plugins/litcodex/skills/lit-loop/references/full-workflow.md +290 -0
  833. package/marketplace/plugins/litcodex/skills/lit-plan/SKILL.md +384 -0
  834. package/marketplace/plugins/litcodex/skills/lit-plan/agents/openai.yaml +6 -0
  835. package/marketplace/plugins/litcodex/skills/lit-plan/references/full-workflow.md +188 -0
  836. package/marketplace/plugins/litcodex/skills/lit-plan/references/intent-clear.md +67 -0
  837. package/marketplace/plugins/litcodex/skills/lit-plan/references/intent-unclear.md +88 -0
  838. package/marketplace/plugins/litcodex/skills/lit-recap/SKILL.md +222 -0
  839. package/marketplace/plugins/litcodex/skills/lit-recap/agents/openai.yaml +6 -0
  840. package/marketplace/plugins/litcodex/skills/lit-scientific-visualization/SKILL.md +255 -0
  841. package/marketplace/plugins/litcodex/skills/lit-scientific-visualization/agents/openai.yaml +6 -0
  842. package/marketplace/plugins/litcodex/skills/lit-scientific-visualization/scripts/dependency-preflight.py +233 -0
  843. package/marketplace/plugins/litcodex/skills/lit-team/SKILL.md +190 -0
  844. package/marketplace/plugins/litcodex/skills/lit-team/references/team-orchestration.md +147 -0
  845. package/marketplace/plugins/litcodex/skills/lit-team/scripts/owner-lock.mjs +82 -0
  846. package/marketplace/plugins/litcodex/skills/lit-team/scripts/team-guide.mjs +31 -0
  847. package/marketplace/plugins/litcodex/skills/lit-team/scripts/team-state.mjs +262 -0
  848. package/marketplace/plugins/litcodex/skills/lit-team/scripts/team.mjs +145 -0
  849. package/marketplace/plugins/litcodex/skills/litcodex-contribute-bug-fix/SKILL.md +386 -0
  850. package/marketplace/plugins/litcodex/skills/litcodex-contribute-bug-fix/agents/openai.yaml +12 -0
  851. package/marketplace/plugins/litcodex/skills/litcodex-contribute-bug-fix/scripts/create-pr-body.mjs +107 -0
  852. package/marketplace/plugins/litcodex/skills/litcodex-doctor/SKILL.md +322 -0
  853. package/marketplace/plugins/litcodex/skills/litcodex-doctor/agents/openai.yaml +11 -0
  854. package/marketplace/plugins/litcodex/skills/litcodex-report-bug/SKILL.md +429 -0
  855. package/marketplace/plugins/litcodex/skills/litcodex-report-bug/agents/openai.yaml +10 -0
  856. package/marketplace/plugins/litcodex/skills/litgoal/SKILL.md +209 -0
  857. package/marketplace/plugins/litcodex/skills/litgoal/agents/openai.yaml +6 -0
  858. package/marketplace/plugins/litcodex/skills/litresearch/SKILL.md +572 -0
  859. package/marketplace/plugins/litcodex/skills/litresearch/references/research-operations.md +158 -0
  860. package/marketplace/plugins/litcodex/skills/litwork/SKILL.md +238 -0
  861. package/marketplace/plugins/litcodex/skills/litwork/references/delivery-playbook.md +228 -0
  862. package/marketplace/plugins/litcodex/skills/lsp/SKILL.md +193 -0
  863. package/marketplace/plugins/litcodex/skills/lsp/references/runtime-triage.md +153 -0
  864. package/marketplace/plugins/litcodex/skills/lsp-setup/SKILL.md +326 -0
  865. package/marketplace/plugins/litcodex/skills/lsp-setup/references/bash/README.md +60 -0
  866. package/marketplace/plugins/litcodex/skills/lsp-setup/references/c-cpp/README.md +61 -0
  867. package/marketplace/plugins/litcodex/skills/lsp-setup/references/csharp/README.md +71 -0
  868. package/marketplace/plugins/litcodex/skills/lsp-setup/references/dart/README.md +48 -0
  869. package/marketplace/plugins/litcodex/skills/lsp-setup/references/elixir/README.md +51 -0
  870. package/marketplace/plugins/litcodex/skills/lsp-setup/references/go/README.md +57 -0
  871. package/marketplace/plugins/litcodex/skills/lsp-setup/references/haskell/README.md +57 -0
  872. package/marketplace/plugins/litcodex/skills/lsp-setup/references/java/README.md +57 -0
  873. package/marketplace/plugins/litcodex/skills/lsp-setup/references/julia/README.md +60 -0
  874. package/marketplace/plugins/litcodex/skills/lsp-setup/references/kotlin/README.md +59 -0
  875. package/marketplace/plugins/litcodex/skills/lsp-setup/references/lua/README.md +66 -0
  876. package/marketplace/plugins/litcodex/skills/lsp-setup/references/php/README.md +62 -0
  877. package/marketplace/plugins/litcodex/skills/lsp-setup/references/python/README.md +71 -0
  878. package/marketplace/plugins/litcodex/skills/lsp-setup/references/ruby/README.md +53 -0
  879. package/marketplace/plugins/litcodex/skills/lsp-setup/references/rust/README.md +59 -0
  880. package/marketplace/plugins/litcodex/skills/lsp-setup/references/swift/README.md +51 -0
  881. package/marketplace/plugins/litcodex/skills/lsp-setup/references/terraform/README.md +62 -0
  882. package/marketplace/plugins/litcodex/skills/lsp-setup/references/typescript/README.md +77 -0
  883. package/marketplace/plugins/litcodex/skills/lsp-setup/references/yaml/README.md +70 -0
  884. package/marketplace/plugins/litcodex/skills/lsp-setup/references/zig/README.md +49 -0
  885. package/marketplace/plugins/litcodex/skills/lsp-setup/scripts/detect-lsp.ts +210 -0
  886. package/marketplace/plugins/litcodex/skills/lsp-setup/scripts/lsp-server-table.ts +175 -0
  887. package/marketplace/plugins/litcodex/skills/lsp-setup/scripts/tsconfig.json +18 -0
  888. package/marketplace/plugins/litcodex/skills/lsp-setup/scripts/verify-lsp.ts +232 -0
  889. package/marketplace/plugins/litcodex/skills/refactor/SKILL.md +358 -0
  890. package/marketplace/plugins/litcodex/skills/refactor/references/safe-change-playbook.md +155 -0
  891. package/marketplace/plugins/litcodex/skills/review-work/SKILL.md +867 -0
  892. package/marketplace/plugins/litcodex/skills/review-work/agents/openai.yaml +6 -0
  893. package/marketplace/plugins/litcodex/skills/review-work/references/blocking-review-gates.md +108 -0
  894. package/marketplace/plugins/litcodex/skills/rules/SKILL.md +181 -0
  895. package/marketplace/plugins/litcodex/skills/rules/references/rule-discovery-and-matching.md +112 -0
  896. package/marketplace/plugins/litcodex/skills/skill-observer/SKILL.md +215 -0
  897. package/marketplace/plugins/litcodex/skills/skill-observer/agents/openai.yaml +6 -0
  898. package/marketplace/plugins/litcodex/skills/skill-observer/references/review-contract.md +77 -0
  899. package/marketplace/plugins/litcodex/skills/start-work/SKILL.md +503 -0
  900. package/marketplace/plugins/litcodex/skills/start-work/references/approved-plan-execution.md +124 -0
  901. package/marketplace/plugins/litcodex/skills/structural-search/SKILL.md +359 -0
  902. package/marketplace/plugins/litcodex/skills/structural-search/references/diagnostics.md +307 -0
  903. package/marketplace/plugins/litcodex/skills/structural-search/references/patterns-and-rules.md +381 -0
  904. package/marketplace/plugins/litcodex/skills/structural-search/references/rewrite-safety.md +266 -0
  905. package/marketplace/plugins/litcodex/skills/visual-qa/SKILL.md +68 -0
  906. package/marketplace/plugins/litcodex/skills/visual-qa/references/capture-playbook.md +141 -0
  907. package/marketplace/plugins/litcodex/skills/visual-qa/references/complete-contract.md +389 -0
  908. package/marketplace/plugins/litcodex/skills/visual-qa/schemas/design-contract.v1alpha1.json +299 -0
  909. package/marketplace/plugins/litcodex/skills/visual-qa/schemas/design-contract.v1beta1.json +32 -0
  910. package/marketplace/plugins/litcodex/skills/visual-qa/schemas/design-contract.v1beta2.json +34 -0
  911. package/marketplace/plugins/litcodex/skills/visual-qa/schemas/evidence-manifest.v1alpha1.json +117 -0
  912. package/marketplace/plugins/litcodex/skills/visual-qa/schemas/evidence-manifest.v1beta1.json +80 -0
  913. package/marketplace/plugins/litcodex/skills/visual-qa/schemas/review-receipt.v1alpha1.json +57 -0
  914. package/marketplace/plugins/litcodex/skills/visual-qa/scripts/ansi.mjs +71 -0
  915. package/marketplace/plugins/litcodex/skills/visual-qa/scripts/cli.mjs +54 -0
  916. package/marketplace/plugins/litcodex/skills/visual-qa/scripts/east-asian-width.mjs +31 -0
  917. package/marketplace/plugins/litcodex/skills/visual-qa/scripts/entrypoint.mjs +1 -0
  918. package/marketplace/plugins/litcodex/skills/visual-qa/scripts/evidence-bytes.mjs +61 -0
  919. package/marketplace/plugins/litcodex/skills/visual-qa/scripts/image-diff.mjs +63 -0
  920. package/marketplace/plugins/litcodex/skills/visual-qa/scripts/png-crc.mjs +19 -0
  921. package/marketplace/plugins/litcodex/skills/visual-qa/scripts/png-decode.mjs +169 -0
  922. package/marketplace/plugins/litcodex/skills/visual-qa/scripts/strict-input.mjs +241 -0
  923. package/marketplace/plugins/litcodex/skills/visual-qa/scripts/tui-grid.mjs +117 -0
  924. package/marketplace/plugins/litcodex/skills/visual-qa/scripts/types.mjs +7 -0
  925. package/marketplace/plugins/litcodex/skills/visual-qa/scripts/validate-design-contract.mjs +547 -0
  926. package/marketplace/plugins/litcodex/skills/visual-qa/scripts/validate-evidence.mjs +392 -0
  927. package/marketplace/plugins/litcodex/skills/visual-qa/scripts/validate-review-receipt.mjs +79 -0
  928. package/marketplace/plugins/litcodex/skills/wikify/LICENSE +21 -0
  929. package/marketplace/plugins/litcodex/skills/wikify/PROVENANCE.md +20 -0
  930. package/marketplace/plugins/litcodex/skills/wikify/SKILL.md +146 -0
  931. package/marketplace/plugins/litcodex/skills/wikify/assets/home-template.md +44 -0
  932. package/marketplace/plugins/litcodex/skills/wikify/assets/maintenance-report-template.md +46 -0
  933. package/marketplace/plugins/litcodex/skills/wikify/assets/paper-source-note-template.md +137 -0
  934. package/marketplace/plugins/litcodex/skills/wikify/assets/source-note-template.md +45 -0
  935. package/marketplace/plugins/litcodex/skills/wikify/assets/wiki-rules-template.md +117 -0
  936. package/marketplace/plugins/litcodex/skills/wikify/references/family-contract.md +26 -0
  937. package/marketplace/plugins/litcodex/skills/wikify/references/modes/ingest.md +12 -0
  938. package/marketplace/plugins/litcodex/skills/wikify/references/modes/init.md +11 -0
  939. package/marketplace/plugins/litcodex/skills/wikify/references/modes/lint.md +11 -0
  940. package/marketplace/plugins/litcodex/skills/wikify/references/modes/query.md +15 -0
  941. package/marketplace/plugins/litcodex/skills/wikify/references/modes/save.md +17 -0
  942. package/marketplace/plugins/litcodex/vendor/NOTICE +19 -0
  943. package/marketplace/plugins/litcodex/vendor/handoff/SKILL.md +199 -0
  944. package/marketplace/plugins/litcodex/vendor/handoff/evals/evals.json +154 -0
  945. package/marketplace/plugins/litcodex/vendor/handoff/examples/HANDOFF-example-generic-auth-refactor.md +97 -0
  946. package/marketplace/plugins/litcodex/vendor/handoff/templates/HANDOFF.md +121 -0
  947. package/marketplace/plugins/litcodex/vendor/licenses/022_handoff-MIT.txt +21 -0
  948. package/marketplace/plugins/litcodex/vendor/licenses/045_scientific-visualization-MIT.txt +21 -0
  949. package/marketplace/plugins/litcodex/vendor/provenance/022_handoff.md +25 -0
  950. package/marketplace/plugins/litcodex/vendor/provenance/045_scientific-visualization.md +42 -0
  951. package/marketplace/plugins/litcodex/vendor/scientific-visualization/SKILL.md +283 -0
  952. package/marketplace/plugins/litcodex/vendor/scientific-visualization/assets/color_palettes.py +197 -0
  953. package/marketplace/plugins/litcodex/vendor/scientific-visualization/assets/nature.mplstyle +75 -0
  954. package/marketplace/plugins/litcodex/vendor/scientific-visualization/assets/presentation.mplstyle +74 -0
  955. package/marketplace/plugins/litcodex/vendor/scientific-visualization/assets/publication.mplstyle +78 -0
  956. package/marketplace/plugins/litcodex/vendor/scientific-visualization/evals/evals.json +158 -0
  957. package/marketplace/plugins/litcodex/vendor/scientific-visualization/references/color_palettes.md +380 -0
  958. package/marketplace/plugins/litcodex/vendor/scientific-visualization/references/journal_requirements.md +359 -0
  959. package/marketplace/plugins/litcodex/vendor/scientific-visualization/references/matplotlib_examples.md +608 -0
  960. package/marketplace/plugins/litcodex/vendor/scientific-visualization/references/mdanalysis_martini_visualization.md +85 -0
  961. package/marketplace/plugins/litcodex/vendor/scientific-visualization/references/publication_guidelines.md +217 -0
  962. package/marketplace/plugins/litcodex/vendor/scientific-visualization/references/seaborn_for_publications.md +293 -0
  963. package/marketplace/plugins/litcodex/vendor/scientific-visualization/scripts/figure_export.py +238 -0
  964. package/marketplace/plugins/litcodex/vendor/scientific-visualization/scripts/style_presets.py +467 -0
  965. package/marketplace/plugins/litcodex/vendor/scientific-visualization/tests/test_figure_export.py +51 -0
  966. package/marketplace/plugins/litcodex/vendor/scientific-visualization/tests/test_style_presets.py +114 -0
  967. package/model-catalog.json +36 -0
  968. package/node_modules/@litcodex/lit-loop/CHANGELOG.md +49 -0
  969. package/node_modules/@litcodex/lit-loop/LICENSE +21 -0
  970. package/node_modules/@litcodex/lit-loop/NOTICE +8 -0
  971. package/node_modules/@litcodex/lit-loop/README.md +55 -0
  972. package/node_modules/@litcodex/lit-loop/agents/litcodex-default.toml +14 -0
  973. package/node_modules/@litcodex/lit-loop/agents/litcodex-explorer.toml +81 -0
  974. package/node_modules/@litcodex/lit-loop/agents/litcodex-librarian.toml +104 -0
  975. package/node_modules/@litcodex/lit-loop/agents/litcodex-litwork-reviewer.toml +41 -0
  976. package/node_modules/@litcodex/lit-loop/agents/litcodex-metis.toml +71 -0
  977. package/node_modules/@litcodex/lit-loop/agents/litcodex-momus.toml +75 -0
  978. package/node_modules/@litcodex/lit-loop/agents/litcodex-plan.toml +193 -0
  979. package/node_modules/@litcodex/lit-loop/directive.md +240 -0
  980. package/node_modules/@litcodex/lit-loop/directives/browser-drive.md +140 -0
  981. package/node_modules/@litcodex/lit-loop/directives/deep-interview.md +250 -0
  982. package/node_modules/@litcodex/lit-loop/directives/lit-comprehend.md +247 -0
  983. package/node_modules/@litcodex/lit-loop/directives/lit-crucible.md +254 -0
  984. package/node_modules/@litcodex/lit-loop/directives/lit-handoff.md +126 -0
  985. package/node_modules/@litcodex/lit-loop/directives/lit-init.md +140 -0
  986. package/node_modules/@litcodex/lit-loop/directives/lit-plan.md +472 -0
  987. package/node_modules/@litcodex/lit-loop/directives/lit-recap.md +209 -0
  988. package/node_modules/@litcodex/lit-loop/directives/lit-scientific-visualization.md +144 -0
  989. package/node_modules/@litcodex/lit-loop/directives/litgoal.md +231 -0
  990. package/node_modules/@litcodex/lit-loop/directives/litresearch.md +218 -0
  991. package/node_modules/@litcodex/lit-loop/directives/litwork.md +507 -0
  992. package/node_modules/@litcodex/lit-loop/directives/review-work.md +184 -0
  993. package/node_modules/@litcodex/lit-loop/directives/skill-observer.md +105 -0
  994. package/node_modules/@litcodex/lit-loop/directives/start-work.md +149 -0
  995. package/node_modules/@litcodex/lit-loop/dist/_scaffold.d.ts +1 -0
  996. package/node_modules/@litcodex/lit-loop/dist/_scaffold.js +3 -0
  997. package/node_modules/@litcodex/lit-loop/dist/browser-drive-route.d.ts +7 -0
  998. package/node_modules/@litcodex/lit-loop/dist/browser-drive-route.js +13 -0
  999. package/node_modules/@litcodex/lit-loop/dist/cli.d.ts +6 -0
  1000. package/node_modules/@litcodex/lit-loop/dist/cli.js +64 -0
  1001. package/node_modules/@litcodex/lit-loop/dist/codex-goal-instruction.d.ts +18 -0
  1002. package/node_modules/@litcodex/lit-loop/dist/codex-goal-instruction.js +146 -0
  1003. package/node_modules/@litcodex/lit-loop/dist/codex-hook.d.ts +53 -0
  1004. package/node_modules/@litcodex/lit-loop/dist/codex-hook.js +228 -0
  1005. package/node_modules/@litcodex/lit-loop/dist/directive.d.ts +43 -0
  1006. package/node_modules/@litcodex/lit-loop/dist/directive.js +139 -0
  1007. package/node_modules/@litcodex/lit-loop/dist/goal-status.d.ts +14 -0
  1008. package/node_modules/@litcodex/lit-loop/dist/goal-status.js +32 -0
  1009. package/node_modules/@litcodex/lit-loop/dist/guards.d.ts +73 -0
  1010. package/node_modules/@litcodex/lit-loop/dist/guards.js +215 -0
  1011. package/node_modules/@litcodex/lit-loop/dist/handoff-route.d.ts +5 -0
  1012. package/node_modules/@litcodex/lit-loop/dist/handoff-route.js +11 -0
  1013. package/node_modules/@litcodex/lit-loop/dist/hook-cli.d.ts +19 -0
  1014. package/node_modules/@litcodex/lit-loop/dist/hook-cli.js +189 -0
  1015. package/node_modules/@litcodex/lit-loop/dist/lit-mark.d.ts +20 -0
  1016. package/node_modules/@litcodex/lit-loop/dist/lit-mark.js +138 -0
  1017. package/node_modules/@litcodex/lit-loop/dist/loop-cli.d.ts +19 -0
  1018. package/node_modules/@litcodex/lit-loop/dist/loop-cli.js +109 -0
  1019. package/node_modules/@litcodex/lit-loop/dist/loop-doctor-render.d.ts +7 -0
  1020. package/node_modules/@litcodex/lit-loop/dist/loop-doctor-render.js +39 -0
  1021. package/node_modules/@litcodex/lit-loop/dist/loop-doctor-types.d.ts +52 -0
  1022. package/node_modules/@litcodex/lit-loop/dist/loop-doctor-types.js +7 -0
  1023. package/node_modules/@litcodex/lit-loop/dist/loop-doctor.d.ts +34 -0
  1024. package/node_modules/@litcodex/lit-loop/dist/loop-doctor.js +336 -0
  1025. package/node_modules/@litcodex/lit-loop/dist/loop-errors.d.ts +15 -0
  1026. package/node_modules/@litcodex/lit-loop/dist/loop-errors.js +45 -0
  1027. package/node_modules/@litcodex/lit-loop/dist/loop-handlers.d.ts +18 -0
  1028. package/node_modules/@litcodex/lit-loop/dist/loop-handlers.js +367 -0
  1029. package/node_modules/@litcodex/lit-loop/dist/loop-model.d.ts +51 -0
  1030. package/node_modules/@litcodex/lit-loop/dist/loop-model.js +166 -0
  1031. package/node_modules/@litcodex/lit-loop/dist/loop-stdout.d.ts +6 -0
  1032. package/node_modules/@litcodex/lit-loop/dist/loop-stdout.js +11 -0
  1033. package/node_modules/@litcodex/lit-loop/dist/loop-types.d.ts +26 -0
  1034. package/node_modules/@litcodex/lit-loop/dist/loop-types.js +8 -0
  1035. package/node_modules/@litcodex/lit-loop/dist/markers.d.ts +33 -0
  1036. package/node_modules/@litcodex/lit-loop/dist/markers.js +38 -0
  1037. package/node_modules/@litcodex/lit-loop/dist/modes.d.ts +29 -0
  1038. package/node_modules/@litcodex/lit-loop/dist/modes.js +176 -0
  1039. package/node_modules/@litcodex/lit-loop/dist/plan-persistence.d.ts +20 -0
  1040. package/node_modules/@litcodex/lit-loop/dist/plan-persistence.js +147 -0
  1041. package/node_modules/@litcodex/lit-loop/dist/redaction.d.ts +3 -0
  1042. package/node_modules/@litcodex/lit-loop/dist/redaction.js +177 -0
  1043. package/node_modules/@litcodex/lit-loop/dist/scientific-visualization-route.d.ts +7 -0
  1044. package/node_modules/@litcodex/lit-loop/dist/scientific-visualization-route.js +15 -0
  1045. package/node_modules/@litcodex/lit-loop/dist/skill-loop/apply.d.ts +16 -0
  1046. package/node_modules/@litcodex/lit-loop/dist/skill-loop/apply.js +227 -0
  1047. package/node_modules/@litcodex/lit-loop/dist/skill-loop/config.d.ts +13 -0
  1048. package/node_modules/@litcodex/lit-loop/dist/skill-loop/config.js +12 -0
  1049. package/node_modules/@litcodex/lit-loop/dist/skill-loop/curator.d.ts +14 -0
  1050. package/node_modules/@litcodex/lit-loop/dist/skill-loop/curator.js +112 -0
  1051. package/node_modules/@litcodex/lit-loop/dist/skill-loop/hook.d.ts +19 -0
  1052. package/node_modules/@litcodex/lit-loop/dist/skill-loop/hook.js +435 -0
  1053. package/node_modules/@litcodex/lit-loop/dist/skill-loop/ownership.d.ts +6 -0
  1054. package/node_modules/@litcodex/lit-loop/dist/skill-loop/ownership.js +145 -0
  1055. package/node_modules/@litcodex/lit-loop/dist/skill-loop/paths.d.ts +18 -0
  1056. package/node_modules/@litcodex/lit-loop/dist/skill-loop/paths.js +43 -0
  1057. package/node_modules/@litcodex/lit-loop/dist/skill-loop/review.d.ts +28 -0
  1058. package/node_modules/@litcodex/lit-loop/dist/skill-loop/review.js +702 -0
  1059. package/node_modules/@litcodex/lit-loop/dist/skill-loop/store.d.ts +32 -0
  1060. package/node_modules/@litcodex/lit-loop/dist/skill-loop/store.js +667 -0
  1061. package/node_modules/@litcodex/lit-loop/dist/skill-loop/transaction.d.ts +26 -0
  1062. package/node_modules/@litcodex/lit-loop/dist/skill-loop/transaction.js +524 -0
  1063. package/node_modules/@litcodex/lit-loop/dist/skill-loop/types.d.ts +81 -0
  1064. package/node_modules/@litcodex/lit-loop/dist/skill-loop/types.js +246 -0
  1065. package/node_modules/@litcodex/lit-loop/dist/skill-loop/usage.d.ts +6 -0
  1066. package/node_modules/@litcodex/lit-loop/dist/skill-loop/usage.js +119 -0
  1067. package/node_modules/@litcodex/lit-loop/dist/skill-loop-cli.d.ts +8 -0
  1068. package/node_modules/@litcodex/lit-loop/dist/skill-loop-cli.js +111 -0
  1069. package/node_modules/@litcodex/lit-loop/dist/skill-mention-scope.d.ts +4 -0
  1070. package/node_modules/@litcodex/lit-loop/dist/skill-mention-scope.js +69 -0
  1071. package/node_modules/@litcodex/lit-loop/dist/skill-observer-cli.d.ts +3 -0
  1072. package/node_modules/@litcodex/lit-loop/dist/skill-observer-cli.js +116 -0
  1073. package/node_modules/@litcodex/lit-loop/dist/skill-observer-route.d.ts +6 -0
  1074. package/node_modules/@litcodex/lit-loop/dist/skill-observer-route.js +12 -0
  1075. package/node_modules/@litcodex/lit-loop/dist/skill-observer.d.ts +18 -0
  1076. package/node_modules/@litcodex/lit-loop/dist/skill-observer.js +946 -0
  1077. package/node_modules/@litcodex/lit-loop/dist/skill-renames.d.ts +20 -0
  1078. package/node_modules/@litcodex/lit-loop/dist/skill-renames.js +43 -0
  1079. package/node_modules/@litcodex/lit-loop/dist/state-paths.d.ts +43 -0
  1080. package/node_modules/@litcodex/lit-loop/dist/state-paths.js +121 -0
  1081. package/node_modules/@litcodex/lit-loop/dist/state-store.d.ts +40 -0
  1082. package/node_modules/@litcodex/lit-loop/dist/state-store.js +471 -0
  1083. package/node_modules/@litcodex/lit-loop/dist/state-types.d.ts +121 -0
  1084. package/node_modules/@litcodex/lit-loop/dist/state-types.js +67 -0
  1085. package/node_modules/@litcodex/lit-loop/dist/trigger.d.ts +62 -0
  1086. package/node_modules/@litcodex/lit-loop/dist/trigger.js +277 -0
  1087. package/node_modules/@litcodex/lit-loop/package.json +33 -0
  1088. package/node_modules/@litcodex/lit-loop/skills/browser-drive/SKILL.md +206 -0
  1089. package/node_modules/@litcodex/lit-loop/skills/browser-drive/agents/openai.yaml +6 -0
  1090. package/node_modules/@litcodex/lit-loop/skills/browser-drive/references/snapshot-act-loop.md +48 -0
  1091. package/node_modules/@litcodex/lit-loop/skills/browser-drive/scripts/capability-probe.mjs +437 -0
  1092. package/node_modules/@litcodex/lit-loop/skills/deep-interview/SKILL.md +339 -0
  1093. package/node_modules/@litcodex/lit-loop/skills/lit-burnoff/SKILL.md +489 -0
  1094. package/node_modules/@litcodex/lit-loop/skills/lit-burnoff/references/behavior-preserving-cleanup.md +105 -0
  1095. package/node_modules/@litcodex/lit-loop/skills/lit-burnoff-file/SKILL.md +169 -0
  1096. package/node_modules/@litcodex/lit-loop/skills/lit-code/SKILL.md +628 -0
  1097. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/engineering-risk-signals.md +123 -0
  1098. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/go/README.md +90 -0
  1099. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/go/backend-stack.md +641 -0
  1100. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/go/bootstrap.md +328 -0
  1101. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/go/bubbletea-v2.md +360 -0
  1102. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/go/cobra-stack.md +468 -0
  1103. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/go/concurrency.md +362 -0
  1104. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/go/data-modeling.md +329 -0
  1105. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/go/error-handling.md +359 -0
  1106. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/go/golangci-strict.md +236 -0
  1107. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/go/grpc-connect.md +375 -0
  1108. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/go/libraries.md +337 -0
  1109. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/go/one-liners.md +202 -0
  1110. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/go/sqlc-pgx.md +471 -0
  1111. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/go/testing.md +467 -0
  1112. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/go/type-patterns.md +298 -0
  1113. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/observability-contracts.md +124 -0
  1114. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/python/README.md +314 -0
  1115. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/python/async-anyio.md +442 -0
  1116. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/python/data-modeling.md +233 -0
  1117. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/python/data-processing.md +133 -0
  1118. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/python/error-handling.md +218 -0
  1119. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/python/fastapi-stack.md +316 -0
  1120. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/python/httpx2-optimization.md +360 -0
  1121. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/python/libraries.md +307 -0
  1122. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/python/one-liners.md +268 -0
  1123. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/python/orjson-stack.md +378 -0
  1124. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/python/pydantic-ai.md +285 -0
  1125. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/python/pyproject-strict.md +232 -0
  1126. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/python/textual-tui.md +201 -0
  1127. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/python/type-patterns.md +176 -0
  1128. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/rust/README.md +317 -0
  1129. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/rust/async-tokio.md +299 -0
  1130. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/rust/axum-stack.md +467 -0
  1131. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/rust/cargo-strict.md +317 -0
  1132. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/rust/clap-stack.md +409 -0
  1133. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/rust/concurrency.md +375 -0
  1134. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/rust/libraries.md +439 -0
  1135. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/rust/one-liners.md +291 -0
  1136. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/rust/proptest-insta.md +429 -0
  1137. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/rust/type-state.md +354 -0
  1138. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/rust/unsafe-discipline.md +250 -0
  1139. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/rust/zero-cost-safety.md +527 -0
  1140. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/rust-ub/README.md +289 -0
  1141. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/rust-ub/miri-sanitizers-loom.md +411 -0
  1142. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/rust-ub/ub-taxonomy.md +269 -0
  1143. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/typescript/README.md +195 -0
  1144. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/typescript/backend-hono.md +672 -0
  1145. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/typescript/bootstrap.md +199 -0
  1146. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/typescript/data-modeling.md +202 -0
  1147. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/typescript/error-handling.md +169 -0
  1148. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/typescript/tsconfig-strict.md +152 -0
  1149. package/node_modules/@litcodex/lit-loop/skills/lit-code/references/typescript/type-patterns.md +196 -0
  1150. package/node_modules/@litcodex/lit-loop/skills/lit-code/scripts/go/check-no-excuse-rules.sh +173 -0
  1151. package/node_modules/@litcodex/lit-loop/skills/lit-code/scripts/go/new-project.py +138 -0
  1152. package/node_modules/@litcodex/lit-loop/skills/lit-code/scripts/go/templates/.editorconfig +13 -0
  1153. package/node_modules/@litcodex/lit-loop/skills/lit-code/scripts/go/templates/.golangci.yml +95 -0
  1154. package/node_modules/@litcodex/lit-loop/skills/lit-code/scripts/go/templates/AGENTS.md.tmpl +24 -0
  1155. package/node_modules/@litcodex/lit-loop/skills/lit-code/scripts/go/templates/README.md.tmpl +12 -0
  1156. package/node_modules/@litcodex/lit-loop/skills/lit-code/scripts/go/templates/Taskfile.yml +40 -0
  1157. package/node_modules/@litcodex/lit-loop/skills/lit-code/scripts/go/templates/ci.yml +37 -0
  1158. package/node_modules/@litcodex/lit-loop/skills/lit-code/scripts/go/templates/config.go +24 -0
  1159. package/node_modules/@litcodex/lit-loop/skills/lit-code/scripts/go/templates/gitignore +15 -0
  1160. package/node_modules/@litcodex/lit-loop/skills/lit-code/scripts/go/templates/main.go.tmpl +22 -0
  1161. package/node_modules/@litcodex/lit-loop/skills/lit-code/scripts/go/templates/run.go +15 -0
  1162. package/node_modules/@litcodex/lit-loop/skills/lit-code/scripts/python/check-no-excuse-rules.py +687 -0
  1163. package/node_modules/@litcodex/lit-loop/skills/lit-code/scripts/python/new-project.py +172 -0
  1164. package/node_modules/@litcodex/lit-loop/skills/lit-code/scripts/python/new-script.py +116 -0
  1165. package/node_modules/@litcodex/lit-loop/skills/lit-code/scripts/rust/check-no-excuse-rules.py +296 -0
  1166. package/node_modules/@litcodex/lit-loop/skills/lit-code/scripts/rust/check-no-excuse-rules.sh +158 -0
  1167. package/node_modules/@litcodex/lit-loop/skills/lit-code/scripts/rust/new-project.py +175 -0
  1168. package/node_modules/@litcodex/lit-loop/skills/lit-code/scripts/typescript/check-no-excuse-rules.ts +344 -0
  1169. package/node_modules/@litcodex/lit-loop/skills/lit-code/scripts/typescript/new-project.ts +174 -0
  1170. package/node_modules/@litcodex/lit-loop/skills/lit-commit/SKILL.md +254 -0
  1171. package/node_modules/@litcodex/lit-loop/skills/lit-commit/agents/openai.yaml +13 -0
  1172. package/node_modules/@litcodex/lit-loop/skills/lit-commit/references/safe-git-operations.md +123 -0
  1173. package/node_modules/@litcodex/lit-loop/skills/lit-comprehend/SKILL.md +472 -0
  1174. package/node_modules/@litcodex/lit-loop/skills/lit-crucible/SKILL.md +321 -0
  1175. package/node_modules/@litcodex/lit-loop/skills/lit-crucible/agents/openai.yaml +6 -0
  1176. package/node_modules/@litcodex/lit-loop/skills/lit-crucible/references/adversarial-workflow.md +142 -0
  1177. package/node_modules/@litcodex/lit-loop/skills/lit-fetch/SKILL.md +326 -0
  1178. package/node_modules/@litcodex/lit-loop/skills/lit-fetch/references/ab-eval.md +36 -0
  1179. package/node_modules/@litcodex/lit-loop/skills/lit-fetch/references/discovery-evidence.md +200 -0
  1180. package/node_modules/@litcodex/lit-loop/skills/lit-fetch/references/workflow.md +137 -0
  1181. package/node_modules/@litcodex/lit-loop/skills/lit-fetch/scripts/lib/fetch.mjs +122 -0
  1182. package/node_modules/@litcodex/lit-loop/skills/lit-fetch/scripts/lib/reader.mjs +115 -0
  1183. package/node_modules/@litcodex/lit-loop/skills/lit-fetch/scripts/lib/redaction.mjs +53 -0
  1184. package/node_modules/@litcodex/lit-loop/skills/lit-fetch/scripts/lib/report.mjs +190 -0
  1185. package/node_modules/@litcodex/lit-loop/skills/lit-fetch/scripts/lib/routes.mjs +56 -0
  1186. package/node_modules/@litcodex/lit-loop/skills/lit-fetch/scripts/lib/safety.mjs +165 -0
  1187. package/node_modules/@litcodex/lit-loop/skills/lit-fetch/scripts/lib/validate.mjs +189 -0
  1188. package/node_modules/@litcodex/lit-loop/skills/lit-fetch/scripts/read-public-page.mjs +61 -0
  1189. package/node_modules/@litcodex/lit-loop/skills/lit-handoff/SKILL.md +231 -0
  1190. package/node_modules/@litcodex/lit-loop/skills/lit-init/SKILL.md +474 -0
  1191. package/node_modules/@litcodex/lit-loop/skills/lit-init/agents/openai.yaml +6 -0
  1192. package/node_modules/@litcodex/lit-loop/skills/lit-init/references/deep-repository-map.md +116 -0
  1193. package/node_modules/@litcodex/lit-loop/skills/lit-korean/SKILL.md +206 -0
  1194. package/node_modules/@litcodex/lit-loop/skills/lit-korean/references/prompt-injection-handling.md +23 -0
  1195. package/node_modules/@litcodex/lit-loop/skills/lit-korean/references/quick-rules.md +38 -0
  1196. package/node_modules/@litcodex/lit-loop/skills/lit-korean/references/safety-checklist.md +38 -0
  1197. package/node_modules/@litcodex/lit-loop/skills/lit-loop/SKILL.md +202 -0
  1198. package/node_modules/@litcodex/lit-loop/skills/lit-plan/SKILL.md +384 -0
  1199. package/node_modules/@litcodex/lit-loop/skills/lit-recap/SKILL.md +222 -0
  1200. package/node_modules/@litcodex/lit-loop/skills/lit-scientific-visualization/SKILL.md +255 -0
  1201. package/node_modules/@litcodex/lit-loop/skills/lit-scientific-visualization/scripts/dependency-preflight.py +233 -0
  1202. package/node_modules/@litcodex/lit-loop/skills/lit-team/SKILL.md +190 -0
  1203. package/node_modules/@litcodex/lit-loop/skills/lit-team/references/team-orchestration.md +147 -0
  1204. package/node_modules/@litcodex/lit-loop/skills/lit-team/scripts/owner-lock.mjs +82 -0
  1205. package/node_modules/@litcodex/lit-loop/skills/lit-team/scripts/team-guide.mjs +31 -0
  1206. package/node_modules/@litcodex/lit-loop/skills/lit-team/scripts/team-state.mjs +262 -0
  1207. package/node_modules/@litcodex/lit-loop/skills/lit-team/scripts/team.mjs +145 -0
  1208. package/node_modules/@litcodex/lit-loop/skills/litgoal/SKILL.md +209 -0
  1209. package/node_modules/@litcodex/lit-loop/skills/litresearch/SKILL.md +572 -0
  1210. package/node_modules/@litcodex/lit-loop/skills/litwork/SKILL.md +238 -0
  1211. package/node_modules/@litcodex/lit-loop/skills/review-work/SKILL.md +867 -0
  1212. package/node_modules/@litcodex/lit-loop/skills/skill-observer/SKILL.md +215 -0
  1213. package/node_modules/@litcodex/lit-loop/skills/skill-observer/references/review-contract.md +77 -0
  1214. package/node_modules/@litcodex/lit-loop/skills/start-work/SKILL.md +503 -0
  1215. package/node_modules/@litcodex/lit-loop/vendor/NOTICE +19 -0
  1216. package/node_modules/@litcodex/lit-loop/vendor/handoff/SKILL.md +199 -0
  1217. package/node_modules/@litcodex/lit-loop/vendor/handoff/evals/evals.json +154 -0
  1218. package/node_modules/@litcodex/lit-loop/vendor/handoff/examples/HANDOFF-example-generic-auth-refactor.md +97 -0
  1219. package/node_modules/@litcodex/lit-loop/vendor/handoff/templates/HANDOFF.md +121 -0
  1220. package/node_modules/@litcodex/lit-loop/vendor/licenses/022_handoff-MIT.txt +21 -0
  1221. package/node_modules/@litcodex/lit-loop/vendor/licenses/045_scientific-visualization-MIT.txt +21 -0
  1222. package/node_modules/@litcodex/lit-loop/vendor/provenance/022_handoff.md +25 -0
  1223. package/node_modules/@litcodex/lit-loop/vendor/provenance/045_scientific-visualization.md +42 -0
  1224. package/node_modules/@litcodex/lit-loop/vendor/scientific-visualization/SKILL.md +283 -0
  1225. package/node_modules/@litcodex/lit-loop/vendor/scientific-visualization/assets/color_palettes.py +197 -0
  1226. package/node_modules/@litcodex/lit-loop/vendor/scientific-visualization/assets/nature.mplstyle +75 -0
  1227. package/node_modules/@litcodex/lit-loop/vendor/scientific-visualization/assets/presentation.mplstyle +74 -0
  1228. package/node_modules/@litcodex/lit-loop/vendor/scientific-visualization/assets/publication.mplstyle +78 -0
  1229. package/node_modules/@litcodex/lit-loop/vendor/scientific-visualization/evals/evals.json +158 -0
  1230. package/node_modules/@litcodex/lit-loop/vendor/scientific-visualization/references/color_palettes.md +380 -0
  1231. package/node_modules/@litcodex/lit-loop/vendor/scientific-visualization/references/journal_requirements.md +359 -0
  1232. package/node_modules/@litcodex/lit-loop/vendor/scientific-visualization/references/matplotlib_examples.md +608 -0
  1233. package/node_modules/@litcodex/lit-loop/vendor/scientific-visualization/references/mdanalysis_martini_visualization.md +85 -0
  1234. package/node_modules/@litcodex/lit-loop/vendor/scientific-visualization/references/publication_guidelines.md +217 -0
  1235. package/node_modules/@litcodex/lit-loop/vendor/scientific-visualization/references/seaborn_for_publications.md +293 -0
  1236. package/node_modules/@litcodex/lit-loop/vendor/scientific-visualization/scripts/figure_export.py +238 -0
  1237. package/node_modules/@litcodex/lit-loop/vendor/scientific-visualization/scripts/style_presets.py +467 -0
  1238. package/node_modules/@litcodex/lit-loop/vendor/scientific-visualization/tests/test_figure_export.py +51 -0
  1239. package/node_modules/@litcodex/lit-loop/vendor/scientific-visualization/tests/test_style_presets.py +114 -0
  1240. package/package.json +64 -0
  1241. package/readme-assets/ascii-readme.svg +5 -0
  1242. package/readme-assets/badge-license.svg +1 -0
  1243. package/readme-assets/badge-version.svg +1 -0
  1244. package/readme-assets/clay-icon.png +0 -0
  1245. package/readme-assets/cover.webp +0 -0
  1246. package/readme-assets/ignition-poster.png +0 -0
  1247. package/readme-assets/litcodex-continuity-1600.webp +0 -0
  1248. package/readme-assets/litcodex-ignition-1600.webp +0 -0
  1249. package/readme-assets/litcodex-wordmark.svg +5 -0
  1250. package/readme-assets/lucide-book-open.svg +14 -0
  1251. package/readme-assets/lucide-play.svg +13 -0
  1252. package/readme-assets/lucide-shield-check.svg +14 -0
@@ -0,0 +1,354 @@
1
+ # Type-State and Newtype Patterns
2
+
3
+ The single highest-leverage thing Rust gives a coding agent: encode invariants in the type system so the compiler refuses incorrect code. The agent does not have to "remember" rules - the rules are physical.
4
+
5
+ ## The Two Core Patterns
6
+
7
+ 1. **Newtype wrappers for distinct semantic units.** Money, IDs, byte offsets, coordinate spaces - each gets its own tuple struct. The agent cannot pass meters where feet are expected, even though both are `f64` under the hood. This is the `euclid::Point<Screen>` vs `euclid::Point<World>` example Chris Allen called out.
8
+ 2. **Type-state for state machines.** Instead of a struct with a `status: enum { Draft, Validated, Persisted }` field and methods that check `if self.status == ...`, model each state as its own type. Transitions are method calls that consume `self` and return a new type. Illegal transitions become unrepresentable.
9
+
10
+ ## Newtype Wrapper Cookbook
11
+
12
+ ### Domain IDs
13
+
14
+ ```rust
15
+ use uuid::Uuid;
16
+
17
+ #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, serde::Serialize, serde::Deserialize)]
18
+ #[serde(transparent)]
19
+ pub struct UserId(Uuid);
20
+
21
+ #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, serde::Serialize, serde::Deserialize)]
22
+ #[serde(transparent)]
23
+ pub struct ProductId(Uuid);
24
+
25
+ impl UserId {
26
+ pub fn new() -> Self { Self(Uuid::now_v7()) }
27
+ pub fn as_uuid(&self) -> &Uuid { &self.0 }
28
+ }
29
+
30
+ impl ProductId {
31
+ pub fn new() -> Self { Self(Uuid::now_v7()) }
32
+ pub fn as_uuid(&self) -> &Uuid { &self.0 }
33
+ }
34
+
35
+ // `fn buy(user: UserId, product: ProductId)` cannot be called with arguments swapped.
36
+ ```
37
+
38
+ `#[serde(transparent)]` keeps JSON/SQL round-trips identical to a bare `Uuid` - the wrapper is purely a compile-time discipline.
39
+
40
+ ### Quantities with Phantom Type Tags
41
+
42
+ ```rust
43
+ use core::marker::PhantomData;
44
+ use core::ops::{Add, Sub, Mul};
45
+
46
+ #[derive(Debug, Clone, Copy)]
47
+ pub struct Quantity<Unit> {
48
+ raw: f64,
49
+ _unit: PhantomData<Unit>,
50
+ }
51
+
52
+ // Tag types - zero-sized, never instantiated.
53
+ pub struct Meters;
54
+ pub struct Feet;
55
+ pub struct Seconds;
56
+
57
+ impl<U> Quantity<U> {
58
+ pub const fn new(value: f64) -> Self {
59
+ Self { raw: value, _unit: PhantomData }
60
+ }
61
+ pub fn raw(self) -> f64 { self.raw }
62
+ }
63
+
64
+ // Adding same-unit quantities: allowed.
65
+ impl<U> Add for Quantity<U> {
66
+ type Output = Self;
67
+ fn add(self, rhs: Self) -> Self { Self::new(self.raw + rhs.raw) }
68
+ }
69
+
70
+ // Subtraction: allowed.
71
+ impl<U> Sub for Quantity<U> {
72
+ type Output = Self;
73
+ fn sub(self, rhs: Self) -> Self { Self::new(self.raw - rhs.raw) }
74
+ }
75
+
76
+ // Multiplying by scalar: allowed.
77
+ impl<U> Mul<f64> for Quantity<U> {
78
+ type Output = Self;
79
+ fn mul(self, rhs: f64) -> Self { Self::new(self.raw * rhs) }
80
+ }
81
+
82
+ // Conversions are explicit, named methods - never `From`/`Into` between units.
83
+ impl Quantity<Meters> {
84
+ pub fn to_feet(self) -> Quantity<Feet> {
85
+ Quantity::new(self.raw * 3.280_84)
86
+ }
87
+ }
88
+ ```
89
+
90
+ Now:
91
+
92
+ ```rust
93
+ let distance: Quantity<Meters> = Quantity::new(100.0);
94
+ let height: Quantity<Feet> = Quantity::new(50.0);
95
+ let combined = distance + height; // ❌ compile error
96
+ let combined = distance + height.to_feet().to_meters_oops(); // ❌ no such method
97
+ let combined = distance + distance; // ✅
98
+ ```
99
+
100
+ The agent cannot accidentally mix units. Refactors that change a quantity's underlying unit are caught at compile time everywhere the type flows.
101
+
102
+ ### Byte Offsets vs Character Offsets
103
+
104
+ ```rust
105
+ #[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord)]
106
+ pub struct ByteOffset(pub u32);
107
+
108
+ #[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord)]
109
+ pub struct CharOffset(pub u32);
110
+
111
+ impl ByteOffset {
112
+ pub fn add(self, delta: u32) -> Self { Self(self.0 + delta) }
113
+ }
114
+
115
+ // Converting between them is a function on the actual text.
116
+ pub fn byte_to_char(text: &str, byte: ByteOffset) -> Option<CharOffset> {
117
+ text.get(..byte.0 as usize).map(|prefix| CharOffset(prefix.chars().count() as u32))
118
+ }
119
+ ```
120
+
121
+ A function signature `fn slice(text: &str, start: ByteOffset, end: ByteOffset)` cannot be called with character offsets. The UTF-8 boundary bug is now a compile error.
122
+
123
+ ### Currency
124
+
125
+ ```rust
126
+ use rust_decimal::Decimal;
127
+
128
+ pub struct Krw;
129
+ pub struct Usd;
130
+ pub struct Jpy;
131
+
132
+ #[derive(Debug, Clone, Copy)]
133
+ pub struct Money<Currency> {
134
+ amount: Decimal,
135
+ _ccy: PhantomData<Currency>,
136
+ }
137
+
138
+ impl<C> Money<C> {
139
+ pub const fn new(amount: Decimal) -> Self { Self { amount, _ccy: PhantomData } }
140
+ }
141
+
142
+ impl<C> Add for Money<C> {
143
+ type Output = Self;
144
+ fn add(self, rhs: Self) -> Self { Self::new(self.amount + rhs.amount) }
145
+ }
146
+
147
+ // No blanket From<Money<X>> for Money<Y> - conversions go through an explicit
148
+ // FX rate function that takes a `Rate<From, To>` argument.
149
+
150
+ pub struct Rate<From, To> {
151
+ factor: Decimal,
152
+ _from: PhantomData<From>,
153
+ _to: PhantomData<To>,
154
+ }
155
+
156
+ impl<From, To> Money<From> {
157
+ pub fn convert(self, rate: Rate<From, To>) -> Money<To> {
158
+ Money::new(self.amount * rate.factor)
159
+ }
160
+ }
161
+ ```
162
+
163
+ The agent cannot add KRW and USD by accident. They cannot convert without a rate. They cannot apply a USD→JPY rate to a KRW value.
164
+
165
+ ### Paths Rooted at Different Bases
166
+
167
+ ```rust
168
+ use std::path::{Path, PathBuf};
169
+
170
+ /// A path guaranteed to be relative to the project root.
171
+ #[derive(Debug, Clone)]
172
+ pub struct ProjectRel(PathBuf);
173
+
174
+ /// A path guaranteed to be relative to the user's home directory.
175
+ #[derive(Debug, Clone)]
176
+ pub struct HomeRel(PathBuf);
177
+
178
+ impl ProjectRel {
179
+ pub fn new(path: impl AsRef<Path>) -> Result<Self, PathError> {
180
+ let path = path.as_ref();
181
+ if path.is_absolute() { return Err(PathError::NotRelative); }
182
+ if path.components().any(|c| matches!(c, std::path::Component::ParentDir)) {
183
+ return Err(PathError::EscapesRoot);
184
+ }
185
+ Ok(Self(path.to_path_buf()))
186
+ }
187
+
188
+ pub fn resolve(&self, project_root: &Path) -> PathBuf {
189
+ project_root.join(&self.0)
190
+ }
191
+ }
192
+ ```
193
+
194
+ The agent's path-handling code now distinguishes between project-relative and home-relative paths at the type level. A function taking `ProjectRel` cannot be called with a `HomeRel`.
195
+
196
+ ## Type-State State Machines
197
+
198
+ Encode the lifecycle of a value as a sequence of types. Each transition consumes the previous state and returns the next.
199
+
200
+ ### HTTP Request Builder
201
+
202
+ ```rust
203
+ pub struct RequestBuilder<State> {
204
+ url: String,
205
+ method: Method,
206
+ headers: HeaderMap,
207
+ body: Option<Vec<u8>>,
208
+ _state: PhantomData<State>,
209
+ }
210
+
211
+ pub struct NeedsUrl;
212
+ pub struct NeedsMethod;
213
+ pub struct Ready;
214
+
215
+ impl RequestBuilder<NeedsUrl> {
216
+ pub fn new() -> Self {
217
+ Self {
218
+ url: String::new(),
219
+ method: Method::GET,
220
+ headers: HeaderMap::new(),
221
+ body: None,
222
+ _state: PhantomData,
223
+ }
224
+ }
225
+ pub fn url(mut self, url: impl Into<String>) -> RequestBuilder<NeedsMethod> {
226
+ self.url = url.into();
227
+ RequestBuilder { url: self.url, method: self.method, headers: self.headers, body: self.body, _state: PhantomData }
228
+ }
229
+ }
230
+
231
+ impl RequestBuilder<NeedsMethod> {
232
+ pub fn method(mut self, method: Method) -> RequestBuilder<Ready> {
233
+ self.method = method;
234
+ RequestBuilder { url: self.url, method: self.method, headers: self.headers, body: self.body, _state: PhantomData }
235
+ }
236
+ }
237
+
238
+ // .header(), .body() available in any state that has at least URL.
239
+ impl<S> RequestBuilder<S> {
240
+ pub fn header(mut self, name: HeaderName, value: HeaderValue) -> Self {
241
+ self.headers.insert(name, value);
242
+ self
243
+ }
244
+ }
245
+
246
+ // .send() only available once URL and method are set.
247
+ impl RequestBuilder<Ready> {
248
+ pub async fn send(self, client: &Client) -> reqwest::Result<Response> { /* ... */ }
249
+ }
250
+ ```
251
+
252
+ `client.send(RequestBuilder::new().send(...))` - compile error. The agent has to fill in the required steps. The IDE autocomplete also reflects only the legal next steps.
253
+
254
+ ### File Handles
255
+
256
+ ```rust
257
+ pub struct File<State> {
258
+ fd: RawFd,
259
+ _state: PhantomData<State>,
260
+ }
261
+
262
+ pub struct Open;
263
+ pub struct Locked;
264
+ pub struct Closed;
265
+
266
+ impl File<Open> {
267
+ pub fn open(path: &Path) -> std::io::Result<Self> { /* ... */ }
268
+ pub fn lock_exclusive(self) -> std::io::Result<File<Locked>> { /* flock */ }
269
+ pub fn close(self) -> std::io::Result<File<Closed>> { /* ... */ }
270
+ }
271
+
272
+ impl File<Locked> {
273
+ pub fn read(&mut self, buf: &mut [u8]) -> std::io::Result<usize> { /* ... */ }
274
+ pub fn write(&mut self, buf: &[u8]) -> std::io::Result<usize> { /* ... */ }
275
+ pub fn unlock(self) -> std::io::Result<File<Open>> { /* ... */ }
276
+ }
277
+
278
+ impl File<Closed> {
279
+ // No methods. The type only exists to be dropped.
280
+ }
281
+ ```
282
+
283
+ You cannot `read()` an unlocked file. You cannot `close()` while holding a lock without unlocking first. You cannot use a closed file at all - it has no methods.
284
+
285
+ ## Sealed Traits
286
+
287
+ Sometimes you want a closed set of types implementing a trait, defined by the crate, not extensible by downstream. The sealed trait pattern:
288
+
289
+ ```rust
290
+ mod sealed {
291
+ pub trait Sealed {}
292
+ }
293
+
294
+ pub trait Renderer: sealed::Sealed {
295
+ fn render(&self, frame: &mut Frame);
296
+ }
297
+
298
+ pub struct OpenGl;
299
+ pub struct Vulkan;
300
+ pub struct Metal;
301
+
302
+ impl sealed::Sealed for OpenGl {}
303
+ impl sealed::Sealed for Vulkan {}
304
+ impl sealed::Sealed for Metal {}
305
+
306
+ impl Renderer for OpenGl { fn render(&self, f: &mut Frame) { /* ... */ } }
307
+ impl Renderer for Vulkan { fn render(&self, f: &mut Frame) { /* ... */ } }
308
+ impl Renderer for Metal { fn render(&self, f: &mut Frame) { /* ... */ } }
309
+ ```
310
+
311
+ Downstream code cannot add new `impl Renderer for Whatever` because they cannot implement `sealed::Sealed` (its module is private). Useful when you want trait dispatch but maintain the invariant that you control all implementations.
312
+
313
+ ## NonEmpty Collections
314
+
315
+ ```rust
316
+ pub struct NonEmptyVec<T> {
317
+ head: T,
318
+ tail: Vec<T>,
319
+ }
320
+
321
+ #[derive(Debug, thiserror::Error)]
322
+ #[error("vector was empty")]
323
+ pub struct Empty;
324
+
325
+ impl<T> NonEmptyVec<T> {
326
+ pub fn try_from_vec(mut v: Vec<T>) -> Result<Self, Empty> {
327
+ if v.is_empty() { return Err(Empty); }
328
+ let tail = v.split_off(1);
329
+ let head = v.into_iter().next().expect("checked non-empty");
330
+ Ok(Self { head, tail })
331
+ }
332
+
333
+ pub fn first(&self) -> &T { &self.head }
334
+ pub fn len(&self) -> usize { self.tail.len() + 1 }
335
+ }
336
+ ```
337
+
338
+ Functions taking `NonEmptyVec<T>` cannot receive an empty vector. The `first()` method returns `&T`, not `Option<&T>`. The agent never has to write `match v.first() { Some(x) => ..., None => panic!(...) }` again.
339
+
340
+ ## When NOT to Newtype
341
+
342
+ - For one-off internal computations where the unit lives in a single function and never crosses a boundary.
343
+ - When the wrapper does not change behavior or invariants vs. the underlying type (e.g., a `struct Count(u32)` that is only ever used in one struct).
344
+ - When `From`/`Into` conversions would be ergonomic but would defeat the purpose (if you find yourself wanting `impl From<UserId> for Uuid`, you do not want a newtype - you want a type alias).
345
+
346
+ The cost of a newtype is one tuple struct + the impls you need. The break-even is around three uses across different functions, or any use that crosses an API boundary.
347
+
348
+ ## When NOT to Use Type-State
349
+
350
+ - When the state space is small and transitions are simple (`Option<T>` and `Result<T, E>` are state machines already).
351
+ - When the type-state would force runtime branching upward (e.g., reading "should this run as Open or Locked?" from config means you store `Box<dyn FileLike>` anyway).
352
+ - When the API is consumed by code that does not know the state at compile time (heterogeneous collections, dynamic dispatch boundaries).
353
+
354
+ In those cases, regular enum-tagged states are correct. The line is: **can the call site know the state statically?** If yes, type-state. If no, enum-with-tag.
@@ -0,0 +1,250 @@
1
+ # Unsafe Discipline
2
+
3
+ The reason Chris Allen's "implementing a persistent memory arena in Rust was not hard" works: the unsafe surface area is microscopic, it lives behind one newtype with one constructor, and every block has a SAFETY comment that names a specific invariant. Coding agents follow the pattern mechanically once the shape is established.
4
+
5
+ ## The Three Required Components
6
+
7
+ Every `unsafe` block needs all three. No exceptions.
8
+
9
+ 1. **Safe wrapper.** No `unsafe fn` or raw pointer types in the crate's public API. If a caller needs to construct an instance, the constructor either does the work safely or is `unsafe` with a documented contract.
10
+ 2. **SAFETY comment.** A `// SAFETY:` line within 5 lines above the `unsafe { ... }` block, stating which invariant is upheld and where it comes from. Generic phrases ("this is safe because we checked") fail review.
11
+ 3. **miri proof.** A test that exercises the unsafe path under `cargo +nightly miri nextest run`. If the path cannot be exercised under miri (FFI, syscalls), provide an alternate proof and gate behind a feature flag ending in `-skip-miri`.
12
+
13
+ ## The Wrapper Pattern (`NonNull<T>` style)
14
+
15
+ Reference the screenshot Chris Allen quoted - `std::ptr::NonNull<T>`. Mirror this shape for every raw pointer, raw slice, raw transmute, or uninit memory operation in your own code.
16
+
17
+ ```rust
18
+ use core::marker::PhantomData;
19
+ use core::ptr::NonNull;
20
+
21
+ /// A non-null, properly aligned, initialized pointer that does not alias.
22
+ ///
23
+ /// All invariants are upheld by [`Self::new`] (checked) or [`Self::new_unchecked`]
24
+ /// (delegated to the caller's contract). Once you hold an `InitPtr<T>`, every
25
+ /// public method on it is safe to call.
26
+ #[derive(Debug)]
27
+ #[repr(transparent)]
28
+ pub struct InitPtr<T> {
29
+ inner: NonNull<T>,
30
+ _marker: PhantomData<T>,
31
+ }
32
+
33
+ // Send/Sync are NOT automatic for raw-pointer-bearing types. Decide deliberately.
34
+ // SAFETY: `InitPtr<T>` owns no concurrency state of its own; whether it is
35
+ // Send/Sync depends on `T`. The bounds below mirror `Box<T>`.
36
+ unsafe impl<T: Send> Send for InitPtr<T> {}
37
+ unsafe impl<T: Sync> Sync for InitPtr<T> {}
38
+
39
+ impl<T> InitPtr<T> {
40
+ /// Wrap a raw pointer after checking alignment and non-null. The
41
+ /// initialization invariant is not statically checkable here; callers must
42
+ /// only feed pointers to memory that was written before this call.
43
+ pub fn new(ptr: *mut T) -> Option<Self> {
44
+ if !ptr.is_aligned() {
45
+ return None;
46
+ }
47
+ // SAFETY: alignment checked above; `NonNull::new` filters null. The
48
+ // caller is documented to provide an initialized location.
49
+ NonNull::new(ptr).map(|inner| Self { inner, _marker: PhantomData })
50
+ }
51
+
52
+ /// Wrap a raw pointer the caller asserts is valid.
53
+ ///
54
+ /// # Safety
55
+ ///
56
+ /// - `ptr` is non-null.
57
+ /// - `ptr` is aligned to `align_of::<T>()`.
58
+ /// - `*ptr` is initialized at the time of this call.
59
+ /// - For the lifetime of the returned value, no other `&T` or `&mut T`
60
+ /// aliases `*ptr`.
61
+ pub unsafe fn new_unchecked(ptr: *mut T) -> Self {
62
+ // SAFETY: caller upholds non-null per the function contract.
63
+ Self { inner: unsafe { NonNull::new_unchecked(ptr) }, _marker: PhantomData }
64
+ }
65
+
66
+ pub fn as_ref(&self) -> &T {
67
+ // SAFETY: the constructor's invariants guarantee `inner` points at an
68
+ // initialized, aligned, non-aliased `T`. Reborrowing through `&self`
69
+ // ties the resulting lifetime to `self`, enforcing the rest via
70
+ // standard borrow rules.
71
+ unsafe { self.inner.as_ref() }
72
+ }
73
+
74
+ pub fn as_mut(&mut self) -> &mut T {
75
+ // SAFETY: `&mut self` proves no other reference can alias `inner` for
76
+ // the lifetime of the returned `&mut T`; remaining invariants come
77
+ // from construction.
78
+ unsafe { self.inner.as_mut() }
79
+ }
80
+ }
81
+ ```
82
+
83
+ The list of features this single shape gives you:
84
+
85
+ - The agent cannot construct `InitPtr<T>` without going through a checked path or accepting the `unsafe` obligation explicitly.
86
+ - The agent cannot leak the raw pointer; `as_ref` / `as_mut` return safe references with proper lifetimes.
87
+ - The agent cannot accidentally Send/Sync where it shouldn't - the `unsafe impl` is explicit per-bound.
88
+ - `#[repr(transparent)]` means the type is layout-compatible with `*mut T` for FFI, without exposing the raw pointer.
89
+
90
+ ## SAFETY Comment Grammar
91
+
92
+ Every comment maps one-to-one to an invariant. Format:
93
+
94
+ ```rust
95
+ // SAFETY: <which invariant is upheld>: <how it is established here>.
96
+ ```
97
+
98
+ Anti-examples (do not pass review):
99
+
100
+ ```rust
101
+ // SAFETY: this is fine
102
+ // SAFETY: we know what we're doing
103
+ // SAFETY: the caller will not pass null
104
+ // SAFETY: tested
105
+ ```
106
+
107
+ Good examples:
108
+
109
+ ```rust
110
+ // SAFETY: `len <= self.capacity` was checked at line 87 and `self.ptr` was
111
+ // allocated by the same allocator we are reading through.
112
+
113
+ // SAFETY: `read_volatile` requires alignment and non-null; both hold because
114
+ // `self.inner` is an `InitPtr<T>` whose constructor enforced them.
115
+
116
+ // SAFETY: We hold `&mut self`, so no concurrent reader exists. The slice
117
+ // reference is dropped before the next `&self` borrow because we shrink the
118
+ // returned scope manually.
119
+ ```
120
+
121
+ ## Persistent Memory Arena Pattern (the Chris Allen example)
122
+
123
+ A persistent memory arena (PMA) is an `mmap`-backed bump allocator that survives process restarts. It is the classic "lots of unsafe under one safe surface" project.
124
+
125
+ Shape:
126
+
127
+ ```rust
128
+ pub struct Arena {
129
+ map: Mmap, // wraps `mmap(2)` - safe wrapper from `memmap2` crate
130
+ head: AtomicUsize, // current bump offset, atomic for multi-writer if needed
131
+ }
132
+
133
+ impl Arena {
134
+ pub fn open(path: &Path, capacity: usize) -> std::io::Result<Self> { /* mmap, init header */ }
135
+
136
+ pub fn alloc<T>(&self, value: T) -> Result<Handle<T>, ArenaFull> {
137
+ let layout = Layout::new::<T>();
138
+ let aligned = align_up(self.head.load(Acquire), layout.align());
139
+ let next = aligned.checked_add(layout.size()).ok_or(ArenaFull)?;
140
+ if next > self.map.len() { return Err(ArenaFull); }
141
+ // CAS the head forward; retry on contention.
142
+ // ... omitted for brevity ...
143
+
144
+ // SAFETY: `aligned + layout.size() <= self.map.len()` was just proven.
145
+ // The mmap region is exclusively owned by this arena while we hold the
146
+ // bump. `aligned` is aligned to `layout.align()` by `align_up`. No
147
+ // other writer can have observed this offset because the CAS above
148
+ // returned `Ok`.
149
+ let ptr = unsafe { self.map.as_mut_ptr().add(aligned) as *mut T };
150
+ // SAFETY: `ptr` is non-null (mmap base + offset), aligned (above),
151
+ // exclusively owned (CAS), and we are about to initialize it.
152
+ unsafe { ptr::write(ptr, value) };
153
+
154
+ // SAFETY: same invariants; we wrap the now-initialized pointer in the
155
+ // safe handle which encapsulates further accesses.
156
+ Ok(unsafe { Handle::new_unchecked(ptr, self) })
157
+ }
158
+ }
159
+
160
+ pub struct Handle<'a, T> {
161
+ inner: InitPtr<T>,
162
+ _arena: PhantomData<&'a Arena>,
163
+ }
164
+ ```
165
+
166
+ Three `unsafe` blocks, three SAFETY comments, one safe handle type emerging on the other side. The agent now uses `Handle<T>` everywhere - never `*mut T`.
167
+
168
+ ## Miri Invocation
169
+
170
+ ```bash
171
+ # install once
172
+ rustup install nightly
173
+ rustup component add miri rust-src --toolchain nightly
174
+
175
+ # run on every change that touches unsafe
176
+ MIRIFLAGS="-Zmiri-strict-provenance -Zmiri-symbolic-alignment-check" \
177
+ cargo +nightly miri nextest run --all-features
178
+ ```
179
+
180
+ What miri catches that the borrow checker cannot:
181
+
182
+ - Use-after-free
183
+ - Double-free
184
+ - Reads of uninitialized memory
185
+ - Pointer-from-integer reconstruction that violates strict provenance
186
+ - Alignment lies (transmuting unaligned data)
187
+ - Stacked borrows / Tree borrows aliasing violations
188
+ - Data races (single-threaded model, but catches concurrent access through `UnsafeCell` misuse)
189
+ - Atomic ordering bugs in some patterns
190
+ - Memory leaks (with `-Zmiri-track-pointer-tag`)
191
+
192
+ ## When Miri Cannot Run
193
+
194
+ Certain paths are off-limits for miri: most syscalls beyond a curated allowlist, real network I/O, `std::process` calls, OS-specific FFI, hardware-dependent intrinsics on non-x86. Strategy:
195
+
196
+ 1. **Isolate.** Put the un-mirifiable code in its own module behind `#[cfg(feature = "ffi-real")]` or similar.
197
+ 2. **Mock at the boundary.** For everything below the FFI boundary, write a safe Rust fake (a `Vec<u8>`-backed "disk", a fake clock, an in-memory socket pair). Expose it as a trait the production code consumes.
198
+ 3. **Test the fake under miri.** The fake implementation exercises the same logic minus the syscall. If the logic is unsafe (raw pointer manipulation in the fake "disk" buffer), miri catches the bug.
199
+ 4. **Test the real path under regular `cargo test`.** With `cargo nextest run --features ffi-real`. No miri, but the surface area is now just the syscall boundary.
200
+ 5. **Document.** A `# Safety` section in the rustdoc names the obligations the FFI puts on us, and a `# Testing` section explains the mock-vs-real split.
201
+
202
+ ## Loom for Concurrency
203
+
204
+ When `unsafe` participates in a concurrent algorithm (lock-free queue, hazard pointers, custom Arc), miri's single-thread model is insufficient. Use `loom`:
205
+
206
+ ```rust
207
+ #[cfg(loom)]
208
+ use loom::sync::atomic::{AtomicUsize, Ordering};
209
+ #[cfg(not(loom))]
210
+ use std::sync::atomic::{AtomicUsize, Ordering};
211
+
212
+ #[cfg(test)]
213
+ mod tests {
214
+ use super::*;
215
+
216
+ #[test]
217
+ #[cfg(loom)]
218
+ fn concurrent_push_pop() {
219
+ loom::model(|| {
220
+ let queue = std::sync::Arc::new(MyQueue::new());
221
+ let q1 = queue.clone();
222
+ let q2 = queue.clone();
223
+ let h1 = loom::thread::spawn(move || q1.push(1));
224
+ let h2 = loom::thread::spawn(move || q2.pop());
225
+ h1.join().unwrap();
226
+ h2.join().unwrap();
227
+ });
228
+ }
229
+ }
230
+ ```
231
+
232
+ Run: `RUSTFLAGS="--cfg loom" cargo test --release`. Loom exhaustively explores thread interleavings for the test scope. Combined with miri on the single-thread paths, you have machine-checked soundness over the full state space.
233
+
234
+ ## The Forbidden List
235
+
236
+ Reject in code review, automatic CI fail:
237
+
238
+ - `unsafe { ... }` with no SAFETY comment within 5 lines above.
239
+ - `unsafe { unsafe_op_a(); unsafe_op_b(); }` (multiple unsafe ops in one block - split them, one SAFETY each). Clippy: `multiple_unsafe_ops_per_block`.
240
+ - `unsafe fn` exposed publicly without a documented `# Safety` section in rustdoc.
241
+ - `std::mem::transmute` for anything but lifetime extension on the same layout (and that should usually be `core::mem::transmute_copy` or `bytemuck::cast` if the relayout is well-defined).
242
+ - `std::ptr::read_unaligned` / `write_unaligned` without a comment explaining why aligned access is impossible.
243
+ - `from_raw_parts` / `from_raw_parts_mut` without proving the source pointer's provenance covers the entire slice.
244
+ - `Arc::get_mut_unchecked`, `Box::leak` to bypass ownership, `MaybeUninit::assume_init` on partially-initialized data.
245
+ - `unsafe impl Send`, `unsafe impl Sync` on types containing raw pointers, without a comment naming exactly which interior-mutability rule is upheld.
246
+ - Any `unsafe` block whose justification depends on "in practice this never happens".
247
+
248
+ ## The One-Line Summary
249
+
250
+ > Wrap once. Prove once. Test under miri. Never let `unsafe` escape.