@codeyam/codeyam-cli 0.1.0-staging.4057bd2 → 0.1.0-staging.435c1ad

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 (590) hide show
  1. package/analyzer-template/.build-info.json +8 -8
  2. package/analyzer-template/log.txt +3 -3
  3. package/analyzer-template/package.json +7 -7
  4. package/analyzer-template/packages/ai/package.json +1 -1
  5. package/analyzer-template/packages/ai/src/lib/astScopes/methodSemantics.ts +135 -0
  6. package/analyzer-template/packages/ai/src/lib/astScopes/nodeToSource.ts +19 -0
  7. package/analyzer-template/packages/ai/src/lib/astScopes/paths.ts +11 -4
  8. package/analyzer-template/packages/ai/src/lib/dataStructure/ScopeDataStructure.ts +36 -9
  9. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/ParentScopeManager.ts +10 -3
  10. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.ts +16 -6
  11. package/analyzer-template/packages/ai/src/lib/generateExecutionFlows.ts +0 -33
  12. package/analyzer-template/packages/analyze/index.ts +4 -1
  13. package/analyzer-template/packages/analyze/src/lib/ProjectAnalyzer.ts +13 -7
  14. package/analyzer-template/packages/analyze/src/lib/asts/index.ts +7 -2
  15. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.ts +28 -2
  16. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities.ts +5 -36
  17. package/analyzer-template/packages/analyze/src/lib/files/analyze/findOrCreateEntity.ts +10 -6
  18. package/analyzer-template/packages/analyze/src/lib/files/analyze/gatherEntityMap.ts +9 -12
  19. package/analyzer-template/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.ts +21 -0
  20. package/analyzer-template/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.ts +82 -10
  21. package/analyzer-template/packages/analyze/src/lib/files/analyzeChange.ts +4 -0
  22. package/analyzer-template/packages/analyze/src/lib/files/analyzeInitial.ts +4 -0
  23. package/analyzer-template/packages/analyze/src/lib/files/analyzeNextRoute.ts +8 -3
  24. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateDataStructure.ts +239 -58
  25. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.ts +0 -98
  26. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.ts +1684 -1462
  27. package/analyzer-template/packages/aws/package.json +2 -2
  28. package/analyzer-template/packages/database/package.json +2 -2
  29. package/analyzer-template/packages/database/src/lib/kysely/tables/editorScenariosTable.ts +102 -0
  30. package/analyzer-template/packages/database/src/lib/loadAnalysis.ts +25 -15
  31. package/analyzer-template/packages/database/src/lib/loadEntities.ts +0 -6
  32. package/analyzer-template/packages/database/src/lib/loadEntity.ts +19 -8
  33. package/analyzer-template/packages/database/src/lib/updateCommitMetadata.ts +0 -65
  34. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.d.ts +9 -0
  35. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.d.ts.map +1 -1
  36. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.js +104 -0
  37. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.js.map +1 -1
  38. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.d.ts.map +1 -1
  39. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js +7 -1
  40. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js.map +1 -1
  41. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.d.ts.map +1 -1
  42. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js +0 -6
  43. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js.map +1 -1
  44. package/analyzer-template/packages/github/dist/database/src/lib/loadEntity.d.ts +4 -1
  45. package/analyzer-template/packages/github/dist/database/src/lib/loadEntity.d.ts.map +1 -1
  46. package/analyzer-template/packages/github/dist/database/src/lib/loadEntity.js +5 -5
  47. package/analyzer-template/packages/github/dist/database/src/lib/loadEntity.js.map +1 -1
  48. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.d.ts.map +1 -1
  49. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js +0 -25
  50. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js.map +1 -1
  51. package/analyzer-template/packages/github/dist/types/src/enums/ProjectFramework.d.ts +2 -0
  52. package/analyzer-template/packages/github/dist/types/src/enums/ProjectFramework.d.ts.map +1 -1
  53. package/analyzer-template/packages/github/dist/types/src/enums/ProjectFramework.js +2 -0
  54. package/analyzer-template/packages/github/dist/types/src/enums/ProjectFramework.js.map +1 -1
  55. package/analyzer-template/packages/types/src/enums/ProjectFramework.ts +2 -0
  56. package/analyzer-template/packages/ui-components/package.json +1 -1
  57. package/analyzer-template/packages/utils/dist/types/src/enums/ProjectFramework.d.ts +2 -0
  58. package/analyzer-template/packages/utils/dist/types/src/enums/ProjectFramework.d.ts.map +1 -1
  59. package/analyzer-template/packages/utils/dist/types/src/enums/ProjectFramework.js +2 -0
  60. package/analyzer-template/packages/utils/dist/types/src/enums/ProjectFramework.js.map +1 -1
  61. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.d.ts +3 -1
  62. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.d.ts.map +1 -1
  63. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.js +22 -1
  64. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.js.map +1 -1
  65. package/analyzer-template/packages/utils/src/lib/fs/rsyncCopy.ts +27 -0
  66. package/analyzer-template/project/analyzeFileEntities.ts +26 -0
  67. package/analyzer-template/project/runMultiScenarioServer.ts +26 -3
  68. package/background/src/lib/virtualized/project/analyzeFileEntities.js +22 -0
  69. package/background/src/lib/virtualized/project/analyzeFileEntities.js.map +1 -1
  70. package/background/src/lib/virtualized/project/runMultiScenarioServer.js +23 -3
  71. package/background/src/lib/virtualized/project/runMultiScenarioServer.js.map +1 -1
  72. package/codeyam-cli/src/__tests__/memory-scripts/filter-session.test.js +196 -0
  73. package/codeyam-cli/src/__tests__/memory-scripts/filter-session.test.js.map +1 -0
  74. package/codeyam-cli/src/__tests__/memory-scripts/read-json-field.test.js +114 -0
  75. package/codeyam-cli/src/__tests__/memory-scripts/read-json-field.test.js.map +1 -0
  76. package/codeyam-cli/src/__tests__/memory-scripts/ripgrep-fallback.test.js +149 -0
  77. package/codeyam-cli/src/__tests__/memory-scripts/ripgrep-fallback.test.js.map +1 -0
  78. package/codeyam-cli/src/cli.js +24 -0
  79. package/codeyam-cli/src/cli.js.map +1 -1
  80. package/codeyam-cli/src/commands/__tests__/editor.analyzeImportsArgs.test.js +47 -0
  81. package/codeyam-cli/src/commands/__tests__/editor.analyzeImportsArgs.test.js.map +1 -0
  82. package/codeyam-cli/src/commands/__tests__/editor.auditNoAutoAnalysis.test.js +71 -0
  83. package/codeyam-cli/src/commands/__tests__/editor.auditNoAutoAnalysis.test.js.map +1 -0
  84. package/codeyam-cli/src/commands/__tests__/editor.designSystem.test.js +30 -0
  85. package/codeyam-cli/src/commands/__tests__/editor.designSystem.test.js.map +1 -0
  86. package/codeyam-cli/src/commands/__tests__/editor.isolateArgs.test.js +51 -0
  87. package/codeyam-cli/src/commands/__tests__/editor.isolateArgs.test.js.map +1 -0
  88. package/codeyam-cli/src/commands/__tests__/editor.stepDispatch.test.js +56 -0
  89. package/codeyam-cli/src/commands/__tests__/editor.stepDispatch.test.js.map +1 -0
  90. package/codeyam-cli/src/commands/__tests__/init.gitignore.test.js +101 -47
  91. package/codeyam-cli/src/commands/__tests__/init.gitignore.test.js.map +1 -1
  92. package/codeyam-cli/src/commands/default.js +3 -46
  93. package/codeyam-cli/src/commands/default.js.map +1 -1
  94. package/codeyam-cli/src/commands/editor.js +4562 -695
  95. package/codeyam-cli/src/commands/editor.js.map +1 -1
  96. package/codeyam-cli/src/commands/editorAnalyzeImportsArgs.js +23 -0
  97. package/codeyam-cli/src/commands/editorAnalyzeImportsArgs.js.map +1 -0
  98. package/codeyam-cli/src/commands/editorIsolateArgs.js +25 -0
  99. package/codeyam-cli/src/commands/editorIsolateArgs.js.map +1 -0
  100. package/codeyam-cli/src/commands/init.js +69 -34
  101. package/codeyam-cli/src/commands/init.js.map +1 -1
  102. package/codeyam-cli/src/commands/telemetry.js +37 -0
  103. package/codeyam-cli/src/commands/telemetry.js.map +1 -0
  104. package/codeyam-cli/src/data/designSystems.js +27 -0
  105. package/codeyam-cli/src/data/designSystems.js.map +1 -0
  106. package/codeyam-cli/src/data/techStacks.js +77 -0
  107. package/codeyam-cli/src/data/techStacks.js.map +1 -0
  108. package/codeyam-cli/src/utils/__tests__/analyzerFinalization.test.js +173 -0
  109. package/codeyam-cli/src/utils/__tests__/analyzerFinalization.test.js.map +1 -0
  110. package/codeyam-cli/src/utils/__tests__/backgroundServer.test.js +46 -0
  111. package/codeyam-cli/src/utils/__tests__/backgroundServer.test.js.map +1 -0
  112. package/codeyam-cli/src/utils/__tests__/devServerState.test.js +134 -0
  113. package/codeyam-cli/src/utils/__tests__/devServerState.test.js.map +1 -0
  114. package/codeyam-cli/src/utils/__tests__/editorApi.test.js +181 -0
  115. package/codeyam-cli/src/utils/__tests__/editorApi.test.js.map +1 -0
  116. package/codeyam-cli/src/utils/__tests__/editorAudit.test.js +3769 -1
  117. package/codeyam-cli/src/utils/__tests__/editorAudit.test.js.map +1 -1
  118. package/codeyam-cli/src/utils/__tests__/editorBroadcastViewport.test.js +76 -0
  119. package/codeyam-cli/src/utils/__tests__/editorBroadcastViewport.test.js.map +1 -0
  120. package/codeyam-cli/src/utils/__tests__/editorCapture.test.js +93 -0
  121. package/codeyam-cli/src/utils/__tests__/editorCapture.test.js.map +1 -0
  122. package/codeyam-cli/src/utils/__tests__/editorCaptureScenarioSeeding.test.js +137 -0
  123. package/codeyam-cli/src/utils/__tests__/editorCaptureScenarioSeeding.test.js.map +1 -0
  124. package/codeyam-cli/src/utils/__tests__/editorDeleteScenario.test.js +100 -0
  125. package/codeyam-cli/src/utils/__tests__/editorDeleteScenario.test.js.map +1 -0
  126. package/codeyam-cli/src/utils/__tests__/editorDevServer.test.js +181 -3
  127. package/codeyam-cli/src/utils/__tests__/editorDevServer.test.js.map +1 -1
  128. package/codeyam-cli/src/utils/__tests__/editorEntityChangeStatus.test.js +194 -0
  129. package/codeyam-cli/src/utils/__tests__/editorEntityChangeStatus.test.js.map +1 -0
  130. package/codeyam-cli/src/utils/__tests__/editorEntityHelpers.test.js +381 -0
  131. package/codeyam-cli/src/utils/__tests__/editorEntityHelpers.test.js.map +1 -0
  132. package/codeyam-cli/src/utils/__tests__/editorGuardMiddleware.test.js +67 -0
  133. package/codeyam-cli/src/utils/__tests__/editorGuardMiddleware.test.js.map +1 -0
  134. package/codeyam-cli/src/utils/__tests__/editorImageVerifier.test.js +294 -0
  135. package/codeyam-cli/src/utils/__tests__/editorImageVerifier.test.js.map +1 -0
  136. package/codeyam-cli/src/utils/__tests__/editorJournal.test.js +249 -2
  137. package/codeyam-cli/src/utils/__tests__/editorJournal.test.js.map +1 -1
  138. package/codeyam-cli/src/utils/__tests__/editorLoaderHelpers.test.js +594 -0
  139. package/codeyam-cli/src/utils/__tests__/editorLoaderHelpers.test.js.map +1 -0
  140. package/codeyam-cli/src/utils/__tests__/editorMigration.test.js +435 -0
  141. package/codeyam-cli/src/utils/__tests__/editorMigration.test.js.map +1 -0
  142. package/codeyam-cli/src/utils/__tests__/editorPreloadHelpers.test.js +118 -1
  143. package/codeyam-cli/src/utils/__tests__/editorPreloadHelpers.test.js.map +1 -1
  144. package/codeyam-cli/src/utils/__tests__/editorPreview.test.js +217 -3
  145. package/codeyam-cli/src/utils/__tests__/editorPreview.test.js.map +1 -1
  146. package/codeyam-cli/src/utils/__tests__/editorProxySession.test.js +153 -0
  147. package/codeyam-cli/src/utils/__tests__/editorProxySession.test.js.map +1 -0
  148. package/codeyam-cli/src/utils/__tests__/editorScenarioLookup.test.js +139 -0
  149. package/codeyam-cli/src/utils/__tests__/editorScenarioLookup.test.js.map +1 -0
  150. package/codeyam-cli/src/utils/__tests__/editorScenarioSwitch.test.js +291 -0
  151. package/codeyam-cli/src/utils/__tests__/editorScenarioSwitch.test.js.map +1 -0
  152. package/codeyam-cli/src/utils/__tests__/editorScenarios.test.js +1694 -2
  153. package/codeyam-cli/src/utils/__tests__/editorScenarios.test.js.map +1 -1
  154. package/codeyam-cli/src/utils/__tests__/editorSeedAdapter.test.js +329 -0
  155. package/codeyam-cli/src/utils/__tests__/editorSeedAdapter.test.js.map +1 -0
  156. package/codeyam-cli/src/utils/__tests__/editorSeedAdapterPrismaValidation.test.js +143 -0
  157. package/codeyam-cli/src/utils/__tests__/editorSeedAdapterPrismaValidation.test.js.map +1 -0
  158. package/codeyam-cli/src/utils/__tests__/editorSessionFilter.test.js +66 -0
  159. package/codeyam-cli/src/utils/__tests__/editorSessionFilter.test.js.map +1 -0
  160. package/codeyam-cli/src/utils/__tests__/editorShouldRevalidate.test.js +53 -0
  161. package/codeyam-cli/src/utils/__tests__/editorShouldRevalidate.test.js.map +1 -0
  162. package/codeyam-cli/src/utils/__tests__/entityChangeStatus.test.js +2121 -0
  163. package/codeyam-cli/src/utils/__tests__/entityChangeStatus.test.js.map +1 -0
  164. package/codeyam-cli/src/utils/__tests__/glossaryAdd.test.js +177 -0
  165. package/codeyam-cli/src/utils/__tests__/glossaryAdd.test.js.map +1 -0
  166. package/codeyam-cli/src/utils/__tests__/journalCaptureStabilization.test.js +122 -0
  167. package/codeyam-cli/src/utils/__tests__/journalCaptureStabilization.test.js.map +1 -0
  168. package/codeyam-cli/src/utils/__tests__/manualEntityAnalysis.test.js +302 -0
  169. package/codeyam-cli/src/utils/__tests__/manualEntityAnalysis.test.js.map +1 -0
  170. package/codeyam-cli/src/utils/__tests__/parseRegisterArg.test.js +129 -0
  171. package/codeyam-cli/src/utils/__tests__/parseRegisterArg.test.js.map +1 -0
  172. package/codeyam-cli/src/utils/__tests__/registerScenarioResult.test.js +127 -0
  173. package/codeyam-cli/src/utils/__tests__/registerScenarioResult.test.js.map +1 -0
  174. package/codeyam-cli/src/utils/__tests__/routePatternMatching.test.js +118 -0
  175. package/codeyam-cli/src/utils/__tests__/routePatternMatching.test.js.map +1 -0
  176. package/codeyam-cli/src/utils/__tests__/scenarioCoverage.test.js +284 -0
  177. package/codeyam-cli/src/utils/__tests__/scenarioCoverage.test.js.map +1 -0
  178. package/codeyam-cli/src/utils/__tests__/scenariosManifest.test.js +672 -0
  179. package/codeyam-cli/src/utils/__tests__/scenariosManifest.test.js.map +1 -0
  180. package/codeyam-cli/src/utils/__tests__/screenshotHash.test.js +84 -0
  181. package/codeyam-cli/src/utils/__tests__/screenshotHash.test.js.map +1 -0
  182. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js +26 -5
  183. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js.map +1 -1
  184. package/codeyam-cli/src/utils/__tests__/telemetry.test.js +159 -0
  185. package/codeyam-cli/src/utils/__tests__/telemetry.test.js.map +1 -0
  186. package/codeyam-cli/src/utils/__tests__/templateConsistency.test.js +51 -0
  187. package/codeyam-cli/src/utils/__tests__/templateConsistency.test.js.map +1 -0
  188. package/codeyam-cli/src/utils/__tests__/testRunner.test.js +217 -0
  189. package/codeyam-cli/src/utils/__tests__/testRunner.test.js.map +1 -0
  190. package/codeyam-cli/src/utils/__tests__/webappDetection.test.js +142 -0
  191. package/codeyam-cli/src/utils/__tests__/webappDetection.test.js.map +1 -0
  192. package/codeyam-cli/src/utils/analysisRunner.js +39 -8
  193. package/codeyam-cli/src/utils/analysisRunner.js.map +1 -1
  194. package/codeyam-cli/src/utils/analyzer.js +19 -0
  195. package/codeyam-cli/src/utils/analyzer.js.map +1 -1
  196. package/codeyam-cli/src/utils/analyzerFinalization.js +100 -0
  197. package/codeyam-cli/src/utils/analyzerFinalization.js.map +1 -0
  198. package/codeyam-cli/src/utils/backgroundServer.js +95 -19
  199. package/codeyam-cli/src/utils/backgroundServer.js.map +1 -1
  200. package/codeyam-cli/src/utils/database.js +37 -2
  201. package/codeyam-cli/src/utils/database.js.map +1 -1
  202. package/codeyam-cli/src/utils/devServerState.js +71 -0
  203. package/codeyam-cli/src/utils/devServerState.js.map +1 -0
  204. package/codeyam-cli/src/utils/editorApi.js +95 -0
  205. package/codeyam-cli/src/utils/editorApi.js.map +1 -0
  206. package/codeyam-cli/src/utils/editorAudit.js +753 -8
  207. package/codeyam-cli/src/utils/editorAudit.js.map +1 -1
  208. package/codeyam-cli/src/utils/editorBroadcastViewport.js +26 -0
  209. package/codeyam-cli/src/utils/editorBroadcastViewport.js.map +1 -0
  210. package/codeyam-cli/src/utils/editorCapture.js +102 -0
  211. package/codeyam-cli/src/utils/editorCapture.js.map +1 -0
  212. package/codeyam-cli/src/utils/editorDeleteScenario.js +67 -0
  213. package/codeyam-cli/src/utils/editorDeleteScenario.js.map +1 -0
  214. package/codeyam-cli/src/utils/editorDevServer.js +100 -1
  215. package/codeyam-cli/src/utils/editorDevServer.js.map +1 -1
  216. package/codeyam-cli/src/utils/editorEntityChangeStatus.js +50 -0
  217. package/codeyam-cli/src/utils/editorEntityChangeStatus.js.map +1 -0
  218. package/codeyam-cli/src/utils/editorEntityHelpers.js +144 -0
  219. package/codeyam-cli/src/utils/editorEntityHelpers.js.map +1 -0
  220. package/codeyam-cli/src/utils/editorGuard.js +36 -0
  221. package/codeyam-cli/src/utils/editorGuard.js.map +1 -0
  222. package/codeyam-cli/src/utils/editorImageVerifier.js +155 -0
  223. package/codeyam-cli/src/utils/editorImageVerifier.js.map +1 -0
  224. package/codeyam-cli/src/utils/editorJournal.js +92 -4
  225. package/codeyam-cli/src/utils/editorJournal.js.map +1 -1
  226. package/codeyam-cli/src/utils/editorLoaderHelpers.js +152 -0
  227. package/codeyam-cli/src/utils/editorLoaderHelpers.js.map +1 -0
  228. package/codeyam-cli/src/utils/editorMigration.js +224 -0
  229. package/codeyam-cli/src/utils/editorMigration.js.map +1 -0
  230. package/codeyam-cli/src/utils/editorMockState.js +1 -1
  231. package/codeyam-cli/src/utils/editorPreloadHelpers.js +72 -1
  232. package/codeyam-cli/src/utils/editorPreloadHelpers.js.map +1 -1
  233. package/codeyam-cli/src/utils/editorPreview.js +74 -1
  234. package/codeyam-cli/src/utils/editorPreview.js.map +1 -1
  235. package/codeyam-cli/src/utils/editorRecapture.js +109 -0
  236. package/codeyam-cli/src/utils/editorRecapture.js.map +1 -0
  237. package/codeyam-cli/src/utils/editorScenarioSwitch.js +134 -0
  238. package/codeyam-cli/src/utils/editorScenarioSwitch.js.map +1 -0
  239. package/codeyam-cli/src/utils/editorScenarios.js +620 -0
  240. package/codeyam-cli/src/utils/editorScenarios.js.map +1 -1
  241. package/codeyam-cli/src/utils/editorSeedAdapter.js +462 -0
  242. package/codeyam-cli/src/utils/editorSeedAdapter.js.map +1 -0
  243. package/codeyam-cli/src/utils/editorShouldRevalidate.js +21 -0
  244. package/codeyam-cli/src/utils/editorShouldRevalidate.js.map +1 -0
  245. package/codeyam-cli/src/utils/entityChangeStatus.js +394 -0
  246. package/codeyam-cli/src/utils/entityChangeStatus.js.map +1 -0
  247. package/codeyam-cli/src/utils/entityChangeStatus.server.js +212 -0
  248. package/codeyam-cli/src/utils/entityChangeStatus.server.js.map +1 -0
  249. package/codeyam-cli/src/utils/fileWatcher.js +38 -0
  250. package/codeyam-cli/src/utils/fileWatcher.js.map +1 -1
  251. package/codeyam-cli/src/utils/glossaryAdd.js +74 -0
  252. package/codeyam-cli/src/utils/glossaryAdd.js.map +1 -0
  253. package/codeyam-cli/src/utils/install-skills.js +15 -1
  254. package/codeyam-cli/src/utils/install-skills.js.map +1 -1
  255. package/codeyam-cli/src/utils/manualEntityAnalysis.js +196 -0
  256. package/codeyam-cli/src/utils/manualEntityAnalysis.js.map +1 -0
  257. package/codeyam-cli/src/utils/parseRegisterArg.js +31 -0
  258. package/codeyam-cli/src/utils/parseRegisterArg.js.map +1 -0
  259. package/codeyam-cli/src/utils/progress.js +2 -2
  260. package/codeyam-cli/src/utils/progress.js.map +1 -1
  261. package/codeyam-cli/src/utils/queue/__tests__/job.interactiveStart.test.js +159 -0
  262. package/codeyam-cli/src/utils/queue/__tests__/job.interactiveStart.test.js.map +1 -0
  263. package/codeyam-cli/src/utils/queue/job.js +35 -6
  264. package/codeyam-cli/src/utils/queue/job.js.map +1 -1
  265. package/codeyam-cli/src/utils/registerScenarioResult.js +52 -0
  266. package/codeyam-cli/src/utils/registerScenarioResult.js.map +1 -0
  267. package/codeyam-cli/src/utils/routePatternMatching.js +129 -0
  268. package/codeyam-cli/src/utils/routePatternMatching.js.map +1 -0
  269. package/codeyam-cli/src/utils/scenarioCoverage.js +77 -0
  270. package/codeyam-cli/src/utils/scenarioCoverage.js.map +1 -0
  271. package/codeyam-cli/src/utils/scenariosManifest.js +307 -0
  272. package/codeyam-cli/src/utils/scenariosManifest.js.map +1 -0
  273. package/codeyam-cli/src/utils/screenshotHash.js +26 -0
  274. package/codeyam-cli/src/utils/screenshotHash.js.map +1 -0
  275. package/codeyam-cli/src/utils/serverState.js +30 -0
  276. package/codeyam-cli/src/utils/serverState.js.map +1 -1
  277. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js +47 -16
  278. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js.map +1 -1
  279. package/codeyam-cli/src/utils/simulationGateMiddleware.js +17 -1
  280. package/codeyam-cli/src/utils/simulationGateMiddleware.js.map +1 -1
  281. package/codeyam-cli/src/utils/slugUtils.js +25 -0
  282. package/codeyam-cli/src/utils/slugUtils.js.map +1 -0
  283. package/codeyam-cli/src/utils/syncMocksMiddleware.js +2 -2
  284. package/codeyam-cli/src/utils/syncMocksMiddleware.js.map +1 -1
  285. package/codeyam-cli/src/utils/telemetry.js +106 -0
  286. package/codeyam-cli/src/utils/telemetry.js.map +1 -0
  287. package/codeyam-cli/src/utils/telemetryMiddleware.js +22 -0
  288. package/codeyam-cli/src/utils/telemetryMiddleware.js.map +1 -0
  289. package/codeyam-cli/src/utils/testRunner.js +199 -1
  290. package/codeyam-cli/src/utils/testRunner.js.map +1 -1
  291. package/codeyam-cli/src/utils/webappDetection.js +21 -0
  292. package/codeyam-cli/src/utils/webappDetection.js.map +1 -1
  293. package/codeyam-cli/src/webserver/__tests__/api.interactive-switch-scenario.test.js +98 -0
  294. package/codeyam-cli/src/webserver/__tests__/api.interactive-switch-scenario.test.js.map +1 -0
  295. package/codeyam-cli/src/webserver/__tests__/buildPtyEnv.test.js +35 -0
  296. package/codeyam-cli/src/webserver/__tests__/buildPtyEnv.test.js.map +1 -0
  297. package/codeyam-cli/src/webserver/__tests__/clientErrors.test.js +107 -0
  298. package/codeyam-cli/src/webserver/__tests__/clientErrors.test.js.map +1 -0
  299. package/codeyam-cli/src/webserver/__tests__/editorProxy.test.js +647 -0
  300. package/codeyam-cli/src/webserver/__tests__/editorProxy.test.js.map +1 -0
  301. package/codeyam-cli/src/webserver/__tests__/idleDetector.test.js +283 -0
  302. package/codeyam-cli/src/webserver/__tests__/idleDetector.test.js.map +1 -0
  303. package/codeyam-cli/src/webserver/__tests__/stripClaudeCommand.test.js +135 -0
  304. package/codeyam-cli/src/webserver/__tests__/stripClaudeCommand.test.js.map +1 -0
  305. package/codeyam-cli/src/webserver/app/lib/clientErrors.js +86 -0
  306. package/codeyam-cli/src/webserver/app/lib/clientErrors.js.map +1 -0
  307. package/codeyam-cli/src/webserver/app/lib/git.js +397 -0
  308. package/codeyam-cli/src/webserver/app/lib/git.js.map +1 -0
  309. package/codeyam-cli/src/webserver/app/routes/api.interactive-switch-scenario.js +34 -0
  310. package/codeyam-cli/src/webserver/app/routes/api.interactive-switch-scenario.js.map +1 -0
  311. package/codeyam-cli/src/webserver/app/types/editor.js +8 -0
  312. package/codeyam-cli/src/webserver/app/types/editor.js.map +1 -0
  313. package/codeyam-cli/src/webserver/backgroundServer.js +60 -61
  314. package/codeyam-cli/src/webserver/backgroundServer.js.map +1 -1
  315. package/codeyam-cli/src/webserver/build/client/assets/CopyButton-CLe80MMu.js +1 -0
  316. package/codeyam-cli/src/webserver/build/client/assets/{EntityItem-C76mRRiF.js → EntityItem-Crt_KN_U.js} +5 -5
  317. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeBadge-CQgyEGV-.js +1 -0
  318. package/codeyam-cli/src/webserver/build/client/assets/{EntityTypeIcon-CobE682z.js → EntityTypeIcon-CD7lGABo.js} +9 -9
  319. package/codeyam-cli/src/webserver/build/client/assets/InlineSpinner-CgTNOhnu.js +1 -0
  320. package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-DtYTSPL2.js +25 -0
  321. package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-D3s1MFkb.js +3 -0
  322. package/codeyam-cli/src/webserver/build/client/assets/{LoadingDots-BU_OAEMP.js → LoadingDots-By5zI316.js} +1 -1
  323. package/codeyam-cli/src/webserver/build/client/assets/{LogViewer-ceAyBX-H.js → LogViewer-CM5zg40N.js} +3 -3
  324. package/codeyam-cli/src/webserver/build/client/assets/MiniClaudeChat-CQENLSrF.js +36 -0
  325. package/codeyam-cli/src/webserver/build/client/assets/{ReportIssueModal-djPLI-WV.js → ReportIssueModal-C2PLkej3.js} +4 -4
  326. package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-DanvyBPb.js +1 -0
  327. package/codeyam-cli/src/webserver/build/client/assets/{ScenarioViewer-B76aig_2.js → ScenarioViewer-CefgqbCr.js} +3 -3
  328. package/codeyam-cli/src/webserver/build/client/assets/Spinner-Bc8BG-Lw.js +34 -0
  329. package/codeyam-cli/src/webserver/build/client/assets/TruncatedFilePath-CK7-NaPZ.js +1 -0
  330. package/codeyam-cli/src/webserver/build/client/assets/ViewportInspectBar-BA_Ry-rs.js +1 -0
  331. package/codeyam-cli/src/webserver/build/client/assets/{_index-C96V0n15.js → _index-C1YkzTAV.js} +4 -4
  332. package/codeyam-cli/src/webserver/build/client/assets/{activity.(_tab)-BpKzcsJz.js → activity.(_tab)-yH46LLUz.js} +8 -8
  333. package/codeyam-cli/src/webserver/build/client/assets/addon-canvas-DpzMmAy5.js +1 -0
  334. package/codeyam-cli/src/webserver/build/client/assets/addon-fit-YJmn1quW.js +12 -0
  335. package/codeyam-cli/src/webserver/build/client/assets/{addon-web-links-Duc5hnl7.js → addon-web-links-CHx25PAe.js} +1 -1
  336. package/codeyam-cli/src/webserver/build/client/assets/addon-webgl-DI8QOUvO.js +58 -0
  337. package/codeyam-cli/src/webserver/build/client/assets/{agent-transcripts-D9hemwl6.js → agent-transcripts-Bg3e7q4S.js} +7 -7
  338. package/codeyam-cli/src/webserver/build/client/assets/api.editor-file-diff-l0sNRNKZ.js +1 -0
  339. package/codeyam-cli/src/webserver/build/client/assets/api.editor-file-l0sNRNKZ.js +1 -0
  340. package/codeyam-cli/src/webserver/build/client/assets/api.editor-project-info-l0sNRNKZ.js +1 -0
  341. package/codeyam-cli/src/webserver/build/client/assets/api.editor-recapture-stale-l0sNRNKZ.js +1 -0
  342. package/codeyam-cli/src/webserver/build/client/assets/api.editor-rename-scenario-l0sNRNKZ.js +1 -0
  343. package/codeyam-cli/src/webserver/build/client/assets/api.editor-save-scenario-data-l0sNRNKZ.js +1 -0
  344. package/codeyam-cli/src/webserver/build/client/assets/api.editor-save-seed-state-l0sNRNKZ.js +1 -0
  345. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenario-coverage-l0sNRNKZ.js +1 -0
  346. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenario-prompt-l0sNRNKZ.js +1 -0
  347. package/codeyam-cli/src/webserver/build/client/assets/api.editor-schema-l0sNRNKZ.js +1 -0
  348. package/codeyam-cli/src/webserver/build/client/assets/api.editor-session-l0sNRNKZ.js +1 -0
  349. package/codeyam-cli/src/webserver/build/client/assets/api.editor-verify-routes-l0sNRNKZ.js +1 -0
  350. package/codeyam-cli/src/webserver/build/client/assets/api.interactive-switch-scenario-l0sNRNKZ.js +1 -0
  351. package/codeyam-cli/src/webserver/build/client/assets/{book-open-D_nMCFmP.js → book-open-CL-lMgHh.js} +2 -2
  352. package/codeyam-cli/src/webserver/build/client/assets/{chevron-down-BH2h1Ea2.js → chevron-down-GmAjGS9-.js} +2 -2
  353. package/codeyam-cli/src/webserver/build/client/assets/chunk-JZWAC4HX-BAdwhyCx.js +43 -0
  354. package/codeyam-cli/src/webserver/build/client/assets/{circle-check-DyIKORY6.js → circle-check-DFcQkN5j.js} +2 -2
  355. package/codeyam-cli/src/webserver/build/client/assets/{copy-NDbZjXao.js → copy-C6iF61Xs.js} +3 -3
  356. package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-4ImjHTVC.js +41 -0
  357. package/codeyam-cli/src/webserver/build/client/assets/cy-logo-cli-Coe5NhbS.js +1 -0
  358. package/codeyam-cli/src/webserver/build/client/assets/{cy-logo-cli-CCKUIm0S.svg → cy-logo-cli-DoA97ML3.svg} +2 -2
  359. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-CRepiabR.js +1 -0
  360. package/codeyam-cli/src/webserver/build/client/assets/editor._tab-Gbk_i5Js.js +1 -0
  361. package/codeyam-cli/src/webserver/build/client/assets/editor.entity.(_sha)-oBrbke_R.js +96 -0
  362. package/codeyam-cli/src/webserver/build/client/assets/editorPreview-CluPkvXJ.js +41 -0
  363. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha._-CrjR3zZW.js → entity._sha._-DYJRGiDI.js} +14 -13
  364. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.dev-wdiwx5-Z.js +6 -0
  365. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.fullscreen-BrkN-40Y.js +6 -0
  366. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-DxfhekTZ.js +6 -0
  367. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha_.edit._scenarioId-BMvVHNXU.js → entity._sha_.edit._scenarioId-CRXJWmpB.js} +2 -2
  368. package/codeyam-cli/src/webserver/build/client/assets/{entry.client-DTvKq3TY.js → entry.client-SuW9syRS.js} +6 -6
  369. package/codeyam-cli/src/webserver/build/client/assets/fileTableUtils-Daa96Fr1.js +1 -0
  370. package/codeyam-cli/src/webserver/build/client/assets/files-D-xGrg29.js +1 -0
  371. package/codeyam-cli/src/webserver/build/client/assets/git-Bq_fbXP5.js +1 -0
  372. package/codeyam-cli/src/webserver/build/client/assets/globals-oyPmV37k.css +1 -0
  373. package/codeyam-cli/src/webserver/build/client/assets/{index-BcvgDzbZ.js → index-Bp1l4hSv.js} +1 -1
  374. package/codeyam-cli/src/webserver/build/client/assets/{index-10oVnAAH.js → index-CWV9XZiG.js} +1 -1
  375. package/codeyam-cli/src/webserver/build/client/assets/index-DE3jI_dv.js +15 -0
  376. package/codeyam-cli/src/webserver/build/client/assets/jsx-runtime-D_zvdyIk.js +9 -0
  377. package/codeyam-cli/src/webserver/build/client/assets/labs-B_IX45ih.js +1 -0
  378. package/codeyam-cli/src/webserver/build/client/assets/{loader-circle-BAXYRVEO.js → loader-circle-De-7qQ2u.js} +2 -2
  379. package/codeyam-cli/src/webserver/build/client/assets/manifest-694b698a.js +1 -0
  380. package/codeyam-cli/src/webserver/build/client/assets/memory-Cx2xEx7s.js +101 -0
  381. package/codeyam-cli/src/webserver/build/client/assets/{pause-DTAcYxBt.js → pause-CFxEKL1u.js} +3 -3
  382. package/codeyam-cli/src/webserver/build/client/assets/root-DXjFYOxD.js +80 -0
  383. package/codeyam-cli/src/webserver/build/client/assets/{search-fKo7v0Zo.js → search-BdBb5aqc.js} +2 -2
  384. package/codeyam-cli/src/webserver/build/client/assets/settings-DdE-Untf.js +1 -0
  385. package/codeyam-cli/src/webserver/build/client/assets/simulations-DSCdE99u.js +1 -0
  386. package/codeyam-cli/src/webserver/build/client/assets/{terminal-BG4heKCG.js → terminal-CrplD4b1.js} +3 -3
  387. package/codeyam-cli/src/webserver/build/client/assets/{triangle-alert-DtSmdtM4.js → triangle-alert-DqJ0j69l.js} +2 -2
  388. package/codeyam-cli/src/webserver/build/client/assets/useCustomSizes-DhXHbEjP.js +1 -0
  389. package/codeyam-cli/src/webserver/build/client/assets/useLastLogLine-D9QZKaLJ.js +2 -0
  390. package/codeyam-cli/src/webserver/build/client/assets/useReportContext-Cy5Qg_UR.js +1 -0
  391. package/codeyam-cli/src/webserver/build/client/assets/useToast-5HR2j9ZE.js +1 -0
  392. package/codeyam-cli/src/webserver/build/client/sound-test.html +98 -0
  393. package/codeyam-cli/src/webserver/build/server/assets/analysisRunner-zEYtiv0T.js +16 -0
  394. package/codeyam-cli/src/webserver/build/server/assets/index-CcHPEbhi.js +1 -0
  395. package/codeyam-cli/src/webserver/build/server/assets/init-D68IyWbU.js +10 -0
  396. package/codeyam-cli/src/webserver/build/server/assets/progress-CHTtrxFG.js +1 -0
  397. package/codeyam-cli/src/webserver/build/server/assets/server-build-Cxzo0Zp2.js +688 -0
  398. package/codeyam-cli/src/webserver/build/server/index.js +1 -1
  399. package/codeyam-cli/src/webserver/build-info.json +5 -5
  400. package/codeyam-cli/src/webserver/editorProxy.js +638 -50
  401. package/codeyam-cli/src/webserver/editorProxy.js.map +1 -1
  402. package/codeyam-cli/src/webserver/idleDetector.js +121 -0
  403. package/codeyam-cli/src/webserver/idleDetector.js.map +1 -0
  404. package/codeyam-cli/src/webserver/mockStateEvents.js +28 -0
  405. package/codeyam-cli/src/webserver/mockStateEvents.js.map +1 -0
  406. package/codeyam-cli/src/webserver/public/sound-test.html +98 -0
  407. package/codeyam-cli/src/webserver/scripts/codeyam-preload.mjs +242 -3
  408. package/codeyam-cli/src/webserver/scripts/journalCapture.ts +147 -4
  409. package/codeyam-cli/src/webserver/server.js +169 -16
  410. package/codeyam-cli/src/webserver/server.js.map +1 -1
  411. package/codeyam-cli/src/webserver/terminalServer.js +303 -51
  412. package/codeyam-cli/src/webserver/terminalServer.js.map +1 -1
  413. package/codeyam-cli/templates/__tests__/editor-step-hook.prompt-capture.test.ts +118 -0
  414. package/codeyam-cli/templates/chrome-extension-react/EXTENSION_SETUP.md +75 -0
  415. package/codeyam-cli/templates/chrome-extension-react/README.md +46 -0
  416. package/codeyam-cli/templates/chrome-extension-react/gitignore +15 -0
  417. package/codeyam-cli/templates/chrome-extension-react/index.html +12 -0
  418. package/codeyam-cli/templates/chrome-extension-react/package.json +27 -0
  419. package/codeyam-cli/templates/chrome-extension-react/popup.html +12 -0
  420. package/codeyam-cli/templates/chrome-extension-react/public/manifest.json +15 -0
  421. package/codeyam-cli/templates/chrome-extension-react/src/background/service-worker.ts +7 -0
  422. package/codeyam-cli/templates/chrome-extension-react/src/globals.css +6 -0
  423. package/codeyam-cli/templates/chrome-extension-react/src/lib/storage.ts +37 -0
  424. package/codeyam-cli/templates/chrome-extension-react/src/popup/App.tsx +12 -0
  425. package/codeyam-cli/templates/chrome-extension-react/src/popup/main.tsx +10 -0
  426. package/codeyam-cli/templates/chrome-extension-react/tsconfig.json +24 -0
  427. package/codeyam-cli/templates/chrome-extension-react/vite.config.ts +41 -0
  428. package/codeyam-cli/templates/codeyam-editor-claude.md +86 -5
  429. package/codeyam-cli/templates/codeyam-editor-reference.md +216 -0
  430. package/codeyam-cli/templates/design-systems/clean-dashboard-design-system.md +255 -0
  431. package/codeyam-cli/templates/design-systems/editorial-design-system.md +267 -0
  432. package/codeyam-cli/templates/design-systems/mono-brutalist-design-system.md +256 -0
  433. package/codeyam-cli/templates/design-systems/neo-brutalist-design-system.md +294 -0
  434. package/codeyam-cli/templates/editor-step-hook.py +262 -41
  435. package/codeyam-cli/templates/expo-react-native/MOBILE_SETUP.md +89 -0
  436. package/codeyam-cli/templates/expo-react-native/README.md +41 -0
  437. package/codeyam-cli/templates/expo-react-native/app/(tabs)/_layout.tsx +33 -0
  438. package/codeyam-cli/templates/expo-react-native/app/(tabs)/index.tsx +12 -0
  439. package/codeyam-cli/templates/expo-react-native/app/(tabs)/settings.tsx +12 -0
  440. package/codeyam-cli/templates/expo-react-native/app/_layout.tsx +12 -0
  441. package/codeyam-cli/templates/expo-react-native/app.json +18 -0
  442. package/codeyam-cli/templates/expo-react-native/babel.config.js +9 -0
  443. package/codeyam-cli/templates/expo-react-native/gitignore +12 -0
  444. package/codeyam-cli/templates/expo-react-native/global.css +3 -0
  445. package/codeyam-cli/templates/expo-react-native/lib/storage.ts +32 -0
  446. package/codeyam-cli/templates/expo-react-native/metro.config.js +6 -0
  447. package/codeyam-cli/templates/expo-react-native/nativewind-env.d.ts +1 -0
  448. package/codeyam-cli/templates/expo-react-native/package.json +38 -0
  449. package/codeyam-cli/templates/expo-react-native/tailwind.config.js +10 -0
  450. package/codeyam-cli/templates/expo-react-native/tsconfig.json +10 -0
  451. package/codeyam-cli/templates/nextjs-prisma-sqlite/AUTH_PATTERNS.md +308 -0
  452. package/codeyam-cli/templates/nextjs-prisma-sqlite/AUTH_UPGRADE.md +304 -0
  453. package/codeyam-cli/templates/nextjs-prisma-sqlite/DATABASE.md +126 -0
  454. package/codeyam-cli/templates/nextjs-prisma-sqlite/FEATURE_PATTERNS.md +37 -0
  455. package/codeyam-cli/templates/nextjs-prisma-sqlite/README.md +53 -0
  456. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/codeyam-isolate/layout.tsx +12 -0
  457. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/lib/prisma.ts +9 -4
  458. package/codeyam-cli/templates/nextjs-prisma-sqlite/env +4 -0
  459. package/codeyam-cli/templates/nextjs-prisma-sqlite/gitignore +21 -0
  460. package/codeyam-cli/templates/nextjs-prisma-sqlite/package.json +6 -2
  461. package/codeyam-cli/templates/nextjs-prisma-sqlite/prisma/seed.ts +4 -1
  462. package/codeyam-cli/templates/nextjs-prisma-sqlite/seed-adapter.ts +140 -0
  463. package/codeyam-cli/templates/nextjs-prisma-sqlite/vitest.config.ts +13 -0
  464. package/codeyam-cli/templates/nextjs-prisma-supabase/README.md +52 -0
  465. package/codeyam-cli/templates/{nextjs-prisma-sqlite/PRISMA_SETUP.md → nextjs-prisma-supabase/SUPABASE_SETUP.md} +37 -17
  466. package/codeyam-cli/templates/nextjs-prisma-supabase/app/api/todos/route.ts +17 -0
  467. package/codeyam-cli/templates/nextjs-prisma-supabase/app/globals.css +26 -0
  468. package/codeyam-cli/templates/nextjs-prisma-supabase/app/layout.tsx +34 -0
  469. package/codeyam-cli/templates/nextjs-prisma-supabase/app/lib/prisma.ts +20 -0
  470. package/codeyam-cli/templates/nextjs-prisma-supabase/app/lib/supabase.ts +12 -0
  471. package/codeyam-cli/templates/nextjs-prisma-supabase/app/page.tsx +10 -0
  472. package/codeyam-cli/templates/nextjs-prisma-supabase/env +9 -0
  473. package/codeyam-cli/templates/nextjs-prisma-supabase/eslint.config.mjs +11 -0
  474. package/codeyam-cli/templates/nextjs-prisma-supabase/gitignore +40 -0
  475. package/codeyam-cli/templates/nextjs-prisma-supabase/next.config.ts +11 -0
  476. package/codeyam-cli/templates/nextjs-prisma-supabase/package.json +37 -0
  477. package/codeyam-cli/templates/nextjs-prisma-supabase/postcss.config.mjs +7 -0
  478. package/codeyam-cli/templates/nextjs-prisma-supabase/prisma/schema.prisma +27 -0
  479. package/codeyam-cli/templates/nextjs-prisma-supabase/prisma/seed.ts +39 -0
  480. package/codeyam-cli/templates/nextjs-prisma-supabase/prisma.config.ts +12 -0
  481. package/codeyam-cli/templates/nextjs-prisma-supabase/tsconfig.json +34 -0
  482. package/codeyam-cli/templates/seed-adapters/supabase.ts +291 -0
  483. package/codeyam-cli/templates/skills/codeyam-dev-mode/SKILL.md +2 -2
  484. package/codeyam-cli/templates/skills/codeyam-editor/SKILL.md +177 -17
  485. package/codeyam-cli/templates/skills/codeyam-memory/SKILL.md +10 -10
  486. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/detect-deprecated-patterns.mjs +139 -0
  487. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/find-exports.mjs +52 -0
  488. package/codeyam-cli/templates/skills/codeyam-memory/scripts/lib/read-json-field.mjs +61 -0
  489. package/codeyam-cli/templates/skills/codeyam-memory/scripts/lib/ripgrep-fallback.mjs +155 -0
  490. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/cleanup.mjs +13 -0
  491. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/filter-session.mjs +95 -0
  492. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/preprocess.mjs +160 -0
  493. package/package.json +15 -9
  494. package/packages/ai/src/lib/astScopes/methodSemantics.js +99 -0
  495. package/packages/ai/src/lib/astScopes/methodSemantics.js.map +1 -1
  496. package/packages/ai/src/lib/astScopes/nodeToSource.js +16 -0
  497. package/packages/ai/src/lib/astScopes/nodeToSource.js.map +1 -1
  498. package/packages/ai/src/lib/astScopes/paths.js +12 -3
  499. package/packages/ai/src/lib/astScopes/paths.js.map +1 -1
  500. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +27 -10
  501. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
  502. package/packages/ai/src/lib/dataStructure/equivalencyManagers/ParentScopeManager.js +9 -2
  503. package/packages/ai/src/lib/dataStructure/equivalencyManagers/ParentScopeManager.js.map +1 -1
  504. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js +14 -4
  505. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js.map +1 -1
  506. package/packages/ai/src/lib/generateExecutionFlows.js +0 -11
  507. package/packages/ai/src/lib/generateExecutionFlows.js.map +1 -1
  508. package/packages/analyze/index.js +1 -1
  509. package/packages/analyze/index.js.map +1 -1
  510. package/packages/analyze/src/lib/ProjectAnalyzer.js +10 -4
  511. package/packages/analyze/src/lib/ProjectAnalyzer.js.map +1 -1
  512. package/packages/analyze/src/lib/asts/index.js +4 -2
  513. package/packages/analyze/src/lib/asts/index.js.map +1 -1
  514. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js +16 -2
  515. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js.map +1 -1
  516. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js +6 -26
  517. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js.map +1 -1
  518. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js +3 -2
  519. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js.map +1 -1
  520. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js +9 -7
  521. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js.map +1 -1
  522. package/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.js +14 -0
  523. package/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.js.map +1 -1
  524. package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js +44 -11
  525. package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js.map +1 -1
  526. package/packages/analyze/src/lib/files/analyzeChange.js +1 -0
  527. package/packages/analyze/src/lib/files/analyzeChange.js.map +1 -1
  528. package/packages/analyze/src/lib/files/analyzeInitial.js +1 -0
  529. package/packages/analyze/src/lib/files/analyzeInitial.js.map +1 -1
  530. package/packages/analyze/src/lib/files/analyzeNextRoute.js +5 -1
  531. package/packages/analyze/src/lib/files/analyzeNextRoute.js.map +1 -1
  532. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js +120 -28
  533. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
  534. package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js +0 -40
  535. package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js.map +1 -1
  536. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +1368 -1193
  537. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
  538. package/packages/database/src/lib/kysely/tables/editorScenariosTable.js +104 -0
  539. package/packages/database/src/lib/kysely/tables/editorScenariosTable.js.map +1 -1
  540. package/packages/database/src/lib/loadAnalysis.js +7 -1
  541. package/packages/database/src/lib/loadAnalysis.js.map +1 -1
  542. package/packages/database/src/lib/loadEntities.js +0 -6
  543. package/packages/database/src/lib/loadEntities.js.map +1 -1
  544. package/packages/database/src/lib/loadEntity.js +5 -5
  545. package/packages/database/src/lib/loadEntity.js.map +1 -1
  546. package/packages/database/src/lib/updateCommitMetadata.js +0 -25
  547. package/packages/database/src/lib/updateCommitMetadata.js.map +1 -1
  548. package/packages/types/src/enums/ProjectFramework.js +2 -0
  549. package/packages/types/src/enums/ProjectFramework.js.map +1 -1
  550. package/packages/utils/src/lib/fs/rsyncCopy.js +22 -1
  551. package/packages/utils/src/lib/fs/rsyncCopy.js.map +1 -1
  552. package/codeyam-cli/src/webserver/build/client/assets/CopyButton-DmJveP3T.js +0 -1
  553. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeBadge-g3saevPb.js +0 -1
  554. package/codeyam-cli/src/webserver/build/client/assets/InlineSpinner-Bu6c6aDe.js +0 -1
  555. package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-DYFW3lDD.js +0 -25
  556. package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-DLeucoVX.js +0 -3
  557. package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-BED4B6sP.js +0 -1
  558. package/codeyam-cli/src/webserver/build/client/assets/Spinner-Bb5uFQ5V.js +0 -34
  559. package/codeyam-cli/src/webserver/build/client/assets/Terminal-Dnj5CY9R.js +0 -41
  560. package/codeyam-cli/src/webserver/build/client/assets/TruncatedFilePath-C8OKAR5x.js +0 -1
  561. package/codeyam-cli/src/webserver/build/client/assets/addon-fit-CUXOrorO.js +0 -1
  562. package/codeyam-cli/src/webserver/build/client/assets/chunk-JZWAC4HX-C4pqxYJB.js +0 -51
  563. package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-CMT1jU2q.js +0 -21
  564. package/codeyam-cli/src/webserver/build/client/assets/cy-logo-cli-DcX-ZS3p.js +0 -1
  565. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-BiM6z3Do.js +0 -1
  566. package/codeyam-cli/src/webserver/build/client/assets/editor-D1DAKXtT.js +0 -8
  567. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.dev-DkzqFzFj.js +0 -6
  568. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.fullscreen-C28BiQzt.js +0 -6
  569. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-p9hhkjJM.js +0 -6
  570. package/codeyam-cli/src/webserver/build/client/assets/fileTableUtils-cPo8LiG3.js +0 -1
  571. package/codeyam-cli/src/webserver/build/client/assets/files-DO4CZ16O.js +0 -1
  572. package/codeyam-cli/src/webserver/build/client/assets/git-CFCTYk9I.js +0 -15
  573. package/codeyam-cli/src/webserver/build/client/assets/globals-B17TBSS6.css +0 -1
  574. package/codeyam-cli/src/webserver/build/client/assets/labs-Zk7ryIM1.js +0 -1
  575. package/codeyam-cli/src/webserver/build/client/assets/manifest-a632de18.js +0 -1
  576. package/codeyam-cli/src/webserver/build/client/assets/memory-Dg0mvYrI.js +0 -96
  577. package/codeyam-cli/src/webserver/build/client/assets/root-DUKqhFlb.js +0 -67
  578. package/codeyam-cli/src/webserver/build/client/assets/settings-DfuTtcJP.js +0 -1
  579. package/codeyam-cli/src/webserver/build/client/assets/simulations-B3aOzpCZ.js +0 -1
  580. package/codeyam-cli/src/webserver/build/client/assets/useCustomSizes-ByhSyh0W.js +0 -1
  581. package/codeyam-cli/src/webserver/build/client/assets/useLastLogLine-C14nCb1q.js +0 -2
  582. package/codeyam-cli/src/webserver/build/client/assets/useReportContext-O-jkvSPx.js +0 -1
  583. package/codeyam-cli/src/webserver/build/client/assets/useToast-9FIWuYfK.js +0 -1
  584. package/codeyam-cli/src/webserver/build/server/assets/index-HfLydfDq.js +0 -1
  585. package/codeyam-cli/src/webserver/build/server/assets/server-build-CUu_F-oo.js +0 -366
  586. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/detect-deprecated-patterns.sh +0 -108
  587. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/find-exports.sh +0 -69
  588. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/cleanup.sh +0 -12
  589. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/filter.jq +0 -45
  590. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/preprocess.sh +0 -139
@@ -0,0 +1,216 @@
1
+ # .codeyam/ Directory Reference
2
+
3
+ This file documents the `.codeyam/` internals and CLI commands. Consult this when you're stuck on scenario registration, audit failures, preview issues, or understanding what files do what.
4
+
5
+ ## Directory Structure
6
+
7
+ ### Committed Files (shared across clones)
8
+
9
+ - `config.json` — Project configuration: slug, screen sizes, default viewport, feature metadata
10
+ - `editor-scenarios/` — Scenario JSON files with seed data, localStorage, MSW handlers, and metadata
11
+ - `scenarios-manifest.json` — Index of all scenarios for database sync on fresh clones
12
+ - `design-system.md` — Design tokens and brand guidelines (if present)
13
+ - `glossary.json` — Entity glossary built during extraction steps
14
+ - `msw-handlers/` — MSW handler files for API mocking (one per scenario)
15
+ - `seed-adapters/` — Seed adapter templates for database seeding
16
+
17
+ ### Gitignored Files (machine-local)
18
+
19
+ - `db.sqlite3` / `db.sqlite3-wal` / `db.sqlite3-shm` — SQLite database (rebuilt on clone via `codeyam editor`)
20
+ - `secrets.json` — API keys (Anthropic, etc.)
21
+ - `server.json` / `server-state.json` — Background server process state
22
+ - `queue.json` — Analysis job queue state
23
+ - `active-scenario.json` — Currently active scenario for the preview
24
+ - `editor-step.json` — Current editor workflow step number
25
+ - `editor-user-prompt.txt` — The user's feature request text
26
+ - `claude-session-id.txt` — Claude Code session ID for step tracking
27
+ - `editor-mode-context.md` / `dev-mode-context.md` — Generated context for Claude
28
+ - `logs/` — Server and analysis logs
29
+ - `llm-calls/` — LLM call recordings
30
+ - `captures/` — Playwright screenshot captures
31
+ - `results/` — Analysis results
32
+ - `tmp/` — Temporary files (use for large scenario JSON)
33
+ - `rules/` — Auto-installed Claude rules
34
+ - `bin/` — Helper scripts and hooks
35
+
36
+ ## CLI Command Reference
37
+
38
+ All commands use the pattern `codeyam editor <subcommand>`.
39
+
40
+ ### Scenario Management
41
+
42
+ | Command | Description |
43
+ | --------------------------------------- | ---------------------------------------------------------- |
44
+ | `codeyam editor register '<json>'` | Register a scenario (inline JSON or `@path/to/file.json`) |
45
+ | `codeyam editor scenarios` | List all registered scenarios |
46
+ | `codeyam editor delete <scenarioId>` | Delete a scenario by ID |
47
+ | `codeyam editor scenario-coverage` | Verify all affected scenarios are fresh after code changes |
48
+ | `codeyam editor validate-seed '<json>'` | Validate seed data structure |
49
+
50
+ ### Preview & Verification
51
+
52
+ | Command | Description |
53
+ | --------------------------------- | ------------------------------------------------------------------------------------------------- |
54
+ | `codeyam editor preview '<json>'` | Navigate preview — **must include `dimension`** (e.g., `{"path":"/route","dimension":"Desktop"}`) |
55
+ | `codeyam editor client-errors` | Show client-side errors from the preview iframe |
56
+ | `codeyam editor audit` | Check that glossary entries have registered scenarios and tests |
57
+
58
+ ### Entity Analysis
59
+
60
+ | Command | Description |
61
+ | ------------------------------------------------ | ---------------------------------------------------------------------- |
62
+ | `codeyam editor analyze-imports [file...]` | Build the import dependency graph (optionally scope to specific files) |
63
+ | `codeyam editor dependents <EntityName>` | Find all entities that import a given entity |
64
+ | `codeyam editor isolate "ComponentA ComponentB"` | Create isolation route directories for components |
65
+
66
+ ### Server
67
+
68
+ | Command | Description |
69
+ | --------------------------- | ----------------------- |
70
+ | `codeyam editor dev-server` | Query dev server status |
71
+
72
+ ### Workflow
73
+
74
+ | Command | Description |
75
+ | ------------------------------------------------------- | --------------------------------------------------------------- |
76
+ | `codeyam editor <1-18>` | Jump to a specific editor workflow step |
77
+ | `codeyam editor steps` | Show setup overview or cycle progress |
78
+ | `codeyam editor change <feature>` | Start the change workflow for modifying features |
79
+ | `codeyam editor sync` | Import scenarios from manifest into database (used after clone) |
80
+ | `codeyam editor migrate [step\|next\|complete\|status]` | Run migration workflow steps |
81
+
82
+ ## Scenario Registration Patterns
83
+
84
+ ### Component-Level Scenario
85
+
86
+ ```json
87
+ {
88
+ "name": "TaskCard - Overdue",
89
+ "componentName": "TaskCard",
90
+ "url": "/isolated-components/TaskCard?s=Overdue",
91
+ "dimensions": ["Desktop"]
92
+ }
93
+ ```
94
+
95
+ ### App-Level Scenario
96
+
97
+ ```json
98
+ {
99
+ "name": "Dashboard with Tasks",
100
+ "url": "/",
101
+ "dimensions": ["Desktop"],
102
+ "seedData": {
103
+ "tasks": [{ "id": 1, "title": "Ship feature", "status": "in_progress" }]
104
+ },
105
+ "localStorage": { "user": "{\"name\":\"Alice\"}" }
106
+ }
107
+ ```
108
+
109
+ ### Large JSON — Use a Tmp File
110
+
111
+ Write JSON to `.codeyam/tmp/scenario.json` using the **Write tool**, then:
112
+
113
+ ```bash
114
+ codeyam editor register @.codeyam/tmp/scenario.json
115
+ ```
116
+
117
+ ### Re-registration
118
+
119
+ Registering a scenario with the same name replaces the existing one. No need to delete first.
120
+
121
+ ### Dimensions
122
+
123
+ Dimension names come from `screenSizes` in `.codeyam/config.json`. Common values: `"Desktop"`, `"Mobile"`, `"Tablet"`. Every scenario and preview command must specify a dimension.
124
+
125
+ ## Troubleshooting
126
+
127
+ ### Audit gate blocking step 8+
128
+
129
+ The audit checks that every glossary entity has at least one scenario and passes tests. Fix by:
130
+
131
+ 1. Run `codeyam editor audit` to see which entities are missing coverage
132
+ 2. Register scenarios for uncovered entities
133
+ 3. Fix any failing tests
134
+ 4. Re-run audit — do NOT loop `audit` and `analyze-imports` repeatedly
135
+
136
+ ### Scenarios showing empty/blank pages or error pages
137
+
138
+ The scenario renders a URL but the page has no visible content, or shows an error page. Common causes:
139
+
140
+ - **URL references IDs that don't exist in the seed data**: The URL contains a dynamic segment (e.g., `/items/abc-123`) but the seed data creates records with different IDs. Check the register output for `API response error` lines — they show the exact API call that failed and the server's response.
141
+ - **Seed data doesn't match the code**: The seeded data has fields the component doesn't read, or the component expects data the seed doesn't provide
142
+ - **Missing API route**: The component fetches from an API that doesn't exist yet
143
+ - **Component not exported or not mounted**: The isolation route doesn't render the component
144
+ - **Only create scenarios for states the current code can render** — if the component isn't built yet, the screenshot will be blank
145
+
146
+ ### Client errors in preview
147
+
148
+ Run `codeyam editor client-errors` to see errors from the preview. There are three types:
149
+
150
+ - **Console errors** (`Page console.error:`): JavaScript runtime errors — missing env vars, import errors, schema mismatches
151
+ - **HTTP errors** (`HTTP error: status=NNN`): The page URL itself returned a non-2xx status (e.g., 404 page not found)
152
+ - **API response errors** (`API response error: GET /api/... → NNN`): An API call made during page load returned a non-2xx status, with the server's response body included
153
+
154
+ API response errors are the most actionable — they show the exact endpoint that failed and what the server returned. When you see one, read the scenario's seed data and verify that the IDs in the URL match IDs created by the seed. For example, if the URL is `/page/items/abc-123` but the seed creates items with ID `item-1`, the API call to `/api/items/abc-123` will return 404.
155
+
156
+ ### Dependents returning nothing
157
+
158
+ `codeyam editor dependents <Entity>` requires the import graph to be built first. Run:
159
+
160
+ ```bash
161
+ codeyam editor analyze-imports # all entities
162
+ codeyam editor analyze-imports app/components/Foo.tsx # single file
163
+ codeyam editor analyze-imports app/components/Foo.tsx app/components/Bar.tsx # multiple files
164
+ ```
165
+
166
+ Then retry `dependents`. The import graph persists in the database.
167
+
168
+ ### Database missing after clone
169
+
170
+ This is expected — `db.sqlite3` is gitignored. Running `codeyam editor` detects this state (config.json exists, DB doesn't) and automatically runs `init --force` to rebuild the database and sync scenarios from the manifest.
171
+
172
+ ### Dev server not starting
173
+
174
+ Check if another process holds the port:
175
+
176
+ 1. Look at `.codeyam/server-state.json` for the PID and port
177
+ 2. Kill any stale process
178
+ 3. Restart with `codeyam editor` (the editor command starts the server)
179
+
180
+ ### Step validation errors
181
+
182
+ Each step has prerequisites. If a step refuses to run:
183
+
184
+ 1. Run `codeyam editor steps` to see which steps are complete
185
+ 2. Complete the prerequisite steps first
186
+ 3. Don't skip steps — the workflow is sequential
187
+
188
+ ### Dimension mismatch
189
+
190
+ If previews look wrong or captures fail:
191
+
192
+ - Check `screenSizes` in `.codeyam/config.json` for valid dimension names
193
+ - Scenario `dimensions` must reference names defined in `screenSizes`
194
+ - Preview commands must also include `dimension` — don't omit it
195
+
196
+ ### Preview not updating
197
+
198
+ If changes aren't reflected in the preview:
199
+
200
+ - The dev server may need to rebuild — check terminal output for compilation errors
201
+ - Hard-refresh the preview: `codeyam editor preview '{"path":"<current-path>","dimension":"<dimension>","forceRefresh":true}'`
202
+ - Check `codeyam editor client-errors` for runtime errors blocking render
203
+
204
+ ## Anti-Patterns
205
+
206
+ **Don't loop audit/analyze-imports.** If audit fails, fix the underlying issues (missing scenarios, failing tests). Running audit repeatedly without fixing anything wastes time.
207
+
208
+ **Don't use `prisma db push --force-reset`.** This drops all data. Instead, add `@default()` values for new required columns, or make them optional (`Int?`). Use `npm run db:push`.
209
+
210
+ **Don't hardcode viewport dimensions.** Always reference named dimensions from `screenSizes` in config.json (e.g., `"Desktop"`). Don't use raw pixel values like `1440x900`.
211
+
212
+ **Don't use bash heredocs for JSON.** Braces and quotes in heredocs trigger Claude Code security warnings. Use the **Write tool** to create `.codeyam/tmp/scenario.json`, then `codeyam editor register @.codeyam/tmp/scenario.json`.
213
+
214
+ **Don't blanket-ignore `.codeyam` in `.gitignore`.** Only machine-local files are ignored with granular patterns. Shared files (`config.json`, `editor-scenarios/`, etc.) must be committable.
215
+
216
+ **Don't register scenarios for unbuilt features.** If the component or page doesn't exist yet, the scenario will capture a blank page. Build the component first, then create scenarios for what it actually renders.
@@ -0,0 +1,255 @@
1
+ # Clean Dashboard Design System
2
+
3
+ > Minimal, information-dense UI. Subtle depth via soft shadows and thin borders. For any web or mobile app.
4
+
5
+ ## Philosophy
6
+
7
+ High data clarity, minimal chrome. Neutral palette with restrained color accents. Soft shadows and thin borders create depth without visual weight. Professional, calm motion. Consistent 4px grid.
8
+
9
+ **Rules:**
10
+
11
+ 1. Cards use `var(--bg-surface)` — never hardcoded or colored backgrounds
12
+ 2. Text hierarchy: primary → secondary → tertiary (never skip levels)
13
+ 3. No drop shadows on elements already inside a card
14
+ 4. Max 2 font weights per card
15
+ 5. Both light and dark mode required via `data-theme` attribute
16
+
17
+ ---
18
+
19
+ ## Colors
20
+
21
+ ### Light Mode
22
+
23
+ ```css
24
+ [data-theme='light'] {
25
+ --bg-base: #f7f8fa; /* page background */
26
+ --bg-surface: #ffffff; /* cards, panels */
27
+ --bg-overlay: #ffffff; /* modals, dropdowns */
28
+ --bg-muted: #f2f3f7; /* hover states, inactive */
29
+ --bg-active: #eef2ff; /* selected items */
30
+
31
+ --text-primary: #1a1b25;
32
+ --text-secondary: #6b7280;
33
+ --text-tertiary: #9ca3af;
34
+ --text-disabled: #c4c7ce;
35
+
36
+ --border: #e8e9ed;
37
+ --border-strong: #d1d3db;
38
+
39
+ --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
40
+ --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
41
+ }
42
+ ```
43
+
44
+ ### Dark Mode
45
+
46
+ ```css
47
+ [data-theme='dark'] {
48
+ --bg-base: #14141f;
49
+ --bg-surface: #1e1e2e;
50
+ --bg-overlay: #252537;
51
+ --bg-muted: #252537;
52
+ --bg-active: #2d2d45;
53
+
54
+ --text-primary: #e8e9f0;
55
+ --text-secondary: #9899aa;
56
+ --text-tertiary: #5e5f72;
57
+ --text-disabled: #3a3a50;
58
+
59
+ --border: #2a2a3e;
60
+ --border-strong: #383856;
61
+
62
+ --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.3);
63
+ --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4);
64
+ }
65
+ ```
66
+
67
+ Respect `@media (prefers-color-scheme: dark)` on `:root:not([data-theme="light"])`.
68
+
69
+ ### Accents
70
+
71
+ ```css
72
+ /* These don't change between modes */
73
+ --green-a: #34d399;
74
+ --green-b: #a7f3d0; /* positive states */
75
+ --red: #f87171; /* negative states */
76
+ --purple-a: #9b8afb;
77
+ --purple-b: #c4b5fd;
78
+ --blue-a: #60a5fa;
79
+ --blue-b: #bae6fd;
80
+ --yellow: #fcd34d;
81
+ ```
82
+
83
+ ### Semantic
84
+
85
+ ```css
86
+ --success-bg: var(--green-b);
87
+ --success-text: #065f46;
88
+ --danger-bg: #fee2e2;
89
+ --danger-text: #991b1b;
90
+ --warning-bg: #fef9c3;
91
+ --warning-text: #854d0e;
92
+ ```
93
+
94
+ ### Ordered Palette
95
+
96
+ ```css
97
+ /* For any categorical sequence: tags, categories, avatars, etc. */
98
+ --palette-1: #6c8ef5; /* blue-purple */
99
+ --palette-2: #34d399; /* green */
100
+ --palette-3: #f87171; /* red */
101
+ --palette-4: #fbbf24; /* yellow */
102
+ --palette-5: #a78bfa; /* purple */
103
+ --palette-6: #22d3ee; /* cyan */
104
+ ```
105
+
106
+ ---
107
+
108
+ ## Typography
109
+
110
+ **Font stack:** `'Inter', sans-serif`
111
+
112
+ | Style | Size | Weight | Notes |
113
+ | ------- | ---- | ------- | --------------------- |
114
+ | Display | 48px | 600 | Large emphasis values |
115
+ | 2XL | 24px | 400/600 | Section headings |
116
+ | LG | 18px | 400/600 | Card titles |
117
+ | SM | 14px | 400/600 | Body, labels |
118
+ | XS | 12px | 400/600 | Captions, timestamps |
119
+
120
+ ---
121
+
122
+ ## Spacing & Radius
123
+
124
+ Base unit: 4px. Scale: 4, 8, 12, 16, 20, 24, 32, 40px.
125
+
126
+ | Context | Value |
127
+ | -------------------- | ----------- |
128
+ | Card padding | `20px 24px` |
129
+ | Gap between cards | 16px |
130
+ | Gap between sections | 24px |
131
+
132
+ ```css
133
+ --radius-sm: 6px; /* badges, chips */
134
+ --radius-md: 8px; /* inputs, small cards */
135
+ --radius-lg: 12px; /* cards, panels */
136
+ --radius-xl: 16px; /* large containers */
137
+ --radius-full: 9999px; /* pills, avatars */
138
+ ```
139
+
140
+ ---
141
+
142
+ ## Layout
143
+
144
+ ### Common Patterns
145
+
146
+ - **Sidebar:** 200px fixed, `--bg-surface`, right border
147
+ - **Top bar:** 52px height, `--bg-surface`, bottom border. Contains: breadcrumbs (left), search (center), actions (right)
148
+ - **Side panel:** 260px fixed, `--bg-surface`, left border (optional, toggle on small viewports)
149
+ - **Main content:** flex-1, `--bg-base`, 24px padding
150
+
151
+ ### Navigation States
152
+
153
+ - Section labels: XS, `--text-tertiary`, uppercase, `letter-spacing: 0.08em`
154
+ - Nav items: SM, `--text-secondary`, hover → `--bg-muted`
155
+ - Active item: `--bg-active`, `--text-primary`, weight 600
156
+ - Nested indent: 16px
157
+
158
+ ### Mobile / Small Viewport
159
+
160
+ - Sidebar collapses to hamburger menu or bottom tab bar
161
+ - Side panel becomes slide-over or hidden
162
+ - Cards stack single-column, full width, reduce padding to 16px
163
+ - Top bar simplified: hamburger + key actions only
164
+
165
+ ---
166
+
167
+ ## Components
168
+
169
+ ### Card
170
+
171
+ ```css
172
+ .card {
173
+ background: var(--bg-surface);
174
+ border: 1px solid var(--border);
175
+ border-radius: var(--radius-lg);
176
+ padding: 20px 24px;
177
+ box-shadow: var(--shadow-sm);
178
+ }
179
+ ```
180
+
181
+ **Variants:** none — cards are always neutral surface color.
182
+
183
+ **Interactive states:** hover → `--bg-muted` background or `--shadow-md`. No transform.
184
+
185
+ ### Value Card
186
+
187
+ Card with: label (SM, `--text-secondary`), emphasized value (Display 48px, semibold), optional trend indicator. Positive: `--green-a` + `↗`. Negative: `--red` + `↘`. Trend text: XS, weight 500.
188
+
189
+ ### Button
190
+
191
+ ```css
192
+ .btn {
193
+ padding: 0 14px;
194
+ border-radius: var(--radius-md);
195
+ font-weight: 500;
196
+ font-size: 13px;
197
+ border: none;
198
+ cursor: pointer;
199
+ }
200
+ /* Hover: 8% brightness shift. Disabled: 40% opacity, not-allowed. */
201
+ ```
202
+
203
+ | Variant | Background | Text | Border/Shadow |
204
+ | ------------ | ---------------- | ------------------ | -------------------------------- |
205
+ | Filled | `--text-primary` | `--bg-base` | none |
206
+ | Filled muted | `--bg-muted` | `--text-primary` | none |
207
+ | Outline | transparent | `--text-primary` | `1px solid var(--border-strong)` |
208
+ | Ghost | transparent | `--text-secondary` | none |
209
+
210
+ | Size | Padding | Font Size |
211
+ | ------------ | ----------- | --------- |
212
+ | SM | `6px 10px` | 12px |
213
+ | MD (default) | `8px 14px` | 13px |
214
+ | LG | `11px 18px` | 14px |
215
+
216
+ Icon-only: square at size height. Split button: text + chevron with 1px divider.
217
+
218
+ ### Badge / Pill
219
+
220
+ `border-radius: var(--radius-sm)` for chips, `--radius-full` for pills. Use accent colors at low opacity for backgrounds.
221
+
222
+ ### Input
223
+
224
+ `--bg-surface`, `1px solid var(--border)`, `--radius-md`, SM text. Focus: `--border-strong` or accent ring.
225
+
226
+ ### Table / Data Row
227
+
228
+ Rows 32px height, `border-bottom: var(--border)`. Labels SM, `--text-secondary`. Hover → `--bg-muted`.
229
+
230
+ ---
231
+
232
+ ## Motion
233
+
234
+ ```css
235
+ --transition-fast: 100ms ease; /* hover states */
236
+ --transition-base: 180ms ease; /* general transitions */
237
+ --transition-slow: 280ms ease-in-out; /* panels, overlays */
238
+ ```
239
+
240
+ Calm and professional — no bounce or spring. Subtle opacity and position transitions only.
241
+
242
+ ---
243
+
244
+ ## Checklist
245
+
246
+ - [ ] Page bg is `--bg-base`, cards are `--bg-surface` — no hardcoded colors
247
+ - [ ] Both `data-theme="light"` and `"dark"` fully supported
248
+ - [ ] Text uses primary/secondary/tertiary hierarchy consistently
249
+ - [ ] All spacing on 4px grid
250
+ - [ ] No colored card backgrounds (except active-state chips)
251
+ - [ ] No shadows on elements inside cards
252
+ - [ ] Max 2 font weights per card
253
+ - [ ] Motion is subtle and fast — no bounce effects
254
+ - [ ] Icons are outlined, 1.5px stroke, inherit currentColor
255
+ - [ ] Ordered palette colors used consistently for categorical items