@documentation-robotics/cli 0.1.0 → 0.1.5

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 (510) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +466 -693
  3. package/dist/analysis/data-model-analyzer.js +189 -0
  4. package/dist/analysis/data-model-analyzer.js.map +7 -0
  5. package/dist/analysis/index.js +3 -0
  6. package/dist/analysis/index.js.map +7 -0
  7. package/dist/analysis/relationship-classifier.js +181 -0
  8. package/dist/analysis/relationship-classifier.js.map +7 -0
  9. package/dist/analyzers/base-analyzer.js +1 -0
  10. package/dist/analyzers/base-analyzer.js.map +7 -0
  11. package/dist/analyzers/call-graph-utils.js +39 -0
  12. package/dist/analyzers/call-graph-utils.js.map +7 -0
  13. package/dist/analyzers/cbm-analyzer.js +1205 -0
  14. package/dist/analyzers/cbm-analyzer.js.map +7 -0
  15. package/dist/analyzers/heuristic-utils.js +55 -0
  16. package/dist/analyzers/heuristic-utils.js.map +7 -0
  17. package/dist/analyzers/mapping-loader.js +146 -0
  18. package/dist/analyzers/mapping-loader.js.map +7 -0
  19. package/dist/analyzers/registry.js +124 -0
  20. package/dist/analyzers/registry.js.map +7 -0
  21. package/dist/analyzers/session-state.js +176 -0
  22. package/dist/analyzers/session-state.js.map +7 -0
  23. package/dist/analyzers/stdio-client.js +206 -0
  24. package/dist/analyzers/stdio-client.js.map +7 -0
  25. package/dist/analyzers/types.js +15 -0
  26. package/dist/analyzers/types.js.map +7 -0
  27. package/dist/analyzers/verify-engine.js +209 -0
  28. package/dist/analyzers/verify-engine.js.map +7 -0
  29. package/dist/analyzers/verify-ignore.js +130 -0
  30. package/dist/analyzers/verify-ignore.js.map +7 -0
  31. package/dist/analyzers/version.js +8 -0
  32. package/dist/analyzers/version.js.map +7 -0
  33. package/dist/audit/ai/runner.js +41 -0
  34. package/dist/audit/ai/runner.js.map +7 -0
  35. package/dist/audit/differential-analyzer.js +183 -0
  36. package/dist/audit/differential-analyzer.js.map +7 -0
  37. package/dist/audit/index.js +32 -0
  38. package/dist/audit/index.js.map +7 -0
  39. package/dist/audit/nodes/ai/evaluator.js +49 -0
  40. package/dist/audit/nodes/ai/evaluator.js.map +7 -0
  41. package/dist/audit/nodes/ai/parser.js +55 -0
  42. package/dist/audit/nodes/ai/parser.js.map +7 -0
  43. package/dist/audit/nodes/ai/prompts.js +103 -0
  44. package/dist/audit/nodes/ai/prompts.js.map +7 -0
  45. package/dist/audit/nodes/analysis/node-completeness-checker.js +32 -0
  46. package/dist/audit/nodes/analysis/node-completeness-checker.js.map +7 -0
  47. package/dist/audit/nodes/analysis/node-definition-analyzer.js +47 -0
  48. package/dist/audit/nodes/analysis/node-definition-analyzer.js.map +7 -0
  49. package/dist/audit/nodes/analysis/node-overlap-detector.js +79 -0
  50. package/dist/audit/nodes/analysis/node-overlap-detector.js.map +7 -0
  51. package/dist/audit/nodes/model/orchestrator.js +82 -0
  52. package/dist/audit/nodes/model/orchestrator.js.map +7 -0
  53. package/dist/audit/nodes/spec/loader.js +116 -0
  54. package/dist/audit/nodes/spec/loader.js.map +7 -0
  55. package/dist/audit/nodes/spec/orchestrator.js +68 -0
  56. package/dist/audit/nodes/spec/orchestrator.js.map +7 -0
  57. package/dist/audit/nodes/types.js +1 -0
  58. package/dist/audit/nodes/types.js.map +7 -0
  59. package/dist/audit/pipeline/index.js +5 -0
  60. package/dist/audit/pipeline/index.js.map +7 -0
  61. package/dist/audit/pipeline/pipeline-orchestrator.js +218 -0
  62. package/dist/audit/pipeline/pipeline-orchestrator.js.map +7 -0
  63. package/dist/audit/relationships/ai/evaluator.js +235 -0
  64. package/dist/audit/relationships/ai/evaluator.js.map +7 -0
  65. package/dist/audit/relationships/ai/parser.js +197 -0
  66. package/dist/audit/relationships/ai/parser.js.map +7 -0
  67. package/dist/audit/relationships/ai/prompts.js +274 -0
  68. package/dist/audit/relationships/ai/prompts.js.map +7 -0
  69. package/dist/audit/relationships/analysis/balance-assessor.js +115 -0
  70. package/dist/audit/relationships/analysis/balance-assessor.js.map +7 -0
  71. package/dist/audit/relationships/analysis/coverage-analyzer.js +99 -0
  72. package/dist/audit/relationships/analysis/coverage-analyzer.js.map +7 -0
  73. package/dist/audit/relationships/analysis/duplicate-detector.js +95 -0
  74. package/dist/audit/relationships/analysis/duplicate-detector.js.map +7 -0
  75. package/dist/audit/relationships/analysis/gap-analyzer.js +99 -0
  76. package/dist/audit/relationships/analysis/gap-analyzer.js.map +7 -0
  77. package/dist/audit/relationships/analysis/layer-templates.js +294 -0
  78. package/dist/audit/relationships/analysis/layer-templates.js.map +7 -0
  79. package/dist/audit/relationships/graph/connectivity.js +129 -0
  80. package/dist/audit/relationships/graph/connectivity.js.map +7 -0
  81. package/dist/audit/relationships/graph/relationship-graph.js +179 -0
  82. package/dist/audit/relationships/graph/relationship-graph.js.map +7 -0
  83. package/dist/audit/relationships/model/balance-assessor.js +49 -0
  84. package/dist/audit/relationships/model/balance-assessor.js.map +7 -0
  85. package/dist/audit/relationships/model/coverage-analyzer.js +34 -0
  86. package/dist/audit/relationships/model/coverage-analyzer.js.map +7 -0
  87. package/dist/audit/relationships/model/duplicate-detector.js +68 -0
  88. package/dist/audit/relationships/model/duplicate-detector.js.map +7 -0
  89. package/dist/audit/relationships/model/gap-analyzer.js +41 -0
  90. package/dist/audit/relationships/model/gap-analyzer.js.map +7 -0
  91. package/dist/audit/relationships/model/orchestrator.js +126 -0
  92. package/dist/audit/relationships/model/orchestrator.js.map +7 -0
  93. package/dist/audit/relationships/spec/orchestrator.js +157 -0
  94. package/dist/audit/relationships/spec/orchestrator.js.map +7 -0
  95. package/dist/audit/reports/index.js +5 -0
  96. package/dist/audit/reports/index.js.map +7 -0
  97. package/dist/audit/reports/report-generator.js +118 -0
  98. package/dist/audit/reports/report-generator.js.map +7 -0
  99. package/dist/audit/snapshot-storage.js +163 -0
  100. package/dist/audit/snapshot-storage.js.map +7 -0
  101. package/dist/audit/types.js +21 -0
  102. package/dist/audit/types.js.map +7 -0
  103. package/dist/cli.js +223 -92
  104. package/dist/cli.js.map +3 -3
  105. package/dist/coding-agents/agents/claude-code.js +147 -0
  106. package/dist/coding-agents/agents/claude-code.js.map +7 -0
  107. package/dist/coding-agents/agents/index.js +5 -0
  108. package/dist/coding-agents/agents/index.js.map +7 -0
  109. package/dist/coding-agents/agents/types.js +1 -0
  110. package/dist/coding-agents/agents/types.js.map +7 -0
  111. package/dist/coding-agents/base-chat-client.js +45 -0
  112. package/dist/coding-agents/base-chat-client.js.map +7 -0
  113. package/dist/coding-agents/chat-utils.js +23 -0
  114. package/dist/coding-agents/chat-utils.js.map +7 -0
  115. package/dist/coding-agents/claude-code-client.js +246 -0
  116. package/dist/coding-agents/claude-code-client.js.map +7 -0
  117. package/dist/coding-agents/copilot-client.js +209 -0
  118. package/dist/coding-agents/copilot-client.js.map +7 -0
  119. package/dist/commands/add.js +95 -33
  120. package/dist/commands/add.js.map +2 -2
  121. package/dist/commands/analyzer.js +511 -0
  122. package/dist/commands/analyzer.js.map +7 -0
  123. package/dist/commands/audit-diff.js +49 -0
  124. package/dist/commands/audit-diff.js.map +7 -0
  125. package/dist/commands/audit-snapshots.js +62 -0
  126. package/dist/commands/audit-snapshots.js.map +7 -0
  127. package/dist/commands/audit.js +81 -0
  128. package/dist/commands/audit.js.map +7 -0
  129. package/dist/commands/catalog.js +248 -0
  130. package/dist/commands/catalog.js.map +7 -0
  131. package/dist/commands/changeset.js +577 -66
  132. package/dist/commands/changeset.js.map +2 -2
  133. package/dist/commands/chat.js +106 -83
  134. package/dist/commands/chat.js.map +2 -2
  135. package/dist/commands/claude.js +74 -0
  136. package/dist/commands/claude.js.map +7 -0
  137. package/dist/commands/conformance.js +71 -68
  138. package/dist/commands/conformance.js.map +2 -2
  139. package/dist/commands/copilot.js +75 -0
  140. package/dist/commands/copilot.js.map +7 -0
  141. package/dist/commands/delete.js +125 -11
  142. package/dist/commands/delete.js.map +3 -3
  143. package/dist/commands/discover-logic.js +44 -0
  144. package/dist/commands/discover-logic.js.map +7 -0
  145. package/dist/commands/docs.js +87 -0
  146. package/dist/commands/docs.js.map +7 -0
  147. package/dist/commands/element.js +14 -20
  148. package/dist/commands/element.js.map +2 -2
  149. package/dist/commands/export.js +13 -3
  150. package/dist/commands/export.js.map +2 -2
  151. package/dist/commands/import.js +51 -0
  152. package/dist/commands/import.js.map +7 -0
  153. package/dist/commands/info.js +30 -24
  154. package/dist/commands/info.js.map +2 -2
  155. package/dist/commands/init.js +27 -11
  156. package/dist/commands/init.js.map +2 -2
  157. package/dist/commands/list.js +63 -13
  158. package/dist/commands/list.js.map +3 -3
  159. package/dist/commands/relationship.js +225 -37
  160. package/dist/commands/relationship.js.map +2 -2
  161. package/dist/commands/report.js +54 -0
  162. package/dist/commands/report.js.map +7 -0
  163. package/dist/commands/reports.js +45 -0
  164. package/dist/commands/reports.js.map +7 -0
  165. package/dist/commands/schema.js +135 -0
  166. package/dist/commands/schema.js.map +7 -0
  167. package/dist/commands/search.js +40 -12
  168. package/dist/commands/search.js.map +2 -2
  169. package/dist/commands/show.js +58 -27
  170. package/dist/commands/show.js.map +2 -2
  171. package/dist/commands/stats.js +35 -0
  172. package/dist/commands/stats.js.map +7 -0
  173. package/dist/commands/trace.js +39 -16
  174. package/dist/commands/trace.js.map +2 -2
  175. package/dist/commands/update.js +141 -14
  176. package/dist/commands/update.js.map +2 -2
  177. package/dist/commands/upgrade.js +210 -46
  178. package/dist/commands/upgrade.js.map +3 -3
  179. package/dist/commands/validate.js +142 -23
  180. package/dist/commands/validate.js.map +3 -3
  181. package/dist/commands/version.js +8 -12
  182. package/dist/commands/version.js.map +2 -2
  183. package/dist/commands/visualize.js +155 -25
  184. package/dist/commands/visualize.js.map +2 -2
  185. package/dist/core/base-snapshot-manager.js +84 -0
  186. package/dist/core/base-snapshot-manager.js.map +7 -0
  187. package/dist/core/changeset-exporter.js +305 -0
  188. package/dist/core/changeset-exporter.js.map +7 -0
  189. package/dist/core/changeset-validator.js +41 -0
  190. package/dist/core/changeset-validator.js.map +7 -0
  191. package/dist/core/changeset.js +88 -173
  192. package/dist/core/changeset.js.map +2 -2
  193. package/dist/core/dependency-tracker.js +4 -2
  194. package/dist/core/dependency-tracker.js.map +2 -2
  195. package/dist/core/element.js +98 -27
  196. package/dist/core/element.js.map +2 -2
  197. package/dist/core/golden-copy-cache.js +290 -0
  198. package/dist/core/golden-copy-cache.js.map +7 -0
  199. package/dist/core/graph-model.js +266 -0
  200. package/dist/core/graph-model.js.map +7 -0
  201. package/dist/core/layer.js +159 -16
  202. package/dist/core/layer.js.map +2 -2
  203. package/dist/core/layers.js +32 -0
  204. package/dist/core/layers.js.map +7 -0
  205. package/dist/core/manifest.js +32 -11
  206. package/dist/core/manifest.js.map +2 -2
  207. package/dist/core/migration-registry.js +56 -1
  208. package/dist/core/migration-registry.js.map +2 -2
  209. package/dist/core/model.js +424 -217
  210. package/dist/core/model.js.map +3 -3
  211. package/dist/core/mutation-handler.js +179 -0
  212. package/dist/core/mutation-handler.js.map +7 -0
  213. package/dist/core/reference-registry.js +29 -21
  214. package/dist/core/reference-registry.js.map +2 -2
  215. package/dist/core/relationship-catalog.js +189 -0
  216. package/dist/core/relationship-catalog.js.map +7 -0
  217. package/dist/core/relationship-registry.js.map +2 -2
  218. package/dist/core/relationships.js.map +1 -1
  219. package/dist/core/report-data-model.js +285 -0
  220. package/dist/core/report-data-model.js.map +7 -0
  221. package/dist/core/spec-data-service.js +185 -0
  222. package/dist/core/spec-data-service.js.map +7 -0
  223. package/dist/core/spec-loader-types.js +1 -0
  224. package/dist/core/spec-loader-types.js.map +7 -0
  225. package/dist/core/spec-loader.js +234 -0
  226. package/dist/core/spec-loader.js.map +7 -0
  227. package/dist/core/staged-changeset-storage.js +282 -0
  228. package/dist/core/staged-changeset-storage.js.map +7 -0
  229. package/dist/core/staging-area.js +1002 -0
  230. package/dist/core/staging-area.js.map +7 -0
  231. package/dist/core/stats-collector.js +169 -0
  232. package/dist/core/stats-collector.js.map +7 -0
  233. package/dist/core/virtual-projection.js +443 -0
  234. package/dist/core/virtual-projection.js.map +7 -0
  235. package/dist/export/archimate-exporter.js +99 -60
  236. package/dist/export/archimate-exporter.js.map +2 -2
  237. package/dist/export/audit-formatters.js +479 -0
  238. package/dist/export/audit-formatters.js.map +7 -0
  239. package/dist/export/diff-formatters.js +99 -0
  240. package/dist/export/diff-formatters.js.map +7 -0
  241. package/dist/export/export-manager.js.map +2 -2
  242. package/dist/export/graphml-exporter.js +44 -27
  243. package/dist/export/graphml-exporter.js.map +2 -2
  244. package/dist/export/index.js +4 -0
  245. package/dist/export/index.js.map +2 -2
  246. package/dist/export/json-schema-exporter.js +55 -42
  247. package/dist/export/json-schema-exporter.js.map +2 -2
  248. package/dist/export/markdown-exporter.js +92 -70
  249. package/dist/export/markdown-exporter.js.map +2 -2
  250. package/dist/export/markdown-generator.js +248 -0
  251. package/dist/export/markdown-generator.js.map +7 -0
  252. package/dist/export/markdown-utils.js +30 -0
  253. package/dist/export/markdown-utils.js.map +7 -0
  254. package/dist/export/mermaid-markdown-exporter.js +37 -0
  255. package/dist/export/mermaid-markdown-exporter.js.map +7 -0
  256. package/dist/export/openapi-exporter.js +119 -71
  257. package/dist/export/openapi-exporter.js.map +2 -2
  258. package/dist/export/plantuml-exporter.js +104 -39
  259. package/dist/export/plantuml-exporter.js.map +2 -2
  260. package/dist/export/report-formatters.js +111 -0
  261. package/dist/export/report-formatters.js.map +7 -0
  262. package/dist/export/stats-formatters.js +98 -0
  263. package/dist/export/stats-formatters.js.map +7 -0
  264. package/dist/export/types.js +2 -14
  265. package/dist/export/types.js.map +2 -2
  266. package/dist/export/verify-formatters.js +153 -0
  267. package/dist/export/verify-formatters.js.map +7 -0
  268. package/dist/generated/compiled-validators.js +17 -0
  269. package/dist/generated/compiled-validators.js.map +7 -0
  270. package/dist/generated/index.js +31 -0
  271. package/dist/generated/index.js.map +7 -0
  272. package/dist/generated/layer-registry.js +190 -0
  273. package/dist/generated/layer-registry.js.map +7 -0
  274. package/dist/generated/layer-types.js +7 -0
  275. package/dist/generated/layer-types.js.map +7 -0
  276. package/dist/generated/node-types.js +1719 -0
  277. package/dist/generated/node-types.js.map +7 -0
  278. package/dist/generated/relationship-index.js +14552 -0
  279. package/dist/generated/relationship-index.js.map +7 -0
  280. package/dist/import/archimate-importer.js +166 -0
  281. package/dist/import/archimate-importer.js.map +7 -0
  282. package/dist/import/index.js +47 -0
  283. package/dist/import/index.js.map +7 -0
  284. package/dist/import/openapi-importer.js +143 -0
  285. package/dist/import/openapi-importer.js.map +7 -0
  286. package/dist/import/types.js +1 -0
  287. package/dist/import/types.js.map +7 -0
  288. package/dist/integrations/base-manager.js +311 -0
  289. package/dist/integrations/base-manager.js.map +7 -0
  290. package/dist/integrations/claude-manager.js +360 -0
  291. package/dist/integrations/claude-manager.js.map +7 -0
  292. package/dist/integrations/claude_code/agents/dr-advisor.md +253 -0
  293. package/dist/integrations/claude_code/agents/dr-architect.md +278 -0
  294. package/dist/integrations/claude_code/agents/dr-extractor.md +286 -0
  295. package/dist/integrations/claude_code/commands/dr-changeset.md +657 -0
  296. package/dist/integrations/claude_code/commands/dr-design.md +373 -0
  297. package/dist/integrations/claude_code/commands/dr-info.md +132 -0
  298. package/dist/integrations/claude_code/commands/dr-init.md +251 -0
  299. package/dist/integrations/claude_code/commands/dr-map.md +936 -0
  300. package/dist/integrations/claude_code/commands/dr-model.md +493 -0
  301. package/dist/integrations/claude_code/commands/dr-relate.md +814 -0
  302. package/dist/integrations/claude_code/commands/dr-sync.md +279 -0
  303. package/dist/integrations/claude_code/commands/dr-validate.md +654 -0
  304. package/dist/integrations/claude_code/commands/dr-verify.md +559 -0
  305. package/dist/integrations/claude_code/docs/END_TO_END_WALKTHROUGH.md +903 -0
  306. package/dist/integrations/claude_code/docs/QUICK_START.md +271 -0
  307. package/dist/integrations/claude_code/docs/README.md +347 -0
  308. package/dist/integrations/claude_code/skills/dr_01_motivation_layer/SKILL.md +550 -0
  309. package/dist/integrations/claude_code/skills/dr_02_business_layer/SKILL.md +620 -0
  310. package/dist/integrations/claude_code/skills/dr_03_security_layer/SKILL.md +642 -0
  311. package/dist/integrations/claude_code/skills/dr_04_application_layer/SKILL.md +911 -0
  312. package/dist/integrations/claude_code/skills/dr_05_technology_layer/SKILL.md +836 -0
  313. package/dist/integrations/claude_code/skills/dr_06_api_layer/SKILL.md +933 -0
  314. package/dist/integrations/claude_code/skills/dr_07_data_model_layer/SKILL.md +210 -0
  315. package/dist/integrations/claude_code/skills/dr_08_dataset_layer/SKILL.md +319 -0
  316. package/dist/integrations/claude_code/skills/dr_09_ux_layer/SKILL.md +319 -0
  317. package/dist/integrations/claude_code/skills/dr_10_navigation_layer/SKILL.md +318 -0
  318. package/dist/integrations/claude_code/skills/dr_11_apm_layer/SKILL.md +273 -0
  319. package/dist/integrations/claude_code/skills/dr_12_testing_layer/SKILL.md +273 -0
  320. package/dist/integrations/claude_code/skills/dr_changeset_reviewer/SKILL.md +187 -0
  321. package/dist/integrations/claude_code/skills/dr_codebase_memory/SKILL.md +590 -0
  322. package/dist/integrations/claude_code/skills/dr_engineering_guide/SKILL.md +295 -0
  323. package/dist/integrations/copilot-manager.js +328 -0
  324. package/dist/integrations/copilot-manager.js.map +7 -0
  325. package/dist/integrations/github_copilot/agents/dr-advisor.md +243 -0
  326. package/dist/integrations/github_copilot/agents/dr-architect.md +1567 -0
  327. package/dist/integrations/github_copilot/skills/dr_01_motivation_layer/SKILL.md +491 -0
  328. package/dist/integrations/github_copilot/skills/dr_02_business_layer/SKILL.md +539 -0
  329. package/dist/integrations/github_copilot/skills/dr_03_security_layer/SKILL.md +667 -0
  330. package/dist/integrations/github_copilot/skills/dr_04_application_layer/SKILL.md +670 -0
  331. package/dist/integrations/github_copilot/skills/dr_05_technology_layer/SKILL.md +660 -0
  332. package/dist/integrations/github_copilot/skills/dr_06_api_layer/SKILL.md +855 -0
  333. package/dist/integrations/github_copilot/skills/dr_07_data_model_layer/SKILL.md +171 -0
  334. package/dist/integrations/github_copilot/skills/dr_08_dataset_layer/SKILL.md +216 -0
  335. package/dist/integrations/github_copilot/skills/dr_09_ux_layer/SKILL.md +230 -0
  336. package/dist/integrations/github_copilot/skills/dr_10_navigation_layer/SKILL.md +228 -0
  337. package/dist/integrations/github_copilot/skills/dr_11_apm_layer/SKILL.md +234 -0
  338. package/dist/integrations/github_copilot/skills/dr_12_testing_layer/SKILL.md +230 -0
  339. package/dist/integrations/github_copilot/skills/dr_changeset_reviewer/SKILL.md +187 -0
  340. package/dist/integrations/hash-utils.js +51 -0
  341. package/dist/integrations/hash-utils.js.map +7 -0
  342. package/dist/integrations/types.js +16 -0
  343. package/dist/integrations/types.js.map +7 -0
  344. package/dist/reports/model-layer-report-generator.js +278 -0
  345. package/dist/reports/model-layer-report-generator.js.map +7 -0
  346. package/dist/reports/model-report-data.js +57 -0
  347. package/dist/reports/model-report-data.js.map +7 -0
  348. package/dist/reports/model-report-orchestrator.js +103 -0
  349. package/dist/reports/model-report-orchestrator.js.map +7 -0
  350. package/dist/schemas/bundled/analyzers/cbm.json +595 -0
  351. package/dist/schemas/bundled/analyzers/manifest.json +9 -0
  352. package/dist/schemas/bundled/api.json +3411 -0
  353. package/dist/schemas/bundled/apm.json +2371 -0
  354. package/dist/schemas/bundled/application.json +1253 -0
  355. package/dist/schemas/bundled/base.json +1622 -0
  356. package/dist/schemas/bundled/business.json +1279 -0
  357. package/dist/schemas/bundled/data-model.json +1298 -0
  358. package/dist/schemas/bundled/data-store.json +2025 -0
  359. package/dist/schemas/bundled/manifest.json +93 -0
  360. package/dist/schemas/bundled/motivation.json +1360 -0
  361. package/dist/schemas/bundled/navigation.json +1874 -0
  362. package/dist/schemas/bundled/security.json +3488 -0
  363. package/dist/schemas/bundled/technology.json +2067 -0
  364. package/dist/schemas/bundled/testing.json +3120 -0
  365. package/dist/schemas/bundled/ux.json +3592 -0
  366. package/dist/server/schemas.js +202 -0
  367. package/dist/server/schemas.js.map +7 -0
  368. package/dist/server/server.js +1336 -252
  369. package/dist/server/server.js.map +3 -3
  370. package/dist/server/telemetry-middleware.js +22 -15
  371. package/dist/server/telemetry-middleware.js.map +2 -2
  372. package/dist/server-entry.js +65 -0
  373. package/dist/server-entry.js.map +7 -0
  374. package/dist/telemetry/config.js +89 -0
  375. package/dist/telemetry/config.js.map +7 -0
  376. package/dist/telemetry/console-interceptor.js.map +1 -1
  377. package/dist/telemetry/detect.js +24 -0
  378. package/dist/telemetry/detect.js.map +7 -0
  379. package/dist/telemetry/fetch-otlp-exporter.js +112 -0
  380. package/dist/telemetry/fetch-otlp-exporter.js.map +7 -0
  381. package/dist/telemetry/index.js +153 -3
  382. package/dist/telemetry/index.js.map +2 -2
  383. package/dist/telemetry/resilient-exporter.js +22 -8
  384. package/dist/telemetry/resilient-exporter.js.map +2 -2
  385. package/dist/telemetry/resilient-log-exporter.js +17 -8
  386. package/dist/telemetry/resilient-log-exporter.js.map +2 -2
  387. package/dist/telemetry/test-instrumentation.js.map +2 -2
  388. package/dist/types/index.js +84 -0
  389. package/dist/types/index.js.map +3 -3
  390. package/dist/types/source-reference.js +1 -0
  391. package/dist/types/source-reference.js.map +7 -0
  392. package/dist/utils/chat-logger.js +292 -0
  393. package/dist/utils/chat-logger.js.map +7 -0
  394. package/dist/utils/claude-stream.js +8 -0
  395. package/dist/utils/claude-stream.js.map +7 -0
  396. package/dist/utils/date-utils.js +7 -0
  397. package/dist/utils/date-utils.js.map +7 -0
  398. package/dist/utils/element-utils.js.map +1 -1
  399. package/dist/utils/errors.js +88 -15
  400. package/dist/utils/errors.js.map +3 -3
  401. package/dist/utils/export-python-annotations.js +82 -0
  402. package/dist/utils/export-python-annotations.js.map +7 -0
  403. package/dist/utils/file-io.js +7 -2
  404. package/dist/utils/file-io.js.map +2 -2
  405. package/dist/utils/file-lock.js +156 -0
  406. package/dist/utils/file-lock.js.map +7 -0
  407. package/dist/utils/id-generator.js +18 -0
  408. package/dist/utils/id-generator.js.map +7 -0
  409. package/dist/utils/layer-name-formatter.js +16 -0
  410. package/dist/utils/layer-name-formatter.js.map +7 -0
  411. package/dist/utils/markdown-anchor.js +7 -0
  412. package/dist/utils/markdown-anchor.js.map +7 -0
  413. package/dist/utils/markdown-link.js +12 -0
  414. package/dist/utils/markdown-link.js.map +7 -0
  415. package/dist/utils/markdown-table.js +17 -0
  416. package/dist/utils/markdown-table.js.map +7 -0
  417. package/dist/utils/mermaid-utils.js +11 -0
  418. package/dist/utils/mermaid-utils.js.map +7 -0
  419. package/dist/utils/project-paths.js.map +2 -2
  420. package/dist/utils/source-reference.js +52 -0
  421. package/dist/utils/source-reference.js.map +7 -0
  422. package/dist/utils/spec-installer.js +40 -53
  423. package/dist/utils/spec-installer.js.map +2 -2
  424. package/dist/utils/spec-version.js +5 -1
  425. package/dist/utils/spec-version.js.map +2 -2
  426. package/dist/utils/string-utils.js +12 -0
  427. package/dist/utils/string-utils.js.map +7 -0
  428. package/dist/utils/table-formatting.js +19 -0
  429. package/dist/utils/table-formatting.js.map +7 -0
  430. package/dist/validators/index.js +4 -0
  431. package/dist/validators/index.js.map +2 -2
  432. package/dist/validators/naming-validator.js +20 -23
  433. package/dist/validators/naming-validator.js.map +2 -2
  434. package/dist/validators/reference-validator.js +23 -38
  435. package/dist/validators/reference-validator.js.map +2 -2
  436. package/dist/validators/relationship-schema-validator.js +243 -0
  437. package/dist/validators/relationship-schema-validator.js.map +7 -0
  438. package/dist/validators/schema-validator.js +168 -68
  439. package/dist/validators/schema-validator.js.map +2 -2
  440. package/dist/validators/semantic-validator.js +36 -60
  441. package/dist/validators/semantic-validator.js.map +2 -2
  442. package/dist/validators/types.js.map +2 -2
  443. package/dist/validators/validation-formatter.js +159 -0
  444. package/dist/validators/validation-formatter.js.map +7 -0
  445. package/dist/validators/validator.js +24 -38
  446. package/dist/validators/validator.js.map +2 -2
  447. package/dist/viewer/README.md +139 -0
  448. package/dist/viewer/assets/main-CY0Xufuj.css +1 -0
  449. package/dist/viewer/assets/main-DtgErnwF.js +81 -0
  450. package/dist/viewer/assets/vendor-CxKvDp2x.js +17 -0
  451. package/dist/viewer/favicon.svg +11 -0
  452. package/dist/viewer/fonts/inter/Inter-Black.woff2 +0 -0
  453. package/dist/viewer/fonts/inter/Inter-Bold.woff2 +0 -0
  454. package/dist/viewer/fonts/inter/Inter-ExtraBold.woff2 +0 -0
  455. package/dist/viewer/fonts/inter/Inter-Light.woff2 +0 -0
  456. package/dist/viewer/fonts/inter/Inter-Medium.woff2 +0 -0
  457. package/dist/viewer/fonts/inter/Inter-Regular.woff2 +0 -0
  458. package/dist/viewer/fonts/inter/Inter-SemiBold.woff2 +0 -0
  459. package/dist/viewer/fonts/jetbrains-mono/JetBrainsMono-Medium.woff2 +0 -0
  460. package/dist/viewer/fonts/jetbrains-mono/JetBrainsMono-Regular.woff2 +0 -0
  461. package/dist/viewer/fonts/jetbrains-mono/JetBrainsMono-SemiBold.woff2 +0 -0
  462. package/dist/viewer/index.html +15 -0
  463. package/dist/viewer/manifest.json +99 -0
  464. package/dist/viewer/version.json +1 -0
  465. package/package.json +37 -13
  466. package/PYTHON_CLI_PARITY.md +0 -265
  467. package/PYTHON_CLI_STRUCTURE_UPDATE.md +0 -246
  468. package/biome.json +0 -42
  469. package/bunfig.toml +0 -3
  470. package/dist/ai/claude-client.js +0 -71
  471. package/dist/ai/claude-client.js.map +0 -7
  472. package/dist/ai/context-provider.js +0 -129
  473. package/dist/ai/context-provider.js.map +0 -7
  474. package/dist/ai/tools.js +0 -231
  475. package/dist/ai/tools.js.map +0 -7
  476. package/dist/commands/migrate.js +0 -36
  477. package/dist/commands/migrate.js.map +0 -7
  478. package/dist/commands/project.js +0 -74
  479. package/dist/commands/project.js.map +0 -7
  480. package/dist/core/active-changeset.js +0 -52
  481. package/dist/core/active-changeset.js.map +0 -7
  482. package/dist/core/projection-engine.js +0 -288
  483. package/dist/core/projection-engine.js.map +0 -7
  484. package/dist/schemas/bundled/01-motivation-layer.schema.json +0 -942
  485. package/dist/schemas/bundled/02-business-layer.schema.json +0 -1293
  486. package/dist/schemas/bundled/03-security-layer.schema.json +0 -2177
  487. package/dist/schemas/bundled/04-application-layer.schema.json +0 -1328
  488. package/dist/schemas/bundled/05-technology-layer.schema.json +0 -1465
  489. package/dist/schemas/bundled/06-api-layer.schema.json +0 -1743
  490. package/dist/schemas/bundled/07-data-model-layer.schema.json +0 -1253
  491. package/dist/schemas/bundled/08-datastore-layer.schema.json +0 -892
  492. package/dist/schemas/bundled/09-ux-layer.schema.json +0 -1506
  493. package/dist/schemas/bundled/10-navigation-layer.schema.json +0 -843
  494. package/dist/schemas/bundled/11-apm-observability-layer.schema.json +0 -1430
  495. package/dist/schemas/bundled/12-testing-layer.schema.json +0 -1091
  496. package/dist/schemas/bundled/common/layer-extensions.schema.json +0 -266
  497. package/dist/schemas/bundled/common/predicates.schema.json +0 -493
  498. package/dist/schemas/bundled/common/relationships.schema.json +0 -791
  499. package/dist/schemas/bundled/common/source-references.schema.json +0 -71
  500. package/dist/schemas/bundled/link-registry.json +0 -1839
  501. package/dist/schemas/bundled/link-registry.schema.json +0 -339
  502. package/dist/schemas/bundled/relationship-catalog.json +0 -1302
  503. package/dist/schemas/bundled/relationship-type.schema.json +0 -221
  504. package/dist/utils/model-path.js +0 -22
  505. package/dist/utils/model-path.js.map +0 -7
  506. package/docs/TEST-INSTRUMENTATION.md +0 -405
  507. package/docs/telemetry.md +0 -427
  508. package/test-debug.js +0 -33
  509. package/test-special.mjs +0 -46
  510. package/test_runner.ts +0 -7
@@ -0,0 +1,373 @@
1
+ ---
2
+ description: Design model changes for a proposed feature, with reasoning annotations per element
3
+ argument-hint: '"<feature description>"'
4
+ ---
5
+
6
+ # Design Model Changes for a Proposed Feature
7
+
8
+ Given a natural language description of a proposed change, generate all implied model elements across affected layers — with reasoning for each decision. Output is a named changeset ready for review and refinement.
9
+
10
+ ## What This Command Does
11
+
12
+ 1. Parses the intent (new feature, refactor, compliance requirement, scaling change)
13
+ 2. Identifies all layers that will have changes
14
+ 3. Builds a complete impact map with a rationale per element
15
+ 4. Creates a named changeset
16
+ 5. Stages elements layer by layer with reasoning annotations
17
+ 6. Presents the full design for review and offers refinements
18
+
19
+ ## Usage
20
+
21
+ ```
22
+ /dr-design "Add a real-time order tracking feature"
23
+ /dr-design "Migrate checkout domain from monolith to microservices"
24
+ /dr-design "Add SOC2 compliance controls to the payment flow"
25
+ /dr-design "Introduce a recommendation engine for the product catalog"
26
+ ```
27
+
28
+ ## How This Differs from `/dr-changeset`
29
+
30
+ `/dr-changeset` manages the lifecycle of changes you already know you want to make.
31
+
32
+ `/dr-design` **figures out what changes to make** from a high-level intent. You describe the goal; the command determines the elements, layers, and relationships, then builds the changeset for you with full reasoning.
33
+
34
+ ## Instructions for Claude Code
35
+
36
+ > **GLOBAL RULE — source_reference on every element:**
37
+ > Every `dr add` call in this command MUST include `--source-provenance inferred`.
38
+ > Omitting it leaves `source_reference` unset, which produces one `dr validate` warning
39
+ > per element — permanently, until manually fixed. There are no exceptions.
40
+ > Correct form: `dr add <layer> <type> "<name>" --description "..." --source-provenance inferred`
41
+
42
+ ### Step 1: Validate Prerequisites
43
+
44
+ Check that a DR model exists:
45
+
46
+ ```bash
47
+ ls -la documentation-robotics/model/manifest.yaml 2>/dev/null
48
+ ```
49
+
50
+ If no model, prompt: "Initialize a model first with /dr-init, then extract your baseline with /dr-map."
51
+
52
+ ### Step 2: Parse Intent
53
+
54
+ Classify the proposed change into one of these intent types:
55
+
56
+ | Intent Type | Examples | Typical Affected Layers |
57
+ | ------------------------- | --------------------------------------------- | ------------------------------------------------------- |
58
+ | **New feature** | "Add order tracking", "Add notifications" | motivation, application, api, data-model, security, apm |
59
+ | **Compliance** | "SOC2 compliance", "GDPR controls", "PCI-DSS" | motivation, security, business, testing |
60
+ | **Infrastructure change** | "Move to Kubernetes", "Switch to Postgres" | technology, data-store, apm |
61
+ | **Domain refactor** | "Extract microservice", "Split monolith" | business, application, api, technology |
62
+ | **UX/Product** | "Add mobile app", "Redesign checkout flow" | ux, navigation, api, application |
63
+ | **Observability** | "Add distributed tracing", "SLO dashboards" | apm, application, motivation |
64
+ | **Data change** | "Add new entity", "Redesign data model" | data-model, data-store, api, application |
65
+
66
+ Ask a clarifying question if the intent type is ambiguous or the scope is very broad.
67
+
68
+ ### Step 3: Examine the Existing Model
69
+
70
+ Before proposing new elements, understand what already exists:
71
+
72
+ ```bash
73
+ # Check what's already in the model for relevant layers
74
+ dr list application
75
+ dr list api
76
+ dr list motivation
77
+
78
+ # Look for related existing elements
79
+ dr search "<key terms from the feature description>"
80
+ ```
81
+
82
+ This prevents proposing elements that already exist and enables proposing relationships to existing elements.
83
+
84
+ **Duplicate guard:** Before staging any element in Step 6, verify it does not already exist:
85
+
86
+ ```bash
87
+ dr show <proposed-element-id> 2>/dev/null && echo "EXISTS" || echo "NEW"
88
+ ```
89
+
90
+ If the element already exists, skip the `dr add` call and note it in the design summary as "already modeled." Do not attempt to re-add it.
91
+
92
+ ### Step 4: Build the Impact Map
93
+
94
+ For each affected layer, determine:
95
+
96
+ - What elements need to be added (and why)
97
+ - What existing elements need to be updated (and what changes)
98
+ - What cross-layer relationships to add (e.g., the new API operation exposes the new application service)
99
+
100
+ **Impact map ordering** (design from intent down to implementation):
101
+
102
+ 1. Motivation — what goal/requirement drives this?
103
+ 2. Business — what business capability does it add or change?
104
+ 3. Security — what access controls, policies, or threats does it introduce?
105
+ 4. Technology — what infrastructure, platforms, or frameworks does it require?
106
+ 5. Application — what services or components implement it?
107
+ 6. API — what endpoints expose it?
108
+ 7. Data Model — what entities or schemas does it require?
109
+ 8. Data Store — what tables or indexes does it need?
110
+ 9. UX — what screens or components does the user interact with? (if applicable)
111
+ 10. Navigation — what routing changes does it require? (if applicable)
112
+ 11. APM — what metrics, spans, or alerts should track it?
113
+ 12. Testing — what test cases should validate it?
114
+
115
+ Reason about each layer explicitly. It's acceptable to skip layers that are genuinely not affected — but provide a rationale.
116
+
117
+ ### Step 5: Create a Named Changeset
118
+
119
+ ```bash
120
+ dr changeset create design-<kebab-feature-name>
121
+ dr changeset activate design-<kebab-feature-name>
122
+ ```
123
+
124
+ Example:
125
+
126
+ ```bash
127
+ dr changeset create design-real-time-order-tracking
128
+ dr changeset activate design-real-time-order-tracking
129
+ ```
130
+
131
+ ### Step 6: Stage Elements with Reasoning Annotations
132
+
133
+ With the changeset active, add each element in the prescribed layer order (motivation first, then down). All `dr add` commands auto-stage to the active changeset. Include reasoning in the description.
134
+
135
+ **REQUIRED — no exceptions:** Every `dr add` call MUST end with `--source-provenance inferred`.
136
+ This is non-negotiable. Elements staged without it will produce permanent `dr validate` warnings.
137
+ No `--source-file` is needed for design-generated elements — provenance alone is sufficient.
138
+
139
+ ```bash
140
+ # CORRECT — always end dr add calls with --source-provenance inferred
141
+ dr add motivation goal "Real Time Order Visibility" \
142
+ --description "Customers can see live order status updates without refreshing. Drives the new tracking feature." \
143
+ --source-provenance inferred
144
+
145
+ # WRONG — missing --source-provenance causes a validate warning for this element forever
146
+ dr add motivation goal "Real Time Order Visibility" \
147
+ --description "Customers can see live order status updates without refreshing."
148
+ ```
149
+
150
+ Show each staged element to the user as it's created with its reasoning:
151
+
152
+ ```
153
+ Staging motivation layer...
154
+
155
+ + motivation.goal.real-time-order-visibility
156
+ Reasoning: "Real-time tracking" implies a business goal for order transparency.
157
+ This goal will drive the new business service and API operations.
158
+
159
+ Staging application layer...
160
+
161
+ + application.service.order-tracking-service
162
+ Reasoning: Real-time tracking requires a dedicated service to manage WebSocket
163
+ connections or SSE streams. Separate from order-service to isolate concerns.
164
+
165
+ + application.service.notification-dispatcher
166
+ Reasoning: Tracking updates must be pushed to clients. A dispatcher service
167
+ decouples the tracking logic from the delivery mechanism.
168
+
169
+ Staging api layer...
170
+
171
+ + api.operation.get-order-tracking-status
172
+ Reasoning: REST polling endpoint for clients that can't use WebSockets.
173
+ Path: GET /api/v1/orders/{id}/tracking
174
+
175
+ + api.operation.subscribe-order-updates
176
+ Reasoning: WebSocket endpoint for real-time push. Consider SSE as alternative
177
+ if WebSocket complexity is undesirable.
178
+
179
+ Staging data-model layer...
180
+
181
+ + data-model.objectschema.order-tracking-event
182
+ Reasoning: Need to store tracking state transitions (submitted → shipped → delivered).
183
+ This schema captures each event with timestamp, actor, and orderId.
184
+ ```
185
+
186
+ ### Step 7: Show Complete Changeset Preview
187
+
188
+ After staging all elements, display the full changeset with reasoning:
189
+
190
+ ```bash
191
+ dr changeset preview
192
+ ```
193
+
194
+ Show output in annotated format:
195
+
196
+ ```
197
+ DESIGN PROPOSAL: Real-Time Order Tracking
198
+ ==========================================
199
+ Changeset: design-real-time-order-tracking
200
+
201
+ MOTIVATION (1 element):
202
+ + motivation.goal.real-time-order-visibility
203
+ [Goal] Customers can see live order status without refreshing
204
+
205
+ BUSINESS (1 element):
206
+ + business.service.order-tracking-capability
207
+ [BusinessService] Business capability for real-time order visibility
208
+
209
+ SECURITY (1 element):
210
+ + security.policy.order-tracking-access-control
211
+ [AccessPolicy] Only authenticated customers can view their own orders
212
+
213
+ APPLICATION (2 elements):
214
+ + application.service.order-tracking-service
215
+ [ApplicationService] Manages tracking state and WebSocket/SSE connections
216
+ + application.service.notification-dispatcher
217
+ [ApplicationService] Pushes tracking updates to subscribed clients
218
+
219
+ API (2 elements):
220
+ + api.operation.get-order-tracking-status
221
+ [Operation] GET /api/v1/orders/{id}/tracking — polling endpoint
222
+ + api.operation.subscribe-order-updates
223
+ [Operation] WS /api/v1/orders/{id}/tracking/ws — push endpoint
224
+
225
+ DATA MODEL (1 element):
226
+ + data-model.objectschema.order-tracking-event
227
+ [ObjectSchema] Immutable event log: status, timestamp, actor, orderId
228
+
229
+ DATA STORE (1 element):
230
+ + data-store.collection.order-tracking-events
231
+ [Collection] Append-only event collection with index on orderId
232
+
233
+ APM (2 elements):
234
+ + apm.span.order-tracking-update
235
+ [Span] Traces each status transition through the tracking service
236
+ + apm.metric.tracking-update-latency
237
+ [Metric] P95 latency for pushing updates to clients — alert if >500ms
238
+
239
+ TESTING (2 elements):
240
+ + testing.testcasesketch.order-tracking-status-transitions
241
+ [TestCaseSketch] Validates all valid state machine transitions
242
+ + testing.testcasesketch.concurrent-tracking-subscribers
243
+ [TestCaseSketch] Load test: 1000 concurrent WebSocket connections
244
+
245
+ CROSS-LAYER REFERENCES:
246
+ api.operation.get-order-tracking-status → exposes → application.service.order-tracking-service
247
+ application.service.order-tracking-service → realizes → business.service.order-tracking-capability
248
+ application.service.order-tracking-service → stores → data-store.collection.order-tracking-events
249
+
250
+ Total: 13 new elements across 9 layers
251
+
252
+ Options:
253
+ [c] Commit this design (apply to model)
254
+ [r] Refine — add more detail to a layer
255
+ [s] Skip a layer (remove its elements)
256
+ [+] Add an element I didn't include
257
+ [e] Edit a specific element
258
+ [d] Discard design
259
+ ```
260
+
261
+ ### Step 8: Offer Refinements
262
+
263
+ Based on user feedback, iterate:
264
+
265
+ **Refine a layer:** Re-examine that layer and add more granular elements
266
+
267
+ **Skip a layer:** Remove staged elements for that layer
268
+
269
+ **Add an element:** Prompt user to describe it, then stage it
270
+
271
+ **Edit an element:** Update the staged element's properties
272
+
273
+ **Change scope:** Broaden or narrow the design
274
+
275
+ ### Step 9: Commit or Save for Later
276
+
277
+ If user is ready to commit:
278
+
279
+ ```bash
280
+ dr changeset commit
281
+ dr validate --strict
282
+ ```
283
+
284
+ If user wants to save for later:
285
+
286
+ ```
287
+ Design saved as changeset: design-real-time-order-tracking
288
+ 13 elements staged, not yet committed to the model
289
+
290
+ Resume with: /dr-changeset preview design-real-time-order-tracking
291
+ Commit when ready: dr changeset commit design-real-time-order-tracking
292
+ ```
293
+
294
+ ### Step 10: Wire Cross-Layer Relationships
295
+
296
+ After committing, the new elements exist in the model but are not yet connected to existing elements — they will show up as orphans in `dr audit`. Offer to run a relate pass.
297
+
298
+ Substitute `<N>` with the actual committed count from `dr changeset commit`'s output and `<layers>` with the layers touched by this design:
299
+
300
+ ```
301
+ Design committed. <N> new elements are now in the model.
302
+
303
+ These elements are not yet connected to existing architectural elements.
304
+ Run /dr-relate to wire cross-layer relationships (recommended), or skip if
305
+ you plan to add relationships manually.
306
+
307
+ [r] Run /dr-relate now for the new elements
308
+ [s] Skip — I'll wire relationships later
309
+ ```
310
+
311
+ If the user chooses to relate, invoke `/dr-relate` with the scope narrowed to the `<layers>` touched by this design.
312
+
313
+ ## Design Principles
314
+
315
+ **Be opinionated about layer coverage:** A feature that touches the API layer almost certainly needs APM instrumentation and test cases. Flag when these are missing and add them unless the user explicitly skips.
316
+
317
+ **Reference existing elements:** Always check what's in the model before adding. New API operations should expose existing (or newly staged) application services, not float independently.
318
+
319
+ **Reason explicitly:** Every staged element must have a rationale — not just "this is needed" but "this is needed because..."
320
+
321
+ **Suggest alternatives:** When there are multiple valid design choices (WebSocket vs. SSE, separate service vs. extending existing), note both options in the reasoning and ask which to proceed with.
322
+
323
+ **Size appropriately:** A small feature shouldn't produce 30 elements. A large compliance initiative might. Use judgment about what's architecturally significant vs. implementation detail.
324
+
325
+ ## Example Interactions
326
+
327
+ ### Example 1: New Feature
328
+
329
+ ```
330
+ User: /dr-design "Add a notification service for order status updates"
331
+
332
+ You:
333
+ Analyzing intent: new feature — cross-cutting notification capability
334
+ Affected layers: motivation, business, application, api, security, apm, testing
335
+ Skipping: technology (no new infra), data-store (events stored in existing order table),
336
+ ux (backend feature only), navigation (no routing changes)
337
+
338
+ Checking existing model...
339
+ Found: application.service.order-service (will need to trigger notifications)
340
+ Found: api.operation.create-order (existing — notification triggered on order creation)
341
+
342
+ Staging design...
343
+ [... staged elements with reasoning ...]
344
+
345
+ Design ready. 11 elements across 7 layers.
346
+ [Review prompt as shown above]
347
+ ```
348
+
349
+ ### Example 2: Compliance
350
+
351
+ ```
352
+ User: /dr-design "Add SOC2 Type II controls for our payment processing flow"
353
+
354
+ You:
355
+ Analyzing intent: compliance — SOC2 Type II for payment domain
356
+ Affected layers: motivation (requirements), security (controls), business (process),
357
+ testing (audit evidence), apm (audit logging)
358
+
359
+ Checking existing model for payment elements...
360
+ Found: application.service.payment-service
361
+ Found: api.operation.create-payment
362
+ Found: data-store.collection.payments
363
+
364
+ Staging SOC2 controls mapped to existing elements...
365
+ [... staged elements with reasoning ...]
366
+ ```
367
+
368
+ ## Related Commands
369
+
370
+ - `/dr-sync` — Update model from actual code changes after implementation
371
+ - `/dr-changeset` — Manage changeset lifecycle directly
372
+ - `/dr-model` — Add individual elements manually
373
+ - `/dr-advisor` — Get architectural advice before designing
@@ -0,0 +1,132 @@
1
+ ---
2
+ description: Show overview of the architecture model — layer element counts, version, and metadata
3
+ argument-hint: "[--layer <name>] [--verbose]"
4
+ ---
5
+
6
+ # Model Info
7
+
8
+ Show an overview of the Documentation Robotics model: project metadata, layer names, and element counts per layer.
9
+
10
+ ## What This Command Does
11
+
12
+ Displays:
13
+
14
+ - Project name, version, spec version, author, description
15
+ - List of all 12 layers with their element counts
16
+ - With `--layer <name>`: detailed view of a single layer
17
+ - With `--layer <name> --verbose`: per-type breakdown within that layer
18
+
19
+ ## Usage
20
+
21
+ ```
22
+ /dr-info [--layer <name>] [--verbose]
23
+ ```
24
+
25
+ ## Instructions for Claude Code
26
+
27
+ ### When to Run `dr info`
28
+
29
+ Run `dr info` as the **first orientation step** when starting any modeling session or when you need to understand the model's overall shape. It is the fastest way to answer:
30
+
31
+ - "How many elements exist per layer?"
32
+ - "What version is the model?"
33
+ - "Which layers have content?"
34
+
35
+ ### Decision Flowchart: `dr info` vs. Related Commands
36
+
37
+ | Goal | Command |
38
+ | ---------------------------------- | ---------------------------------- |
39
+ | Model overview (counts per layer) | `dr info` |
40
+ | Per-type breakdown within a layer | `dr info --layer <name> --verbose` |
41
+ | Health metrics (orphans, coverage) | `dr stats` |
42
+ | List actual element IDs in a layer | `dr list <layer>` |
43
+ | Find an element by name/type | `dr search <term>` |
44
+ | Inspect a single element | `dr show <element-id>` |
45
+
46
+ ### Recommended Session Start Sequence
47
+
48
+ ```bash
49
+ # 1. Orientation — understand what exists
50
+ dr info
51
+
52
+ # 2. Check for active changeset — know your editing context
53
+ dr changeset status
54
+
55
+ # 3. Validate current state before making changes
56
+ dr validate
57
+ ```
58
+
59
+ ### Using `--layer` and `--verbose`
60
+
61
+ ```bash
62
+ # Overview of all layers
63
+ dr info
64
+
65
+ # Summary for one layer (only that layer is loaded — much faster)
66
+ dr info --layer api
67
+
68
+ # Per-type breakdown for one layer
69
+ dr info --layer api --verbose
70
+ # Example output:
71
+ # api
72
+ # Elements: 47
73
+ # Details:
74
+ # - operation: 16
75
+ # - endpoint: 31
76
+ ```
77
+
78
+ Use `--layer <name> --verbose` instead of chaining `dr info --layer api` + `dr list api` — it provides the same type breakdown without listing every element ID.
79
+
80
+ ### Known Blind Spots
81
+
82
+ `dr info` does NOT show:
83
+
84
+ - **Active changeset**: Whether a changeset is currently staged. Run `dr changeset status` separately.
85
+ - **Validation health**: Whether the model has any errors or warnings. Run `dr validate` separately.
86
+ - **Relationship counts**: How many cross-layer references or intra-layer relationships exist. Run `dr stats` for connectivity metrics.
87
+ - **Per-type breakdown** (all-layers mode): Without `--layer`, only total element counts per layer are shown, not breakdown by type.
88
+
89
+ ### No Machine-Readable Output
90
+
91
+ `dr info` has no `--json` or `--output` flag. For programmatic element data, use:
92
+
93
+ ```bash
94
+ dr list <layer> --json # All elements in a layer as JSON
95
+ dr stats --format json # Health metrics as JSON
96
+ ```
97
+
98
+ ## Example Output
99
+
100
+ ```
101
+ Model: Documentation Robotics Viewer
102
+ ────────────────────────────────────────────────
103
+ Name: Documentation Robotics Viewer
104
+ Version: 0.3.1
105
+ Spec Version: 0.8.3
106
+ Author: Austin Sand
107
+ Created: 2025-11-01T00:00:00.000Z
108
+ Modified: 2026-04-11T18:22:14.931Z
109
+
110
+ Layers:
111
+ ────────────────────────────────────────────────
112
+ motivation 18 elements
113
+ business 32 elements
114
+ security 14 elements
115
+ application 41 elements
116
+ technology 12 elements
117
+ api 47 elements
118
+ data-model 23 elements
119
+ data-store 8 elements
120
+ ux 19 elements
121
+ navigation 9 elements
122
+ apm 22 elements
123
+ testing 20 elements
124
+ ```
125
+
126
+ ## Related Commands
127
+
128
+ - `dr changeset status` — check active changeset before making changes
129
+ - `dr validate` — check model health before editing
130
+ - `dr list <layer>` — list element IDs in a specific layer
131
+ - `dr stats` — relationship coverage and orphan metrics
132
+ - `dr show <element-id>` — inspect a single element in detail