@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,81 @@
1
+ ---
2
+ description: <%= it.projectName %> の AI_MANAGED ブロックを再生成して書き戻す
3
+ argument-hint: <kind> <fqn> [block-id1] [block-id2] ...
4
+ ---
5
+
6
+ # /yohaku-explain $ARGUMENTS
7
+
8
+ 決定的に取得したファクト (`yohaku graph query`) と Markdown 上の DETERMINISTIC ブロックだけを材料に、AI_MANAGED ブロックの内容を再生成し、`yohaku explain-write` で書き戻す。
9
+
10
+ ## 入力
11
+
12
+ ```
13
+ /yohaku-explain <kind> <fqn> [block-id...]
14
+ ```
15
+
16
+ - `<kind>`: `apexClass` | `apexTrigger` | `flow` | `object` | `lwc` | `auraBundle` | `flexiPage` | `visualforcePage` | `visualforceComponent` | `customApplication`
17
+ - `<fqn>`: 完全名 (例: `AccountBalanceService` / `Order__c` / `Order_AutoCreateShipmentOnApproval`)
18
+ - `[block-id...]`: 対象ブロック ID。省略時は kind に対応する全 ID を再生成
19
+
20
+ ## 実行手順
21
+
22
+ 1. 引数を解析し、`<kind>` が許容値か検証する
23
+ 2. 知識グラフからファクトを取得 (`yohaku graph query` は SELECT/WITH のみ・読み取り専用接続)。
24
+ `<fqn>` は **必ずシングルクオートをエスケープしないままシェル文字列補間で渡さない**。
25
+ FQN を引用符でくくる際は、FQN 内に `'` が現れない前提を必ずチェックしてから:
26
+ ```bash
27
+ # 推奨: FQN は英数 _ . - のみで構成される (CLI 側で同パターンを強制)
28
+ FQN_SAFE="<fqn>"
29
+ case "$FQN_SAFE" in
30
+ *[!A-Za-z0-9_.-]*) echo "fqn に許可外文字が含まれます: $FQN_SAFE" >&2; exit 2 ;;
31
+ esac
32
+ yohaku graph query "SELECT * FROM <table> WHERE fqn = '$FQN_SAFE'"
33
+ ```
34
+ `yohaku graph query` は CRIT-1 対策として **readonly 接続 + SELECT allowlist** を強制しており、
35
+ ATTACH/INSERT/UPDATE/DELETE/DROP/PRAGMA 等は CLI 側で拒否される。
36
+ 3. **explain-writer subagent を起動** し、各 block-id ごとに本文を生成させる
37
+ - subagent は **DETERMINISTIC ブロックの内容のみを材料** にする
38
+ - 既存の AI_MANAGED ブロックは読み取らない (再生成性を担保)
39
+ - HUMAN_MANAGED ブロックも参照しない (人間の聖域)
40
+ 4. 生成結果を一時 JSON に書き出す:
41
+ ```bash
42
+ cat > /tmp/yohaku-explain-<fqn>.json <<'EOF'
43
+ {
44
+ "narrative": "...",
45
+ "business-scenario": "...",
46
+ "processing-overview-narrative": "..."
47
+ }
48
+ EOF
49
+ ```
50
+ 5. CLI 経由で書き戻す:
51
+ ```bash
52
+ yohaku explain-write --kind <kind> --fqn <fqn> --input /tmp/yohaku-explain-<fqn>.json
53
+ ```
54
+ 6. 結果を確認:
55
+ ```bash
56
+ cat docs/generated/<subdir>/<fqn>.md | head -60
57
+ ```
58
+
59
+ ## 各 kind の許容ブロック ID
60
+
61
+ | Kind | ブロック ID |
62
+ |---|---|
63
+ | `apexClass` | purpose / concerns / narrative / business-scenario / key-design-decisions / processing-overview-narrative / processing-details-narrative |
64
+ | `apexTrigger` | purpose / concerns / narrative / operational-notes / processing-overview-narrative / processing-details-narrative |
65
+ | `flow` | purpose / concerns / narrative / business-scenario / operational-notes / processing-overview-narrative / processing-details-narrative |
66
+ | `object` | summary / narrative / business-domain |
67
+ | `lwc` / `auraBundle` / `flexiPage` / `visualforceComponent` | purpose |
68
+ | `visualforcePage` / `customApplication` | purpose / narrative |
69
+
70
+ ## 禁則
71
+
72
+ - DETERMINISTIC ブロック (件数 / 表 / Mermaid) は AI 生成の対象にしない
73
+ - HUMAN_MANAGED ブロックには **絶対に書き込まない**
74
+ - 知識グラフに無い情報を捏造しない (推測する場合は明示する)
75
+ - 顧客固有情報を文中に含めない (匿名化)
76
+
77
+ ## 失敗時の挙動
78
+
79
+ - `yohaku explain-write` がマーカー数の変動を検出したらロールバックされる (Phase 8 の保全契約)
80
+ - registry に無い ID を渡した場合は **早期エラー** で書き戻し前に失敗する
81
+ - 該当ブロックが Markdown 上に存在しない場合は `skipped` 扱い (古い Markdown を新ブロック ID で更新しようとしたケース)
@@ -0,0 +1,59 @@
1
+ {
2
+ "$schema": "https://json.schemastore.org/claude-code-settings.json",
3
+ "_comment": "<%= it.projectName %> — yohaku init で生成。プロファイル: <%= it.profile %>",
4
+ "_hooks_note": [
5
+ "graph build は --async で detach 起動するので Claude Code の wall-clock は最小化される。",
6
+ "PostToolUse の pathMatcher はメタデータ拡張子のみに絞り、無関係な編集で hook が走らないようにしている。",
7
+ "セッション終了時に Stop フックで未消化分を確実に取り込む。",
8
+ "実行時間は .yohaku/hook-timings.jsonl に記録され、2秒超は stderr に warning が出る。",
9
+ "重すぎる場合は hooks セクションを {} に置き換えて手動運用に切り替え可能。"
10
+ ],
11
+ "permissions": {
12
+ "allow": [
13
+ "Read",
14
+ "Write",
15
+ "Edit",
16
+ "Bash(yohaku:*)",
17
+ "Bash(sf:*)",
18
+ "Bash(git status:*)",
19
+ "Bash(git diff:*)",
20
+ "Bash(git log:*)",
21
+ "Bash(ls:*)",
22
+ "Bash(grep:*)",
23
+ "Bash(find:*)"
24
+ ],
25
+ "deny": [
26
+ "Bash(rm -rf:*)",
27
+ "Bash(git push --force:*)",
28
+ "Bash(sf project deploy:*)"
29
+ ]
30
+ },
31
+ "env": {
32
+ "YOHAKU_PROJECT_ROOT": "${workspaceFolder}",
33
+ "YOHAKU_PROFILE": "<%= it.profile %>"
34
+ },
35
+ "hooks": {
36
+ "PostToolUse": [
37
+ {
38
+ "matcher": "Edit|Write",
39
+ "pathMatcher": "force-app/**/*.{cls,trigger,flow-meta.xml,object-meta.xml,field-meta.xml,validationRule-meta.xml,permissionset-meta.xml,profile-meta.xml}",
40
+ "hooks": [
41
+ {
42
+ "type": "command",
43
+ "command": "yohaku graph build --incremental --quiet --async"
44
+ }
45
+ ]
46
+ }
47
+ ],
48
+ "Stop": [
49
+ {
50
+ "hooks": [
51
+ {
52
+ "type": "command",
53
+ "command": "yohaku graph build --incremental --quiet"
54
+ }
55
+ ]
56
+ }
57
+ ]
58
+ }
59
+ }
@@ -0,0 +1,56 @@
1
+ # <%= it.projectName %> — オンボーディング context-map
2
+ # Phase 5 で /onboard --role <persona> が参照する読み順制御。
3
+ # 利用者プロジェクトに合わせて domains を編集してください。
4
+ # 詳細: /AGENTS.md, /IMPLEMENTATION_GUIDE.md Phase 5
5
+
6
+ project:
7
+ name: <%= it.projectName %>
8
+ domains:
9
+ # 例: 営業ドメイン
10
+ - id: sales
11
+ description: 営業関連 (商談・受注・顧客)
12
+ primary_objects: [Account, Order__c]
13
+ key_docs:
14
+ - docs/generated/objects/Account.md
15
+ - docs/human/business-notes/sales-process.md
16
+ # 例: 経理・与信ドメイン
17
+ - id: finance
18
+ description: 経理・与信・請求
19
+ primary_objects: [Account, Invoice__c, Claim__c]
20
+ key_docs:
21
+ - docs/generated/objects/Invoice__c.md
22
+ - docs/human/business-notes/credit-policy.md
23
+ # ↓ プロジェクトの実ドメインに合わせて追加・削除してください
24
+
25
+ personas:
26
+ new_joiner:
27
+ goal: 2 週間で主要ドメインを理解する
28
+ read_order:
29
+ - docs/generated/system-index.md
30
+ - docs/human/business-notes/overview.md
31
+ - "domains:*" # 全ドメインを順次
32
+ depth: summary_first
33
+ primary_agent: onboarding-guide
34
+
35
+ reviewer:
36
+ goal: PR を適切にレビューする
37
+ read_order:
38
+ - docs/ai-augmented/change-summaries/latest.md
39
+ - ops/registry/manual-steps-registry.md
40
+ depth: detail_on_demand
41
+ primary_agent: review-assistant
42
+
43
+ release_manager:
44
+ goal: リリース準備の抜け漏れを防ぐ
45
+ read_order:
46
+ - docs/releases/latest.md
47
+ - ops/registry/manual-steps-registry.md
48
+ depth: checklist_first
49
+ primary_agent: release-advisor
50
+
51
+ customer_facing:
52
+ goal: 顧客視点で影響を整理
53
+ read_order:
54
+ - docs/ai-augmented/change-summaries/latest.md
55
+ depth: business_impact_first
56
+ primary_agent: customer-impact-explainer
@@ -0,0 +1,44 @@
1
+ # <%= it.projectName %> — メタデータ機密性分類とマスキング規約
2
+ # 詳細: /IMPLEMENTATION_GUIDE.md § AIコストとセキュリティ方針
3
+ #
4
+ # AI に送信される前にこのルールでマッチした内容がマスキングされます。
5
+ # 利用者プロジェクトの実情に応じて pattern を追加・上書きしてください。
6
+
7
+ version: 1
8
+ rules:
9
+ - id: email-address
10
+ description: メールアドレス (PII)
11
+ pattern: '[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}'
12
+ level: confidential
13
+ mask: hash
14
+
15
+ - id: salesforce-id-15
16
+ description: Salesforce 15 文字 ID
17
+ pattern: '\b00[A-Z0-9]{13}\b'
18
+ level: internal
19
+ mask: preserve
20
+
21
+ - id: salesforce-id-18
22
+ description: Salesforce 18 文字 ID
23
+ pattern: '\b00[A-Z0-9]{16}\b'
24
+ level: internal
25
+ mask: preserve
26
+
27
+ - id: api-key-like
28
+ description: API キーらしき長い英数字列
29
+ pattern: '\b[A-Za-z0-9_-]{32,}\b'
30
+ level: secret
31
+ mask: redact
32
+
33
+ - id: phone-jp
34
+ description: 日本の電話番号らしき形式
35
+ pattern: '\b0\d{1,4}-\d{1,4}-\d{3,4}\b'
36
+ level: confidential
37
+ mask: hash
38
+
39
+ # ▼ プロジェクト固有のルールはここから下に追加してください
40
+ # - id: customer-name-acme
41
+ # description: 顧客 ACME 社の名称
42
+ # pattern: 'ACME株式会社|ACME Inc\.'
43
+ # level: confidential
44
+ # mask: redact
@@ -0,0 +1,147 @@
1
+ # <%= it.projectName %> — AI 自律ループの行動指針
2
+
3
+ > このファイルは [yohakuforce](https://github.com/yohakuforce/yohakuforce) によって生成されました。
4
+ > このプロジェクトに参加する全ての AI エージェント (Claude Code、Antigravity、Codex 等) はこの指針に従ってください。
5
+
6
+ ---
7
+
8
+ ## 0. 大前提
9
+
10
+ <%= it.projectName %> は Salesforce 開発プロジェクトです。
11
+ **目的は、Salesforce に携わるあなた / チームの「余白と豊かさ」を生み出すこと。**
12
+ コードを書くのが目的ではなく、運用負荷を減らして本質的な仕事に時間を使えるようにすることが目的です。
13
+
14
+ ---
15
+
16
+ ## 1. AI が回す自律ループ
17
+
18
+ ```
19
+ 1. 要件整理 ── 顧客 / チームからの依頼を「誰の何を解決するか」に翻訳
20
+ 2. 計画立案 ── 代替案 2 つ以上、ADR を decisions/ へ
21
+ 3. 実行 ── yohaku CLI と知識グラフを活用、決定的処理を AI に肩代わりさせない
22
+ 4. レビュー ── CRITICAL/HIGH/MEDIUM 分類、つまずきは pitfalls/ へ、効いた工夫は wins/ へ
23
+ 5. 修正 ── CRITICAL は即修正、HIGH は原則修正
24
+ 6. 再実装 ── 設計判断が誤っていたら計画立案へ戻る勇気
25
+ 7. 整理 ── 不要削除、命名見直し、ドキュメント同期、improvements/ へ
26
+ 8. 課題提起 ── retrospectives/ に振り返り、次サイクルの種を出す
27
+
28
+ 次サイクルへ
29
+ ```
30
+
31
+ 各ステップ詳細は本セクション末尾に。
32
+
33
+ ---
34
+
35
+ ## 2. ナレッジ蓄積ルール
36
+
37
+ ### 4 種類のナレッジ
38
+
39
+ | 種類 | パス | 何を書くか |
40
+ |---|---|---|
41
+ | decisions | `.agents/knowledge/decisions/` | 設計判断・採用案・却下理由・トレードオフ |
42
+ | pitfalls | `.agents/knowledge/pitfalls/` | つまずき・不具合・誤解しやすい点 |
43
+ | wins | `.agents/knowledge/wins/` | 効いた工夫・再利用したい知見 |
44
+ | improvements | `.agents/knowledge/improvements/` | 「次はこうしたい」「ここを改善した」 |
45
+ | retrospectives | `.agents/knowledge/retrospectives/` | サイクル単位の振り返り (時系列) |
46
+
47
+ ### 命名
48
+
49
+ - decisions / improvements / wins / pitfalls: `YYYY-MM-DD-<short-slug>.md`
50
+ - retrospectives: `YYYY-MM-DD-<cycle-slug>.md`
51
+
52
+ ### テンプレート
53
+
54
+ `.agents/templates/` を必ずコピーして使うこと。
55
+
56
+ ### INDEX
57
+
58
+ 新規ファイル追加時、必ず `.agents/knowledge/INDEX.md` に 1 行サマリを追記する。
59
+
60
+ ### 衝突時
61
+
62
+ 古い知見と矛盾しても **削除しない**。`Status: Superseded by <new-file>` を冒頭に追記し、新ファイルに `Supersedes: <old-file>` を書く。
63
+
64
+ ---
65
+
66
+ ## 3. 各ステップの責務
67
+
68
+ ### 1. 要件整理
69
+ - 依頼の本質を一文で翻訳 (「何を作るか」ではなく「誰の何を解決するか」)
70
+ - 既存ナレッジの確認は **絶対省略しない**
71
+ - 不明点は **推測せず人間に問う**
72
+
73
+ ### 2. 計画立案
74
+ - 代替案を最低 2 つ
75
+ - 採用案・却下理由を decisions/ に記録
76
+ - 設計 3 原則と禁則の照合
77
+
78
+ ### 3. 実行
79
+ - 小さなコミット単位
80
+ - `yohaku` CLI と知識グラフを活用
81
+ - 決定的処理は CLI、判断は AI、業務文脈は人手 — の境界を守る
82
+
83
+ ### 4. レビュー (自己レビュー)
84
+ - CRITICAL: セキュリティ・データ消失・禁則違反 → 即修正
85
+ - HIGH: 設計 3 原則違反・スコープクリープ
86
+ - MEDIUM: コード臭・重複
87
+ - pitfalls / wins への素材抽出を必ず行う
88
+
89
+ ### 5-6. 修正・再実装
90
+ - 局所修正で済むなら局所
91
+ - 設計判断ごと誤っていたなら戻る勇気
92
+
93
+ ### 7. 整理
94
+ - 不要削除
95
+ - ドキュメント同期 (`yohaku render` 再実行を含む)
96
+
97
+ ### 8. 課題提起
98
+ - retrospectives/ に Keep / Problem / Try
99
+ - 次サイクルの種を最低 1 件
100
+
101
+ ---
102
+
103
+ ## 4. 並列・委譲
104
+
105
+ ### subagent を使うとき
106
+ - 大量ファイル走査、深い依存解析、領域専門レビュー
107
+ - 並列実行可能なとき (1 メッセージで複数起動)
108
+
109
+ ### 使わないとき
110
+ - 軽い会話的タスク
111
+ - 主エージェントがコンテキストを持ち続けるべきタスク
112
+
113
+ ### 委譲時
114
+ - subagent には自己完結したブリーフィングを渡す
115
+ - 出力は検証してから採用
116
+
117
+ ---
118
+
119
+ ## 5. 人間との接し方
120
+
121
+ - **推測せず聞く**: 業務文脈・優先度・顧客固有ルールは推測しない
122
+ - **判断材料を渡してから問う**: トレードオフを提示し、推奨を述べてから「よろしいですか?」
123
+ - **重要判断は記録**: 人間の決定は decisions/ に必ず残す
124
+
125
+ ---
126
+
127
+ ## 6. 禁則
128
+
129
+ - 決定的処理 (XML パース、差分計算) を AI に肩代わりさせない
130
+ - HUMAN_MANAGED ブロックを書き換えない
131
+ - subagent を「便利だから」で乱用しない
132
+ - 「動いたから OK」で整理ステップを飛ばさない
133
+ - 顧客名・顧客固有ロジックをナレッジに書き込まない
134
+
135
+ 詳細は [`CLAUDE.md`](./CLAUDE.md) と [yohakuforce の禁則 13 か条](https://github.com/yohakuforce/yohakuforce) 参照。
136
+
137
+ ---
138
+
139
+ ## 7. このファイルの育て方
140
+
141
+ - 個別事例は本書ではなく `.agents/knowledge/` へ
142
+ - ループ構造を変えるときは decisions/ に記録してから本書を更新
143
+ - 30KB を超えたら分割を検討
144
+
145
+ ---
146
+
147
+ **最終的に問うべきこと: そのサイクルは、誰かの余白を 1 mm でも増やしたか?**
@@ -0,0 +1,121 @@
1
+ # <%= it.projectName %> — Claude Code 憲法
2
+
3
+ > このファイルは [yohakuforce](https://github.com/yohakuforce/yohakuforce) によって生成されました。
4
+ > プロファイル: **<%= it.profile %>** / Salesforce API: **<%= it.salesforceApiVersion %>** / yohaku: **<%= it.yohakuVersion %>**
5
+ > 軽量・参照中心を維持してください (上限 15KB 目安)。
6
+
7
+ ---
8
+
9
+ ## 0. このプロジェクトの目的
10
+
11
+ <%= it.projectName %> は Salesforce 開発プロジェクトです。
12
+ **Claude Code の責務は、このプロジェクトの属人化を解消し、運用タスクを構造化された AI 出力で支援すること。**
13
+
14
+ ---
15
+
16
+ ## 1. 必読ドキュメント (この順で読む)
17
+
18
+ | 順 | パス | 目的 |
19
+ |---|---|---|
20
+ | 1 | `docs/generated/system-index.md` | プロジェクト全体像 (yohaku render system-index で生成) |
21
+ | 2 | `docs/human/business-notes/` (あれば) | 業務文脈 (人手記述、AI 上書き禁止) |
22
+ | 3 | `.agents/knowledge/INDEX.md` | 過去の判断・つまずき・成功事例 |
23
+ | 4 | `.yohaku/graph.sqlite` | 知識グラフ (yohaku graph query <SQL> でアクセス) |
24
+
25
+ ---
26
+
27
+ ## 2. 設計 3 原則 (踏み外さない)
28
+
29
+ 1. **3 層分離** — 決定的処理 (yohaku CLI) / AI 判断 / 人手補完 を混ぜない
30
+ 2. **正本は実装側** — 正本は `force-app/` と Git。`docs/generated/` は派生物 (手編集禁止)
31
+ 3. **AI に生 XML を読ませない** — 必ず `.yohaku/graph.sqlite` 経由で構造化情報を取得
32
+
33
+ ---
34
+
35
+ ## 3. 自律ループ
36
+
37
+ ```
38
+ 要件整理 → 計画 → 実行 → レビュー → 修正 → 整理 → 課題提起 → (次サイクルへ)
39
+
40
+ └─→ .agents/knowledge/ に蓄積
41
+ ```
42
+
43
+ 各サイクル末、`.agents/knowledge/retrospectives/` に必ず振り返りを残す。
44
+ 詳細は [`AGENTS.md`](./AGENTS.md) 参照。
45
+
46
+ ---
47
+
48
+ ## 4. 使えるコマンド
49
+
50
+ ### yohaku CLI (決定的処理)
51
+
52
+ ```bash
53
+ yohaku graph build [--incremental] # force-app/ → 知識グラフ
54
+ yohaku graph query "<SQL>" # グラフへ任意の SOQL/SQL
55
+ yohaku graph schema # スキーマ定義を出力
56
+ yohaku render <target> # docs/generated/ に Markdown 出力
57
+ yohaku diff --from <ref> --to <ref> # Git 差分を JSON 化
58
+ yohaku metrics --period month # AI コスト計測
59
+ yohaku version
60
+ ```
61
+
62
+ ### Slash commands (AI エージェント)
63
+
64
+ <% if (it.profile === 'minimal') { %>
65
+ - `/onboard` — プロジェクト全体像の段階的提示
66
+ - `/explain <entity>` — エンティティの詳細説明
67
+ - `/impact <entity>` — 依存関係の確認
68
+ <% } else if (it.profile === 'standard') { %>
69
+ - `/onboard [--role <new_joiner|reviewer|release-manager|customer-facing>]`
70
+ - `/explain <entity>` / `/impact <entity>`
71
+ - `/classify-diff [--from <ref>] [--to <ref>]` — 差分を 7 分類で意味づけ
72
+ - `/change-summary` — 直近差分のサマリ生成
73
+ <% } else { /* full */ %>
74
+ - `/onboard [--role <new_joiner|reviewer|release-manager|customer-facing>]`
75
+ - `/explain <entity>` / `/impact <entity>`
76
+ - `/classify-diff` / `/change-summary`
77
+ - `/release-prep --from <tag> --to HEAD` — リリース資材生成
78
+ - `/manual-steps [--release <version>]` — 手動作業レジストリ参照
79
+ <% } %>
80
+
81
+ ---
82
+
83
+ ## 5. 禁則 (このプロジェクト固有)
84
+
85
+ - `force-app/` を AI が直接編集しない (コードの編集は別途コーディングエージェントへ)
86
+ - `docs/generated/` を手編集しない (`yohaku render` で再生成される派生物)
87
+ - `docs/human/` を AI が上書きしない (人手補完領域)
88
+ - `.yohaku/graph.sqlite` を直接 INSERT/UPDATE しない (必ず `yohaku` CLI 経由)
89
+ - `HUMAN_MANAGED` ブロックを AI が書き換えない
90
+ - 顧客名・顧客固有ロジック・顧客データをコミットしない
91
+
92
+ ---
93
+
94
+ ## 6. ナレッジ参照ルール
95
+
96
+ 新しいタスクに着手する前に、必ず以下を確認:
97
+
98
+ - `.agents/knowledge/decisions/` — 過去の設計判断
99
+ - `.agents/knowledge/pitfalls/` — 既知のつまずき (踏み直さない)
100
+ - `.agents/knowledge/improvements/` — 改善ポイント
101
+ - `.agents/knowledge/wins/` — 効いたパターン (再利用)
102
+
103
+ タスク完了時、新しい学びは必ず追記。詳細は [`AGENTS.md`](./AGENTS.md)。
104
+
105
+ ---
106
+
107
+ ## 7. 迷ったときの判断軸 (優先度順)
108
+
109
+ 1. その判断は **誰かの余白を増やすか** (本基盤の最終目的)
110
+ 2. 設計 3 原則を破っていないか
111
+ 3. 禁則に抵触していないか
112
+ 4. 過去のナレッジに類似事例があるか
113
+ 5. 不明点は **推測せず人間に問う**
114
+
115
+ ---
116
+
117
+ ## 8. このファイルの育て方
118
+
119
+ - **増やすな**: 個別オブジェクトの仕様、業務ルール詳細、長大な手順は書かない
120
+ - **減らせ**: 参照で済むものはリンクに置き換える
121
+ - **変更履歴は Git で十分**: ファイル内に履歴セクションは作らない
@@ -0,0 +1,37 @@
1
+ # scaffold/ — 配布物の雛型 (yohaku init で展開される一式)
2
+
3
+ > **この層は「OSS を導入した利用者プロジェクト」に展開されるひな型を置く場所。**
4
+ > リポジトリルート直下の `CLAUDE.md` `AGENTS.md` `.claude/` `.agents/` (= **メタ層**) とは用途が異なる。
5
+
6
+ ## 何が入る予定か
7
+
8
+ `yohaku init` を利用者プロジェクトで実行すると、このディレクトリ配下が **eta テンプレートとして展開** されて配置される。
9
+
10
+ | ファイル / ディレクトリ | 用途 | 構築 Phase |
11
+ |---|---|---|
12
+ | `CLAUDE.md.eta` | 利用者プロジェクトの Claude Code 憲法ひな型 | Phase 2 / 5 |
13
+ | `AGENTS.md.eta` | 利用者プロジェクトの自律ループ指示書ひな型 | Phase 2 / 5 |
14
+ | `.claude/settings.json` | Claude Code 設定(権限・hooks) | Phase 2 |
15
+ | `.claude/commands/*.md` | `/onboard` `/impact` `/classify-diff` `/release-prep` 等の slash command | Phase 2-4 |
16
+ | `.claude/agents/*.md` | graph-querier, object-documenter, onboarding-guide 他の subagent | Phase 2-5 |
17
+ | `.agents/knowledge/INDEX.md` | 利用者プロジェクトのナレッジ索引初期状態 | Phase 2 |
18
+ | `.agents/knowledge/README.md` | ナレッジ運用の説明 | Phase 2 |
19
+ | `.agents/templates/*.md` | decision / pitfall / win / improvement / retrospective テンプレ | Phase 2 |
20
+ | `.gitignore` | `.yohaku/`, `.claude/local/` などの除外設定 | Phase 1 |
21
+
22
+ ## 命名規則
23
+
24
+ - **eta テンプレート**: ファイル名に `.eta` を付ける(例: `CLAUDE.md.eta`)。eta が変数を展開して最終ファイル名 (`CLAUDE.md`) を生成
25
+ - **静的設定**: 変数展開が不要なファイルは `.eta` を付けない(例: `.gitignore`、`.claude/agents/knowledge-curator.md`)
26
+ - **判定基準**: ファイル内容にプロジェクト名・パス・選択プロファイル等のプレースホルダがあれば eta、無ければ静的
27
+
28
+ ## 編集時の注意(**重要**)
29
+
30
+ - このディレクトリ配下のファイルは **OSS 開発時の Claude Code に対しては「資料」であって「指示」ではない**
31
+ - リポジトリルートの `CLAUDE.md` `AGENTS.md` (= メタ層) との混同を絶対に避ける
32
+ - メタ層ファイルを `scaffold/` にそのままコピーしてはいけない(対象読者が違う:開発者向け vs 利用者向け)
33
+ - 詳細は [メタ層 vs 配布物層 ADR](../.agents/knowledge/decisions/2026-05-07-meta-vs-distribution-layer-separation.md) 参照
34
+
35
+ ## 現状
36
+
37
+ **空のスケルトンのみ**。中身は Phase 1〜6 の実装と並行して段階的に書き起こす。