@yohakuforce/core 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (511) hide show
  1. package/README.md +65 -0
  2. package/dist/adapters/dx-mcp/dx-mcp-source-adapter.d.ts +25 -0
  3. package/dist/adapters/dx-mcp/dx-mcp-source-adapter.d.ts.map +1 -0
  4. package/dist/adapters/dx-mcp/dx-mcp-source-adapter.js +45 -0
  5. package/dist/adapters/dx-mcp/dx-mcp-source-adapter.js.map +1 -0
  6. package/dist/adapters/dx-mcp/index.d.ts +3 -0
  7. package/dist/adapters/dx-mcp/index.d.ts.map +1 -0
  8. package/dist/adapters/dx-mcp/index.js +2 -0
  9. package/dist/adapters/dx-mcp/index.js.map +1 -0
  10. package/dist/adapters/local/index.d.ts +5 -0
  11. package/dist/adapters/local/index.d.ts.map +1 -0
  12. package/dist/adapters/local/index.js +3 -0
  13. package/dist/adapters/local/index.js.map +1 -0
  14. package/dist/adapters/local/local-source-adapter.d.ts +19 -0
  15. package/dist/adapters/local/local-source-adapter.d.ts.map +1 -0
  16. package/dist/adapters/local/local-source-adapter.js +214 -0
  17. package/dist/adapters/local/local-source-adapter.js.map +1 -0
  18. package/dist/adapters/local/sfdx-project.d.ts +14 -0
  19. package/dist/adapters/local/sfdx-project.d.ts.map +1 -0
  20. package/dist/adapters/local/sfdx-project.js +76 -0
  21. package/dist/adapters/local/sfdx-project.js.map +1 -0
  22. package/dist/change-summary/index.d.ts +4 -0
  23. package/dist/change-summary/index.d.ts.map +1 -0
  24. package/dist/change-summary/index.js +3 -0
  25. package/dist/change-summary/index.js.map +1 -0
  26. package/dist/change-summary/schema.json +152 -0
  27. package/dist/change-summary/types.d.ts +52 -0
  28. package/dist/change-summary/types.d.ts.map +1 -0
  29. package/dist/change-summary/types.js +18 -0
  30. package/dist/change-summary/types.js.map +1 -0
  31. package/dist/change-summary/validate.d.ts +8 -0
  32. package/dist/change-summary/validate.d.ts.map +1 -0
  33. package/dist/change-summary/validate.js +35 -0
  34. package/dist/change-summary/validate.js.map +1 -0
  35. package/dist/cli.d.ts +3 -0
  36. package/dist/cli.d.ts.map +1 -0
  37. package/dist/cli.js +945 -0
  38. package/dist/cli.js.map +1 -0
  39. package/dist/consistency/check.d.ts +4 -0
  40. package/dist/consistency/check.d.ts.map +1 -0
  41. package/dist/consistency/check.js +70 -0
  42. package/dist/consistency/check.js.map +1 -0
  43. package/dist/consistency/index.d.ts +4 -0
  44. package/dist/consistency/index.d.ts.map +1 -0
  45. package/dist/consistency/index.js +3 -0
  46. package/dist/consistency/index.js.map +1 -0
  47. package/dist/consistency/types.d.ts +29 -0
  48. package/dist/consistency/types.d.ts.map +1 -0
  49. package/dist/consistency/types.js +12 -0
  50. package/dist/consistency/types.js.map +1 -0
  51. package/dist/diff/classify-files.d.ts +9 -0
  52. package/dist/diff/classify-files.d.ts.map +1 -0
  53. package/dist/diff/classify-files.js +105 -0
  54. package/dist/diff/classify-files.js.map +1 -0
  55. package/dist/diff/diff.d.ts +11 -0
  56. package/dist/diff/diff.d.ts.map +1 -0
  57. package/dist/diff/diff.js +69 -0
  58. package/dist/diff/diff.js.map +1 -0
  59. package/dist/diff/git.d.ts +28 -0
  60. package/dist/diff/git.d.ts.map +1 -0
  61. package/dist/diff/git.js +115 -0
  62. package/dist/diff/git.js.map +1 -0
  63. package/dist/diff/index.d.ts +7 -0
  64. package/dist/diff/index.d.ts.map +1 -0
  65. package/dist/diff/index.js +5 -0
  66. package/dist/diff/index.js.map +1 -0
  67. package/dist/diff/types.d.ts +28 -0
  68. package/dist/diff/types.d.ts.map +1 -0
  69. package/dist/diff/types.js +4 -0
  70. package/dist/diff/types.js.map +1 -0
  71. package/dist/explain/block-registry.d.ts +17 -0
  72. package/dist/explain/block-registry.d.ts.map +1 -0
  73. package/dist/explain/block-registry.js +73 -0
  74. package/dist/explain/block-registry.js.map +1 -0
  75. package/dist/explain/index.d.ts +22 -0
  76. package/dist/explain/index.d.ts.map +1 -0
  77. package/dist/explain/index.js +128 -0
  78. package/dist/explain/index.js.map +1 -0
  79. package/dist/graph/builder.d.ts +9 -0
  80. package/dist/graph/builder.d.ts.map +1 -0
  81. package/dist/graph/builder.js +276 -0
  82. package/dist/graph/builder.js.map +1 -0
  83. package/dist/graph/dependencies.d.ts +5 -0
  84. package/dist/graph/dependencies.d.ts.map +1 -0
  85. package/dist/graph/dependencies.js +38 -0
  86. package/dist/graph/dependencies.js.map +1 -0
  87. package/dist/graph/extractors/apex-body.d.ts +5 -0
  88. package/dist/graph/extractors/apex-body.d.ts.map +1 -0
  89. package/dist/graph/extractors/apex-body.js +289 -0
  90. package/dist/graph/extractors/apex-body.js.map +1 -0
  91. package/dist/graph/extractors/apex-class.d.ts +5 -0
  92. package/dist/graph/extractors/apex-class.d.ts.map +1 -0
  93. package/dist/graph/extractors/apex-class.js +43 -0
  94. package/dist/graph/extractors/apex-class.js.map +1 -0
  95. package/dist/graph/extractors/apex-control-flow.d.ts +33 -0
  96. package/dist/graph/extractors/apex-control-flow.d.ts.map +1 -0
  97. package/dist/graph/extractors/apex-control-flow.js +432 -0
  98. package/dist/graph/extractors/apex-control-flow.js.map +1 -0
  99. package/dist/graph/extractors/apex-trigger.d.ts +4 -0
  100. package/dist/graph/extractors/apex-trigger.d.ts.map +1 -0
  101. package/dist/graph/extractors/apex-trigger.js +40 -0
  102. package/dist/graph/extractors/apex-trigger.js.map +1 -0
  103. package/dist/graph/extractors/approval-process.d.ts +4 -0
  104. package/dist/graph/extractors/approval-process.d.ts.map +1 -0
  105. package/dist/graph/extractors/approval-process.js +103 -0
  106. package/dist/graph/extractors/approval-process.js.map +1 -0
  107. package/dist/graph/extractors/aura-bundle.d.ts +4 -0
  108. package/dist/graph/extractors/aura-bundle.d.ts.map +1 -0
  109. package/dist/graph/extractors/aura-bundle.js +77 -0
  110. package/dist/graph/extractors/aura-bundle.js.map +1 -0
  111. package/dist/graph/extractors/custom-application.d.ts +4 -0
  112. package/dist/graph/extractors/custom-application.d.ts.map +1 -0
  113. package/dist/graph/extractors/custom-application.js +55 -0
  114. package/dist/graph/extractors/custom-application.js.map +1 -0
  115. package/dist/graph/extractors/custom-metadata-record.d.ts +4 -0
  116. package/dist/graph/extractors/custom-metadata-record.d.ts.map +1 -0
  117. package/dist/graph/extractors/custom-metadata-record.js +53 -0
  118. package/dist/graph/extractors/custom-metadata-record.js.map +1 -0
  119. package/dist/graph/extractors/field.d.ts +4 -0
  120. package/dist/graph/extractors/field.d.ts.map +1 -0
  121. package/dist/graph/extractors/field.js +36 -0
  122. package/dist/graph/extractors/field.js.map +1 -0
  123. package/dist/graph/extractors/flexi-page.d.ts +4 -0
  124. package/dist/graph/extractors/flexi-page.d.ts.map +1 -0
  125. package/dist/graph/extractors/flexi-page.js +46 -0
  126. package/dist/graph/extractors/flexi-page.js.map +1 -0
  127. package/dist/graph/extractors/flow-body.d.ts +3 -0
  128. package/dist/graph/extractors/flow-body.d.ts.map +1 -0
  129. package/dist/graph/extractors/flow-body.js +144 -0
  130. package/dist/graph/extractors/flow-body.js.map +1 -0
  131. package/dist/graph/extractors/flow.d.ts +4 -0
  132. package/dist/graph/extractors/flow.d.ts.map +1 -0
  133. package/dist/graph/extractors/flow.js +20 -0
  134. package/dist/graph/extractors/flow.js.map +1 -0
  135. package/dist/graph/extractors/index.d.ts +24 -0
  136. package/dist/graph/extractors/index.d.ts.map +1 -0
  137. package/dist/graph/extractors/index.js +23 -0
  138. package/dist/graph/extractors/index.js.map +1 -0
  139. package/dist/graph/extractors/layout.d.ts +4 -0
  140. package/dist/graph/extractors/layout.d.ts.map +1 -0
  141. package/dist/graph/extractors/layout.js +89 -0
  142. package/dist/graph/extractors/layout.js.map +1 -0
  143. package/dist/graph/extractors/lwc.d.ts +4 -0
  144. package/dist/graph/extractors/lwc.d.ts.map +1 -0
  145. package/dist/graph/extractors/lwc.js +170 -0
  146. package/dist/graph/extractors/lwc.js.map +1 -0
  147. package/dist/graph/extractors/named-credential.d.ts +9 -0
  148. package/dist/graph/extractors/named-credential.d.ts.map +1 -0
  149. package/dist/graph/extractors/named-credential.js +38 -0
  150. package/dist/graph/extractors/named-credential.js.map +1 -0
  151. package/dist/graph/extractors/object.d.ts +4 -0
  152. package/dist/graph/extractors/object.d.ts.map +1 -0
  153. package/dist/graph/extractors/object.js +16 -0
  154. package/dist/graph/extractors/object.js.map +1 -0
  155. package/dist/graph/extractors/permission-set-body.d.ts +3 -0
  156. package/dist/graph/extractors/permission-set-body.d.ts.map +1 -0
  157. package/dist/graph/extractors/permission-set-body.js +80 -0
  158. package/dist/graph/extractors/permission-set-body.js.map +1 -0
  159. package/dist/graph/extractors/permission-set.d.ts +4 -0
  160. package/dist/graph/extractors/permission-set.d.ts.map +1 -0
  161. package/dist/graph/extractors/permission-set.js +17 -0
  162. package/dist/graph/extractors/permission-set.js.map +1 -0
  163. package/dist/graph/extractors/profile.d.ts +4 -0
  164. package/dist/graph/extractors/profile.d.ts.map +1 -0
  165. package/dist/graph/extractors/profile.js +15 -0
  166. package/dist/graph/extractors/profile.js.map +1 -0
  167. package/dist/graph/extractors/record-type.d.ts +4 -0
  168. package/dist/graph/extractors/record-type.d.ts.map +1 -0
  169. package/dist/graph/extractors/record-type.js +19 -0
  170. package/dist/graph/extractors/record-type.js.map +1 -0
  171. package/dist/graph/extractors/remote-site-setting.d.ts +4 -0
  172. package/dist/graph/extractors/remote-site-setting.d.ts.map +1 -0
  173. package/dist/graph/extractors/remote-site-setting.js +15 -0
  174. package/dist/graph/extractors/remote-site-setting.js.map +1 -0
  175. package/dist/graph/extractors/sharing-rules.d.ts +8 -0
  176. package/dist/graph/extractors/sharing-rules.d.ts.map +1 -0
  177. package/dist/graph/extractors/sharing-rules.js +122 -0
  178. package/dist/graph/extractors/sharing-rules.js.map +1 -0
  179. package/dist/graph/extractors/types.d.ts +8 -0
  180. package/dist/graph/extractors/types.d.ts.map +1 -0
  181. package/dist/graph/extractors/types.js +2 -0
  182. package/dist/graph/extractors/types.js.map +1 -0
  183. package/dist/graph/extractors/validation-rule.d.ts +4 -0
  184. package/dist/graph/extractors/validation-rule.d.ts.map +1 -0
  185. package/dist/graph/extractors/validation-rule.js +19 -0
  186. package/dist/graph/extractors/validation-rule.js.map +1 -0
  187. package/dist/graph/extractors/visualforce-component.d.ts +4 -0
  188. package/dist/graph/extractors/visualforce-component.d.ts.map +1 -0
  189. package/dist/graph/extractors/visualforce-component.js +90 -0
  190. package/dist/graph/extractors/visualforce-component.js.map +1 -0
  191. package/dist/graph/extractors/visualforce-page.d.ts +4 -0
  192. package/dist/graph/extractors/visualforce-page.d.ts.map +1 -0
  193. package/dist/graph/extractors/visualforce-page.js +92 -0
  194. package/dist/graph/extractors/visualforce-page.js.map +1 -0
  195. package/dist/graph/index.d.ts +8 -0
  196. package/dist/graph/index.d.ts.map +1 -0
  197. package/dist/graph/index.js +5 -0
  198. package/dist/graph/index.js.map +1 -0
  199. package/dist/graph/parse-xml.d.ts +5 -0
  200. package/dist/graph/parse-xml.d.ts.map +1 -0
  201. package/dist/graph/parse-xml.js +39 -0
  202. package/dist/graph/parse-xml.js.map +1 -0
  203. package/dist/graph/sqlite-reader.d.ts +33 -0
  204. package/dist/graph/sqlite-reader.d.ts.map +1 -0
  205. package/dist/graph/sqlite-reader.js +445 -0
  206. package/dist/graph/sqlite-reader.js.map +1 -0
  207. package/dist/graph/sqlite-store.d.ts +78 -0
  208. package/dist/graph/sqlite-store.d.ts.map +1 -0
  209. package/dist/graph/sqlite-store.js +683 -0
  210. package/dist/graph/sqlite-store.js.map +1 -0
  211. package/dist/index.d.ts +33 -0
  212. package/dist/index.d.ts.map +1 -0
  213. package/dist/index.js +18 -0
  214. package/dist/index.js.map +1 -0
  215. package/dist/init/index.d.ts +4 -0
  216. package/dist/init/index.d.ts.map +1 -0
  217. package/dist/init/index.js +3 -0
  218. package/dist/init/index.js.map +1 -0
  219. package/dist/init/init.d.ts +9 -0
  220. package/dist/init/init.d.ts.map +1 -0
  221. package/dist/init/init.js +92 -0
  222. package/dist/init/init.js.map +1 -0
  223. package/dist/init/types.d.ts +37 -0
  224. package/dist/init/types.d.ts.map +1 -0
  225. package/dist/init/types.js +59 -0
  226. package/dist/init/types.js.map +1 -0
  227. package/dist/merge/index.d.ts +6 -0
  228. package/dist/merge/index.d.ts.map +1 -0
  229. package/dist/merge/index.js +5 -0
  230. package/dist/merge/index.js.map +1 -0
  231. package/dist/merge/markers.d.ts +8 -0
  232. package/dist/merge/markers.d.ts.map +1 -0
  233. package/dist/merge/markers.js +30 -0
  234. package/dist/merge/markers.js.map +1 -0
  235. package/dist/merge/merge.d.ts +12 -0
  236. package/dist/merge/merge.d.ts.map +1 -0
  237. package/dist/merge/merge.js +116 -0
  238. package/dist/merge/merge.js.map +1 -0
  239. package/dist/merge/parser.d.ts +5 -0
  240. package/dist/merge/parser.d.ts.map +1 -0
  241. package/dist/merge/parser.js +63 -0
  242. package/dist/merge/parser.js.map +1 -0
  243. package/dist/merge/validator.d.ts +15 -0
  244. package/dist/merge/validator.d.ts.map +1 -0
  245. package/dist/merge/validator.js +64 -0
  246. package/dist/merge/validator.js.map +1 -0
  247. package/dist/metrics/aggregate.d.ts +11 -0
  248. package/dist/metrics/aggregate.d.ts.map +1 -0
  249. package/dist/metrics/aggregate.js +51 -0
  250. package/dist/metrics/aggregate.js.map +1 -0
  251. package/dist/metrics/index.d.ts +7 -0
  252. package/dist/metrics/index.d.ts.map +1 -0
  253. package/dist/metrics/index.js +4 -0
  254. package/dist/metrics/index.js.map +1 -0
  255. package/dist/metrics/store.d.ts +19 -0
  256. package/dist/metrics/store.d.ts.map +1 -0
  257. package/dist/metrics/store.js +69 -0
  258. package/dist/metrics/store.js.map +1 -0
  259. package/dist/metrics/types.d.ts +32 -0
  260. package/dist/metrics/types.d.ts.map +1 -0
  261. package/dist/metrics/types.js +38 -0
  262. package/dist/metrics/types.js.map +1 -0
  263. package/dist/onboarding/context-map.d.ts +15 -0
  264. package/dist/onboarding/context-map.d.ts.map +1 -0
  265. package/dist/onboarding/context-map.js +138 -0
  266. package/dist/onboarding/context-map.js.map +1 -0
  267. package/dist/onboarding/faq.d.ts +24 -0
  268. package/dist/onboarding/faq.d.ts.map +1 -0
  269. package/dist/onboarding/faq.js +127 -0
  270. package/dist/onboarding/faq.js.map +1 -0
  271. package/dist/onboarding/index.d.ts +9 -0
  272. package/dist/onboarding/index.d.ts.map +1 -0
  273. package/dist/onboarding/index.js +5 -0
  274. package/dist/onboarding/index.js.map +1 -0
  275. package/dist/onboarding/state.d.ts +15 -0
  276. package/dist/onboarding/state.d.ts.map +1 -0
  277. package/dist/onboarding/state.js +92 -0
  278. package/dist/onboarding/state.js.map +1 -0
  279. package/dist/onboarding/types.d.ts +38 -0
  280. package/dist/onboarding/types.d.ts.map +1 -0
  281. package/dist/onboarding/types.js +13 -0
  282. package/dist/onboarding/types.js.map +1 -0
  283. package/dist/release/extract-manual-steps.d.ts +16 -0
  284. package/dist/release/extract-manual-steps.d.ts.map +1 -0
  285. package/dist/release/extract-manual-steps.js +164 -0
  286. package/dist/release/extract-manual-steps.js.map +1 -0
  287. package/dist/release/index.d.ts +4 -0
  288. package/dist/release/index.d.ts.map +1 -0
  289. package/dist/release/index.js +3 -0
  290. package/dist/release/index.js.map +1 -0
  291. package/dist/release/schema.json +142 -0
  292. package/dist/release/types.d.ts +39 -0
  293. package/dist/release/types.d.ts.map +1 -0
  294. package/dist/release/types.js +4 -0
  295. package/dist/release/types.js.map +1 -0
  296. package/dist/release/validate.d.ts +8 -0
  297. package/dist/release/validate.d.ts.map +1 -0
  298. package/dist/release/validate.js +35 -0
  299. package/dist/release/validate.js.map +1 -0
  300. package/dist/render/approval-mermaid.d.ts +3 -0
  301. package/dist/render/approval-mermaid.d.ts.map +1 -0
  302. package/dist/render/approval-mermaid.js +69 -0
  303. package/dist/render/approval-mermaid.js.map +1 -0
  304. package/dist/render/archive.d.ts +2 -0
  305. package/dist/render/archive.d.ts.map +1 -0
  306. package/dist/render/archive.js +32 -0
  307. package/dist/render/archive.js.map +1 -0
  308. package/dist/render/concerns.d.ts +11 -0
  309. package/dist/render/concerns.d.ts.map +1 -0
  310. package/dist/render/concerns.js +83 -0
  311. package/dist/render/concerns.js.map +1 -0
  312. package/dist/render/er-diagram.d.ts +3 -0
  313. package/dist/render/er-diagram.d.ts.map +1 -0
  314. package/dist/render/er-diagram.js +79 -0
  315. package/dist/render/er-diagram.js.map +1 -0
  316. package/dist/render/eta-engine.d.ts +2 -0
  317. package/dist/render/eta-engine.d.ts.map +1 -0
  318. package/dist/render/eta-engine.js +39 -0
  319. package/dist/render/eta-engine.js.map +1 -0
  320. package/dist/render/flow-flowchart.d.ts +4 -0
  321. package/dist/render/flow-flowchart.d.ts.map +1 -0
  322. package/dist/render/flow-flowchart.js +59 -0
  323. package/dist/render/flow-flowchart.js.map +1 -0
  324. package/dist/render/flow-sequence-table.d.ts +11 -0
  325. package/dist/render/flow-sequence-table.d.ts.map +1 -0
  326. package/dist/render/flow-sequence-table.js +88 -0
  327. package/dist/render/flow-sequence-table.js.map +1 -0
  328. package/dist/render/formula.d.ts +33 -0
  329. package/dist/render/formula.d.ts.map +1 -0
  330. package/dist/render/formula.js +381 -0
  331. package/dist/render/formula.js.map +1 -0
  332. package/dist/render/index.d.ts +6 -0
  333. package/dist/render/index.d.ts.map +1 -0
  334. package/dist/render/index.js +5 -0
  335. package/dist/render/index.js.map +1 -0
  336. package/dist/render/intra-class-call-graph.d.ts +3 -0
  337. package/dist/render/intra-class-call-graph.d.ts.map +1 -0
  338. package/dist/render/intra-class-call-graph.js +32 -0
  339. package/dist/render/intra-class-call-graph.js.map +1 -0
  340. package/dist/render/mermaid.d.ts +6 -0
  341. package/dist/render/mermaid.d.ts.map +1 -0
  342. package/dist/render/mermaid.js +99 -0
  343. package/dist/render/mermaid.js.map +1 -0
  344. package/dist/render/method-flowchart.d.ts +15 -0
  345. package/dist/render/method-flowchart.d.ts.map +1 -0
  346. package/dist/render/method-flowchart.js +232 -0
  347. package/dist/render/method-flowchart.js.map +1 -0
  348. package/dist/render/method-summary-table.d.ts +17 -0
  349. package/dist/render/method-summary-table.d.ts.map +1 -0
  350. package/dist/render/method-summary-table.js +189 -0
  351. package/dist/render/method-summary-table.js.map +1 -0
  352. package/dist/render/render.d.ts +37 -0
  353. package/dist/render/render.d.ts.map +1 -0
  354. package/dist/render/render.js +491 -0
  355. package/dist/render/render.js.map +1 -0
  356. package/dist/render/summary.d.ts +21 -0
  357. package/dist/render/summary.d.ts.map +1 -0
  358. package/dist/render/summary.js +542 -0
  359. package/dist/render/summary.js.map +1 -0
  360. package/dist/render/templates/apex-class.eta +204 -0
  361. package/dist/render/templates/apex-trigger.eta +143 -0
  362. package/dist/render/templates/approval-process.eta +118 -0
  363. package/dist/render/templates/aura-bundle.eta +47 -0
  364. package/dist/render/templates/custom-application.eta +44 -0
  365. package/dist/render/templates/custom-metadata-record.eta +37 -0
  366. package/dist/render/templates/executive-risks.eta +56 -0
  367. package/dist/render/templates/executive-summary.eta +68 -0
  368. package/dist/render/templates/flexi-page.eta +47 -0
  369. package/dist/render/templates/flow.eta +166 -0
  370. package/dist/render/templates/layout.eta +68 -0
  371. package/dist/render/templates/lwc.eta +118 -0
  372. package/dist/render/templates/named-credential.eta +30 -0
  373. package/dist/render/templates/object.eta +68 -0
  374. package/dist/render/templates/permission-set.eta +80 -0
  375. package/dist/render/templates/profile.eta +78 -0
  376. package/dist/render/templates/record-type.eta +23 -0
  377. package/dist/render/templates/remote-site-setting.eta +23 -0
  378. package/dist/render/templates/sharing-rule.eta +50 -0
  379. package/dist/render/templates/system-index.eta +52 -0
  380. package/dist/render/templates/system-overview.eta +37 -0
  381. package/dist/render/templates/validation-rule.eta +55 -0
  382. package/dist/render/templates/visualforce-component.eta +52 -0
  383. package/dist/render/templates/visualforce-page.eta +76 -0
  384. package/dist/render/trigger-processing-summary.d.ts +12 -0
  385. package/dist/render/trigger-processing-summary.d.ts.map +1 -0
  386. package/dist/render/trigger-processing-summary.js +94 -0
  387. package/dist/render/trigger-processing-summary.js.map +1 -0
  388. package/dist/sarif/index.d.ts +3 -0
  389. package/dist/sarif/index.d.ts.map +1 -0
  390. package/dist/sarif/index.js +2 -0
  391. package/dist/sarif/index.js.map +1 -0
  392. package/dist/sarif/parse.d.ts +7 -0
  393. package/dist/sarif/parse.d.ts.map +1 -0
  394. package/dist/sarif/parse.js +55 -0
  395. package/dist/sarif/parse.js.map +1 -0
  396. package/dist/sarif/types.d.ts +43 -0
  397. package/dist/sarif/types.d.ts.map +1 -0
  398. package/dist/sarif/types.js +4 -0
  399. package/dist/sarif/types.js.map +1 -0
  400. package/dist/scaffold/.agents/README.md +12 -0
  401. package/dist/scaffold/.agents/knowledge/INDEX.md +52 -0
  402. package/dist/scaffold/.agents/knowledge/README.md +29 -0
  403. package/dist/scaffold/.agents/knowledge/decisions/.gitkeep +0 -0
  404. package/dist/scaffold/.agents/knowledge/improvements/.gitkeep +0 -0
  405. package/dist/scaffold/.agents/knowledge/pitfalls/.gitkeep +0 -0
  406. package/dist/scaffold/.agents/knowledge/retrospectives/.gitkeep +0 -0
  407. package/dist/scaffold/.agents/knowledge/wins/.gitkeep +0 -0
  408. package/dist/scaffold/.agents/templates/.gitkeep +0 -0
  409. package/dist/scaffold/.agents/templates/README.md +19 -0
  410. package/dist/scaffold/.agents/templates/decision.md +39 -0
  411. package/dist/scaffold/.agents/templates/improvement.md +33 -0
  412. package/dist/scaffold/.agents/templates/pitfall.md +33 -0
  413. package/dist/scaffold/.agents/templates/retrospective.md +61 -0
  414. package/dist/scaffold/.agents/templates/win.md +28 -0
  415. package/dist/scaffold/.claude/README.md +11 -0
  416. package/dist/scaffold/.claude/agents/.gitkeep +0 -0
  417. package/dist/scaffold/.claude/agents/apex-query-tracer.md.eta +199 -0
  418. package/dist/scaffold/.claude/agents/automation-classifier.md.eta +39 -0
  419. package/dist/scaffold/.claude/agents/batch-calculator.md.eta +209 -0
  420. package/dist/scaffold/.claude/agents/cascade-tracer.md.eta +139 -0
  421. package/dist/scaffold/.claude/agents/customer-impact-explainer.md.eta +96 -0
  422. package/dist/scaffold/.claude/agents/data-model-classifier.md.eta +84 -0
  423. package/dist/scaffold/.claude/agents/explain-writer.md.eta +104 -0
  424. package/dist/scaffold/.claude/agents/flow-query-tracer.md.eta +211 -0
  425. package/dist/scaffold/.claude/agents/graph-querier.md.eta +47 -0
  426. package/dist/scaffold/.claude/agents/logic-classifier.md.eta +36 -0
  427. package/dist/scaffold/.claude/agents/manual-step-extractor.md.eta +72 -0
  428. package/dist/scaffold/.claude/agents/object-documenter.md.eta +66 -0
  429. package/dist/scaffold/.claude/agents/onboarding-guide.md.eta +77 -0
  430. package/dist/scaffold/.claude/agents/permission-classifier.md.eta +32 -0
  431. package/dist/scaffold/.claude/agents/release-advisor.md.eta +96 -0
  432. package/dist/scaffold/.claude/agents/release-composer.md.eta +106 -0
  433. package/dist/scaffold/.claude/agents/review-assistant.md.eta +72 -0
  434. package/dist/scaffold/.claude/agents/rollback-drafter.md.eta +95 -0
  435. package/dist/scaffold/.claude/agents/ui-classifier.md.eta +31 -0
  436. package/dist/scaffold/.claude/commands/.gitkeep +0 -0
  437. package/dist/scaffold/.claude/commands/analyze-batch-limits.md.eta +309 -0
  438. package/dist/scaffold/.claude/commands/change-summary.md.eta +79 -0
  439. package/dist/scaffold/.claude/commands/classify-diff.md.eta +107 -0
  440. package/dist/scaffold/.claude/commands/explain.md.eta +63 -0
  441. package/dist/scaffold/.claude/commands/impact.md.eta +67 -0
  442. package/dist/scaffold/.claude/commands/manual-steps.md.eta +62 -0
  443. package/dist/scaffold/.claude/commands/onboard.md.eta +107 -0
  444. package/dist/scaffold/.claude/commands/release-prep.md.eta +147 -0
  445. package/dist/scaffold/.claude/commands/yohaku-explain.md.eta +81 -0
  446. package/dist/scaffold/.claude/settings.json.eta +59 -0
  447. package/dist/scaffold/.yohaku/context-map.yaml.eta +56 -0
  448. package/dist/scaffold/.yohaku/secrets-rules.yaml.eta +44 -0
  449. package/dist/scaffold/AGENTS.md.eta +147 -0
  450. package/dist/scaffold/CLAUDE.md.eta +121 -0
  451. package/dist/scaffold/README.md +37 -0
  452. package/dist/schema/graph.schema.json +446 -0
  453. package/dist/schema/validate.d.ts +8 -0
  454. package/dist/schema/validate.d.ts.map +1 -0
  455. package/dist/schema/validate.js +49 -0
  456. package/dist/schema/validate.js.map +1 -0
  457. package/dist/secrets/apply.d.ts +17 -0
  458. package/dist/secrets/apply.d.ts.map +1 -0
  459. package/dist/secrets/apply.js +44 -0
  460. package/dist/secrets/apply.js.map +1 -0
  461. package/dist/secrets/index.d.ts +7 -0
  462. package/dist/secrets/index.d.ts.map +1 -0
  463. package/dist/secrets/index.js +4 -0
  464. package/dist/secrets/index.js.map +1 -0
  465. package/dist/secrets/load.d.ts +16 -0
  466. package/dist/secrets/load.d.ts.map +1 -0
  467. package/dist/secrets/load.js +136 -0
  468. package/dist/secrets/load.js.map +1 -0
  469. package/dist/secrets/mask.d.ts +15 -0
  470. package/dist/secrets/mask.d.ts.map +1 -0
  471. package/dist/secrets/mask.js +34 -0
  472. package/dist/secrets/mask.js.map +1 -0
  473. package/dist/secrets/rules.d.ts +10 -0
  474. package/dist/secrets/rules.d.ts.map +1 -0
  475. package/dist/secrets/rules.js +47 -0
  476. package/dist/secrets/rules.js.map +1 -0
  477. package/dist/types/graph.d.ts +508 -0
  478. package/dist/types/graph.d.ts.map +1 -0
  479. package/dist/types/graph.js +9 -0
  480. package/dist/types/graph.js.map +1 -0
  481. package/dist/types/render.d.ts +26 -0
  482. package/dist/types/render.d.ts.map +1 -0
  483. package/dist/types/render.js +10 -0
  484. package/dist/types/render.js.map +1 -0
  485. package/dist/types/source-adapter.d.ts +26 -0
  486. package/dist/types/source-adapter.d.ts.map +1 -0
  487. package/dist/types/source-adapter.js +11 -0
  488. package/dist/types/source-adapter.js.map +1 -0
  489. package/dist/util/build-lock.d.ts +35 -0
  490. package/dist/util/build-lock.d.ts.map +1 -0
  491. package/dist/util/build-lock.js +72 -0
  492. package/dist/util/build-lock.js.map +1 -0
  493. package/dist/util/hash.d.ts +3 -0
  494. package/dist/util/hash.d.ts.map +1 -0
  495. package/dist/util/hash.js +13 -0
  496. package/dist/util/hash.js.map +1 -0
  497. package/dist/util/path-guard.d.ts +16 -0
  498. package/dist/util/path-guard.d.ts.map +1 -0
  499. package/dist/util/path-guard.js +40 -0
  500. package/dist/util/path-guard.js.map +1 -0
  501. package/dist/util/timing-log.d.ts +28 -0
  502. package/dist/util/timing-log.d.ts.map +1 -0
  503. package/dist/util/timing-log.js +38 -0
  504. package/dist/util/timing-log.js.map +1 -0
  505. package/dist/util/walk.d.ts +10 -0
  506. package/dist/util/walk.d.ts.map +1 -0
  507. package/dist/util/walk.js +45 -0
  508. package/dist/util/walk.js.map +1 -0
  509. package/package.json +48 -0
  510. package/src/schema/graph.schema.json +446 -0
  511. package/src/schema/validate.ts +57 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/sarif/parse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAGvC,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,eAAe,CAAC,6BAA6B,IAAI,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5F,CAAC;IACD,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,eAAe,CAAC,+BAAgC,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAe;IAC5C,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IAC7D,MAAM,GAAG,GAAG,MAAkB,CAAC;IAC/B,MAAM,QAAQ,GAAwB,EAAE,CAAC;IACzC,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC;QACpC,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC3C,IAAI,OAAO,KAAK,SAAS;gBAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,YAAY,CACnB,MAAmB,EACnB,IAAwB;IAExB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,cAAc,CAAC;IAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,SAAS,CAAC;IACxC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC;IAC3C,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;SACvC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,CAAC;SACzD,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;IACrD,OAAO;QACL,MAAM;QACN,KAAK;QACL,OAAO;QACP,SAAS;QACT,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,43 @@
1
+ export type SarifLevel = "none" | "note" | "warning" | "error";
2
+ export interface SarifMessage {
3
+ readonly text?: string;
4
+ }
5
+ export interface SarifLocation {
6
+ readonly physicalLocation?: {
7
+ readonly artifactLocation?: {
8
+ readonly uri?: string;
9
+ };
10
+ readonly region?: {
11
+ readonly startLine?: number;
12
+ readonly endLine?: number;
13
+ };
14
+ };
15
+ }
16
+ export interface SarifResult {
17
+ readonly ruleId?: string;
18
+ readonly level?: SarifLevel;
19
+ readonly message?: SarifMessage;
20
+ readonly locations?: readonly SarifLocation[];
21
+ }
22
+ export interface SarifRun {
23
+ readonly results?: readonly SarifResult[];
24
+ readonly tool?: {
25
+ readonly driver?: {
26
+ readonly name?: string;
27
+ };
28
+ };
29
+ }
30
+ export interface SarifLog {
31
+ readonly version?: string;
32
+ readonly $schema?: string;
33
+ readonly runs?: readonly SarifRun[];
34
+ }
35
+ /** 本 OSS 内部表現 (change-summary 互換) */
36
+ export interface NormalizedFinding {
37
+ readonly ruleId: string;
38
+ readonly level: SarifLevel;
39
+ readonly message: string;
40
+ readonly locations: readonly string[];
41
+ readonly tool?: string;
42
+ }
43
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/sarif/types.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAE/D,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,gBAAgB,CAAC,EAAE;QAC1B,QAAQ,CAAC,gBAAgB,CAAC,EAAE;YAC1B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;SACvB,CAAC;QACF,QAAQ,CAAC,MAAM,CAAC,EAAE;YAChB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;YAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;SAC3B,CAAC;KACH,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;CAC/C;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;IAC1C,QAAQ,CAAC,IAAI,CAAC,EAAE;QACd,QAAQ,CAAC,MAAM,CAAC,EAAE;YAChB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;SACxB,CAAC;KACH,CAAC;CACH;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;CACrC;AAED,qCAAqC;AACrC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB"}
@@ -0,0 +1,4 @@
1
+ // SARIF 2.1.0 のうち Code Analyzer v5 が出力する範囲のサブセット
2
+ // 仕様: https://docs.oasis-open.org/sarif/sarif/v2.1.0/
3
+ export {};
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/sarif/types.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,sDAAsD"}
@@ -0,0 +1,12 @@
1
+ # scaffold/.agents/ — 利用者プロジェクト用ナレッジ基盤ひな型
2
+
3
+ `yohaku init` で利用者プロジェクトの `.agents/` として展開される。利用者プロジェクトでも自律ループのナレッジ蓄積機構が動くように、空の INDEX とテンプレートを用意する。
4
+
5
+ | サブディレクトリ | 構築 Phase | 内容 |
6
+ |---|---|---|
7
+ | `knowledge/INDEX.md` | Phase 2 | 利用者プロジェクト用の空索引(カテゴリ見出しのみ) |
8
+ | `knowledge/README.md` | Phase 2 | 利用者向けのナレッジ運用ガイド |
9
+ | `knowledge/{decisions,pitfalls,wins,improvements,retrospectives}/.gitkeep` | Phase 2 | 空ディレクトリ保持 |
10
+ | `templates/*.md` | Phase 2 | decision / pitfall / win / improvement / retrospective のひな型 |
11
+
12
+ メタ層 `/.agents/` (本リポジトリ開発のナレッジ) と混同しないこと。
@@ -0,0 +1,52 @@
1
+ # Knowledge Index
2
+
3
+ > このプロジェクトの AI 自律ループが蓄積する知見の索引。
4
+ > 新しいエントリを追加したら、必ずこの INDEX に **1 行サマリ** を追記すること。
5
+
6
+ 詳細運用は [`AGENTS.md`](../../AGENTS.md) § 2. ナレッジ蓄積ルールを参照。
7
+
8
+ ---
9
+
10
+ ## 使い方
11
+
12
+ 新しいタスクに着手する前に、関連カテゴリの一覧をスキャンする。
13
+
14
+ | カテゴリ | 入口 | 何を見るか |
15
+ |---|---|---|
16
+ | Decisions | [`decisions/`](./decisions/) | 過去の設計判断・トレードオフ・採用理由 |
17
+ | Pitfalls | [`pitfalls/`](./pitfalls/) | 既知のつまずき・不具合・誤解しやすい点 |
18
+ | Wins | [`wins/`](./wins/) | 効いたパターン・再利用したい工夫 |
19
+ | Improvements | [`improvements/`](./improvements/) | 改善した点・次に試したい改善 |
20
+ | Retrospectives | [`retrospectives/`](./retrospectives/) | サイクル単位の振り返り (時系列) |
21
+
22
+ ---
23
+
24
+ ## Decisions
25
+
26
+ <!-- 新規追加時はこの下に `- [YYYY-MM-DD: タイトル](decisions/file.md) — 1 行サマリ` を追加 -->
27
+
28
+ (まだエントリなし)
29
+
30
+ ---
31
+
32
+ ## Pitfalls
33
+
34
+ (まだエントリなし)
35
+
36
+ ---
37
+
38
+ ## Wins
39
+
40
+ (まだエントリなし)
41
+
42
+ ---
43
+
44
+ ## Improvements
45
+
46
+ (まだエントリなし)
47
+
48
+ ---
49
+
50
+ ## Retrospectives
51
+
52
+ (まだエントリなし)
@@ -0,0 +1,29 @@
1
+ # .agents/knowledge — ナレッジベース
2
+
3
+ このディレクトリは、AI 自律ループが蓄積する知見の保管場所。
4
+ **AI は新しいタスクの開始時に必ずここを参照し、サイクル末に必ずここへ書き戻す。**
5
+
6
+ 詳細は [`AGENTS.md`](../../AGENTS.md) § 2. ナレッジ蓄積ルールを参照。
7
+
8
+ ## 構成
9
+
10
+ ```
11
+ .agents/knowledge/
12
+ ├── INDEX.md ← まずここを見る (索引)
13
+ ├── decisions/ ← 設計判断・採用理由
14
+ ├── pitfalls/ ← つまずき・不具合
15
+ ├── wins/ ← 効いた工夫
16
+ ├── improvements/ ← 改善した点・改善案
17
+ └── retrospectives/ ← サイクル単位の振り返り
18
+ ```
19
+
20
+ ## 書き方
21
+
22
+ `.agents/templates/` のテンプレートに従う。
23
+ ファイル名は `YYYY-MM-DD-<short-slug>.md`。
24
+
25
+ ## 重要原則
26
+
27
+ - **古い知見は削除しない**: `Status: Superseded by ...` を冒頭に追記して残す
28
+ - **新規追加時は INDEX.md に 1 行サマリを必ず追加する**
29
+ - **個人情報・顧客情報・顧客固有ロジックを書かない**
File without changes
File without changes
@@ -0,0 +1,19 @@
1
+ # .agents/templates
2
+
3
+ ナレッジエントリの雛形集。`.agents/knowledge/` にファイルを追加する際は、必ずここのテンプレートをコピーして使う。
4
+
5
+ | テンプレート | 用途 |
6
+ |---|---|
7
+ | [`decision.md`](./decision.md) | 設計判断・採用理由 |
8
+ | [`pitfall.md`](./pitfall.md) | つまずき・不具合 |
9
+ | [`win.md`](./win.md) | 効いた工夫 |
10
+ | [`improvement.md`](./improvement.md) | 改善した点・改善案 |
11
+ | [`retrospective.md`](./retrospective.md) | サイクル振り返り |
12
+
13
+ ## 使い方
14
+
15
+ ```bash
16
+ # 例: 新しい設計判断を記録
17
+ cp .agents/templates/decision.md .agents/knowledge/decisions/2026-05-06-eta-template-engine.md
18
+ # → 中身を編集し、INDEX.md に 1 行追加
19
+ ```
@@ -0,0 +1,39 @@
1
+ ---
2
+ type: decision
3
+ date: YYYY-MM-DD
4
+ title: <短いタイトル>
5
+ status: active # active | superseded
6
+ supersedes: <旧ファイル名 または 空>
7
+ superseded_by: <新ファイル名 または 空>
8
+ tags: [phase-1, architecture] # 任意
9
+ ---
10
+
11
+ # <タイトル>
12
+
13
+ ## 判断
14
+
15
+ <採用した結論を一文で>
16
+
17
+ ## 文脈
18
+
19
+ <なぜこの判断が必要になったか。前提・制約・依頼の経緯>
20
+
21
+ ## 代替案
22
+
23
+ | 案 | 採否 | 理由 |
24
+ |---|---|---|
25
+ | A. <案A> | 採用 | <理由> |
26
+ | B. <案B> | 却下 | <理由> |
27
+ | C. <案C> | 却下 | <理由> |
28
+
29
+ ## トレードオフ
30
+
31
+ <採用案で諦めたもの・将来に持ち越した懸念>
32
+
33
+ ## 影響範囲
34
+
35
+ <コード・ドキュメント・運用への影響>
36
+
37
+ ## 関連ナレッジ
38
+
39
+ - <関連する pitfalls / wins / improvements / decisions へのリンク>
@@ -0,0 +1,33 @@
1
+ ---
2
+ type: improvement
3
+ date: YYYY-MM-DD
4
+ title: <短いタイトル>
5
+ status: applied # idea | planned | applied
6
+ tags: [phase-1, dx] # 任意
7
+ ---
8
+
9
+ # <タイトル>
10
+
11
+ ## Before
12
+
13
+ <改善前の状態。何が辛かったか>
14
+
15
+ ## After
16
+
17
+ <改善後の状態。何が良くなったか>
18
+
19
+ ## 変更内容
20
+
21
+ <実施した具体的変更 (コード・設定・運用)>
22
+
23
+ ## 効果測定
24
+
25
+ <効果の根拠。定量データがあれば数字、無ければ定性的観察>
26
+
27
+ ## 次の改善案
28
+
29
+ <さらに改善できそうなポイント>
30
+
31
+ ## 関連ナレッジ
32
+
33
+ - <関連リンク>
@@ -0,0 +1,33 @@
1
+ ---
2
+ type: pitfall
3
+ date: YYYY-MM-DD
4
+ title: <短いタイトル>
5
+ severity: high # critical | high | medium | low
6
+ tags: [phase-1, sqlite] # 任意
7
+ ---
8
+
9
+ # <タイトル>
10
+
11
+ ## 何が起きたか
12
+
13
+ <観測された事象を事実ベースで>
14
+
15
+ ## 根本原因
16
+
17
+ <なぜそれが起きたか。表層原因ではなく根本原因>
18
+
19
+ ## どう気づいたか
20
+
21
+ <検出経路。テスト/レビュー/ユーザ報告など>
22
+
23
+ ## 回避策・修正
24
+
25
+ <具体的なコード・設定・手順>
26
+
27
+ ## 再発防止
28
+
29
+ <同じワナに二度と落ちないための仕組み (テスト追加 / hooks / lint / ドキュメント)>
30
+
31
+ ## 関連ナレッジ
32
+
33
+ - <関連リンク>
@@ -0,0 +1,61 @@
1
+ ---
2
+ type: retrospective
3
+ date: YYYY-MM-DD
4
+ cycle: <サイクル名 / 機能名>
5
+ phase: <Phase 1〜7>
6
+ tags: []
7
+ ---
8
+
9
+ # Retrospective: <サイクル名>
10
+
11
+ ## サイクル要約
12
+
13
+ <このサイクルで取り組んだこと・成果を 3〜5 行で>
14
+
15
+ ## 1. 要件整理 — 学び
16
+
17
+ <何が見えたか・何を見落としそうだったか>
18
+
19
+ ## 2. 計画立案 — 学び
20
+
21
+ <採用した判断・代替案を退けた理由 (詳細は decisions/ にリンク)>
22
+
23
+ ## 3. 実行 — 学び
24
+
25
+ <実装中の発見・つまずき (詳細は pitfalls/ にリンク)>
26
+
27
+ ## 4. レビュー — 学び
28
+
29
+ <指摘の傾向・効いたチェック>
30
+
31
+ ## 5. 修正・再実装 — 学び
32
+
33
+ <手戻りの量・原因・予防策>
34
+
35
+ ## 6. 整理 — 学び
36
+
37
+ <削れたもの・命名見直し・ドキュメント整合>
38
+
39
+ ## 7. 課題提起 — 次サイクルへの種
40
+
41
+ - [ ] <次サイクルで扱うべき課題1>
42
+ - [ ] <次サイクルで扱うべき課題2>
43
+
44
+ ## 良かった点 (Keep)
45
+
46
+ - <継続したいこと>
47
+
48
+ ## 課題 (Problem)
49
+
50
+ - <改善したいこと>
51
+
52
+ ## 試したいこと (Try)
53
+
54
+ - <次回試したい工夫>
55
+
56
+ ## 蓄積された関連ナレッジ
57
+
58
+ - decisions: <list>
59
+ - pitfalls: <list>
60
+ - wins: <list>
61
+ - improvements: <list>
@@ -0,0 +1,28 @@
1
+ ---
2
+ type: win
3
+ date: YYYY-MM-DD
4
+ title: <短いタイトル>
5
+ tags: [phase-1, performance] # 任意
6
+ ---
7
+
8
+ # <タイトル>
9
+
10
+ ## 何が効いたか
11
+
12
+ <採用した工夫・パターンを一文で>
13
+
14
+ ## なぜ効いたか
15
+
16
+ <根拠。パフォーマンス測定、コード可読性、保守性、再現性、など>
17
+
18
+ ## 適用条件
19
+
20
+ <このパターンが効く前提・適さないケース>
21
+
22
+ ## 再利用方法
23
+
24
+ <別の場所で同じパターンを使うときのチェックリスト・コード例>
25
+
26
+ ## 関連ナレッジ
27
+
28
+ - <関連リンク>
@@ -0,0 +1,11 @@
1
+ # scaffold/.claude/ — 利用者プロジェクト用 Claude Code 設定ひな型
2
+
3
+ `yohaku init` で利用者プロジェクトの `.claude/` として展開される。
4
+
5
+ | サブディレクトリ | 構築 Phase | 内容 |
6
+ |---|---|---|
7
+ | `commands/` | Phase 2〜5 | `/onboard` `/impact` `/explain` `/classify-diff` `/release-prep` `/manual-steps` 等 |
8
+ | `agents/` | Phase 2〜5 | graph-querier, object-documenter, onboarding-guide, data-model-classifier, manual-step-extractor 等 |
9
+ | `settings.json` | Phase 2 | hooks (`PostToolUse(force-app/**)` → `yohaku graph build --incremental`)、権限 |
10
+
11
+ メタ層 `/.claude/` (本リポジトリの開発時 Claude Code 設定) と混同しないこと。
File without changes
@@ -0,0 +1,199 @@
1
+ ---
2
+ name: apex-query-tracer
3
+ description: <%= it.projectName %> の Apex コードを静的解析し、SOQL クエリと DML を A/B/C/D に分類してカウントする。`/analyze-batch-limits` から起動される。
4
+ tools: Read, Bash, Glob, Grep
5
+ model: sonnet
6
+ ---
7
+
8
+ あなたは <%= it.projectName %> プロジェクトの **Apex ガバナ制限静的解析エージェント** です。
9
+
10
+ ## 責務
11
+
12
+ 指定された Apex クラス群を読み込み、**SOQL クエリ数** と **DML ステートメント数** の両方を
13
+ 以下の分類でカウントする。カスケードチェーンの1レベル分を担当する。
14
+
15
+ ## SOQL クエリの4分類
16
+
17
+ ```
18
+ 分類A: ゼロカウント(ガバナ制限に算入しない)
19
+ ・FROM __mdt のクエリ(Long Text Area フィールドを含まない場合)
20
+ ・CustomSetting__c.getInstance() / getValues() 静的アクセス
21
+ ・__mdt.getAll() / .getInstance() 静的アクセス
22
+
23
+ 分類B: 固定カウント(バッチサイズ非依存、ガバナ制限に算入)
24
+ ・WHERE Id IN :triggerIds / WHERE Id IN :idSet パターン
25
+ ・ループ外の通常オブジェクトクエリ
26
+ ・静的キャッシュあり(static Map でキャッシュされ、2回目以降はクエリ不要)→ 条件付きB
27
+
28
+ 分類C: 変動カウント(バッチサイズ N に比例)
29
+ ・for (SObject o : Trigger.new) 内の SOQL
30
+ ・1件引数のメソッドをループから呼ぶパターン
31
+
32
+ 分類D: 紐づき比例カウント(関連レコード M に比例)
33
+ ・ネストループの内側(外ループ=トリガレコード、内ループ=関連レコード)にある SOQL
34
+ ・Flow の Loop 要素内の GetRecords
35
+ ```
36
+
37
+ ## DML ステートメントの3分類
38
+
39
+ DML にはゼロカウント相当(分類A)は存在しない。すべての DML が 150 上限に算入される。
40
+
41
+ ```
42
+ DML_B: 固定 DML(バッチサイズ非依存)
43
+ ・Database.update(list) / Database.insert(list) / Database.delete(list) — ループ外
44
+ ・リストが空の場合は実行されないが、コードパス上の可能性として計上する
45
+
46
+ DML_C: 変動 DML(バッチサイズ N に比例)⚠ アンチパターン
47
+ ・for (SObject o : Trigger.new) 内の update / insert / delete
48
+ ・1件引数の DML をループから呼ぶパターン
49
+
50
+ DML_D: 紐づき比例 DML(関連レコード M に比例)⚠ アンチパターン
51
+ ・ネストループの内側での DML
52
+ ```
53
+
54
+ **DML にカウントしないもの**(別トランザクション起動):
55
+ - `Database.executeBatch()` — バッチ起動、DML ステートメントではない
56
+ - `System.enqueueJob()` — Queueable 起動
57
+ - `@future` メソッド呼び出し
58
+
59
+ ## __mdt Long Text Area の判定
60
+
61
+ クエリ先が `__mdt` の場合、`.yohaku/graph.sqlite` でフィールド型を確認する。
62
+ **Salesforce では LongTextArea は `type='LongTextArea'`** として保存される(`Textarea` は通常テキストエリア = 最大 255 文字、別物)。
63
+
64
+ ```bash
65
+ yohaku graph query "
66
+ SELECT fqn, type
67
+ FROM fields
68
+ WHERE object = '<MdtObjectName>__mdt'
69
+ "
70
+ ```
71
+
72
+ - `type = 'LongTextArea'` が **1 つ以上あり**、かつクエリの SELECT 句にそのフィールドが含まれる → **分類B(算入)**
73
+ - それ以外(`Text`, `Textarea`(255), `Number`, `Picklist`, ... のみ) → **分類A(除外)**
74
+
75
+ > ⚠ `Textarea` (255 文字) は LTA ではない。`LongTextArea` のみが LTA。誤判定しないこと。
76
+
77
+ スキーマ確認は `yohaku graph schema --tables --table fields` で行う。
78
+
79
+ ## 静的キャッシュの検出
80
+
81
+ ```apex
82
+ // キャッシュパターン(分類B-cached: 初回のみカウント)
83
+ private static Map<String, List<SObject>> cache = new Map<...>();
84
+ if (!cache.containsKey(key)) {
85
+ // ← ここの SOQL のみカウント(2回目以降は 0)
86
+ cache.put(key, [SELECT ...]);
87
+ }
88
+ ```
89
+
90
+ 静的キャッシュが検出された場合: `B-cached(初回1回)` として記録
91
+
92
+ ## Insert / Update シナリオ別分析(必須)
93
+
94
+ Apex トリガは `trigger on Object (before insert, before update, after insert, after update, ...)` で
95
+ 発火イベントを宣言する。解析時は以下を明示する:
96
+
97
+ 1. **トリガファイルを読み**、`before insert` / `after insert` / `before update` / `after update` ごとに
98
+ どのハンドラメソッドが呼ばれるかを特定する
99
+ 2. **Insert 専用パス**(`if (Trigger.isInsert)`)と **Update 専用パス**(`if (Trigger.isUpdate)`)を区別し、
100
+ SOQL / DML をシナリオ別にカウントする
101
+ 3. **SOQL_SUMMARY / DML_SUMMARY を Insert / Update 別に出力する**
102
+
103
+ ```
104
+ SOQL_SUMMARY (INSERT シナリオ):
105
+ 固定クエリ (分類B): X件
106
+ ...
107
+
108
+ SOQL_SUMMARY (UPDATE シナリオ):
109
+ 固定クエリ (分類B): Y件
110
+ ...
111
+ ```
112
+
113
+ ## 解析手順
114
+
115
+ 1. 指定ファイルを Read で読み込む
116
+ 2. **SOQL クエリ**(`[SELECT` または `Database.query(` パターン)を列挙し各クエリを分類:
117
+ a. FROM 句のオブジェクトを特定
118
+ b. ループ内か外かを確認(スコープ追跡)
119
+ c. `__mdt` か確認 → `yohaku graph query` で `type='LongTextArea'` の有無を確認してから分類A/B を決定
120
+ d. 静的キャッシュ変数(`private static Map<...>` パターン)が使われているか確認
121
+ e. 分類を確定(A / B / B-cached / C / D)
122
+ 3. **DML ステートメント**(`Database.update(` / `Database.insert(` / `Database.delete(` /
123
+ `Database.upsert(` / 直接 DML `update ` / `insert ` / `delete `)を列挙し各 DML を分類:
124
+ a. ループ内か外かを確認
125
+ b. リスト単位(DML_B)か1件ずつ(DML_C/D)かを確認
126
+ c. `Database.executeBatch` / `enqueueJob` / `@future` はカウント対象外として記録
127
+ d. DML 先オブジェクト型を特定(カスケード先の確認用)
128
+ e. 分類を確定(DML_B / DML_C / DML_D)
129
+
130
+ ## 出力フォーマット
131
+
132
+ ```
133
+ LEVEL: Lv.<N>
134
+ OBJECT: <ObjectApiName>
135
+ ANALYZED_CLASSES: [<Class1>, <Class2>, ...]
136
+
137
+ QUERIES:
138
+ Q<n>: [分類B] FROM <ObjectName>
139
+ location: <ClassName>.<methodName> line ~XX
140
+ pattern: WHERE Id IN :ids (バッチ全件まとめて取得)
141
+ note: -
142
+
143
+ Q<n>: [分類B-cached] FROM <CustomObject__c>
144
+ location: <ClassName>.<methodName>
145
+ pattern: static Map cache あり、初回のみ発行
146
+ note: 他クラスとキャッシュ非共有の場合は毎回発行
147
+
148
+ Q<n>: [分類A] FROM <MdtName>__mdt
149
+ location: <ClassName>.<methodName>
150
+ pattern: LTA フィールドなし確認済み (graph: type != 'LongTextArea')
151
+ note: ガバナ制限に算入しない
152
+
153
+ Q<n>: [分類C] FROM <ObjectName>
154
+ location: <ClassName>.<methodName>
155
+ pattern: for(Trigger.new) 内ループ SOQL
156
+ note: ⚠ バッチサイズに比例してクエリ数増加
157
+
158
+ Q<n>: [分類D] FROM <ObjectName>
159
+ location: <ClassName>.<methodName>
160
+ pattern: ネストループ内 SOQL(外ループ=Opportunity, 内ループ=Quote)
161
+ related_object: <OuterLoopObject>
162
+ note: ⚠ バッチ×紐づき件数に比例
163
+
164
+ SOQL_SUMMARY:
165
+ 固定クエリ (分類B): X件 (うちキャッシュ条件付き: Y件)
166
+ ゼロカウント (分類A): Z件 ← ガバナ制限に算入しない
167
+ 変動クエリ (分類C): W件/バッチレコード
168
+ 紐づき比例 (分類D): V件 × <紐づきオブジェクト名>
169
+
170
+ DML_SUMMARY:
171
+ 固定DML (DML_B): P件
172
+ - <SObjectA>: Database.update(listA) — まとめDML
173
+ - <SObjectB>: Database.update(listB) — まとめDML
174
+ - <SObjectC>: insert(createList) — 条件付き
175
+ - <SObjectC>: update(updateList) — 条件付き
176
+ - <SObjectC>: delete(deleteList) — 条件付き
177
+ 変動DML (DML_C): Q件/バッチレコード ← ⚠ アンチパターン
178
+ 紐づき比例DML (DML_D): R件 × <紐づきオブジェクト名> ← ⚠ アンチパターン
179
+ 非同期起動 (除外): [Database.executeBatch, enqueueJob など]
180
+
181
+ ANTIPATTERNS:
182
+ - [ループ内SOQL] <ClassName>.<methodName>: for内に SOQL → 分類C/D
183
+ - [ループ内DML] <ClassName>.<methodName>: for内に DML → DML_C/D
184
+
185
+ UNVERIFIED:
186
+ - <ClassName>: ファイルが見つからず、クエリ/DML 数は「要確認」
187
+ ```
188
+
189
+ ## 厳守ルール
190
+
191
+ - ファイルを実際に Read してから分類する(推測禁止)
192
+ - `__mdt` は必ず `yohaku graph query` で `type` を確認してから分類A/B を決定する(`type='LongTextArea'` の有無で判定)
193
+ - `Textarea` (255 文字) と `LongTextArea` を混同しない
194
+ - キャッシュの有効範囲(static = トランザクション内、instance = メソッド内)を区別する
195
+ - ループ内 SOQL/DML は必ず ANTIPATTERNS に記録する
196
+ - `Database.executeBatch` / `enqueueJob` / `@future` は DML カウント対象外として明示する
197
+ - 条件付き DML(if ブロック内)は「条件付き」と注記しつつカウントに含める(最大値を保守的に算出)
198
+ - 読めないファイルは UNVERIFIED に列挙し、SOQL・DML 両方の合計から除外する
199
+ - `yohaku graph query` のカラム名は snake_case (`fqn`, `object`, `type`)。camelCase で書かない。
@@ -0,0 +1,39 @@
1
+ ---
2
+ name: automation-classifier
3
+ description: <%= it.projectName %> の差分のうち automation カテゴリ (Flow, ApexTrigger) を意味分類する。/classify-diff から並列起動される。
4
+ tools: Read, Bash
5
+ model: sonnet
6
+ ---
7
+
8
+ あなたは <%= it.projectName %> プロジェクトの **自動化差分分類器** です。
9
+
10
+ ## 責務
11
+
12
+ `category === "automation"` のファイル (Flow, ApexTrigger) について ChangeEntry を生成。
13
+ Flow の意味解釈はノード単位ではなく **メタデータレベル**で行い、status / triggeringObject の変化に注目。
14
+
15
+ ## 入力 / 出力
16
+
17
+ 入力: ChangedFile[] (Flow / ApexTrigger のみ)
18
+ 出力: data-model-classifier と同じ Tracked<T> 構造の changes[]
19
+
20
+ ## ワークフロー
21
+
22
+ 1. **依存関係取得** (deterministic):
23
+ - `yohaku graph query "SELECT * FROM dependencies WHERE from_fqn = '<flow|trigger>'"`
24
+ - `yohaku graph query "SELECT triggering_object FROM flows WHERE fqn = '<flow>'"` 等
25
+ 2. **scopeSize 判定** (deterministic): 行数 / ノード数 / 関連オブジェクト数で判定
26
+ 3. **AI 推測 (ai)**:
27
+ - **reviewPoints**: 「触発オブジェクトが変わっていないか」「Bulk 安全か」「再帰トリガーガードがあるか」等
28
+ - **manualStepsRequired**: トリガー無効化が必要 / Flow を無効化してから再有効化が必要 等
29
+ - **businessImpactHint**: 営業フロー / リード変換 / 案件昇格 など、業務ドメインの推測
30
+ 4. **特に check すべき手動作業パターン**:
31
+ - Trigger の events 増減 → デプロイ順序が必要
32
+ - Flow の status: Active → Draft 化 → デプロイ後に Active 化が必要
33
+ - Trigger 削除 → 既存テストの修正が必要
34
+
35
+ ## 厳守ルール
36
+
37
+ - temperature=0 / promptHash / model / temperature を必ず付与
38
+ - 業務文脈を捏造しない
39
+ - Flow / Trigger 以外のカテゴリは扱わない