@codeyam/codeyam-cli 0.1.0-staging.73a4bf4 → 0.1.0-staging.78c1cad

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 (864) 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 +24 -24
  4. package/analyzer-template/packages/ai/package.json +3 -3
  5. package/analyzer-template/packages/ai/src/lib/astScopes/astScopeAnalyzer.ts +34 -3
  6. package/analyzer-template/packages/ai/src/lib/astScopes/methodSemantics.ts +135 -0
  7. package/analyzer-template/packages/ai/src/lib/astScopes/nodeToSource.ts +19 -0
  8. package/analyzer-template/packages/ai/src/lib/astScopes/paths.ts +11 -4
  9. package/analyzer-template/packages/ai/src/lib/completionCall.ts +114 -113
  10. package/analyzer-template/packages/ai/src/lib/dataStructure/ScopeDataStructure.ts +295 -14
  11. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/ParentScopeManager.ts +10 -3
  12. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.ts +16 -6
  13. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/coercePrimitivesToArraysBySchema.ts +62 -0
  14. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/stripNullableMarkers.ts +35 -0
  15. package/analyzer-template/packages/ai/src/lib/dataStructureChunking.ts +15 -6
  16. package/analyzer-template/packages/ai/src/lib/generateEntityScenarioData.ts +78 -2
  17. package/analyzer-template/packages/ai/src/lib/generateExecutionFlows.ts +96 -33
  18. package/analyzer-template/packages/analyze/index.ts +4 -1
  19. package/analyzer-template/packages/analyze/src/lib/ProjectAnalyzer.ts +19 -7
  20. package/analyzer-template/packages/analyze/src/lib/asts/index.ts +7 -2
  21. package/analyzer-template/packages/analyze/src/lib/asts/nodes/getNodeType.ts +1 -0
  22. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.ts +28 -2
  23. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities.ts +14 -37
  24. package/analyzer-template/packages/analyze/src/lib/files/analyze/dependencyResolver.ts +0 -6
  25. package/analyzer-template/packages/analyze/src/lib/files/analyze/findOrCreateEntity.ts +22 -6
  26. package/analyzer-template/packages/analyze/src/lib/files/analyze/gatherEntityMap.ts +9 -12
  27. package/analyzer-template/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.ts +21 -0
  28. package/analyzer-template/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.ts +82 -10
  29. package/analyzer-template/packages/analyze/src/lib/files/analyzeChange.ts +4 -0
  30. package/analyzer-template/packages/analyze/src/lib/files/analyzeInitial.ts +4 -0
  31. package/analyzer-template/packages/analyze/src/lib/files/analyzeNextRoute.ts +8 -3
  32. package/analyzer-template/packages/analyze/src/lib/files/scenarios/TransformationTracer.ts +65 -28
  33. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateDataStructure.ts +322 -58
  34. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.ts +0 -98
  35. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.ts +1707 -1466
  36. package/analyzer-template/packages/aws/package.json +10 -10
  37. package/analyzer-template/packages/database/index.ts +1 -0
  38. package/analyzer-template/packages/database/package.json +4 -4
  39. package/analyzer-template/packages/database/src/lib/kysely/db.ts +8 -0
  40. package/analyzer-template/packages/database/src/lib/kysely/tables/editorScenariosTable.ts +164 -0
  41. package/analyzer-template/packages/database/src/lib/loadAnalysis.ts +25 -15
  42. package/analyzer-template/packages/database/src/lib/loadCommits.ts +31 -20
  43. package/analyzer-template/packages/database/src/lib/loadEntities.ts +0 -6
  44. package/analyzer-template/packages/database/src/lib/loadEntity.ts +19 -8
  45. package/analyzer-template/packages/database/src/lib/loadReadyToBeCapturedAnalyses.ts +0 -5
  46. package/analyzer-template/packages/database/src/lib/updateCommitMetadata.ts +94 -143
  47. package/analyzer-template/packages/database/src/lib/updateFreshAnalysisStatus.ts +58 -42
  48. package/analyzer-template/packages/database/src/lib/updateFreshAnalysisStatusWithScenarios.ts +81 -65
  49. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.ts +29 -1
  50. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.ts +33 -5
  51. package/analyzer-template/packages/github/dist/database/index.d.ts +1 -0
  52. package/analyzer-template/packages/github/dist/database/index.d.ts.map +1 -1
  53. package/analyzer-template/packages/github/dist/database/index.js +1 -0
  54. package/analyzer-template/packages/github/dist/database/index.js.map +1 -1
  55. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts +2 -0
  56. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts.map +1 -1
  57. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js +5 -0
  58. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js.map +1 -1
  59. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.d.ts +29 -0
  60. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.d.ts.map +1 -0
  61. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.js +149 -0
  62. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.js.map +1 -0
  63. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts +5 -0
  64. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts.map +1 -1
  65. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.d.ts.map +1 -1
  66. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js +7 -1
  67. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js.map +1 -1
  68. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.d.ts.map +1 -1
  69. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js +23 -13
  70. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js.map +1 -1
  71. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.d.ts.map +1 -1
  72. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js +0 -6
  73. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js.map +1 -1
  74. package/analyzer-template/packages/github/dist/database/src/lib/loadEntity.d.ts +4 -1
  75. package/analyzer-template/packages/github/dist/database/src/lib/loadEntity.d.ts.map +1 -1
  76. package/analyzer-template/packages/github/dist/database/src/lib/loadEntity.js +5 -5
  77. package/analyzer-template/packages/github/dist/database/src/lib/loadEntity.js.map +1 -1
  78. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.d.ts.map +1 -1
  79. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js +1 -4
  80. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -1
  81. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.d.ts.map +1 -1
  82. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js +76 -90
  83. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js.map +1 -1
  84. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatus.d.ts.map +1 -1
  85. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatus.js +41 -30
  86. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatus.js.map +1 -1
  87. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatusWithScenarios.d.ts.map +1 -1
  88. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatusWithScenarios.js +68 -57
  89. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatusWithScenarios.js.map +1 -1
  90. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.d.ts.map +1 -1
  91. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js +29 -1
  92. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js.map +1 -1
  93. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.d.ts.map +1 -1
  94. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js +33 -5
  95. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js.map +1 -1
  96. package/analyzer-template/packages/github/dist/types/src/enums/ProjectFramework.d.ts +2 -0
  97. package/analyzer-template/packages/github/dist/types/src/enums/ProjectFramework.d.ts.map +1 -1
  98. package/analyzer-template/packages/github/dist/types/src/enums/ProjectFramework.js +2 -0
  99. package/analyzer-template/packages/github/dist/types/src/enums/ProjectFramework.js.map +1 -1
  100. package/analyzer-template/packages/github/dist/types/src/types/ProjectMetadata.d.ts +1 -0
  101. package/analyzer-template/packages/github/dist/types/src/types/ProjectMetadata.d.ts.map +1 -1
  102. package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts +10 -0
  103. package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts.map +1 -1
  104. package/analyzer-template/packages/github/package.json +1 -1
  105. package/analyzer-template/packages/types/src/enums/ProjectFramework.ts +2 -0
  106. package/analyzer-template/packages/types/src/types/ProjectMetadata.ts +1 -0
  107. package/analyzer-template/packages/types/src/types/Scenario.ts +10 -0
  108. package/analyzer-template/packages/ui-components/package.json +1 -1
  109. package/analyzer-template/packages/utils/dist/types/src/enums/ProjectFramework.d.ts +2 -0
  110. package/analyzer-template/packages/utils/dist/types/src/enums/ProjectFramework.d.ts.map +1 -1
  111. package/analyzer-template/packages/utils/dist/types/src/enums/ProjectFramework.js +2 -0
  112. package/analyzer-template/packages/utils/dist/types/src/enums/ProjectFramework.js.map +1 -1
  113. package/analyzer-template/packages/utils/dist/types/src/types/ProjectMetadata.d.ts +1 -0
  114. package/analyzer-template/packages/utils/dist/types/src/types/ProjectMetadata.d.ts.map +1 -1
  115. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts +10 -0
  116. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts.map +1 -1
  117. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.d.ts +3 -1
  118. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.d.ts.map +1 -1
  119. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.js +28 -3
  120. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.js.map +1 -1
  121. package/analyzer-template/packages/utils/src/lib/fs/rsyncCopy.ts +41 -2
  122. package/analyzer-template/playwright/captureFromUrl.ts +89 -82
  123. package/analyzer-template/project/analyzeFileEntities.ts +26 -0
  124. package/analyzer-template/project/constructMockCode.ts +168 -48
  125. package/analyzer-template/project/orchestrateCapture.ts +4 -1
  126. package/analyzer-template/project/reconcileMockDataKeys.ts +19 -14
  127. package/analyzer-template/project/runMultiScenarioServer.ts +26 -3
  128. package/analyzer-template/project/start.ts +3 -0
  129. package/analyzer-template/project/startScenarioCapture.ts +9 -0
  130. package/analyzer-template/project/writeClientLogRoute.ts +125 -0
  131. package/analyzer-template/project/writeMockDataTsx.ts +17 -0
  132. package/analyzer-template/project/writeScenarioComponents.ts +110 -17
  133. package/analyzer-template/tsconfig.json +13 -1
  134. package/background/src/lib/virtualized/project/analyzeFileEntities.js +22 -0
  135. package/background/src/lib/virtualized/project/analyzeFileEntities.js.map +1 -1
  136. package/background/src/lib/virtualized/project/constructMockCode.js +143 -39
  137. package/background/src/lib/virtualized/project/constructMockCode.js.map +1 -1
  138. package/background/src/lib/virtualized/project/orchestrateCapture.js +4 -1
  139. package/background/src/lib/virtualized/project/orchestrateCapture.js.map +1 -1
  140. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js +17 -11
  141. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js.map +1 -1
  142. package/background/src/lib/virtualized/project/runMultiScenarioServer.js +23 -3
  143. package/background/src/lib/virtualized/project/runMultiScenarioServer.js.map +1 -1
  144. package/background/src/lib/virtualized/project/start.js +2 -0
  145. package/background/src/lib/virtualized/project/start.js.map +1 -1
  146. package/background/src/lib/virtualized/project/startScenarioCapture.js +5 -0
  147. package/background/src/lib/virtualized/project/startScenarioCapture.js.map +1 -1
  148. package/background/src/lib/virtualized/project/writeClientLogRoute.js +110 -0
  149. package/background/src/lib/virtualized/project/writeClientLogRoute.js.map +1 -0
  150. package/background/src/lib/virtualized/project/writeMockDataTsx.js +12 -0
  151. package/background/src/lib/virtualized/project/writeMockDataTsx.js.map +1 -1
  152. package/background/src/lib/virtualized/project/writeScenarioComponents.js +83 -12
  153. package/background/src/lib/virtualized/project/writeScenarioComponents.js.map +1 -1
  154. package/codeyam-cli/scripts/apply-setup.js +208 -11
  155. package/codeyam-cli/scripts/apply-setup.js.map +1 -1
  156. package/codeyam-cli/src/__tests__/memory-scripts/filter-session.test.js +196 -0
  157. package/codeyam-cli/src/__tests__/memory-scripts/filter-session.test.js.map +1 -0
  158. package/codeyam-cli/src/__tests__/memory-scripts/read-json-field.test.js +114 -0
  159. package/codeyam-cli/src/__tests__/memory-scripts/read-json-field.test.js.map +1 -0
  160. package/codeyam-cli/src/__tests__/memory-scripts/ripgrep-fallback.test.js +149 -0
  161. package/codeyam-cli/src/__tests__/memory-scripts/ripgrep-fallback.test.js.map +1 -0
  162. package/codeyam-cli/src/cli.js +56 -25
  163. package/codeyam-cli/src/cli.js.map +1 -1
  164. package/codeyam-cli/src/commands/__tests__/editor.analyzeImportsArgs.test.js +47 -0
  165. package/codeyam-cli/src/commands/__tests__/editor.analyzeImportsArgs.test.js.map +1 -0
  166. package/codeyam-cli/src/commands/__tests__/editor.auditNoAutoAnalysis.test.js +71 -0
  167. package/codeyam-cli/src/commands/__tests__/editor.auditNoAutoAnalysis.test.js.map +1 -0
  168. package/codeyam-cli/src/commands/__tests__/editor.designSystem.test.js +30 -0
  169. package/codeyam-cli/src/commands/__tests__/editor.designSystem.test.js.map +1 -0
  170. package/codeyam-cli/src/commands/__tests__/editor.isolateArgs.test.js +51 -0
  171. package/codeyam-cli/src/commands/__tests__/editor.isolateArgs.test.js.map +1 -0
  172. package/codeyam-cli/src/commands/__tests__/editor.stepDispatch.test.js +56 -0
  173. package/codeyam-cli/src/commands/__tests__/editor.stepDispatch.test.js.map +1 -0
  174. package/codeyam-cli/src/commands/__tests__/init.gitignore.test.js +101 -47
  175. package/codeyam-cli/src/commands/__tests__/init.gitignore.test.js.map +1 -1
  176. package/codeyam-cli/src/commands/analyze.js +17 -7
  177. package/codeyam-cli/src/commands/analyze.js.map +1 -1
  178. package/codeyam-cli/src/commands/default.js +14 -2
  179. package/codeyam-cli/src/commands/default.js.map +1 -1
  180. package/codeyam-cli/src/commands/editor.js +5923 -0
  181. package/codeyam-cli/src/commands/editor.js.map +1 -0
  182. package/codeyam-cli/src/commands/editorAnalyzeImportsArgs.js +23 -0
  183. package/codeyam-cli/src/commands/editorAnalyzeImportsArgs.js.map +1 -0
  184. package/codeyam-cli/src/commands/editorIsolateArgs.js +25 -0
  185. package/codeyam-cli/src/commands/editorIsolateArgs.js.map +1 -0
  186. package/codeyam-cli/src/commands/init.js +109 -45
  187. package/codeyam-cli/src/commands/init.js.map +1 -1
  188. package/codeyam-cli/src/commands/memory.js +89 -75
  189. package/codeyam-cli/src/commands/memory.js.map +1 -1
  190. package/codeyam-cli/src/commands/telemetry.js +37 -0
  191. package/codeyam-cli/src/commands/telemetry.js.map +1 -0
  192. package/codeyam-cli/src/data/designSystems.js +27 -0
  193. package/codeyam-cli/src/data/designSystems.js.map +1 -0
  194. package/codeyam-cli/src/data/techStacks.js +77 -0
  195. package/codeyam-cli/src/data/techStacks.js.map +1 -0
  196. package/codeyam-cli/src/utils/__tests__/analyzerFinalization.test.js +173 -0
  197. package/codeyam-cli/src/utils/__tests__/analyzerFinalization.test.js.map +1 -0
  198. package/codeyam-cli/src/utils/__tests__/backgroundServer.test.js +46 -0
  199. package/codeyam-cli/src/utils/__tests__/backgroundServer.test.js.map +1 -0
  200. package/codeyam-cli/src/utils/__tests__/devServerState.test.js +134 -0
  201. package/codeyam-cli/src/utils/__tests__/devServerState.test.js.map +1 -0
  202. package/codeyam-cli/src/utils/__tests__/editorApi.test.js +181 -0
  203. package/codeyam-cli/src/utils/__tests__/editorApi.test.js.map +1 -0
  204. package/codeyam-cli/src/utils/__tests__/editorAudit.test.js +4024 -0
  205. package/codeyam-cli/src/utils/__tests__/editorAudit.test.js.map +1 -0
  206. package/codeyam-cli/src/utils/__tests__/editorBroadcastViewport.test.js +76 -0
  207. package/codeyam-cli/src/utils/__tests__/editorBroadcastViewport.test.js.map +1 -0
  208. package/codeyam-cli/src/utils/__tests__/editorCapture.test.js +93 -0
  209. package/codeyam-cli/src/utils/__tests__/editorCapture.test.js.map +1 -0
  210. package/codeyam-cli/src/utils/__tests__/editorCaptureScenarioSeeding.test.js +137 -0
  211. package/codeyam-cli/src/utils/__tests__/editorCaptureScenarioSeeding.test.js.map +1 -0
  212. package/codeyam-cli/src/utils/__tests__/editorDeleteScenario.test.js +100 -0
  213. package/codeyam-cli/src/utils/__tests__/editorDeleteScenario.test.js.map +1 -0
  214. package/codeyam-cli/src/utils/__tests__/editorDevServer.test.js +304 -0
  215. package/codeyam-cli/src/utils/__tests__/editorDevServer.test.js.map +1 -0
  216. package/codeyam-cli/src/utils/__tests__/editorEntityChangeStatus.test.js +194 -0
  217. package/codeyam-cli/src/utils/__tests__/editorEntityChangeStatus.test.js.map +1 -0
  218. package/codeyam-cli/src/utils/__tests__/editorEntityHelpers.test.js +381 -0
  219. package/codeyam-cli/src/utils/__tests__/editorEntityHelpers.test.js.map +1 -0
  220. package/codeyam-cli/src/utils/__tests__/editorGuardMiddleware.test.js +67 -0
  221. package/codeyam-cli/src/utils/__tests__/editorGuardMiddleware.test.js.map +1 -0
  222. package/codeyam-cli/src/utils/__tests__/editorImageVerifier.test.js +294 -0
  223. package/codeyam-cli/src/utils/__tests__/editorImageVerifier.test.js.map +1 -0
  224. package/codeyam-cli/src/utils/__tests__/editorJournal.test.js +542 -0
  225. package/codeyam-cli/src/utils/__tests__/editorJournal.test.js.map +1 -0
  226. package/codeyam-cli/src/utils/__tests__/editorLoaderHelpers.test.js +594 -0
  227. package/codeyam-cli/src/utils/__tests__/editorLoaderHelpers.test.js.map +1 -0
  228. package/codeyam-cli/src/utils/__tests__/editorMigration.test.js +435 -0
  229. package/codeyam-cli/src/utils/__tests__/editorMigration.test.js.map +1 -0
  230. package/codeyam-cli/src/utils/__tests__/editorMockState.test.js +270 -0
  231. package/codeyam-cli/src/utils/__tests__/editorMockState.test.js.map +1 -0
  232. package/codeyam-cli/src/utils/__tests__/editorPreloadHelpers.test.js +217 -0
  233. package/codeyam-cli/src/utils/__tests__/editorPreloadHelpers.test.js.map +1 -0
  234. package/codeyam-cli/src/utils/__tests__/editorPreview.test.js +361 -0
  235. package/codeyam-cli/src/utils/__tests__/editorPreview.test.js.map +1 -0
  236. package/codeyam-cli/src/utils/__tests__/editorProxySession.test.js +153 -0
  237. package/codeyam-cli/src/utils/__tests__/editorProxySession.test.js.map +1 -0
  238. package/codeyam-cli/src/utils/__tests__/editorScenarioLookup.test.js +139 -0
  239. package/codeyam-cli/src/utils/__tests__/editorScenarioLookup.test.js.map +1 -0
  240. package/codeyam-cli/src/utils/__tests__/editorScenarioSwitch.test.js +291 -0
  241. package/codeyam-cli/src/utils/__tests__/editorScenarioSwitch.test.js.map +1 -0
  242. package/codeyam-cli/src/utils/__tests__/editorScenarios.test.js +1768 -0
  243. package/codeyam-cli/src/utils/__tests__/editorScenarios.test.js.map +1 -0
  244. package/codeyam-cli/src/utils/__tests__/editorSeedAdapter.test.js +329 -0
  245. package/codeyam-cli/src/utils/__tests__/editorSeedAdapter.test.js.map +1 -0
  246. package/codeyam-cli/src/utils/__tests__/editorSeedAdapterPrismaValidation.test.js +143 -0
  247. package/codeyam-cli/src/utils/__tests__/editorSeedAdapterPrismaValidation.test.js.map +1 -0
  248. package/codeyam-cli/src/utils/__tests__/editorSessionFilter.test.js +66 -0
  249. package/codeyam-cli/src/utils/__tests__/editorSessionFilter.test.js.map +1 -0
  250. package/codeyam-cli/src/utils/__tests__/editorShouldRevalidate.test.js +53 -0
  251. package/codeyam-cli/src/utils/__tests__/editorShouldRevalidate.test.js.map +1 -0
  252. package/codeyam-cli/src/utils/__tests__/entityChangeStatus.test.js +2121 -0
  253. package/codeyam-cli/src/utils/__tests__/entityChangeStatus.test.js.map +1 -0
  254. package/codeyam-cli/src/utils/__tests__/git.editor.test.js +134 -0
  255. package/codeyam-cli/src/utils/__tests__/git.editor.test.js.map +1 -0
  256. package/codeyam-cli/src/utils/__tests__/glossaryAdd.test.js +177 -0
  257. package/codeyam-cli/src/utils/__tests__/glossaryAdd.test.js.map +1 -0
  258. package/codeyam-cli/src/utils/__tests__/journalCaptureStabilization.test.js +122 -0
  259. package/codeyam-cli/src/utils/__tests__/journalCaptureStabilization.test.js.map +1 -0
  260. package/codeyam-cli/src/utils/__tests__/manualEntityAnalysis.test.js +302 -0
  261. package/codeyam-cli/src/utils/__tests__/manualEntityAnalysis.test.js.map +1 -0
  262. package/codeyam-cli/src/utils/__tests__/npmVersionCheck.test.js +185 -0
  263. package/codeyam-cli/src/utils/__tests__/npmVersionCheck.test.js.map +1 -0
  264. package/codeyam-cli/src/utils/__tests__/parseRegisterArg.test.js +129 -0
  265. package/codeyam-cli/src/utils/__tests__/parseRegisterArg.test.js.map +1 -0
  266. package/codeyam-cli/src/utils/__tests__/pathIgnoring.test.js +9 -0
  267. package/codeyam-cli/src/utils/__tests__/pathIgnoring.test.js.map +1 -1
  268. package/codeyam-cli/src/utils/__tests__/project.test.js +65 -0
  269. package/codeyam-cli/src/utils/__tests__/project.test.js.map +1 -0
  270. package/codeyam-cli/src/utils/__tests__/registerScenarioResult.test.js +127 -0
  271. package/codeyam-cli/src/utils/__tests__/registerScenarioResult.test.js.map +1 -0
  272. package/codeyam-cli/src/utils/__tests__/routePatternMatching.test.js +118 -0
  273. package/codeyam-cli/src/utils/__tests__/routePatternMatching.test.js.map +1 -0
  274. package/codeyam-cli/src/utils/__tests__/scenarioCoverage.test.js +284 -0
  275. package/codeyam-cli/src/utils/__tests__/scenarioCoverage.test.js.map +1 -0
  276. package/codeyam-cli/src/utils/__tests__/scenarioMarkers.test.js +121 -0
  277. package/codeyam-cli/src/utils/__tests__/scenarioMarkers.test.js.map +1 -0
  278. package/codeyam-cli/src/utils/__tests__/scenariosManifest.test.js +672 -0
  279. package/codeyam-cli/src/utils/__tests__/scenariosManifest.test.js.map +1 -0
  280. package/codeyam-cli/src/utils/__tests__/screenshotHash.test.js +84 -0
  281. package/codeyam-cli/src/utils/__tests__/screenshotHash.test.js.map +1 -0
  282. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js +51 -4
  283. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js.map +1 -1
  284. package/codeyam-cli/src/utils/__tests__/telemetry.test.js +159 -0
  285. package/codeyam-cli/src/utils/__tests__/telemetry.test.js.map +1 -0
  286. package/codeyam-cli/src/utils/__tests__/templateConsistency.test.js +51 -0
  287. package/codeyam-cli/src/utils/__tests__/templateConsistency.test.js.map +1 -0
  288. package/codeyam-cli/src/utils/__tests__/testRunner.test.js +216 -0
  289. package/codeyam-cli/src/utils/__tests__/testRunner.test.js.map +1 -0
  290. package/codeyam-cli/src/utils/__tests__/webappDetection.test.js +148 -0
  291. package/codeyam-cli/src/utils/__tests__/webappDetection.test.js.map +1 -0
  292. package/codeyam-cli/src/utils/analysisRunner.js +39 -8
  293. package/codeyam-cli/src/utils/analysisRunner.js.map +1 -1
  294. package/codeyam-cli/src/utils/analyzer.js +19 -0
  295. package/codeyam-cli/src/utils/analyzer.js.map +1 -1
  296. package/codeyam-cli/src/utils/analyzerFinalization.js +100 -0
  297. package/codeyam-cli/src/utils/analyzerFinalization.js.map +1 -0
  298. package/codeyam-cli/src/utils/backgroundServer.js +120 -45
  299. package/codeyam-cli/src/utils/backgroundServer.js.map +1 -1
  300. package/codeyam-cli/src/utils/buildFlags.js +4 -0
  301. package/codeyam-cli/src/utils/buildFlags.js.map +1 -0
  302. package/codeyam-cli/src/utils/database.js +37 -2
  303. package/codeyam-cli/src/utils/database.js.map +1 -1
  304. package/codeyam-cli/src/utils/devModeEvents.js +40 -0
  305. package/codeyam-cli/src/utils/devModeEvents.js.map +1 -0
  306. package/codeyam-cli/src/utils/devServerState.js +71 -0
  307. package/codeyam-cli/src/utils/devServerState.js.map +1 -0
  308. package/codeyam-cli/src/utils/editorApi.js +95 -0
  309. package/codeyam-cli/src/utils/editorApi.js.map +1 -0
  310. package/codeyam-cli/src/utils/editorAudit.js +844 -0
  311. package/codeyam-cli/src/utils/editorAudit.js.map +1 -0
  312. package/codeyam-cli/src/utils/editorBroadcastViewport.js +26 -0
  313. package/codeyam-cli/src/utils/editorBroadcastViewport.js.map +1 -0
  314. package/codeyam-cli/src/utils/editorCapture.js +102 -0
  315. package/codeyam-cli/src/utils/editorCapture.js.map +1 -0
  316. package/codeyam-cli/src/utils/editorDeleteScenario.js +67 -0
  317. package/codeyam-cli/src/utils/editorDeleteScenario.js.map +1 -0
  318. package/codeyam-cli/src/utils/editorDevServer.js +197 -0
  319. package/codeyam-cli/src/utils/editorDevServer.js.map +1 -0
  320. package/codeyam-cli/src/utils/editorEntityChangeStatus.js +50 -0
  321. package/codeyam-cli/src/utils/editorEntityChangeStatus.js.map +1 -0
  322. package/codeyam-cli/src/utils/editorEntityHelpers.js +144 -0
  323. package/codeyam-cli/src/utils/editorEntityHelpers.js.map +1 -0
  324. package/codeyam-cli/src/utils/editorGuard.js +36 -0
  325. package/codeyam-cli/src/utils/editorGuard.js.map +1 -0
  326. package/codeyam-cli/src/utils/editorImageVerifier.js +155 -0
  327. package/codeyam-cli/src/utils/editorImageVerifier.js.map +1 -0
  328. package/codeyam-cli/src/utils/editorJournal.js +225 -0
  329. package/codeyam-cli/src/utils/editorJournal.js.map +1 -0
  330. package/codeyam-cli/src/utils/editorLoaderHelpers.js +152 -0
  331. package/codeyam-cli/src/utils/editorLoaderHelpers.js.map +1 -0
  332. package/codeyam-cli/src/utils/editorMigration.js +224 -0
  333. package/codeyam-cli/src/utils/editorMigration.js.map +1 -0
  334. package/codeyam-cli/src/utils/editorMockState.js +248 -0
  335. package/codeyam-cli/src/utils/editorMockState.js.map +1 -0
  336. package/codeyam-cli/src/utils/editorPreloadHelpers.js +135 -0
  337. package/codeyam-cli/src/utils/editorPreloadHelpers.js.map +1 -0
  338. package/codeyam-cli/src/utils/editorPreview.js +139 -0
  339. package/codeyam-cli/src/utils/editorPreview.js.map +1 -0
  340. package/codeyam-cli/src/utils/editorRecapture.js +109 -0
  341. package/codeyam-cli/src/utils/editorRecapture.js.map +1 -0
  342. package/codeyam-cli/src/utils/editorScenarioSwitch.js +134 -0
  343. package/codeyam-cli/src/utils/editorScenarioSwitch.js.map +1 -0
  344. package/codeyam-cli/src/utils/editorScenarios.js +677 -0
  345. package/codeyam-cli/src/utils/editorScenarios.js.map +1 -0
  346. package/codeyam-cli/src/utils/editorSeedAdapter.js +462 -0
  347. package/codeyam-cli/src/utils/editorSeedAdapter.js.map +1 -0
  348. package/codeyam-cli/src/utils/editorShouldRevalidate.js +21 -0
  349. package/codeyam-cli/src/utils/editorShouldRevalidate.js.map +1 -0
  350. package/codeyam-cli/src/utils/entityChangeStatus.js +394 -0
  351. package/codeyam-cli/src/utils/entityChangeStatus.js.map +1 -0
  352. package/codeyam-cli/src/utils/entityChangeStatus.server.js +227 -0
  353. package/codeyam-cli/src/utils/entityChangeStatus.server.js.map +1 -0
  354. package/codeyam-cli/src/utils/fileMetadata.js +5 -0
  355. package/codeyam-cli/src/utils/fileMetadata.js.map +1 -1
  356. package/codeyam-cli/src/utils/fileWatcher.js +63 -9
  357. package/codeyam-cli/src/utils/fileWatcher.js.map +1 -1
  358. package/codeyam-cli/src/utils/git.js +103 -0
  359. package/codeyam-cli/src/utils/git.js.map +1 -1
  360. package/codeyam-cli/src/utils/glossaryAdd.js +74 -0
  361. package/codeyam-cli/src/utils/glossaryAdd.js.map +1 -0
  362. package/codeyam-cli/src/utils/install-skills.js +71 -15
  363. package/codeyam-cli/src/utils/install-skills.js.map +1 -1
  364. package/codeyam-cli/src/utils/interactiveSyncWatcher.js +126 -0
  365. package/codeyam-cli/src/utils/interactiveSyncWatcher.js.map +1 -0
  366. package/codeyam-cli/src/utils/manualEntityAnalysis.js +196 -0
  367. package/codeyam-cli/src/utils/manualEntityAnalysis.js.map +1 -0
  368. package/codeyam-cli/src/utils/npmVersionCheck.js +76 -0
  369. package/codeyam-cli/src/utils/npmVersionCheck.js.map +1 -0
  370. package/codeyam-cli/src/utils/parseRegisterArg.js +31 -0
  371. package/codeyam-cli/src/utils/parseRegisterArg.js.map +1 -0
  372. package/codeyam-cli/src/utils/pathIgnoring.js +19 -7
  373. package/codeyam-cli/src/utils/pathIgnoring.js.map +1 -1
  374. package/codeyam-cli/src/utils/progress.js +2 -2
  375. package/codeyam-cli/src/utils/progress.js.map +1 -1
  376. package/codeyam-cli/src/utils/project.js +15 -5
  377. package/codeyam-cli/src/utils/project.js.map +1 -1
  378. package/codeyam-cli/src/utils/queue/__tests__/heartbeat.test.js +11 -11
  379. package/codeyam-cli/src/utils/queue/__tests__/heartbeat.test.js.map +1 -1
  380. package/codeyam-cli/src/utils/queue/__tests__/job.interactiveStart.test.js +159 -0
  381. package/codeyam-cli/src/utils/queue/__tests__/job.interactiveStart.test.js.map +1 -0
  382. package/codeyam-cli/src/utils/queue/__tests__/manager.test.js +22 -0
  383. package/codeyam-cli/src/utils/queue/__tests__/manager.test.js.map +1 -1
  384. package/codeyam-cli/src/utils/queue/heartbeat.js +13 -5
  385. package/codeyam-cli/src/utils/queue/heartbeat.js.map +1 -1
  386. package/codeyam-cli/src/utils/queue/job.js +105 -7
  387. package/codeyam-cli/src/utils/queue/job.js.map +1 -1
  388. package/codeyam-cli/src/utils/queue/manager.js +7 -6
  389. package/codeyam-cli/src/utils/queue/manager.js.map +1 -1
  390. package/codeyam-cli/src/utils/registerScenarioResult.js +52 -0
  391. package/codeyam-cli/src/utils/registerScenarioResult.js.map +1 -0
  392. package/codeyam-cli/src/utils/requireSimulations.js +1 -1
  393. package/codeyam-cli/src/utils/requireSimulations.js.map +1 -1
  394. package/codeyam-cli/src/utils/routePatternMatching.js +129 -0
  395. package/codeyam-cli/src/utils/routePatternMatching.js.map +1 -0
  396. package/codeyam-cli/src/utils/ruleReflection/__tests__/contextBuilder.test.js +5 -6
  397. package/codeyam-cli/src/utils/ruleReflection/__tests__/contextBuilder.test.js.map +1 -1
  398. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/assertRules.js +1 -1
  399. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/assertRules.js.map +1 -1
  400. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/setupTempProject.js +0 -1
  401. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/setupTempProject.js.map +1 -1
  402. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/ruleReflectionE2E.test.js +2 -4
  403. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/ruleReflectionE2E.test.js.map +1 -1
  404. package/codeyam-cli/src/utils/ruleReflection/__tests__/promptBuilder.test.js +4 -6
  405. package/codeyam-cli/src/utils/ruleReflection/__tests__/promptBuilder.test.js.map +1 -1
  406. package/codeyam-cli/src/utils/ruleReflection/contextBuilder.js +1 -1
  407. package/codeyam-cli/src/utils/ruleReflection/contextBuilder.js.map +1 -1
  408. package/codeyam-cli/src/utils/rules/__tests__/parser.test.js +83 -0
  409. package/codeyam-cli/src/utils/rules/__tests__/parser.test.js.map +1 -0
  410. package/codeyam-cli/src/utils/rules/__tests__/pathMatcher.test.js +118 -0
  411. package/codeyam-cli/src/utils/rules/__tests__/pathMatcher.test.js.map +1 -0
  412. package/codeyam-cli/src/utils/rules/__tests__/rulePlacement.test.js +72 -0
  413. package/codeyam-cli/src/utils/rules/__tests__/rulePlacement.test.js.map +1 -0
  414. package/codeyam-cli/src/utils/rules/__tests__/sourceFiles.test.js +76 -0
  415. package/codeyam-cli/src/utils/rules/__tests__/sourceFiles.test.js.map +1 -0
  416. package/codeyam-cli/src/utils/rules/index.js +1 -0
  417. package/codeyam-cli/src/utils/rules/index.js.map +1 -1
  418. package/codeyam-cli/src/utils/rules/parser.js +14 -4
  419. package/codeyam-cli/src/utils/rules/parser.js.map +1 -1
  420. package/codeyam-cli/src/utils/rules/pathMatcher.js +34 -3
  421. package/codeyam-cli/src/utils/rules/pathMatcher.js.map +1 -1
  422. package/codeyam-cli/src/utils/rules/rulePlacement.js +65 -0
  423. package/codeyam-cli/src/utils/rules/rulePlacement.js.map +1 -0
  424. package/codeyam-cli/src/utils/rules/sourceFiles.js +43 -0
  425. package/codeyam-cli/src/utils/rules/sourceFiles.js.map +1 -0
  426. package/codeyam-cli/src/utils/scenarioCoverage.js +77 -0
  427. package/codeyam-cli/src/utils/scenarioCoverage.js.map +1 -0
  428. package/codeyam-cli/src/utils/scenarioMarkers.js +134 -0
  429. package/codeyam-cli/src/utils/scenarioMarkers.js.map +1 -0
  430. package/codeyam-cli/src/utils/scenariosManifest.js +313 -0
  431. package/codeyam-cli/src/utils/scenariosManifest.js.map +1 -0
  432. package/codeyam-cli/src/utils/screenshotHash.js +26 -0
  433. package/codeyam-cli/src/utils/screenshotHash.js.map +1 -0
  434. package/codeyam-cli/src/utils/serverState.js +57 -2
  435. package/codeyam-cli/src/utils/serverState.js.map +1 -1
  436. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js +83 -11
  437. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js.map +1 -1
  438. package/codeyam-cli/src/utils/simulationGateMiddleware.js +175 -0
  439. package/codeyam-cli/src/utils/simulationGateMiddleware.js.map +1 -0
  440. package/codeyam-cli/src/utils/slugUtils.js +25 -0
  441. package/codeyam-cli/src/utils/slugUtils.js.map +1 -0
  442. package/codeyam-cli/src/utils/syncMocksMiddleware.js +7 -26
  443. package/codeyam-cli/src/utils/syncMocksMiddleware.js.map +1 -1
  444. package/codeyam-cli/src/utils/telemetry.js +106 -0
  445. package/codeyam-cli/src/utils/telemetry.js.map +1 -0
  446. package/codeyam-cli/src/utils/telemetryMiddleware.js +22 -0
  447. package/codeyam-cli/src/utils/telemetryMiddleware.js.map +1 -0
  448. package/codeyam-cli/src/utils/testResultCache.js +53 -0
  449. package/codeyam-cli/src/utils/testResultCache.js.map +1 -0
  450. package/codeyam-cli/src/utils/testResultCache.server.js +81 -0
  451. package/codeyam-cli/src/utils/testResultCache.server.js.map +1 -0
  452. package/codeyam-cli/src/utils/testResultCache.server.test.js +187 -0
  453. package/codeyam-cli/src/utils/testResultCache.server.test.js.map +1 -0
  454. package/codeyam-cli/src/utils/testResultCache.test.js +230 -0
  455. package/codeyam-cli/src/utils/testResultCache.test.js.map +1 -0
  456. package/codeyam-cli/src/utils/testRunner.js +350 -0
  457. package/codeyam-cli/src/utils/testRunner.js.map +1 -0
  458. package/codeyam-cli/src/utils/transcriptPruning.js +67 -0
  459. package/codeyam-cli/src/utils/transcriptPruning.js.map +1 -0
  460. package/codeyam-cli/src/utils/versionInfo.js +46 -0
  461. package/codeyam-cli/src/utils/versionInfo.js.map +1 -1
  462. package/codeyam-cli/src/utils/webappDetection.js +38 -3
  463. package/codeyam-cli/src/utils/webappDetection.js.map +1 -1
  464. package/codeyam-cli/src/webserver/__tests__/api.interactive-switch-scenario.test.js +98 -0
  465. package/codeyam-cli/src/webserver/__tests__/api.interactive-switch-scenario.test.js.map +1 -0
  466. package/codeyam-cli/src/webserver/__tests__/buildPtyEnv.test.js +35 -0
  467. package/codeyam-cli/src/webserver/__tests__/buildPtyEnv.test.js.map +1 -0
  468. package/codeyam-cli/src/webserver/__tests__/clientErrors.test.js +107 -0
  469. package/codeyam-cli/src/webserver/__tests__/clientErrors.test.js.map +1 -0
  470. package/codeyam-cli/src/webserver/__tests__/dependency-smoke.test.js +66 -0
  471. package/codeyam-cli/src/webserver/__tests__/dependency-smoke.test.js.map +1 -0
  472. package/codeyam-cli/src/webserver/__tests__/editorProxy.test.js +647 -0
  473. package/codeyam-cli/src/webserver/__tests__/editorProxy.test.js.map +1 -0
  474. package/codeyam-cli/src/webserver/__tests__/idleDetector.test.js +315 -0
  475. package/codeyam-cli/src/webserver/__tests__/idleDetector.test.js.map +1 -0
  476. package/codeyam-cli/src/webserver/__tests__/stripClaudeCommand.test.js +135 -0
  477. package/codeyam-cli/src/webserver/__tests__/stripClaudeCommand.test.js.map +1 -0
  478. package/codeyam-cli/src/webserver/app/lib/clientErrors.js +86 -0
  479. package/codeyam-cli/src/webserver/app/lib/clientErrors.js.map +1 -0
  480. package/codeyam-cli/src/webserver/app/lib/database.js +41 -27
  481. package/codeyam-cli/src/webserver/app/lib/database.js.map +1 -1
  482. package/codeyam-cli/src/webserver/app/lib/dbNotifier.js.map +1 -1
  483. package/codeyam-cli/src/webserver/app/lib/git.js +397 -0
  484. package/codeyam-cli/src/webserver/app/lib/git.js.map +1 -0
  485. package/codeyam-cli/src/webserver/app/routes/api.interactive-switch-scenario.js +34 -0
  486. package/codeyam-cli/src/webserver/app/routes/api.interactive-switch-scenario.js.map +1 -0
  487. package/codeyam-cli/src/webserver/app/types/editor.js +8 -0
  488. package/codeyam-cli/src/webserver/app/types/editor.js.map +1 -0
  489. package/codeyam-cli/src/webserver/backgroundServer.js +141 -42
  490. package/codeyam-cli/src/webserver/backgroundServer.js.map +1 -1
  491. package/codeyam-cli/src/webserver/bootstrap.js +11 -0
  492. package/codeyam-cli/src/webserver/bootstrap.js.map +1 -1
  493. package/codeyam-cli/src/webserver/build/client/assets/CopyButton-CLe80MMu.js +1 -0
  494. package/codeyam-cli/src/webserver/build/client/assets/{EntityItem-BLlhOa3C.js → EntityItem-Crt_KN_U.js} +5 -5
  495. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeBadge-CQgyEGV-.js +1 -0
  496. package/codeyam-cli/src/webserver/build/client/assets/{EntityTypeIcon-CzdG5I7z.js → EntityTypeIcon-CD7lGABo.js} +9 -9
  497. package/codeyam-cli/src/webserver/build/client/assets/InlineSpinner-CgTNOhnu.js +1 -0
  498. package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-DtYTSPL2.js +25 -0
  499. package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-D3s1MFkb.js +3 -0
  500. package/codeyam-cli/src/webserver/build/client/assets/{LoadingDots-B1LNGboS.js → LoadingDots-By5zI316.js} +1 -1
  501. package/codeyam-cli/src/webserver/build/client/assets/{LogViewer-B0Ll1DjK.js → LogViewer-CM5zg40N.js} +3 -3
  502. package/codeyam-cli/src/webserver/build/client/assets/MiniClaudeChat-CQENLSrF.js +36 -0
  503. package/codeyam-cli/src/webserver/build/client/assets/{ReportIssueModal-CVOvmCKb.js → ReportIssueModal-C2PLkej3.js} +4 -4
  504. package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-DanvyBPb.js +1 -0
  505. package/codeyam-cli/src/webserver/build/client/assets/{ScenarioViewer-D54Mmpwi.js → ScenarioViewer-CefgqbCr.js} +3 -3
  506. package/codeyam-cli/src/webserver/build/client/assets/Spinner-Bc8BG-Lw.js +34 -0
  507. package/codeyam-cli/src/webserver/build/client/assets/TruncatedFilePath-CK7-NaPZ.js +1 -0
  508. package/codeyam-cli/src/webserver/build/client/assets/ViewportInspectBar-BA_Ry-rs.js +1 -0
  509. package/codeyam-cli/src/webserver/build/client/assets/{_index-CKTtYlBU.js → _index-C1YkzTAV.js} +4 -4
  510. package/codeyam-cli/src/webserver/build/client/assets/{activity.(_tab)-CdziRIWU.js → activity.(_tab)-yH46LLUz.js} +8 -8
  511. package/codeyam-cli/src/webserver/build/client/assets/addon-canvas-DpzMmAy5.js +1 -0
  512. package/codeyam-cli/src/webserver/build/client/assets/addon-fit-YJmn1quW.js +12 -0
  513. package/codeyam-cli/src/webserver/build/client/assets/addon-web-links-CHx25PAe.js +1 -0
  514. package/codeyam-cli/src/webserver/build/client/assets/addon-webgl-DI8QOUvO.js +58 -0
  515. package/codeyam-cli/src/webserver/build/client/assets/agent-transcripts-Bg3e7q4S.js +22 -0
  516. package/codeyam-cli/src/webserver/build/client/assets/api.dev-mode-events-l0sNRNKZ.js +1 -0
  517. package/codeyam-cli/src/webserver/build/client/assets/api.editor-audit-l0sNRNKZ.js +1 -0
  518. package/codeyam-cli/src/webserver/build/client/assets/api.editor-capture-scenario-l0sNRNKZ.js +1 -0
  519. package/codeyam-cli/src/webserver/build/client/assets/api.editor-client-errors-l0sNRNKZ.js +1 -0
  520. package/codeyam-cli/src/webserver/build/client/assets/api.editor-commit-l0sNRNKZ.js +1 -0
  521. package/codeyam-cli/src/webserver/build/client/assets/api.editor-dev-server-l0sNRNKZ.js +1 -0
  522. package/codeyam-cli/src/webserver/build/client/assets/api.editor-entity-status-l0sNRNKZ.js +1 -0
  523. package/codeyam-cli/src/webserver/build/client/assets/api.editor-file-diff-l0sNRNKZ.js +1 -0
  524. package/codeyam-cli/src/webserver/build/client/assets/api.editor-file-l0sNRNKZ.js +1 -0
  525. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-entry-l0sNRNKZ.js +1 -0
  526. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-image._-l0sNRNKZ.js +1 -0
  527. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-l0sNRNKZ.js +1 -0
  528. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-screenshot-l0sNRNKZ.js +1 -0
  529. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-update-l0sNRNKZ.js +1 -0
  530. package/codeyam-cli/src/webserver/build/client/assets/api.editor-load-commit-l0sNRNKZ.js +1 -0
  531. package/codeyam-cli/src/webserver/build/client/assets/api.editor-project-info-l0sNRNKZ.js +1 -0
  532. package/codeyam-cli/src/webserver/build/client/assets/api.editor-recapture-stale-l0sNRNKZ.js +1 -0
  533. package/codeyam-cli/src/webserver/build/client/assets/api.editor-refresh-l0sNRNKZ.js +1 -0
  534. package/codeyam-cli/src/webserver/build/client/assets/api.editor-register-scenario-l0sNRNKZ.js +1 -0
  535. package/codeyam-cli/src/webserver/build/client/assets/api.editor-rename-scenario-l0sNRNKZ.js +1 -0
  536. package/codeyam-cli/src/webserver/build/client/assets/api.editor-save-scenario-data-l0sNRNKZ.js +1 -0
  537. package/codeyam-cli/src/webserver/build/client/assets/api.editor-save-seed-state-l0sNRNKZ.js +1 -0
  538. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenario-coverage-l0sNRNKZ.js +1 -0
  539. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenario-data-l0sNRNKZ.js +1 -0
  540. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenario-image._-l0sNRNKZ.js +1 -0
  541. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenario-prompt-l0sNRNKZ.js +1 -0
  542. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenarios-l0sNRNKZ.js +1 -0
  543. package/codeyam-cli/src/webserver/build/client/assets/api.editor-schema-l0sNRNKZ.js +1 -0
  544. package/codeyam-cli/src/webserver/build/client/assets/api.editor-session-l0sNRNKZ.js +1 -0
  545. package/codeyam-cli/src/webserver/build/client/assets/api.editor-switch-scenario-l0sNRNKZ.js +1 -0
  546. package/codeyam-cli/src/webserver/build/client/assets/api.editor-test-results-l0sNRNKZ.js +1 -0
  547. package/codeyam-cli/src/webserver/build/client/assets/api.editor-verify-routes-l0sNRNKZ.js +1 -0
  548. package/codeyam-cli/src/webserver/build/client/assets/api.interactive-switch-scenario-l0sNRNKZ.js +1 -0
  549. package/codeyam-cli/src/webserver/build/client/assets/api.rule-path-l0sNRNKZ.js +1 -0
  550. package/codeyam-cli/src/webserver/build/client/assets/{book-open-Ch8b7GyQ.js → book-open-CL-lMgHh.js} +2 -2
  551. package/codeyam-cli/src/webserver/build/client/assets/{chevron-down-vJHJExlT.js → chevron-down-GmAjGS9-.js} +2 -2
  552. package/codeyam-cli/src/webserver/build/client/assets/chunk-JZWAC4HX-BAdwhyCx.js +43 -0
  553. package/codeyam-cli/src/webserver/build/client/assets/{circle-check-rwynPZTW.js → circle-check-DFcQkN5j.js} +2 -2
  554. package/codeyam-cli/src/webserver/build/client/assets/{copy-BBSpeBYf.js → copy-C6iF61Xs.js} +3 -3
  555. package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-4ImjHTVC.js +41 -0
  556. package/codeyam-cli/src/webserver/build/client/assets/cy-logo-cli-Coe5NhbS.js +1 -0
  557. package/codeyam-cli/src/webserver/build/client/assets/{cy-logo-cli-CCKUIm0S.svg → cy-logo-cli-DoA97ML3.svg} +2 -2
  558. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-CRepiabR.js +1 -0
  559. package/codeyam-cli/src/webserver/build/client/assets/editor._tab-Gbk_i5Js.js +1 -0
  560. package/codeyam-cli/src/webserver/build/client/assets/editor.entity.(_sha)-CRxPi2BB.js +96 -0
  561. package/codeyam-cli/src/webserver/build/client/assets/editorPreview-CluPkvXJ.js +41 -0
  562. package/codeyam-cli/src/webserver/build/client/assets/entity._sha._-DYJRGiDI.js +24 -0
  563. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.dev-wdiwx5-Z.js +6 -0
  564. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.fullscreen-BrkN-40Y.js +6 -0
  565. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-DxfhekTZ.js +6 -0
  566. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha_.edit._scenarioId-BEqewwtZ.js → entity._sha_.edit._scenarioId-CRXJWmpB.js} +2 -2
  567. package/codeyam-cli/src/webserver/build/client/assets/{entry.client-Dxqz8ygt.js → entry.client-SuW9syRS.js} +6 -6
  568. package/codeyam-cli/src/webserver/build/client/assets/fileTableUtils-Daa96Fr1.js +1 -0
  569. package/codeyam-cli/src/webserver/build/client/assets/files-D-xGrg29.js +1 -0
  570. package/codeyam-cli/src/webserver/build/client/assets/git-Bq_fbXP5.js +1 -0
  571. package/codeyam-cli/src/webserver/build/client/assets/globals-BsGHu8WX.css +1 -0
  572. package/codeyam-cli/src/webserver/build/client/assets/{index-DgAAopZk.js → index-Bp1l4hSv.js} +1 -1
  573. package/codeyam-cli/src/webserver/build/client/assets/{index-viijWaN6.js → index-CWV9XZiG.js} +1 -1
  574. package/codeyam-cli/src/webserver/build/client/assets/index-DE3jI_dv.js +15 -0
  575. package/codeyam-cli/src/webserver/build/client/assets/jsx-runtime-D_zvdyIk.js +9 -0
  576. package/codeyam-cli/src/webserver/build/client/assets/labs-B_IX45ih.js +1 -0
  577. package/codeyam-cli/src/webserver/build/client/assets/{loader-circle-LGi2eKI5.js → loader-circle-De-7qQ2u.js} +2 -2
  578. package/codeyam-cli/src/webserver/build/client/assets/manifest-9032538f.js +1 -0
  579. package/codeyam-cli/src/webserver/build/client/assets/memory-Cx2xEx7s.js +101 -0
  580. package/codeyam-cli/src/webserver/build/client/assets/{pause-DxJFmMsK.js → pause-CFxEKL1u.js} +3 -3
  581. package/codeyam-cli/src/webserver/build/client/assets/root-dKFRTYcy.js +80 -0
  582. package/codeyam-cli/src/webserver/build/client/assets/{search-Cu3QE9E5.js → search-BdBb5aqc.js} +2 -2
  583. package/codeyam-cli/src/webserver/build/client/assets/settings-DdE-Untf.js +1 -0
  584. package/codeyam-cli/src/webserver/build/client/assets/simulations-DSCdE99u.js +1 -0
  585. package/codeyam-cli/src/webserver/build/client/assets/{terminal-dAhIBEcd.js → terminal-CrplD4b1.js} +3 -3
  586. package/codeyam-cli/src/webserver/build/client/assets/{triangle-alert-C4CYTEeP.js → triangle-alert-DqJ0j69l.js} +2 -2
  587. package/codeyam-cli/src/webserver/build/client/assets/useCustomSizes-DhXHbEjP.js +1 -0
  588. package/codeyam-cli/src/webserver/build/client/assets/useLastLogLine-D9QZKaLJ.js +2 -0
  589. package/codeyam-cli/src/webserver/build/client/assets/useReportContext-Cy5Qg_UR.js +1 -0
  590. package/codeyam-cli/src/webserver/build/client/assets/useToast-5HR2j9ZE.js +1 -0
  591. package/codeyam-cli/src/webserver/build/client/assets/xterm-BqvuqXEL.js +27 -0
  592. package/codeyam-cli/src/webserver/build/client/sound-test.html +98 -0
  593. package/codeyam-cli/src/webserver/build/server/assets/analysisRunner-B6HnVI5u.js +16 -0
  594. package/codeyam-cli/src/webserver/build/server/assets/index-rV_xLS1u.js +1 -0
  595. package/codeyam-cli/src/webserver/build/server/assets/init-BdWDvetv.js +10 -0
  596. package/codeyam-cli/src/webserver/build/server/assets/progress-CHTtrxFG.js +1 -0
  597. package/codeyam-cli/src/webserver/build/server/assets/server-build-B_jdq5dT.js +689 -0
  598. package/codeyam-cli/src/webserver/build/server/index.js +1 -1
  599. package/codeyam-cli/src/webserver/build-info.json +5 -5
  600. package/codeyam-cli/src/webserver/devServer.js +39 -5
  601. package/codeyam-cli/src/webserver/devServer.js.map +1 -1
  602. package/codeyam-cli/src/webserver/editorProxy.js +1028 -0
  603. package/codeyam-cli/src/webserver/editorProxy.js.map +1 -0
  604. package/codeyam-cli/src/webserver/idleDetector.js +130 -0
  605. package/codeyam-cli/src/webserver/idleDetector.js.map +1 -0
  606. package/codeyam-cli/src/webserver/mockStateEvents.js +28 -0
  607. package/codeyam-cli/src/webserver/mockStateEvents.js.map +1 -0
  608. package/codeyam-cli/src/webserver/public/sound-test.html +98 -0
  609. package/codeyam-cli/src/webserver/scripts/codeyam-preload.mjs +414 -0
  610. package/codeyam-cli/src/webserver/scripts/journalCapture.ts +283 -0
  611. package/codeyam-cli/src/webserver/server.js +379 -1
  612. package/codeyam-cli/src/webserver/server.js.map +1 -1
  613. package/codeyam-cli/src/webserver/terminalServer.js +952 -0
  614. package/codeyam-cli/src/webserver/terminalServer.js.map +1 -0
  615. package/codeyam-cli/templates/__tests__/editor-step-hook.prompt-capture.test.ts +118 -0
  616. package/codeyam-cli/templates/chrome-extension-react/EXTENSION_SETUP.md +75 -0
  617. package/codeyam-cli/templates/chrome-extension-react/README.md +46 -0
  618. package/codeyam-cli/templates/chrome-extension-react/gitignore +15 -0
  619. package/codeyam-cli/templates/chrome-extension-react/index.html +12 -0
  620. package/codeyam-cli/templates/chrome-extension-react/package.json +27 -0
  621. package/codeyam-cli/templates/chrome-extension-react/popup.html +12 -0
  622. package/codeyam-cli/templates/chrome-extension-react/public/manifest.json +15 -0
  623. package/codeyam-cli/templates/chrome-extension-react/src/background/service-worker.ts +7 -0
  624. package/codeyam-cli/templates/chrome-extension-react/src/globals.css +6 -0
  625. package/codeyam-cli/templates/chrome-extension-react/src/lib/storage.ts +37 -0
  626. package/codeyam-cli/templates/chrome-extension-react/src/popup/App.tsx +12 -0
  627. package/codeyam-cli/templates/chrome-extension-react/src/popup/main.tsx +10 -0
  628. package/codeyam-cli/templates/chrome-extension-react/tsconfig.json +24 -0
  629. package/codeyam-cli/templates/chrome-extension-react/vite.config.ts +41 -0
  630. package/codeyam-cli/templates/codeyam-editor-claude.md +149 -0
  631. package/codeyam-cli/templates/codeyam-editor-reference.md +216 -0
  632. package/codeyam-cli/templates/design-systems/clean-dashboard-design-system.md +255 -0
  633. package/codeyam-cli/templates/design-systems/editorial-design-system.md +267 -0
  634. package/codeyam-cli/templates/design-systems/mono-brutalist-design-system.md +256 -0
  635. package/codeyam-cli/templates/design-systems/neo-brutalist-design-system.md +294 -0
  636. package/codeyam-cli/templates/editor-step-hook.py +368 -0
  637. package/codeyam-cli/templates/expo-react-native/MOBILE_SETUP.md +203 -0
  638. package/codeyam-cli/templates/expo-react-native/README.md +41 -0
  639. package/codeyam-cli/templates/expo-react-native/__tests__/.gitkeep +0 -0
  640. package/codeyam-cli/templates/expo-react-native/app/_layout.tsx +13 -0
  641. package/codeyam-cli/templates/expo-react-native/app/index.tsx +36 -0
  642. package/codeyam-cli/templates/expo-react-native/app.json +18 -0
  643. package/codeyam-cli/templates/expo-react-native/babel.config.js +9 -0
  644. package/codeyam-cli/templates/expo-react-native/gitignore +12 -0
  645. package/codeyam-cli/templates/expo-react-native/global.css +10 -0
  646. package/codeyam-cli/templates/expo-react-native/lib/storage.ts +32 -0
  647. package/codeyam-cli/templates/expo-react-native/lib/theme.ts +73 -0
  648. package/codeyam-cli/templates/expo-react-native/metro.config.js +6 -0
  649. package/codeyam-cli/templates/expo-react-native/nativewind-env.d.ts +1 -0
  650. package/codeyam-cli/templates/expo-react-native/package.json +48 -0
  651. package/codeyam-cli/templates/expo-react-native/tailwind.config.js +10 -0
  652. package/codeyam-cli/templates/expo-react-native/tsconfig.json +10 -0
  653. package/codeyam-cli/templates/hooks/staleness-check.sh +43 -0
  654. package/codeyam-cli/templates/isolation-route/expo-router.tsx.template +54 -0
  655. package/codeyam-cli/templates/isolation-route/next-app.tsx.template +80 -0
  656. package/codeyam-cli/templates/isolation-route/next-pages.tsx.template +79 -0
  657. package/codeyam-cli/templates/isolation-route/vite-react.tsx.template +78 -0
  658. package/codeyam-cli/templates/msw/browser-setup.ts.template +47 -0
  659. package/codeyam-cli/templates/msw/handler-router.ts.template +47 -0
  660. package/codeyam-cli/templates/msw/server-setup.ts.template +52 -0
  661. package/codeyam-cli/templates/nextjs-prisma-sqlite/AUTH_PATTERNS.md +308 -0
  662. package/codeyam-cli/templates/nextjs-prisma-sqlite/AUTH_UPGRADE.md +304 -0
  663. package/codeyam-cli/templates/nextjs-prisma-sqlite/DATABASE.md +126 -0
  664. package/codeyam-cli/templates/nextjs-prisma-sqlite/FEATURE_PATTERNS.md +37 -0
  665. package/codeyam-cli/templates/nextjs-prisma-sqlite/README.md +53 -0
  666. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/api/todos/route.ts +17 -0
  667. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/codeyam-isolate/layout.tsx +12 -0
  668. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/globals.css +26 -0
  669. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/layout.tsx +34 -0
  670. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/lib/prisma.ts +24 -0
  671. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/page.tsx +10 -0
  672. package/codeyam-cli/templates/nextjs-prisma-sqlite/env +4 -0
  673. package/codeyam-cli/templates/nextjs-prisma-sqlite/eslint.config.mjs +11 -0
  674. package/codeyam-cli/templates/nextjs-prisma-sqlite/gitignore +64 -0
  675. package/codeyam-cli/templates/nextjs-prisma-sqlite/next.config.ts +14 -0
  676. package/codeyam-cli/templates/nextjs-prisma-sqlite/package.json +39 -0
  677. package/codeyam-cli/templates/nextjs-prisma-sqlite/postcss.config.mjs +7 -0
  678. package/codeyam-cli/templates/nextjs-prisma-sqlite/prisma/schema.prisma +27 -0
  679. package/codeyam-cli/templates/nextjs-prisma-sqlite/prisma/seed.ts +40 -0
  680. package/codeyam-cli/templates/nextjs-prisma-sqlite/prisma.config.ts +12 -0
  681. package/codeyam-cli/templates/nextjs-prisma-sqlite/seed-adapter.ts +140 -0
  682. package/codeyam-cli/templates/nextjs-prisma-sqlite/tsconfig.json +34 -0
  683. package/codeyam-cli/templates/nextjs-prisma-sqlite/vitest.config.ts +13 -0
  684. package/codeyam-cli/templates/nextjs-prisma-supabase/README.md +52 -0
  685. package/codeyam-cli/templates/nextjs-prisma-supabase/SUPABASE_SETUP.md +104 -0
  686. package/codeyam-cli/templates/nextjs-prisma-supabase/app/api/todos/route.ts +17 -0
  687. package/codeyam-cli/templates/nextjs-prisma-supabase/app/globals.css +26 -0
  688. package/codeyam-cli/templates/nextjs-prisma-supabase/app/layout.tsx +34 -0
  689. package/codeyam-cli/templates/nextjs-prisma-supabase/app/lib/prisma.ts +20 -0
  690. package/codeyam-cli/templates/nextjs-prisma-supabase/app/lib/supabase.ts +12 -0
  691. package/codeyam-cli/templates/nextjs-prisma-supabase/app/page.tsx +10 -0
  692. package/codeyam-cli/templates/nextjs-prisma-supabase/env +9 -0
  693. package/codeyam-cli/templates/nextjs-prisma-supabase/eslint.config.mjs +11 -0
  694. package/codeyam-cli/templates/nextjs-prisma-supabase/gitignore +40 -0
  695. package/codeyam-cli/templates/nextjs-prisma-supabase/next.config.ts +11 -0
  696. package/codeyam-cli/templates/nextjs-prisma-supabase/package.json +37 -0
  697. package/codeyam-cli/templates/nextjs-prisma-supabase/postcss.config.mjs +7 -0
  698. package/codeyam-cli/templates/nextjs-prisma-supabase/prisma/schema.prisma +27 -0
  699. package/codeyam-cli/templates/nextjs-prisma-supabase/prisma/seed.ts +39 -0
  700. package/codeyam-cli/templates/nextjs-prisma-supabase/prisma.config.ts +12 -0
  701. package/codeyam-cli/templates/nextjs-prisma-supabase/tsconfig.json +34 -0
  702. package/codeyam-cli/templates/prompts/conversation-guidance.txt +44 -0
  703. package/codeyam-cli/templates/prompts/conversation-prompt.txt +28 -0
  704. package/codeyam-cli/templates/prompts/interruption-prompt.txt +31 -0
  705. package/codeyam-cli/templates/prompts/stale-rules-prompt.txt +24 -0
  706. package/codeyam-cli/templates/rule-notification-hook.py +44 -17
  707. package/codeyam-cli/templates/rule-reflection-hook.py +25 -5
  708. package/codeyam-cli/templates/rules-instructions.md +34 -88
  709. package/codeyam-cli/templates/seed-adapters/supabase.ts +291 -0
  710. package/codeyam-cli/templates/skills/codeyam-dev-mode/SKILL.md +237 -0
  711. package/codeyam-cli/templates/skills/codeyam-editor/SKILL.md +244 -0
  712. package/codeyam-cli/templates/{codeyam-memory.md → skills/codeyam-memory/SKILL.md} +215 -0
  713. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/deprecated-prompt.md +100 -0
  714. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/detect-deprecated-patterns.mjs +139 -0
  715. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/find-exports.mjs +52 -0
  716. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/misleading-api-prompt.md +117 -0
  717. package/codeyam-cli/templates/skills/codeyam-memory/scripts/lib/read-json-field.mjs +61 -0
  718. package/codeyam-cli/templates/skills/codeyam-memory/scripts/lib/ripgrep-fallback.mjs +155 -0
  719. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/analyze-prompt.md +46 -0
  720. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/cleanup.mjs +13 -0
  721. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/filter-session.mjs +95 -0
  722. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/preprocess.mjs +160 -0
  723. package/codeyam-cli/templates/{codeyam-new-rule.md → skills/codeyam-new-rule/SKILL.md} +0 -2
  724. package/package.json +23 -15
  725. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js +22 -4
  726. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js.map +1 -1
  727. package/packages/ai/src/lib/astScopes/methodSemantics.js +99 -0
  728. package/packages/ai/src/lib/astScopes/methodSemantics.js.map +1 -1
  729. package/packages/ai/src/lib/astScopes/nodeToSource.js +16 -0
  730. package/packages/ai/src/lib/astScopes/nodeToSource.js.map +1 -1
  731. package/packages/ai/src/lib/astScopes/paths.js +12 -3
  732. package/packages/ai/src/lib/astScopes/paths.js.map +1 -1
  733. package/packages/ai/src/lib/completionCall.js +10 -7
  734. package/packages/ai/src/lib/completionCall.js.map +1 -1
  735. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +261 -13
  736. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
  737. package/packages/ai/src/lib/dataStructure/equivalencyManagers/ParentScopeManager.js +9 -2
  738. package/packages/ai/src/lib/dataStructure/equivalencyManagers/ParentScopeManager.js.map +1 -1
  739. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js +14 -4
  740. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js.map +1 -1
  741. package/packages/ai/src/lib/dataStructure/helpers/coercePrimitivesToArraysBySchema.js +54 -0
  742. package/packages/ai/src/lib/dataStructure/helpers/coercePrimitivesToArraysBySchema.js.map +1 -0
  743. package/packages/ai/src/lib/dataStructure/helpers/stripNullableMarkers.js +34 -0
  744. package/packages/ai/src/lib/dataStructure/helpers/stripNullableMarkers.js.map +1 -0
  745. package/packages/ai/src/lib/dataStructureChunking.js +9 -5
  746. package/packages/ai/src/lib/dataStructureChunking.js.map +1 -1
  747. package/packages/ai/src/lib/generateEntityScenarioData.js +57 -2
  748. package/packages/ai/src/lib/generateEntityScenarioData.js.map +1 -1
  749. package/packages/ai/src/lib/generateExecutionFlows.js +81 -11
  750. package/packages/ai/src/lib/generateExecutionFlows.js.map +1 -1
  751. package/packages/analyze/index.js +1 -1
  752. package/packages/analyze/index.js.map +1 -1
  753. package/packages/analyze/src/lib/ProjectAnalyzer.js +13 -4
  754. package/packages/analyze/src/lib/ProjectAnalyzer.js.map +1 -1
  755. package/packages/analyze/src/lib/asts/index.js +4 -2
  756. package/packages/analyze/src/lib/asts/index.js.map +1 -1
  757. package/packages/analyze/src/lib/asts/nodes/getNodeType.js +1 -0
  758. package/packages/analyze/src/lib/asts/nodes/getNodeType.js.map +1 -1
  759. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js +16 -2
  760. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js.map +1 -1
  761. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js +14 -27
  762. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js.map +1 -1
  763. package/packages/analyze/src/lib/files/analyze/dependencyResolver.js +0 -5
  764. package/packages/analyze/src/lib/files/analyze/dependencyResolver.js.map +1 -1
  765. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js +12 -2
  766. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js.map +1 -1
  767. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js +9 -7
  768. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js.map +1 -1
  769. package/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.js +14 -0
  770. package/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.js.map +1 -1
  771. package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js +44 -11
  772. package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js.map +1 -1
  773. package/packages/analyze/src/lib/files/analyzeChange.js +1 -0
  774. package/packages/analyze/src/lib/files/analyzeChange.js.map +1 -1
  775. package/packages/analyze/src/lib/files/analyzeInitial.js +1 -0
  776. package/packages/analyze/src/lib/files/analyzeInitial.js.map +1 -1
  777. package/packages/analyze/src/lib/files/analyzeNextRoute.js +5 -1
  778. package/packages/analyze/src/lib/files/analyzeNextRoute.js.map +1 -1
  779. package/packages/analyze/src/lib/files/scenarios/TransformationTracer.js +54 -27
  780. package/packages/analyze/src/lib/files/scenarios/TransformationTracer.js.map +1 -1
  781. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js +185 -28
  782. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
  783. package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js +0 -40
  784. package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js.map +1 -1
  785. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +1386 -1197
  786. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
  787. package/packages/database/index.js +1 -0
  788. package/packages/database/index.js.map +1 -1
  789. package/packages/database/src/lib/kysely/db.js +5 -0
  790. package/packages/database/src/lib/kysely/db.js.map +1 -1
  791. package/packages/database/src/lib/kysely/tables/editorScenariosTable.js +149 -0
  792. package/packages/database/src/lib/kysely/tables/editorScenariosTable.js.map +1 -0
  793. package/packages/database/src/lib/loadAnalysis.js +7 -1
  794. package/packages/database/src/lib/loadAnalysis.js.map +1 -1
  795. package/packages/database/src/lib/loadCommits.js +23 -13
  796. package/packages/database/src/lib/loadCommits.js.map +1 -1
  797. package/packages/database/src/lib/loadEntities.js +0 -6
  798. package/packages/database/src/lib/loadEntities.js.map +1 -1
  799. package/packages/database/src/lib/loadEntity.js +5 -5
  800. package/packages/database/src/lib/loadEntity.js.map +1 -1
  801. package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js +1 -4
  802. package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -1
  803. package/packages/database/src/lib/updateCommitMetadata.js +76 -90
  804. package/packages/database/src/lib/updateCommitMetadata.js.map +1 -1
  805. package/packages/database/src/lib/updateFreshAnalysisStatus.js +41 -30
  806. package/packages/database/src/lib/updateFreshAnalysisStatus.js.map +1 -1
  807. package/packages/database/src/lib/updateFreshAnalysisStatusWithScenarios.js +68 -57
  808. package/packages/database/src/lib/updateFreshAnalysisStatusWithScenarios.js.map +1 -1
  809. package/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js +29 -1
  810. package/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js.map +1 -1
  811. package/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js +33 -5
  812. package/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js.map +1 -1
  813. package/packages/types/src/enums/ProjectFramework.js +2 -0
  814. package/packages/types/src/enums/ProjectFramework.js.map +1 -1
  815. package/packages/utils/src/lib/fs/rsyncCopy.js +28 -3
  816. package/packages/utils/src/lib/fs/rsyncCopy.js.map +1 -1
  817. package/scripts/npm-post-install.cjs +34 -0
  818. package/codeyam-cli/src/commands/detect-universal-mocks.js +0 -120
  819. package/codeyam-cli/src/commands/detect-universal-mocks.js.map +0 -1
  820. package/codeyam-cli/src/commands/list.js +0 -31
  821. package/codeyam-cli/src/commands/list.js.map +0 -1
  822. package/codeyam-cli/src/commands/webapp-info.js +0 -146
  823. package/codeyam-cli/src/commands/webapp-info.js.map +0 -1
  824. package/codeyam-cli/src/utils/universal-mocks.js +0 -152
  825. package/codeyam-cli/src/utils/universal-mocks.js.map +0 -1
  826. package/codeyam-cli/src/webserver/build/client/assets/CopyButton-D9i_zSlY.js +0 -1
  827. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeBadge-De5b5pC7.js +0 -1
  828. package/codeyam-cli/src/webserver/build/client/assets/InlineSpinner-Bclf8Hka.js +0 -34
  829. package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-Ce-byqKl.js +0 -25
  830. package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-DEMHrl7v.js +0 -3
  831. package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-L0DWHa_L.js +0 -1
  832. package/codeyam-cli/src/webserver/build/client/assets/TruncatedFilePath-C7PFQfXy.js +0 -1
  833. package/codeyam-cli/src/webserver/build/client/assets/agent-transcripts-CPXtdaWm.js +0 -17
  834. package/codeyam-cli/src/webserver/build/client/assets/chunk-JZWAC4HX-BEyX4X6_.js +0 -51
  835. package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-DHVDauuc.js +0 -21
  836. package/codeyam-cli/src/webserver/build/client/assets/cy-logo-cli-DcX-ZS3p.js +0 -1
  837. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-B9_ZqelV.js +0 -1
  838. package/codeyam-cli/src/webserver/build/client/assets/entity._sha._-BOPComvD.js +0 -16
  839. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.fullscreen-Cfw__yQa.js +0 -6
  840. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-BIDUUrI3.js +0 -6
  841. package/codeyam-cli/src/webserver/build/client/assets/fileTableUtils-CYnF5KWN.js +0 -1
  842. package/codeyam-cli/src/webserver/build/client/assets/files-B_dAq2PQ.js +0 -1
  843. package/codeyam-cli/src/webserver/build/client/assets/git-BHPqH3Ch.js +0 -15
  844. package/codeyam-cli/src/webserver/build/client/assets/globals-BJGhRykz.css +0 -1
  845. package/codeyam-cli/src/webserver/build/client/assets/labs-ChoAe3xq.js +0 -1
  846. package/codeyam-cli/src/webserver/build/client/assets/manifest-87493a32.js +0 -1
  847. package/codeyam-cli/src/webserver/build/client/assets/memory-D9eA6kTo.js +0 -78
  848. package/codeyam-cli/src/webserver/build/client/assets/root-C3r0p_7H.js +0 -62
  849. package/codeyam-cli/src/webserver/build/client/assets/settings-KH9TdArD.js +0 -1
  850. package/codeyam-cli/src/webserver/build/client/assets/simulations-D9Fkx0-d.js +0 -1
  851. package/codeyam-cli/src/webserver/build/client/assets/useCustomSizes-CLPnITMB.js +0 -1
  852. package/codeyam-cli/src/webserver/build/client/assets/useLastLogLine-DmGI38Et.js +0 -2
  853. package/codeyam-cli/src/webserver/build/client/assets/useReportContext-BK0S88PB.js +0 -1
  854. package/codeyam-cli/src/webserver/build/client/assets/useToast-CJ-JqR0l.js +0 -1
  855. package/codeyam-cli/src/webserver/build/server/assets/index-CkkmL6r5.js +0 -1
  856. package/codeyam-cli/src/webserver/build/server/assets/server-build-iBGjHYtO.js +0 -259
  857. package/codeyam-cli/templates/codeyam-stop-hook.sh +0 -284
  858. package/scripts/finalize-analyzer.cjs +0 -13
  859. /package/codeyam-cli/templates/{codeyam-diagnose.md → commands/codeyam-diagnose.md} +0 -0
  860. /package/codeyam-cli/templates/{codeyam-debug.md → skills/codeyam-debug/SKILL.md} +0 -0
  861. /package/codeyam-cli/templates/{codeyam-setup.md → skills/codeyam-setup/SKILL.md} +0 -0
  862. /package/codeyam-cli/templates/{codeyam-sim.md → skills/codeyam-sim/SKILL.md} +0 -0
  863. /package/codeyam-cli/templates/{codeyam-test.md → skills/codeyam-test/SKILL.md} +0 -0
  864. /package/codeyam-cli/templates/{codeyam-verify.md → skills/codeyam-verify/SKILL.md} +0 -0
@@ -0,0 +1,149 @@
1
+ # CodeYam Editor Project
2
+
3
+ This project is being built with CodeYam's Code + Data Editor. The core principle is **code and data are developed together** — every component should have scenario data that drives what it renders.
4
+
5
+ ## Architecture: Components + Scenarios
6
+
7
+ ### Component Structure
8
+
9
+ Build with a clear component hierarchy so individual components can be previewed in isolation:
10
+
11
+ ```
12
+ app/
13
+ components/
14
+ Dashboard.tsx ← page-level component
15
+ TaskList.tsx ← displays a list, gets data from API or props
16
+ TaskCard.tsx ← single item, pure props
17
+ EmptyState.tsx ← shown when no data
18
+ ```
19
+
20
+ Each component should accept props that let it be rendered independently. Avoid components that can only work when deeply embedded — they should be previewable on their own with mock data.
21
+
22
+ ### Scenarios
23
+
24
+ A **scenario** is a named set of data that drives how the app renders. Scenarios exist at two levels:
25
+
26
+ - **App-level scenarios**: Full application state — what the database contains, what API responses return. Example: "Empty Dashboard", "Dashboard with 50 Tasks", "Dashboard with Overdue Tasks"
27
+ - **Component-level scenarios**: Props for a single component in isolation. Example: "TaskCard - Default", "TaskCard - Overdue", "TaskCard - Completed"
28
+
29
+ **Name scenarios by data state** ("Rich Data", "Empty", "Mobile"), not by feature. When adding a feature, enhance an existing scenario's data — rename it if the scope has grown.
30
+
31
+ **Only create scenarios for states the current code can render.** If you seed 10 articles but the app doesn't have an article list component yet, the screenshot will show an empty page — that's a broken scenario. After registering, always view the captured screenshot to verify the data is actually visible.
32
+
33
+ **Always register scenarios with CodeYam** using the CLI:
34
+
35
+ ```bash
36
+ # Small inline JSON:
37
+ codeyam editor register '{"name":"TaskCard - Default","componentName":"TaskCard","url":"/isolated-components/TaskCard?s=Default","dimensions":["<name from screenSizes>"]}'
38
+
39
+ # Large JSON — use the Write tool to write to .codeyam/tmp/scenario.json, then:
40
+ codeyam editor register @.codeyam/tmp/scenario.json
41
+ ```
42
+
43
+ **To list existing scenarios:** `codeyam editor scenarios`
44
+
45
+ ### Database First
46
+
47
+ Use a real database (SQLite + Prisma recommended) from the start. This lets scenarios represent different database states rather than just static prop variations:
48
+
49
+ - Each scenario can seed the database with different data
50
+ - API routes naturally return different results per scenario
51
+ - This is closer to real-world behavior than prop mocking alone
52
+
53
+ ### Zooming In and Out
54
+
55
+ The CodeYam Editor supports zooming between the full app view and isolated component views:
56
+
57
+ - **Zoomed out**: See the whole app running with scenario data flowing through the database and APIs
58
+ - **Zoomed in**: See a single component rendered in isolation with specific props
59
+
60
+ Build components so they work at both zoom levels. A `TaskCard` should render correctly whether it's inside the full app or previewed alone with mock props.
61
+
62
+ ## Workflow
63
+
64
+ 1. Build a component
65
+ 2. Create scenarios with rich, realistic data that thoroughly exercises the component:
66
+ - Happy path with diverse, realistic content (not just "Test Item 1", "Test Item 2")
67
+ - Empty state (no data, first-time user)
68
+ - Rich data (many items, all optional fields populated, varied lengths and categories)
69
+ - Edge cases if they surface naturally from diverse data
70
+ 3. Register the scenarios with CodeYam
71
+ 4. Preview each scenario to verify the component handles all states
72
+ 5. Repeat for the next component, building up scenario coverage
73
+
74
+ ## Key Conventions
75
+
76
+ - Component files go in `app/components/` (or `src/components/`)
77
+ - One component per file, default export
78
+ - Components accept props that can be provided by scenarios
79
+ - Database seed scripts go in `prisma/seeds/` (one per scenario when using DB-level scenarios)
80
+ - MSW handler files go in `.codeyam/msw-handlers/` (one per scenario for API mocking)
81
+
82
+ ## Design System
83
+
84
+ If `.codeyam/design-system.md` exists, it contains the project's design tokens and brand guidelines. The editor step instructions will automatically show its contents inline — you don't need to read the file separately.
85
+
86
+ - Define **every** design token as a CSS custom property in `globals.css` — not just colors:
87
+ - Colors: `--bg-surface`, `--text-primary`, `--accent-green-a`, etc.
88
+ - Typography: `--text-xs: 12px`, `--text-sm: 14px`, `--text-lg: 18px`, etc.
89
+ - Font weights: `--font-weight-normal: 400`, `--font-weight-medium: 500`, `--font-weight-semibold: 600`
90
+ - Spacing: `--spacing-xs: 4px`, `--spacing-sm: 8px`, `--spacing-md: 12px`, `--spacing-lg: 16px`, etc.
91
+ - Border radius, shadows, and transitions
92
+ - Components must reference tokens — **zero hardcoded px values** for font-size, padding, margin, gap, or colors
93
+ - Bad: `fontSize: 14`, `padding: '12px 16px'`, `gap: 8`
94
+ - Good: `fontSize: 'var(--text-sm)'`, `padding: 'var(--spacing-md) var(--spacing-lg)'`, `gap: 'var(--spacing-sm)'`
95
+ - This ensures the entire app updates when the design system changes
96
+
97
+ ## Avoiding Permission Prompts
98
+
99
+ These patterns cause unnecessary approval prompts in Claude Code. Follow these rules:
100
+
101
+ ### Writing JSON files — use the Write tool, not bash
102
+
103
+ **BAD** (triggers "expansion obfuscation" security warning due to braces+quotes in heredoc):
104
+
105
+ ```bash
106
+ cat > /tmp/scenario.json << 'EOF'
107
+ {"name":"My Scenario","localStorage":{"key":"[{\"id\":\"1\"}]"}}
108
+ EOF
109
+ ```
110
+
111
+ **GOOD** (Write tool is pre-approved, no bash prompt):
112
+ Use the **Write tool** to create `.codeyam/tmp/scenario.json`, then register:
113
+
114
+ ```bash
115
+ codeyam editor register @.codeyam/tmp/scenario.json
116
+ ```
117
+
118
+ ### Listing scenarios — use the CLI subcommand
119
+
120
+ **BAD** (triggers bash approval):
121
+
122
+ ```bash
123
+ cat .codeyam/editor-scenarios/*.json | grep -o '"name":"[^"]*"'
124
+ ls .codeyam/editor-scenarios/*.json
125
+ ```
126
+
127
+ **GOOD** (pre-approved):
128
+
129
+ ```bash
130
+ codeyam editor scenarios
131
+ ```
132
+
133
+ ### Database schema changes — never force-reset
134
+
135
+ **BAD** (destructive, triggers approval, drops all data):
136
+
137
+ ```bash
138
+ npx prisma db push --force-reset
139
+ ```
140
+
141
+ **GOOD** (preserves data by providing defaults for new required columns):
142
+
143
+ ```prisma
144
+ userId Int @default(0) // existing rows get 0
145
+ ```
146
+
147
+ Then: `npm run db:push`
148
+
149
+ If you must add a required column without a default, make it optional (`Int?`) or provide a `@default()` value. Never destroy user data with `--force-reset`.
@@ -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