@k2works/claude-code-booster 4.8.0 → 4.11.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 (747) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +42 -42
  3. package/bin/claude-code-booster +90 -90
  4. package/lib/assets/.claude/README.md +279 -271
  5. package/lib/assets/.claude/agents/xp-architect.md +250 -250
  6. package/lib/assets/.claude/agents/xp-executive.md +207 -207
  7. package/lib/assets/.claude/agents/xp-interaction-designer.md +239 -239
  8. package/lib/assets/.claude/agents/xp-product-manager.md +245 -245
  9. package/lib/assets/.claude/agents/xp-programmer.md +268 -268
  10. package/lib/assets/.claude/agents/xp-project-manager.md +229 -229
  11. package/lib/assets/.claude/agents/xp-technical-writer.md +224 -224
  12. package/lib/assets/.claude/agents/xp-tester.md +265 -265
  13. package/lib/assets/.claude/agents/xp-user-representative.md +204 -204
  14. package/lib/assets/.claude/scripts/generate-inception-deck.mjs +911 -911
  15. package/lib/assets/.claude/settings.json +11 -11
  16. package/lib/assets/.claude/skills/ai-agent-guidelines/SKILL.md +111 -111
  17. package/lib/assets/.claude/skills/analyzing-architecture/SKILL.md +83 -83
  18. package/lib/assets/.claude/skills/analyzing-business-architecture/SKILL.md +122 -122
  19. package/lib/assets/.claude/skills/analyzing-business-case/SKILL.md +148 -148
  20. package/lib/assets/.claude/skills/analyzing-business-strategy/SKILL.md +277 -277
  21. package/lib/assets/.claude/skills/analyzing-data-model/SKILL.md +77 -77
  22. package/lib/assets/.claude/skills/analyzing-domain-model/SKILL.md +117 -117
  23. package/lib/assets/.claude/skills/analyzing-inception-deck/SKILL.md +84 -84
  24. package/lib/assets/.claude/skills/analyzing-non-functional/SKILL.md +95 -95
  25. package/lib/assets/.claude/skills/analyzing-operation/SKILL.md +95 -95
  26. package/lib/assets/.claude/skills/analyzing-requirements/SKILL.md +91 -91
  27. package/lib/assets/.claude/skills/analyzing-review/SKILL.md +174 -174
  28. package/lib/assets/.claude/skills/analyzing-tech-stack/SKILL.md +101 -101
  29. package/lib/assets/.claude/skills/analyzing-test-strategy/SKILL.md +89 -89
  30. package/lib/assets/.claude/skills/analyzing-ui-design/SKILL.md +80 -80
  31. package/lib/assets/.claude/skills/analyzing-usecases/SKILL.md +72 -72
  32. package/lib/assets/.claude/skills/creating-adr/SKILL.md +113 -113
  33. package/lib/assets/.claude/skills/creating-development-strategy/SKILL.md +101 -0
  34. package/lib/assets/.claude/skills/creating-iteration-report/SKILL.md +210 -210
  35. package/lib/assets/.claude/skills/creating-journal/SKILL.md +129 -129
  36. package/lib/assets/.claude/skills/creating-release-report/SKILL.md +161 -161
  37. package/lib/assets/.claude/skills/creating-slides/SKILL.md +86 -86
  38. package/lib/assets/.claude/skills/creating-slides/agents/openai.yaml +4 -4
  39. package/lib/assets/.claude/skills/creating-slides/references/manga-css.md +45 -45
  40. package/lib/assets/.claude/skills/creating-slides/scripts/slide_tools.py +239 -239
  41. package/lib/assets/.claude/skills/developing-backend/SKILL.md +100 -100
  42. package/lib/assets/.claude/skills/developing-frontend/SKILL.md +93 -93
  43. package/lib/assets/.claude/skills/developing-release/SKILL.md +120 -120
  44. package/lib/assets/.claude/skills/developing-review/SKILL.md +175 -175
  45. package/lib/assets/.claude/skills/developing-uiux-review/SKILL.md +207 -207
  46. package/lib/assets/.claude/skills/generating-bmc/SKILL.md +123 -123
  47. package/lib/assets/.claude/skills/generating-slides/SKILL.md +94 -94
  48. package/lib/assets/.claude/skills/git-commit/SKILL.md +81 -81
  49. package/lib/assets/.claude/skills/killing-processes/SKILL.md +44 -44
  50. package/lib/assets/.claude/skills/operating-backup/SKILL.md +59 -59
  51. package/lib/assets/.claude/skills/operating-cicd/SKILL.md +54 -54
  52. package/lib/assets/.claude/skills/operating-deploy/SKILL.md +67 -67
  53. package/lib/assets/.claude/skills/operating-docs/SKILL.md +219 -219
  54. package/lib/assets/.claude/skills/operating-provision/SKILL.md +77 -77
  55. package/lib/assets/.claude/skills/operating-qt/SKILL.md +147 -147
  56. package/lib/assets/.claude/skills/operating-review/SKILL.md +171 -171
  57. package/lib/assets/.claude/skills/operating-script/SKILL.md +145 -145
  58. package/lib/assets/.claude/skills/operating-setup/SKILL.md +63 -63
  59. package/lib/assets/.claude/skills/orchestrating-analysis/SKILL.md +104 -104
  60. package/lib/assets/.claude/skills/orchestrating-development/SKILL.md +168 -168
  61. package/lib/assets/.claude/skills/orchestrating-operation/SKILL.md +158 -158
  62. package/lib/assets/.claude/skills/orchestrating-project/SKILL.md +144 -144
  63. package/lib/assets/.claude/skills/planning-releases/SKILL.md +119 -119
  64. package/lib/assets/.claude/skills/practicing-getting-start-tdd/SKILL.md +266 -266
  65. package/lib/assets/.claude/skills/syncing-github-project/SKILL.md +151 -151
  66. package/lib/assets/.claude/skills/tracking-progress/SKILL.md +91 -91
  67. package/lib/assets/.claude/skills/validating-design/SKILL.md +130 -0
  68. package/lib/assets/.claude/skills/validating-iteration-plan/SKILL.md +238 -238
  69. package/lib/assets/.claude/skills/validating-operating-setup/SKILL.md +118 -0
  70. package/lib/assets/.devcontainer/devcontainer.json +37 -37
  71. package/lib/assets/.env.example +17 -17
  72. package/lib/assets/.gitattributes +4 -4
  73. package/lib/assets/.github/workflows/docker-publish.yml +77 -77
  74. package/lib/assets/.github/workflows/mkdocs.yml +39 -39
  75. package/lib/assets/AGENTS.md +94 -94
  76. package/lib/assets/CLAUDE.md +195 -193
  77. package/lib/assets/README.md +291 -291
  78. package/lib/assets/docker-compose.yml +33 -33
  79. package/lib/assets/docs/adr/index.md +10 -10
  80. package/lib/assets/docs/article/functional-desgin-ppp/all/01-immutability-and-data-transformation.md +475 -475
  81. package/lib/assets/docs/article/functional-desgin-ppp/all/02-function-composition.md +519 -519
  82. package/lib/assets/docs/article/functional-desgin-ppp/all/03-polymorphism.md +537 -537
  83. package/lib/assets/docs/article/functional-desgin-ppp/all/04-data-validation.md +300 -300
  84. package/lib/assets/docs/article/functional-desgin-ppp/all/05-property-based-testing.md +320 -320
  85. package/lib/assets/docs/article/functional-desgin-ppp/all/06-tdd-and-functional.md +498 -498
  86. package/lib/assets/docs/article/functional-desgin-ppp/all/07-composite-pattern.md +298 -298
  87. package/lib/assets/docs/article/functional-desgin-ppp/all/08-decorator-pattern.md +291 -291
  88. package/lib/assets/docs/article/functional-desgin-ppp/all/09-adapter-pattern.md +336 -336
  89. package/lib/assets/docs/article/functional-desgin-ppp/all/10-strategy-pattern.md +303 -303
  90. package/lib/assets/docs/article/functional-desgin-ppp/all/11-command-pattern.md +286 -286
  91. package/lib/assets/docs/article/functional-desgin-ppp/all/12-visitor-pattern.md +322 -322
  92. package/lib/assets/docs/article/functional-desgin-ppp/all/13-abstract-factory-pattern.md +319 -319
  93. package/lib/assets/docs/article/functional-desgin-ppp/all/14-abstract-server-pattern.md +365 -365
  94. package/lib/assets/docs/article/functional-desgin-ppp/all/15-gossiping-bus-drivers.md +156 -156
  95. package/lib/assets/docs/article/functional-desgin-ppp/all/16-payroll-system.md +178 -178
  96. package/lib/assets/docs/article/functional-desgin-ppp/all/17-video-rental-system.md +312 -312
  97. package/lib/assets/docs/article/functional-desgin-ppp/all/18-concurrency-system.md +287 -287
  98. package/lib/assets/docs/article/functional-desgin-ppp/all/19-wa-tor-simulation.md +286 -286
  99. package/lib/assets/docs/article/functional-desgin-ppp/all/20-pattern-interactions.md +274 -274
  100. package/lib/assets/docs/article/functional-desgin-ppp/all/21-best-practices.md +294 -294
  101. package/lib/assets/docs/article/functional-desgin-ppp/all/22-oo-to-fp-migration.md +337 -337
  102. package/lib/assets/docs/article/functional-desgin-ppp/all/index.md +388 -388
  103. package/lib/assets/docs/article/functional-desgin-ppp/clojure/01-immutability-and-data-transformation.md +273 -273
  104. package/lib/assets/docs/article/functional-desgin-ppp/clojure/02-function-composition.md +380 -380
  105. package/lib/assets/docs/article/functional-desgin-ppp/clojure/03-polymorphism.md +384 -384
  106. package/lib/assets/docs/article/functional-desgin-ppp/clojure/04-clojure-spec.md +350 -350
  107. package/lib/assets/docs/article/functional-desgin-ppp/clojure/05-property-based-testing.md +352 -352
  108. package/lib/assets/docs/article/functional-desgin-ppp/clojure/06-tdd-in-functional.md +383 -383
  109. package/lib/assets/docs/article/functional-desgin-ppp/clojure/07-composite-pattern.md +529 -529
  110. package/lib/assets/docs/article/functional-desgin-ppp/clojure/08-decorator-pattern.md +395 -395
  111. package/lib/assets/docs/article/functional-desgin-ppp/clojure/09-adapter-pattern.md +399 -399
  112. package/lib/assets/docs/article/functional-desgin-ppp/clojure/10-strategy-pattern.md +485 -485
  113. package/lib/assets/docs/article/functional-desgin-ppp/clojure/11-command-pattern.md +566 -566
  114. package/lib/assets/docs/article/functional-desgin-ppp/clojure/12-visitor-pattern.md +567 -567
  115. package/lib/assets/docs/article/functional-desgin-ppp/clojure/13-abstract-factory-pattern.md +475 -475
  116. package/lib/assets/docs/article/functional-desgin-ppp/clojure/14-abstract-server-pattern.md +462 -462
  117. package/lib/assets/docs/article/functional-desgin-ppp/clojure/15-gossiping-bus-drivers.md +325 -325
  118. package/lib/assets/docs/article/functional-desgin-ppp/clojure/16-payroll-system.md +401 -401
  119. package/lib/assets/docs/article/functional-desgin-ppp/clojure/17-video-rental-system.md +450 -450
  120. package/lib/assets/docs/article/functional-desgin-ppp/clojure/18-concurrency-system.md +475 -475
  121. package/lib/assets/docs/article/functional-desgin-ppp/clojure/19-wator-simulation.md +739 -739
  122. package/lib/assets/docs/article/functional-desgin-ppp/clojure/20-pattern-interactions.md +567 -567
  123. package/lib/assets/docs/article/functional-desgin-ppp/clojure/21-best-practices.md +518 -518
  124. package/lib/assets/docs/article/functional-desgin-ppp/clojure/22-oo-to-fp-migration.md +532 -532
  125. package/lib/assets/docs/article/functional-desgin-ppp/clojure/index.md +241 -241
  126. package/lib/assets/docs/article/functional-desgin-ppp/elixir/01-immutability-and-data-transformation.md +383 -383
  127. package/lib/assets/docs/article/functional-desgin-ppp/elixir/02-function-composition.md +374 -374
  128. package/lib/assets/docs/article/functional-desgin-ppp/elixir/03-polymorphism.md +375 -375
  129. package/lib/assets/docs/article/functional-desgin-ppp/elixir/04-data-validation.md +195 -195
  130. package/lib/assets/docs/article/functional-desgin-ppp/elixir/05-property-based-testing.md +268 -268
  131. package/lib/assets/docs/article/functional-desgin-ppp/elixir/06-tdd-and-fp.md +294 -294
  132. package/lib/assets/docs/article/functional-desgin-ppp/elixir/07-effects-and-pure-functions.md +164 -164
  133. package/lib/assets/docs/article/functional-desgin-ppp/elixir/08-error-handling-strategies.md +168 -168
  134. package/lib/assets/docs/article/functional-desgin-ppp/elixir/09-io-and-external-systems.md +254 -254
  135. package/lib/assets/docs/article/functional-desgin-ppp/elixir/10-concurrency-patterns.md +269 -269
  136. package/lib/assets/docs/article/functional-desgin-ppp/elixir/11-command-pattern.md +148 -148
  137. package/lib/assets/docs/article/functional-desgin-ppp/elixir/12-visitor-pattern.md +176 -176
  138. package/lib/assets/docs/article/functional-desgin-ppp/elixir/13-abstract-factory-pattern.md +604 -604
  139. package/lib/assets/docs/article/functional-desgin-ppp/elixir/14-abstract-server-pattern.md +729 -729
  140. package/lib/assets/docs/article/functional-desgin-ppp/elixir/15-gossiping-bus-drivers.md +291 -291
  141. package/lib/assets/docs/article/functional-desgin-ppp/elixir/16-payroll-system.md +420 -420
  142. package/lib/assets/docs/article/functional-desgin-ppp/elixir/17-video-rental-system.md +319 -319
  143. package/lib/assets/docs/article/functional-desgin-ppp/elixir/18-concurrency-system.md +466 -466
  144. package/lib/assets/docs/article/functional-desgin-ppp/elixir/19-wator-simulation.md +523 -523
  145. package/lib/assets/docs/article/functional-desgin-ppp/elixir/20-pattern-interactions.md +287 -287
  146. package/lib/assets/docs/article/functional-desgin-ppp/elixir/21-best-practices.md +340 -340
  147. package/lib/assets/docs/article/functional-desgin-ppp/elixir/22-oo-to-fp-migration.md +395 -395
  148. package/lib/assets/docs/article/functional-desgin-ppp/elixir/index.md +248 -248
  149. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/01-immutability-and-data-transformation.md +384 -384
  150. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/02-function-composition.md +452 -452
  151. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/03-polymorphism.md +495 -495
  152. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/04-data-validation.md +416 -416
  153. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/05-property-based-testing.md +382 -382
  154. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/06-tdd-functional.md +687 -687
  155. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/07-composite-pattern.md +442 -442
  156. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/08-decorator-pattern.md +479 -479
  157. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/09-adapter-pattern.md +479 -479
  158. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/10-strategy-pattern.md +427 -427
  159. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/11-command-pattern.md +428 -428
  160. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/12-visitor-pattern.md +339 -339
  161. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/13-abstract-factory-pattern.md +309 -309
  162. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/14-abstract-server-pattern.md +596 -596
  163. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/15-gossiping-bus-drivers.md +355 -355
  164. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/16-payroll-system.md +350 -350
  165. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/17-video-rental-system.md +414 -414
  166. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/18-concurrency-system.md +367 -367
  167. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/19-wator-simulation.md +403 -403
  168. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/20-pattern-interactions.md +291 -291
  169. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/21-best-practices.md +324 -324
  170. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/22-oo-to-fp-migration.md +332 -332
  171. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/index.md +274 -274
  172. package/lib/assets/docs/article/functional-desgin-ppp/haskell/01-immutability-and-data-transformation.md +298 -298
  173. package/lib/assets/docs/article/functional-desgin-ppp/haskell/02-function-composition.md +304 -304
  174. package/lib/assets/docs/article/functional-desgin-ppp/haskell/03-polymorphism.md +362 -362
  175. package/lib/assets/docs/article/functional-desgin-ppp/haskell/04-data-validation.md +257 -257
  176. package/lib/assets/docs/article/functional-desgin-ppp/haskell/05-property-based-testing.md +254 -254
  177. package/lib/assets/docs/article/functional-desgin-ppp/haskell/06-tdd-functional.md +283 -283
  178. package/lib/assets/docs/article/functional-desgin-ppp/haskell/07-composite-pattern.md +395 -395
  179. package/lib/assets/docs/article/functional-desgin-ppp/haskell/08-decorator-pattern.md +319 -319
  180. package/lib/assets/docs/article/functional-desgin-ppp/haskell/09-adapter-pattern.md +382 -382
  181. package/lib/assets/docs/article/functional-desgin-ppp/haskell/10-strategy-pattern.md +287 -287
  182. package/lib/assets/docs/article/functional-desgin-ppp/haskell/11-command-pattern.md +303 -303
  183. package/lib/assets/docs/article/functional-desgin-ppp/haskell/12-visitor-pattern.md +326 -326
  184. package/lib/assets/docs/article/functional-desgin-ppp/haskell/13-abstract-factory-pattern.md +332 -332
  185. package/lib/assets/docs/article/functional-desgin-ppp/haskell/14-abstract-server-pattern.md +379 -379
  186. package/lib/assets/docs/article/functional-desgin-ppp/haskell/15-gossiping-bus-drivers.md +177 -177
  187. package/lib/assets/docs/article/functional-desgin-ppp/haskell/16-payroll-system.md +219 -219
  188. package/lib/assets/docs/article/functional-desgin-ppp/haskell/17-video-rental-system.md +244 -244
  189. package/lib/assets/docs/article/functional-desgin-ppp/haskell/18-concurrency-system.md +363 -363
  190. package/lib/assets/docs/article/functional-desgin-ppp/haskell/19-wator-simulation.md +438 -438
  191. package/lib/assets/docs/article/functional-desgin-ppp/haskell/20-pattern-interactions.md +325 -325
  192. package/lib/assets/docs/article/functional-desgin-ppp/haskell/21-best-practices.md +403 -403
  193. package/lib/assets/docs/article/functional-desgin-ppp/haskell/22-oo-to-fp-migration.md +469 -469
  194. package/lib/assets/docs/article/functional-desgin-ppp/haskell/index.md +174 -174
  195. package/lib/assets/docs/article/functional-desgin-ppp/index.md +90 -90
  196. package/lib/assets/docs/article/functional-desgin-ppp/rust/01-immutability-and-data-transformation.md +450 -450
  197. package/lib/assets/docs/article/functional-desgin-ppp/rust/02-function-composition.md +463 -463
  198. package/lib/assets/docs/article/functional-desgin-ppp/rust/03-polymorphism.md +425 -425
  199. package/lib/assets/docs/article/functional-desgin-ppp/rust/04-data-validation.md +273 -273
  200. package/lib/assets/docs/article/functional-desgin-ppp/rust/05-property-based-testing.md +247 -247
  201. package/lib/assets/docs/article/functional-desgin-ppp/rust/06-tdd-and-functional.md +841 -841
  202. package/lib/assets/docs/article/functional-desgin-ppp/rust/07-composite-pattern.md +384 -384
  203. package/lib/assets/docs/article/functional-desgin-ppp/rust/08-decorator-pattern.md +383 -383
  204. package/lib/assets/docs/article/functional-desgin-ppp/rust/09-adapter-pattern.md +339 -339
  205. package/lib/assets/docs/article/functional-desgin-ppp/rust/10-strategy-pattern.md +331 -331
  206. package/lib/assets/docs/article/functional-desgin-ppp/rust/11-command-pattern.md +356 -356
  207. package/lib/assets/docs/article/functional-desgin-ppp/rust/12-visitor-pattern.md +379 -379
  208. package/lib/assets/docs/article/functional-desgin-ppp/rust/13-abstract-factory-pattern.md +361 -361
  209. package/lib/assets/docs/article/functional-desgin-ppp/rust/14-abstract-server-pattern.md +392 -392
  210. package/lib/assets/docs/article/functional-desgin-ppp/rust/15-gossiping-bus-drivers.md +300 -300
  211. package/lib/assets/docs/article/functional-desgin-ppp/rust/16-payroll-system.md +297 -297
  212. package/lib/assets/docs/article/functional-desgin-ppp/rust/17-video-rental-system.md +304 -304
  213. package/lib/assets/docs/article/functional-desgin-ppp/rust/18-concurrency-system.md +315 -315
  214. package/lib/assets/docs/article/functional-desgin-ppp/rust/19-wator-simulation.md +311 -311
  215. package/lib/assets/docs/article/functional-desgin-ppp/rust/20-pattern-interactions.md +304 -304
  216. package/lib/assets/docs/article/functional-desgin-ppp/rust/21-best-practices.md +336 -336
  217. package/lib/assets/docs/article/functional-desgin-ppp/rust/22-oo-to-fp-migration.md +349 -349
  218. package/lib/assets/docs/article/functional-desgin-ppp/rust/index.md +243 -243
  219. package/lib/assets/docs/article/functional-desgin-ppp/scala/01-immutability-and-data-transformation.md +328 -328
  220. package/lib/assets/docs/article/functional-desgin-ppp/scala/02-function-composition.md +348 -348
  221. package/lib/assets/docs/article/functional-desgin-ppp/scala/03-polymorphism.md +357 -357
  222. package/lib/assets/docs/article/functional-desgin-ppp/scala/04-data-validation.md +364 -364
  223. package/lib/assets/docs/article/functional-desgin-ppp/scala/05-property-based-testing.md +515 -515
  224. package/lib/assets/docs/article/functional-desgin-ppp/scala/06-tdd-functional.md +557 -557
  225. package/lib/assets/docs/article/functional-desgin-ppp/scala/07-composite-pattern.md +363 -363
  226. package/lib/assets/docs/article/functional-desgin-ppp/scala/08-decorator-pattern.md +327 -327
  227. package/lib/assets/docs/article/functional-desgin-ppp/scala/09-adapter-pattern.md +517 -517
  228. package/lib/assets/docs/article/functional-desgin-ppp/scala/10-strategy-pattern.md +441 -441
  229. package/lib/assets/docs/article/functional-desgin-ppp/scala/11-command-pattern.md +407 -407
  230. package/lib/assets/docs/article/functional-desgin-ppp/scala/12-visitor-pattern.md +379 -379
  231. package/lib/assets/docs/article/functional-desgin-ppp/scala/13-abstract-factory-pattern.md +398 -398
  232. package/lib/assets/docs/article/functional-desgin-ppp/scala/14-abstract-server-pattern.md +476 -476
  233. package/lib/assets/docs/article/functional-desgin-ppp/scala/15-gossiping-bus-drivers.md +391 -391
  234. package/lib/assets/docs/article/functional-desgin-ppp/scala/16-payroll-system.md +342 -342
  235. package/lib/assets/docs/article/functional-desgin-ppp/scala/17-video-rental-system.md +324 -324
  236. package/lib/assets/docs/article/functional-desgin-ppp/scala/18-concurrency-system.md +730 -730
  237. package/lib/assets/docs/article/functional-desgin-ppp/scala/19-wator-simulation.md +624 -624
  238. package/lib/assets/docs/article/functional-desgin-ppp/scala/20-pattern-interactions.md +512 -512
  239. package/lib/assets/docs/article/functional-desgin-ppp/scala/21-best-practices.md +433 -433
  240. package/lib/assets/docs/article/functional-desgin-ppp/scala/22-oo-to-fp-migration.md +688 -688
  241. package/lib/assets/docs/article/functional-desgin-ppp/scala/index.md +243 -243
  242. package/lib/assets/docs/article/getting-start-tdd/clojure/01-todo-list-and-first-test.md +166 -166
  243. package/lib/assets/docs/article/getting-start-tdd/clojure/02-fake-it-and-triangulation.md +162 -162
  244. package/lib/assets/docs/article/getting-start-tdd/clojure/03-obvious-implementation-and-refactoring.md +135 -135
  245. package/lib/assets/docs/article/getting-start-tdd/clojure/04-version-control-and-conventional-commits.md +88 -88
  246. package/lib/assets/docs/article/getting-start-tdd/clojure/05-package-management-and-static-analysis.md +299 -299
  247. package/lib/assets/docs/article/getting-start-tdd/clojure/06-task-runner-and-ci-cd.md +241 -241
  248. package/lib/assets/docs/article/getting-start-tdd/clojure/07-protocols-and-records.md +131 -131
  249. package/lib/assets/docs/article/getting-start-tdd/clojure/08-multimethods-and-design-patterns.md +130 -130
  250. package/lib/assets/docs/article/getting-start-tdd/clojure/09-namespaces-and-module-design.md +127 -127
  251. package/lib/assets/docs/article/getting-start-tdd/clojure/10-higher-order-functions-and-composition.md +114 -114
  252. package/lib/assets/docs/article/getting-start-tdd/clojure/11-persistent-data-and-pipeline.md +138 -138
  253. package/lib/assets/docs/article/getting-start-tdd/clojure/12-error-handling-and-spec.md +161 -161
  254. package/lib/assets/docs/article/getting-start-tdd/clojure/index.md +65 -65
  255. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter01.md +232 -232
  256. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter02.md +244 -244
  257. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter03.md +202 -202
  258. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter04.md +92 -92
  259. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter05.md +256 -256
  260. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter06.md +195 -195
  261. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter07.md +214 -214
  262. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter08.md +249 -249
  263. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter09.md +174 -174
  264. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter10.md +166 -166
  265. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter11.md +192 -192
  266. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter12.md +211 -211
  267. package/lib/assets/docs/article/getting-start-tdd/csharp/index.md +83 -83
  268. package/lib/assets/docs/article/getting-start-tdd/elixir/01-todo-list-and-first-test.md +87 -87
  269. package/lib/assets/docs/article/getting-start-tdd/elixir/02-fake-it-and-triangulation.md +95 -95
  270. package/lib/assets/docs/article/getting-start-tdd/elixir/03-obvious-implementation-and-refactoring.md +109 -109
  271. package/lib/assets/docs/article/getting-start-tdd/elixir/04-version-control-and-conventional-commits.md +96 -96
  272. package/lib/assets/docs/article/getting-start-tdd/elixir/05-package-management-and-static-analysis.md +88 -88
  273. package/lib/assets/docs/article/getting-start-tdd/elixir/06-task-runner-and-ci-cd.md +71 -71
  274. package/lib/assets/docs/article/getting-start-tdd/elixir/07-structs-and-protocols.md +110 -110
  275. package/lib/assets/docs/article/getting-start-tdd/elixir/08-pattern-matching-and-guards.md +108 -108
  276. package/lib/assets/docs/article/getting-start-tdd/elixir/09-module-design-and-behaviours.md +104 -104
  277. package/lib/assets/docs/article/getting-start-tdd/elixir/10-higher-order-functions-and-pipeline.md +178 -178
  278. package/lib/assets/docs/article/getting-start-tdd/elixir/11-stream-and-lazy-evaluation.md +142 -142
  279. package/lib/assets/docs/article/getting-start-tdd/elixir/12-error-handling-and-with.md +145 -145
  280. package/lib/assets/docs/article/getting-start-tdd/elixir/index.md +35 -35
  281. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter01.md +202 -202
  282. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter02.md +246 -246
  283. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter03.md +218 -218
  284. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter04.md +179 -179
  285. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter05.md +267 -267
  286. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter06.md +190 -190
  287. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter07.md +161 -161
  288. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter08.md +175 -175
  289. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter09.md +222 -222
  290. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter10.md +189 -189
  291. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter11.md +212 -212
  292. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter12.md +215 -215
  293. package/lib/assets/docs/article/getting-start-tdd/fsharp/index.md +71 -71
  294. package/lib/assets/docs/article/getting-start-tdd/go/01-todo-list-and-first-test.md +213 -213
  295. package/lib/assets/docs/article/getting-start-tdd/go/02-fake-it-and-triangulation.md +302 -302
  296. package/lib/assets/docs/article/getting-start-tdd/go/03-obvious-implementation-and-refactoring.md +339 -339
  297. package/lib/assets/docs/article/getting-start-tdd/go/04-version-control-and-conventional-commits.md +112 -112
  298. package/lib/assets/docs/article/getting-start-tdd/go/05-package-management-and-static-analysis.md +272 -272
  299. package/lib/assets/docs/article/getting-start-tdd/go/06-task-runner-and-ci-cd.md +233 -233
  300. package/lib/assets/docs/article/getting-start-tdd/go/07-encapsulation-and-polymorphism.md +394 -394
  301. package/lib/assets/docs/article/getting-start-tdd/go/08-design-patterns.md +422 -422
  302. package/lib/assets/docs/article/getting-start-tdd/go/09-solid-principles-and-module-design.md +400 -400
  303. package/lib/assets/docs/article/getting-start-tdd/go/10-higher-order-functions-and-composition.md +226 -226
  304. package/lib/assets/docs/article/getting-start-tdd/go/11-immutable-data-and-pipeline.md +296 -296
  305. package/lib/assets/docs/article/getting-start-tdd/go/12-error-handling-and-type-safety.md +411 -411
  306. package/lib/assets/docs/article/getting-start-tdd/go/index.md +83 -83
  307. package/lib/assets/docs/article/getting-start-tdd/haskell/01-todo-list-and-first-test.md +279 -279
  308. package/lib/assets/docs/article/getting-start-tdd/haskell/02-fake-it-and-triangulation.md +337 -337
  309. package/lib/assets/docs/article/getting-start-tdd/haskell/03-obvious-implementation-and-refactoring.md +257 -257
  310. package/lib/assets/docs/article/getting-start-tdd/haskell/04-version-control-and-conventional-commits.md +182 -182
  311. package/lib/assets/docs/article/getting-start-tdd/haskell/05-package-management-and-static-analysis.md +313 -313
  312. package/lib/assets/docs/article/getting-start-tdd/haskell/06-task-runner-and-ci-cd.md +309 -309
  313. package/lib/assets/docs/article/getting-start-tdd/haskell/07-algebraic-data-types-and-type-classes.md +412 -412
  314. package/lib/assets/docs/article/getting-start-tdd/haskell/08-pattern-matching-and-guards.md +390 -390
  315. package/lib/assets/docs/article/getting-start-tdd/haskell/09-module-design-and-smart-constructors.md +461 -461
  316. package/lib/assets/docs/article/getting-start-tdd/haskell/10-higher-order-functions-and-currying.md +434 -434
  317. package/lib/assets/docs/article/getting-start-tdd/haskell/11-function-composition-and-point-free.md +392 -392
  318. package/lib/assets/docs/article/getting-start-tdd/haskell/12-monad-and-error-handling.md +631 -631
  319. package/lib/assets/docs/article/getting-start-tdd/haskell/index.md +49 -49
  320. package/lib/assets/docs/article/getting-start-tdd/index.md +93 -93
  321. package/lib/assets/docs/article/getting-start-tdd/integration/01-language-overview.md +375 -375
  322. package/lib/assets/docs/article/getting-start-tdd/integration/02-test-framework-comparison.md +349 -349
  323. package/lib/assets/docs/article/getting-start-tdd/integration/03-tdd-pattern-comparison.md +445 -445
  324. package/lib/assets/docs/article/getting-start-tdd/integration/04-type-system-comparison.md +409 -409
  325. package/lib/assets/docs/article/getting-start-tdd/integration/05-dev-environment-comparison.md +330 -330
  326. package/lib/assets/docs/article/getting-start-tdd/integration/06-learning-roadmap.md +290 -290
  327. package/lib/assets/docs/article/getting-start-tdd/integration/index.md +69 -69
  328. package/lib/assets/docs/article/getting-start-tdd/java/01-todo-list-and-first-test.md +234 -234
  329. package/lib/assets/docs/article/getting-start-tdd/java/02-fake-it-and-triangulation.md +261 -261
  330. package/lib/assets/docs/article/getting-start-tdd/java/03-obvious-implementation-and-refactoring.md +185 -185
  331. package/lib/assets/docs/article/getting-start-tdd/java/04-version-control-and-conventional-commits.md +115 -115
  332. package/lib/assets/docs/article/getting-start-tdd/java/05-package-management-and-static-analysis.md +382 -382
  333. package/lib/assets/docs/article/getting-start-tdd/java/06-task-runner-and-ci-cd.md +272 -272
  334. package/lib/assets/docs/article/getting-start-tdd/java/07-encapsulation-and-polymorphism.md +626 -626
  335. package/lib/assets/docs/article/getting-start-tdd/java/08-design-patterns.md +393 -393
  336. package/lib/assets/docs/article/getting-start-tdd/java/09-solid-principles-and-module-design.md +310 -310
  337. package/lib/assets/docs/article/getting-start-tdd/java/10-higher-order-functions-and-composition.md +188 -188
  338. package/lib/assets/docs/article/getting-start-tdd/java/11-immutable-data-and-pipeline.md +167 -167
  339. package/lib/assets/docs/article/getting-start-tdd/java/12-error-handling-and-type-safety.md +205 -205
  340. package/lib/assets/docs/article/getting-start-tdd/java/index.md +61 -61
  341. package/lib/assets/docs/article/getting-start-tdd/node/01-todo-list-and-first-test.md +244 -244
  342. package/lib/assets/docs/article/getting-start-tdd/node/02-fake-it-and-triangulation.md +262 -262
  343. package/lib/assets/docs/article/getting-start-tdd/node/03-obvious-implementation-and-refactoring.md +169 -169
  344. package/lib/assets/docs/article/getting-start-tdd/node/04-version-control-and-conventional-commits.md +112 -112
  345. package/lib/assets/docs/article/getting-start-tdd/node/05-package-management-and-static-analysis.md +314 -314
  346. package/lib/assets/docs/article/getting-start-tdd/node/06-task-runner-and-ci-cd.md +235 -235
  347. package/lib/assets/docs/article/getting-start-tdd/node/07-encapsulation-and-polymorphism.md +327 -327
  348. package/lib/assets/docs/article/getting-start-tdd/node/08-design-patterns.md +322 -322
  349. package/lib/assets/docs/article/getting-start-tdd/node/09-solid-principles-and-module-design.md +285 -285
  350. package/lib/assets/docs/article/getting-start-tdd/node/10-higher-order-functions-and-composition.md +199 -199
  351. package/lib/assets/docs/article/getting-start-tdd/node/11-immutable-data-and-pipeline.md +207 -207
  352. package/lib/assets/docs/article/getting-start-tdd/node/12-error-handling-and-type-safety.md +295 -295
  353. package/lib/assets/docs/article/getting-start-tdd/node/index.md +56 -56
  354. package/lib/assets/docs/article/getting-start-tdd/php/01-todo-list-and-first-test.md +259 -259
  355. package/lib/assets/docs/article/getting-start-tdd/php/02-fake-it-and-triangulation.md +200 -200
  356. package/lib/assets/docs/article/getting-start-tdd/php/03-obvious-implementation-and-refactoring.md +248 -248
  357. package/lib/assets/docs/article/getting-start-tdd/php/04-version-control-and-conventional-commits.md +141 -141
  358. package/lib/assets/docs/article/getting-start-tdd/php/05-package-management-and-static-analysis.md +410 -410
  359. package/lib/assets/docs/article/getting-start-tdd/php/06-task-runner-and-ci-cd.md +321 -321
  360. package/lib/assets/docs/article/getting-start-tdd/php/07-encapsulation-and-polymorphism.md +372 -372
  361. package/lib/assets/docs/article/getting-start-tdd/php/08-design-patterns.md +453 -453
  362. package/lib/assets/docs/article/getting-start-tdd/php/09-solid-principles-and-module-design.md +460 -460
  363. package/lib/assets/docs/article/getting-start-tdd/php/10-higher-order-functions-and-composition.md +182 -182
  364. package/lib/assets/docs/article/getting-start-tdd/php/11-immutable-data-and-pipeline.md +266 -266
  365. package/lib/assets/docs/article/getting-start-tdd/php/12-error-handling-and-type-safety.md +308 -308
  366. package/lib/assets/docs/article/getting-start-tdd/php/index.md +84 -84
  367. package/lib/assets/docs/article/getting-start-tdd/python/01-todo-list-and-first-test.md +201 -201
  368. package/lib/assets/docs/article/getting-start-tdd/python/02-fake-it-and-triangulation.md +247 -247
  369. package/lib/assets/docs/article/getting-start-tdd/python/03-obvious-implementation-and-refactoring.md +199 -199
  370. package/lib/assets/docs/article/getting-start-tdd/python/04-version-control-and-conventional-commits.md +87 -87
  371. package/lib/assets/docs/article/getting-start-tdd/python/05-package-management-and-static-analysis.md +274 -274
  372. package/lib/assets/docs/article/getting-start-tdd/python/06-task-runner-and-ci-cd.md +190 -190
  373. package/lib/assets/docs/article/getting-start-tdd/python/07-encapsulation-and-polymorphism.md +208 -208
  374. package/lib/assets/docs/article/getting-start-tdd/python/08-design-patterns.md +172 -172
  375. package/lib/assets/docs/article/getting-start-tdd/python/09-solid-principles-and-module-design.md +130 -130
  376. package/lib/assets/docs/article/getting-start-tdd/python/10-higher-order-functions-and-composition.md +122 -122
  377. package/lib/assets/docs/article/getting-start-tdd/python/11-immutable-data-and-pipeline.md +116 -116
  378. package/lib/assets/docs/article/getting-start-tdd/python/12-error-handling-and-type-safety.md +126 -126
  379. package/lib/assets/docs/article/getting-start-tdd/python/index.md +55 -55
  380. package/lib/assets/docs/article/getting-start-tdd/ruby/01-todo-list-and-first-test.md +231 -231
  381. package/lib/assets/docs/article/getting-start-tdd/ruby/02-fake-it-and-triangulation.md +238 -238
  382. package/lib/assets/docs/article/getting-start-tdd/ruby/03-obvious-implementation-and-refactoring.md +228 -228
  383. package/lib/assets/docs/article/getting-start-tdd/ruby/04-version-control-and-conventional-commits.md +112 -112
  384. package/lib/assets/docs/article/getting-start-tdd/ruby/05-package-management-and-static-analysis.md +287 -287
  385. package/lib/assets/docs/article/getting-start-tdd/ruby/06-task-runner-and-ci-cd.md +248 -248
  386. package/lib/assets/docs/article/getting-start-tdd/ruby/07-encapsulation-and-polymorphism.md +279 -279
  387. package/lib/assets/docs/article/getting-start-tdd/ruby/08-design-patterns.md +329 -329
  388. package/lib/assets/docs/article/getting-start-tdd/ruby/09-solid-principles-and-module-design.md +196 -196
  389. package/lib/assets/docs/article/getting-start-tdd/ruby/10-higher-order-functions-and-composition.md +175 -175
  390. package/lib/assets/docs/article/getting-start-tdd/ruby/11-immutable-data-and-pipeline.md +237 -237
  391. package/lib/assets/docs/article/getting-start-tdd/ruby/12-error-handling-and-type-safety.md +398 -398
  392. package/lib/assets/docs/article/getting-start-tdd/ruby/index.md +83 -83
  393. package/lib/assets/docs/article/getting-start-tdd/rust/01-todo-list-and-first-test.md +211 -211
  394. package/lib/assets/docs/article/getting-start-tdd/rust/02-fake-it-and-triangulation.md +264 -264
  395. package/lib/assets/docs/article/getting-start-tdd/rust/03-obvious-implementation-and-refactoring.md +233 -233
  396. package/lib/assets/docs/article/getting-start-tdd/rust/04-version-control-and-conventional-commits.md +92 -92
  397. package/lib/assets/docs/article/getting-start-tdd/rust/05-package-management-and-static-analysis.md +212 -212
  398. package/lib/assets/docs/article/getting-start-tdd/rust/06-task-runner-and-ci-cd.md +164 -164
  399. package/lib/assets/docs/article/getting-start-tdd/rust/07-encapsulation-and-polymorphism.md +142 -142
  400. package/lib/assets/docs/article/getting-start-tdd/rust/08-design-patterns.md +145 -145
  401. package/lib/assets/docs/article/getting-start-tdd/rust/09-solid-principles-and-module-design.md +110 -110
  402. package/lib/assets/docs/article/getting-start-tdd/rust/10-higher-order-functions-and-composition.md +94 -94
  403. package/lib/assets/docs/article/getting-start-tdd/rust/11-immutable-data-and-pipeline.md +105 -105
  404. package/lib/assets/docs/article/getting-start-tdd/rust/12-error-handling-and-type-safety.md +112 -112
  405. package/lib/assets/docs/article/getting-start-tdd/rust/index.md +83 -83
  406. package/lib/assets/docs/article/getting-start-tdd/scala/01-todo-list-and-first-test.md +111 -111
  407. package/lib/assets/docs/article/getting-start-tdd/scala/02-fake-it-and-triangulation.md +107 -107
  408. package/lib/assets/docs/article/getting-start-tdd/scala/03-obvious-implementation-and-refactoring.md +99 -99
  409. package/lib/assets/docs/article/getting-start-tdd/scala/04-version-control-and-conventional-commits.md +123 -123
  410. package/lib/assets/docs/article/getting-start-tdd/scala/05-package-management-and-static-analysis.md +196 -196
  411. package/lib/assets/docs/article/getting-start-tdd/scala/06-task-runner-and-ci-cd.md +186 -186
  412. package/lib/assets/docs/article/getting-start-tdd/scala/07-case-classes-and-traits.md +139 -139
  413. package/lib/assets/docs/article/getting-start-tdd/scala/08-pattern-matching-and-sealed-traits.md +106 -106
  414. package/lib/assets/docs/article/getting-start-tdd/scala/09-packages-and-module-design.md +75 -75
  415. package/lib/assets/docs/article/getting-start-tdd/scala/10-higher-order-functions-and-composition.md +104 -104
  416. package/lib/assets/docs/article/getting-start-tdd/scala/11-collections-and-lazy-evaluation.md +94 -94
  417. package/lib/assets/docs/article/getting-start-tdd/scala/12-error-handling-and-type-safety.md +92 -92
  418. package/lib/assets/docs/article/getting-start-tdd/scala/index.md +65 -65
  419. package/lib/assets/docs/article/grokking-concurrency/all/index.md +404 -404
  420. package/lib/assets/docs/article/grokking-concurrency/all/part-1-ch02-sequential.md +554 -554
  421. package/lib/assets/docs/article/grokking-concurrency/all/part-2-ch04-05-threads.md +469 -469
  422. package/lib/assets/docs/article/grokking-concurrency/all/part-3-ch06-multitasking.md +520 -520
  423. package/lib/assets/docs/article/grokking-concurrency/all/part-4-ch07-parallel-patterns.md +420 -420
  424. package/lib/assets/docs/article/grokking-concurrency/all/part-5-ch08-09-synchronization.md +510 -510
  425. package/lib/assets/docs/article/grokking-concurrency/all/part-6-ch10-11-nonblocking-io.md +435 -435
  426. package/lib/assets/docs/article/grokking-concurrency/all/part-7-ch12-async.md +465 -465
  427. package/lib/assets/docs/article/grokking-concurrency/all/part-8-ch13-mapreduce.md +377 -377
  428. package/lib/assets/docs/article/grokking-concurrency/clojure/index.md +116 -116
  429. package/lib/assets/docs/article/grokking-concurrency/clojure/part-1.md +108 -108
  430. package/lib/assets/docs/article/grokking-concurrency/clojure/part-2.md +101 -101
  431. package/lib/assets/docs/article/grokking-concurrency/clojure/part-3.md +122 -122
  432. package/lib/assets/docs/article/grokking-concurrency/clojure/part-4.md +123 -123
  433. package/lib/assets/docs/article/grokking-concurrency/clojure/part-5.md +118 -118
  434. package/lib/assets/docs/article/grokking-concurrency/clojure/part-6.md +89 -89
  435. package/lib/assets/docs/article/grokking-concurrency/clojure/part-7.md +100 -100
  436. package/lib/assets/docs/article/grokking-concurrency/clojure/part-8.md +120 -120
  437. package/lib/assets/docs/article/grokking-concurrency/csharp/index.md +101 -101
  438. package/lib/assets/docs/article/grokking-concurrency/csharp/part-1.md +97 -97
  439. package/lib/assets/docs/article/grokking-concurrency/csharp/part-2.md +123 -123
  440. package/lib/assets/docs/article/grokking-concurrency/csharp/part-3.md +101 -101
  441. package/lib/assets/docs/article/grokking-concurrency/csharp/part-4.md +112 -112
  442. package/lib/assets/docs/article/grokking-concurrency/csharp/part-5.md +99 -99
  443. package/lib/assets/docs/article/grokking-concurrency/csharp/part-6.md +61 -61
  444. package/lib/assets/docs/article/grokking-concurrency/csharp/part-7.md +84 -84
  445. package/lib/assets/docs/article/grokking-concurrency/csharp/part-8.md +92 -92
  446. package/lib/assets/docs/article/grokking-concurrency/fsharp/index.md +65 -65
  447. package/lib/assets/docs/article/grokking-concurrency/fsharp/part-1.md +80 -80
  448. package/lib/assets/docs/article/grokking-concurrency/fsharp/part-2.md +103 -103
  449. package/lib/assets/docs/article/grokking-concurrency/fsharp/part-3.md +94 -94
  450. package/lib/assets/docs/article/grokking-concurrency/fsharp/part-4.md +110 -110
  451. package/lib/assets/docs/article/grokking-concurrency/fsharp/part-5.md +104 -104
  452. package/lib/assets/docs/article/grokking-concurrency/fsharp/part-6.md +93 -93
  453. package/lib/assets/docs/article/grokking-concurrency/fsharp/part-7.md +121 -121
  454. package/lib/assets/docs/article/grokking-concurrency/fsharp/part-8.md +107 -107
  455. package/lib/assets/docs/article/grokking-concurrency/haskell/index.md +248 -248
  456. package/lib/assets/docs/article/grokking-concurrency/haskell/part-1.md +96 -96
  457. package/lib/assets/docs/article/grokking-concurrency/haskell/part-2.md +96 -96
  458. package/lib/assets/docs/article/grokking-concurrency/haskell/part-3.md +91 -91
  459. package/lib/assets/docs/article/grokking-concurrency/haskell/part-4.md +106 -106
  460. package/lib/assets/docs/article/grokking-concurrency/haskell/part-5.md +99 -99
  461. package/lib/assets/docs/article/grokking-concurrency/haskell/part-6.md +95 -95
  462. package/lib/assets/docs/article/grokking-concurrency/haskell/part-7.md +111 -111
  463. package/lib/assets/docs/article/grokking-concurrency/haskell/part-8.md +118 -118
  464. package/lib/assets/docs/article/grokking-concurrency/index.md +66 -66
  465. package/lib/assets/docs/article/grokking-concurrency/java/index.md +102 -102
  466. package/lib/assets/docs/article/grokking-concurrency/java/part-1.md +308 -308
  467. package/lib/assets/docs/article/grokking-concurrency/java/part-2.md +334 -334
  468. package/lib/assets/docs/article/grokking-concurrency/java/part-3.md +221 -221
  469. package/lib/assets/docs/article/grokking-concurrency/java/part-4.md +213 -213
  470. package/lib/assets/docs/article/grokking-concurrency/java/part-5.md +112 -112
  471. package/lib/assets/docs/article/grokking-concurrency/java/part-6.md +69 -69
  472. package/lib/assets/docs/article/grokking-concurrency/java/part-7.md +101 -101
  473. package/lib/assets/docs/article/grokking-concurrency/java/part-8.md +101 -101
  474. package/lib/assets/docs/article/grokking-concurrency/python/index.md +313 -313
  475. package/lib/assets/docs/article/grokking-concurrency/python/part-1.md +239 -239
  476. package/lib/assets/docs/article/grokking-concurrency/python/part-2.md +418 -418
  477. package/lib/assets/docs/article/grokking-concurrency/python/part-3.md +227 -227
  478. package/lib/assets/docs/article/grokking-concurrency/python/part-4.md +299 -299
  479. package/lib/assets/docs/article/grokking-concurrency/python/part-5.md +315 -315
  480. package/lib/assets/docs/article/grokking-concurrency/python/part-6.md +297 -297
  481. package/lib/assets/docs/article/grokking-concurrency/python/part-7.md +314 -314
  482. package/lib/assets/docs/article/grokking-concurrency/python/part-8.md +360 -360
  483. package/lib/assets/docs/article/grokking-concurrency/rust/index.md +270 -270
  484. package/lib/assets/docs/article/grokking-concurrency/rust/part-1.md +108 -108
  485. package/lib/assets/docs/article/grokking-concurrency/rust/part-2.md +120 -120
  486. package/lib/assets/docs/article/grokking-concurrency/rust/part-3.md +126 -126
  487. package/lib/assets/docs/article/grokking-concurrency/rust/part-4.md +175 -175
  488. package/lib/assets/docs/article/grokking-concurrency/rust/part-5.md +158 -158
  489. package/lib/assets/docs/article/grokking-concurrency/rust/part-6.md +94 -94
  490. package/lib/assets/docs/article/grokking-concurrency/rust/part-7.md +133 -133
  491. package/lib/assets/docs/article/grokking-concurrency/rust/part-8.md +155 -155
  492. package/lib/assets/docs/article/grokking-concurrency/scala/index.md +69 -69
  493. package/lib/assets/docs/article/grokking-concurrency/scala/part-1.md +78 -78
  494. package/lib/assets/docs/article/grokking-concurrency/scala/part-2.md +112 -112
  495. package/lib/assets/docs/article/grokking-concurrency/scala/part-3.md +93 -93
  496. package/lib/assets/docs/article/grokking-concurrency/scala/part-4.md +110 -110
  497. package/lib/assets/docs/article/grokking-concurrency/scala/part-5.md +119 -119
  498. package/lib/assets/docs/article/grokking-concurrency/scala/part-6.md +83 -83
  499. package/lib/assets/docs/article/grokking-concurrency/scala/part-7.md +131 -131
  500. package/lib/assets/docs/article/grokking-concurrency/scala/part-8.md +129 -129
  501. package/lib/assets/docs/article/grokkingfp/all/index.md +368 -368
  502. package/lib/assets/docs/article/grokkingfp/all/part-1-ch01-fp-introduction.md +530 -530
  503. package/lib/assets/docs/article/grokkingfp/all/part-1-ch02-pure-functions.md +923 -923
  504. package/lib/assets/docs/article/grokkingfp/all/part-2-ch03-immutable-data.md +1128 -1128
  505. package/lib/assets/docs/article/grokkingfp/all/part-2-ch04-higher-order-functions.md +1104 -1104
  506. package/lib/assets/docs/article/grokkingfp/all/part-2-ch05-flatmap.md +1026 -1026
  507. package/lib/assets/docs/article/grokkingfp/all/part-3-ch06-option.md +785 -785
  508. package/lib/assets/docs/article/grokkingfp/all/part-3-ch07-either-adt.md +871 -871
  509. package/lib/assets/docs/article/grokkingfp/all/part-4-ch08-io-monad.md +972 -972
  510. package/lib/assets/docs/article/grokkingfp/all/part-4-ch09-streams.md +926 -926
  511. package/lib/assets/docs/article/grokkingfp/all/part-5-ch10-concurrency.md +870 -870
  512. package/lib/assets/docs/article/grokkingfp/all/part-6-ch11-application.md +715 -715
  513. package/lib/assets/docs/article/grokkingfp/all/part-6-ch12-testing.md +626 -626
  514. package/lib/assets/docs/article/grokkingfp/all/writing-plan.md +712 -712
  515. package/lib/assets/docs/article/grokkingfp/clojure/index.md +276 -276
  516. package/lib/assets/docs/article/grokkingfp/clojure/part-1.md +667 -667
  517. package/lib/assets/docs/article/grokkingfp/clojure/part-2.md +643 -643
  518. package/lib/assets/docs/article/grokkingfp/clojure/part-3.md +620 -620
  519. package/lib/assets/docs/article/grokkingfp/clojure/part-4.md +697 -697
  520. package/lib/assets/docs/article/grokkingfp/clojure/part-5.md +751 -751
  521. package/lib/assets/docs/article/grokkingfp/clojure/part-6.md +721 -721
  522. package/lib/assets/docs/article/grokkingfp/csharp/index.md +246 -246
  523. package/lib/assets/docs/article/grokkingfp/csharp/part-1.md +811 -811
  524. package/lib/assets/docs/article/grokkingfp/csharp/part-2.md +971 -971
  525. package/lib/assets/docs/article/grokkingfp/csharp/part-3.md +981 -981
  526. package/lib/assets/docs/article/grokkingfp/csharp/part-4.md +949 -949
  527. package/lib/assets/docs/article/grokkingfp/csharp/part-5.md +947 -947
  528. package/lib/assets/docs/article/grokkingfp/csharp/part-6.md +739 -739
  529. package/lib/assets/docs/article/grokkingfp/elixir/index.md +203 -203
  530. package/lib/assets/docs/article/grokkingfp/elixir/part-1.md +712 -712
  531. package/lib/assets/docs/article/grokkingfp/elixir/part-2.md +838 -838
  532. package/lib/assets/docs/article/grokkingfp/elixir/part-3.md +985 -985
  533. package/lib/assets/docs/article/grokkingfp/elixir/part-4.md +974 -974
  534. package/lib/assets/docs/article/grokkingfp/elixir/part-5.md +1286 -1286
  535. package/lib/assets/docs/article/grokkingfp/elixir/part-6.md +1049 -1049
  536. package/lib/assets/docs/article/grokkingfp/fsharp/index.md +210 -210
  537. package/lib/assets/docs/article/grokkingfp/fsharp/part-1.md +714 -714
  538. package/lib/assets/docs/article/grokkingfp/fsharp/part-2.md +961 -961
  539. package/lib/assets/docs/article/grokkingfp/fsharp/part-3.md +972 -972
  540. package/lib/assets/docs/article/grokkingfp/fsharp/part-4.md +832 -832
  541. package/lib/assets/docs/article/grokkingfp/fsharp/part-5.md +911 -911
  542. package/lib/assets/docs/article/grokkingfp/fsharp/part-6.md +922 -922
  543. package/lib/assets/docs/article/grokkingfp/haskell/index.md +234 -234
  544. package/lib/assets/docs/article/grokkingfp/haskell/part-1.md +591 -591
  545. package/lib/assets/docs/article/grokkingfp/haskell/part-2.md +866 -866
  546. package/lib/assets/docs/article/grokkingfp/haskell/part-3.md +915 -915
  547. package/lib/assets/docs/article/grokkingfp/haskell/part-4.md +878 -878
  548. package/lib/assets/docs/article/grokkingfp/haskell/part-5.md +845 -845
  549. package/lib/assets/docs/article/grokkingfp/haskell/part-6.md +844 -844
  550. package/lib/assets/docs/article/grokkingfp/index.md +143 -143
  551. package/lib/assets/docs/article/grokkingfp/java/index.md +211 -211
  552. package/lib/assets/docs/article/grokkingfp/java/part-1.md +648 -648
  553. package/lib/assets/docs/article/grokkingfp/java/part-2.md +675 -675
  554. package/lib/assets/docs/article/grokkingfp/java/part-3.md +672 -672
  555. package/lib/assets/docs/article/grokkingfp/java/part-4.md +771 -771
  556. package/lib/assets/docs/article/grokkingfp/java/part-5.md +959 -959
  557. package/lib/assets/docs/article/grokkingfp/java/part-6.md +1328 -1328
  558. package/lib/assets/docs/article/grokkingfp/python/index.md +258 -258
  559. package/lib/assets/docs/article/grokkingfp/python/part-1.md +443 -443
  560. package/lib/assets/docs/article/grokkingfp/python/part-2.md +958 -958
  561. package/lib/assets/docs/article/grokkingfp/python/part-3.md +1004 -1004
  562. package/lib/assets/docs/article/grokkingfp/python/part-4.md +765 -765
  563. package/lib/assets/docs/article/grokkingfp/python/part-5.md +747 -747
  564. package/lib/assets/docs/article/grokkingfp/python/part-6.md +861 -861
  565. package/lib/assets/docs/article/grokkingfp/ruby/index.md +330 -330
  566. package/lib/assets/docs/article/grokkingfp/ruby/part-1.md +755 -755
  567. package/lib/assets/docs/article/grokkingfp/ruby/part-2.md +938 -938
  568. package/lib/assets/docs/article/grokkingfp/ruby/part-3.md +946 -946
  569. package/lib/assets/docs/article/grokkingfp/ruby/part-4.md +921 -921
  570. package/lib/assets/docs/article/grokkingfp/ruby/part-5.md +908 -908
  571. package/lib/assets/docs/article/grokkingfp/ruby/part-6.md +1412 -1412
  572. package/lib/assets/docs/article/grokkingfp/rust/index.md +242 -242
  573. package/lib/assets/docs/article/grokkingfp/rust/part-1.md +634 -634
  574. package/lib/assets/docs/article/grokkingfp/rust/part-2.md +1060 -1060
  575. package/lib/assets/docs/article/grokkingfp/rust/part-3.md +994 -994
  576. package/lib/assets/docs/article/grokkingfp/rust/part-4.md +573 -573
  577. package/lib/assets/docs/article/grokkingfp/rust/part-5.md +705 -705
  578. package/lib/assets/docs/article/grokkingfp/rust/part-6.md +508 -508
  579. package/lib/assets/docs/article/grokkingfp/scala/index.md +171 -171
  580. package/lib/assets/docs/article/grokkingfp/scala/part-1.md +543 -543
  581. package/lib/assets/docs/article/grokkingfp/scala/part-2.md +946 -946
  582. package/lib/assets/docs/article/grokkingfp/scala/part-3.md +919 -919
  583. package/lib/assets/docs/article/grokkingfp/scala/part-4.md +742 -742
  584. package/lib/assets/docs/article/grokkingfp/scala/part-5.md +722 -722
  585. package/lib/assets/docs/article/grokkingfp/scala/part-6.md +867 -867
  586. package/lib/assets/docs/article/grokkingfp/typescript/index.md +273 -273
  587. package/lib/assets/docs/article/grokkingfp/typescript/part-1.md +561 -561
  588. package/lib/assets/docs/article/grokkingfp/typescript/part-2.md +1129 -1129
  589. package/lib/assets/docs/article/grokkingfp/typescript/part-3.md +842 -842
  590. package/lib/assets/docs/article/grokkingfp/typescript/part-4.md +1087 -1087
  591. package/lib/assets/docs/article/grokkingfp/typescript/part-5.md +717 -717
  592. package/lib/assets/docs/article/grokkingfp/typescript/part-6.md +982 -982
  593. package/lib/assets/docs/article/index.md +41 -41
  594. package/lib/assets/docs/article/practical-database-design/index.md +121 -121
  595. package/lib/assets/docs/article/practical-database-design/part1/chapter01.md +288 -288
  596. package/lib/assets/docs/article/practical-database-design/part1/chapter02.md +518 -518
  597. package/lib/assets/docs/article/practical-database-design/part1/chapter03.md +557 -557
  598. package/lib/assets/docs/article/practical-database-design/part2/chapter04.md +924 -924
  599. package/lib/assets/docs/article/practical-database-design/part2/chapter05.md +1627 -1627
  600. package/lib/assets/docs/article/practical-database-design/part2/chapter06.md +2716 -2716
  601. package/lib/assets/docs/article/practical-database-design/part2/chapter07.md +2082 -2082
  602. package/lib/assets/docs/article/practical-database-design/part2/chapter08.md +2105 -2105
  603. package/lib/assets/docs/article/practical-database-design/part2/chapter09.md +2031 -2031
  604. package/lib/assets/docs/article/practical-database-design/part2/chapter10.md +1387 -1387
  605. package/lib/assets/docs/article/practical-database-design/part2/chapter11.md +1677 -1677
  606. package/lib/assets/docs/article/practical-database-design/part2/chapter12.md +1417 -1417
  607. package/lib/assets/docs/article/practical-database-design/part2/chapter13.md +1434 -1434
  608. package/lib/assets/docs/article/practical-database-design/part3/chapter14.md +667 -667
  609. package/lib/assets/docs/article/practical-database-design/part3/chapter15.md +1625 -1625
  610. package/lib/assets/docs/article/practical-database-design/part3/chapter16.md +1915 -1915
  611. package/lib/assets/docs/article/practical-database-design/part3/chapter17.md +1708 -1708
  612. package/lib/assets/docs/article/practical-database-design/part3/chapter18.md +2095 -2095
  613. package/lib/assets/docs/article/practical-database-design/part3/chapter19.md +1123 -1123
  614. package/lib/assets/docs/article/practical-database-design/part3/chapter20.md +1031 -1031
  615. package/lib/assets/docs/article/practical-database-design/part3/chapter21.md +1382 -1382
  616. package/lib/assets/docs/article/practical-database-design/part3-orm/chapter14-orm.md +991 -991
  617. package/lib/assets/docs/article/practical-database-design/part3-orm/chapter15-orm.md +1300 -1300
  618. package/lib/assets/docs/article/practical-database-design/part3-orm/chapter16-orm.md +1166 -1166
  619. package/lib/assets/docs/article/practical-database-design/part3-orm/chapter17-orm.md +1584 -1584
  620. package/lib/assets/docs/article/practical-database-design/part3-orm/chapter18-orm.md +1183 -1183
  621. package/lib/assets/docs/article/practical-database-design/part3-orm/chapter19-orm.md +1016 -1016
  622. package/lib/assets/docs/article/practical-database-design/part3-orm/chapter20-orm.md +1753 -1753
  623. package/lib/assets/docs/article/practical-database-design/part3-orm/chapter21-orm.md +1447 -1447
  624. package/lib/assets/docs/article/practical-database-design/part3-orm/chapter22-orm.md +1878 -1878
  625. package/lib/assets/docs/article/practical-database-design/part4/chapter22.md +965 -965
  626. package/lib/assets/docs/article/practical-database-design/part4/chapter23.md +2069 -2069
  627. package/lib/assets/docs/article/practical-database-design/part4/chapter24.md +2439 -2439
  628. package/lib/assets/docs/article/practical-database-design/part4/chapter25.md +3661 -3661
  629. package/lib/assets/docs/article/practical-database-design/part4/chapter26.md +2916 -2916
  630. package/lib/assets/docs/article/practical-database-design/part4/chapter27.md +3105 -3105
  631. package/lib/assets/docs/article/practical-database-design/part4/chapter28.md +2697 -2697
  632. package/lib/assets/docs/article/practical-database-design/part4/chapter29.md +2544 -2544
  633. package/lib/assets/docs/article/practical-database-design/part4/chapter30.md +2180 -2180
  634. package/lib/assets/docs/article/practical-database-design/part4/chapter31.md +1192 -1192
  635. package/lib/assets/docs/article/practical-database-design/part4/chapter32.md +2101 -2101
  636. package/lib/assets/docs/article/practical-database-design/part5/chapter33.md +1032 -1032
  637. package/lib/assets/docs/article/practical-database-design/part5/chapter34.md +1609 -1609
  638. package/lib/assets/docs/article/practical-database-design/part5/chapter35.md +1453 -1453
  639. package/lib/assets/docs/article/practical-database-design/part5/chapter36.md +1292 -1292
  640. package/lib/assets/docs/article/practical-database-design/part5/chapter37.md +1470 -1470
  641. package/lib/assets/docs/article/practical-database-design/part5/chapter38.md +1698 -1698
  642. package/lib/assets/docs/article/practical-database-design/part5/chapter39.md +2334 -2334
  643. package/lib/assets/docs/article/practical-database-design/study/study2-1.md +1693 -1693
  644. package/lib/assets/docs/article/practical-database-design/study/study2-2.md +1347 -1347
  645. package/lib/assets/docs/article/practical-database-design/study/study2-3.md +2044 -2044
  646. package/lib/assets/docs/article/practical-database-design/study/study2-4.md +2229 -2229
  647. package/lib/assets/docs/article/practical-database-design/study/study2-5.md +2418 -2418
  648. package/lib/assets/docs/article/practical-database-design/study/study3-1.md +2205 -2205
  649. package/lib/assets/docs/article/practical-database-design/study/study3-2.md +2221 -2221
  650. package/lib/assets/docs/article/practical-database-design/study/study3-3.md +2253 -2253
  651. package/lib/assets/docs/article/practical-database-design/study/study3-4.md +2106 -2106
  652. package/lib/assets/docs/article/practical-database-design/study/study3-5.md +2507 -2507
  653. package/lib/assets/docs/article/practical-database-design/study/study4-1.md +2587 -2587
  654. package/lib/assets/docs/article/practical-database-design/study/study4-2.md +2075 -2075
  655. package/lib/assets/docs/article/practical-database-design/study/study4-3.md +1805 -1805
  656. package/lib/assets/docs/article/practical-database-design/study/study4-4.md +1895 -1895
  657. package/lib/assets/docs/article/practical-database-design/study/study4-5.md +2878 -2878
  658. package/lib/assets/docs/assets/css/extra.css +29 -29
  659. package/lib/assets/docs/assets/js/extra.js +44 -44
  660. package/lib/assets/docs/design/index.md +44 -44
  661. package/lib/assets/docs/development/index.md +39 -39
  662. package/lib/assets/docs/index.md +33 -33
  663. package/lib/assets/docs/operation/index.md +27 -27
  664. package/lib/assets/docs/reference/CodexCLIMCP/343/202/242/343/203/227/343/203/252/343/202/261/343/203/274/343/202/267/343/203/247/343/203/263/351/226/213/347/231/272/343/203/225/343/203/255/343/203/274.md +546 -546
  665. package/lib/assets/docs/reference/CodexCLIMCP/343/202/265/343/203/274/343/203/220/343/203/274/350/250/255/345/256/232/346/211/213/351/240/206.md +341 -341
  666. package/lib/assets/docs/reference/Java/343/202/242/343/203/227/343/203/252/343/202/261/343/203/274/343/202/267/343/203/247/343/203/263/347/222/260/345/242/203/346/247/213/347/257/211/343/202/254/343/202/244/343/203/211.md +581 -581
  667. package/lib/assets/docs/reference/SonarQube/343/203/255/343/203/274/343/202/253/343/203/253/347/222/260/345/242/203/343/202/273/343/203/203/343/203/210/343/202/242/343/203/203/343/203/227/346/211/213/351/240/206/346/233/270.md +642 -642
  668. package/lib/assets/docs/reference/TypeScript/343/202/242/343/203/227/343/203/252/343/202/261/343/203/274/343/202/267/343/203/247/343/203/263/347/222/260/345/242/203/346/247/213/347/257/211/343/202/254/343/202/244/343/203/211.md +465 -465
  669. package/lib/assets/docs/reference/UI/350/250/255/350/250/210/343/202/254/343/202/244/343/203/211.md +450 -450
  670. package/lib/assets/docs/reference/images/Ansoff.drawio.svg +3 -3
  671. package/lib/assets/docs/reference/images/BMC.drawio.svg +3 -3
  672. package/lib/assets/docs/reference/images/BrandBasicStrategy.drawio.svg +3 -3
  673. package/lib/assets/docs/reference/images/BrandCategorization.drawio.svg +3 -3
  674. package/lib/assets/docs/reference/images/BrandRecurutementStrategy.drawio.svg +3 -3
  675. package/lib/assets/docs/reference/images/BrandValue.drawio.svg +3 -3
  676. package/lib/assets/docs/reference/images/BusinessActivitiy.svg +3 -3
  677. package/lib/assets/docs/reference/images/HRM.drawio.svg +3 -3
  678. package/lib/assets/docs/reference/images/MarketingStructure.drawio.svg +3 -3
  679. package/lib/assets/docs/reference/images/OrganizationElemnts.svg +3 -3
  680. package/lib/assets/docs/reference/images/PPM.drawio.svg +3 -3
  681. package/lib/assets/docs/reference/images/PositioningMap.drawio.svg +3 -3
  682. package/lib/assets/docs/reference/images/ProductLayer.drawio.svg +3 -3
  683. package/lib/assets/docs/reference/images/ProductMix.drawio.svg +3 -3
  684. package/lib/assets/docs/reference/images/SWOT.drawio.svg +3 -3
  685. package/lib/assets/docs/reference/images/TargetMarket.drawio.svg +3 -3
  686. package/lib/assets/docs/reference/images/ThreeGenericStrategies.drawio.svg +3 -3
  687. package/lib/assets/docs/reference/images/VRIO.drawio.svg +3 -3
  688. package/lib/assets/docs/reference/images/ValueChain.drawio.svg +3 -3
  689. package/lib/assets/docs/reference/index.md +53 -53
  690. package/lib/assets/docs/reference//343/202/210/343/201/204/343/202/275/343/203/225/343/203/210/343/202/246/343/202/247/343/202/242/343/201/250/343/201/257.md +250 -250
  691. package/lib/assets/docs/reference//343/202/242/343/203/274/343/202/255/343/203/206/343/202/257/343/203/201/343/203/243/350/250/255/350/250/210/343/202/254/343/202/244/343/203/211.md +2216 -2216
  692. package/lib/assets/docs/reference//343/202/244/343/203/263/343/203/225/343/203/251/350/250/255/350/250/210/343/202/254/343/202/244/343/203/211.md +1878 -1878
  693. package/lib/assets/docs/reference//343/202/250/343/202/257/343/202/271/343/203/210/343/203/252/343/203/274/343/203/240/343/203/227/343/203/255/343/202/260/343/203/251/343/203/237/343/203/263/343/202/260.md +550 -550
  694. package/lib/assets/docs/reference//343/202/263/343/203/274/343/203/207/343/202/243/343/203/263/343/202/260/343/201/250/343/203/206/343/202/271/343/203/210/343/202/254/343/202/244/343/203/211.md +705 -705
  695. package/lib/assets/docs/reference//343/203/206/343/202/271/343/203/210/346/210/246/347/225/245/343/202/254/343/202/244/343/203/211.md +1313 -1313
  696. package/lib/assets/docs/reference//343/203/207/343/203/274/343/202/277/343/203/242/343/203/207/343/203/253/350/250/255/350/250/210/343/202/254/343/202/244/343/203/211.md +311 -311
  697. package/lib/assets/docs/reference//343/203/211/343/203/241/343/202/244/343/203/263/343/203/242/343/203/207/343/203/253/350/250/255/350/250/210/343/202/254/343/202/244/343/203/211.md +599 -599
  698. package/lib/assets/docs/reference//343/203/223/343/202/270/343/203/215/343/202/271/343/202/242/343/203/274/343/202/255/343/203/206/343/202/257/343/203/201/343/203/243/345/210/206/346/236/220/343/202/254/343/202/244/343/203/211.md +528 -528
  699. package/lib/assets/docs/reference//343/203/246/343/203/274/343/202/271/343/202/261/343/203/274/343/202/271/344/275/234/346/210/220/343/202/254/343/202/244/343/203/211.md +689 -689
  700. package/lib/assets/docs/reference//343/203/252/343/203/252/343/203/274/343/202/271/343/202/254/343/202/244/343/203/211.md +461 -461
  701. package/lib/assets/docs/reference//343/203/252/343/203/252/343/203/274/343/202/271/343/203/273/343/202/244/343/203/206/343/203/254/343/203/274/343/202/267/343/203/247/343/203/263/350/250/210/347/224/273/343/202/254/343/202/244/343/203/211.md +580 -580
  702. package/lib/assets/docs/reference//343/203/255/343/202/270/343/202/253/343/203/253/343/202/267/343/203/263/343/202/255/343/203/263/343/202/260.md +1367 -1367
  703. package/lib/assets/docs/reference//344/274/201/346/245/255/347/265/214/345/226/266/350/253/226.md +2637 -2637
  704. package/lib/assets/docs/reference//347/222/260/345/242/203/345/244/211/346/225/260/347/256/241/347/220/206/343/202/254/343/202/244/343/203/211.md +665 -665
  705. package/lib/assets/docs/reference//347/265/214/345/226/266/346/210/246/347/225/245/345/210/206/346/236/220/343/202/254/343/202/244/343/203/211.md +566 -566
  706. package/lib/assets/docs/reference//350/246/201/344/273/266/345/256/232/347/276/251/343/202/254/343/202/244/343/203/211.md +1248 -1248
  707. package/lib/assets/docs/reference//350/250/200/350/252/236/345/210/245/351/226/213/347/231/272/343/202/254/343/202/244/343/203/211.md +518 -518
  708. package/lib/assets/docs/reference//351/201/213/345/226/266/347/256/241/347/220/206.md +1482 -1482
  709. package/lib/assets/docs/reference//351/201/213/347/224/250/343/202/271/343/202/257/343/203/252/343/203/227/343/203/210/344/275/234/346/210/220/343/202/254/343/202/244/343/203/211.md +421 -421
  710. package/lib/assets/docs/reference//351/201/213/347/224/250/350/246/201/344/273/266/345/256/232/347/276/251/343/202/254/343/202/244/343/203/211.md +392 -392
  711. package/lib/assets/docs/reference//351/226/213/347/231/272/343/202/254/343/202/244/343/203/211.md +305 -305
  712. package/lib/assets/docs/reference//351/235/236/346/251/237/350/203/275/350/246/201/344/273/266/345/256/232/347/276/251/343/202/254/343/202/244/343/203/211.md +1236 -1236
  713. package/lib/assets/docs/requirements/index.md +17 -17
  714. package/lib/assets/docs/review/index.md +5 -5
  715. package/lib/assets/docs/strategy/index.md +17 -17
  716. package/lib/assets/docs/template/ADR.md +30 -30
  717. package/lib/assets/docs/template/AWS/343/202/271/343/203/206/343/203/274/343/202/270/343/203/263/343/202/260/347/222/260/345/242/203/343/202/273/343/203/203/343/203/210/343/202/242/343/203/203/343/203/227/346/211/213/351/240/206/346/233/270.md +1366 -1366
  718. package/lib/assets/docs/template/AWS/343/203/227/343/203/255/343/203/200/343/202/257/343/202/267/343/203/247/343/203/263/347/222/260/345/242/203/343/202/273/343/203/203/343/203/210/343/202/242/343/203/203/343/203/227/346/211/213/351/240/206/346/233/270.md +634 -634
  719. package/lib/assets/docs/template/README.md +50 -50
  720. package/lib/assets/docs/template/index.md +24 -24
  721. package/lib/assets/docs/template//343/201/276/343/201/232/343/201/223/343/202/214/343/202/222/350/252/255/343/202/202/343/201/206/343/203/252/343/202/271/343/203/210.md +12 -12
  722. package/lib/assets/docs/template//343/202/242/343/203/227/343/203/252/343/202/261/343/203/274/343/202/267/343/203/247/343/203/263/351/226/213/347/231/272/347/222/260/345/242/203/343/202/273/343/203/203/343/203/210/343/202/242/343/203/203/343/203/227/346/211/213/351/240/206/346/233/270.md +547 -547
  723. package/lib/assets/docs/template//343/202/244/343/203/206/343/203/254/343/203/274/343/202/267/343/203/247/343/203/263/345/256/214/344/272/206/345/240/261/345/221/212/346/233/270.md +58 -58
  724. package/lib/assets/docs/template//343/202/244/343/203/206/343/203/254/343/203/274/343/202/267/343/203/247/343/203/263/350/250/210/347/224/273.md +327 -327
  725. package/lib/assets/docs/template//343/202/244/343/203/263/343/202/273/343/203/227/343/202/267/343/203/247/343/203/263/343/203/207/343/203/203/343/202/255.md +13 -13
  726. package/lib/assets/docs/template//343/203/223/343/202/270/343/203/215/343/202/271/343/202/242/343/203/274/343/202/255/343/203/206/343/202/257/343/203/201/343/203/243.md +379 -379
  727. package/lib/assets/docs/template//343/203/252/343/203/252/343/203/274/343/202/271/345/256/214/344/272/206/345/240/261/345/221/212/346/233/270.md +275 -275
  728. package/lib/assets/docs/template//344/272/213/344/276/213/345/210/206/346/236/220.md +513 -513
  729. package/lib/assets/docs/template//344/274/201/346/245/255/345/210/206/346/236/220.md +573 -573
  730. package/lib/assets/docs/template//345/256/214/345/205/250/345/275/242/345/274/217/343/201/256/343/203/246/343/203/274/343/202/271/343/202/261/343/203/274/343/202/271.md +69 -69
  731. package/lib/assets/docs/template//350/246/201/344/273/266/345/256/232/347/276/251.md +669 -669
  732. package/lib/assets/docs/template//350/250/255/350/250/210.md +173 -173
  733. package/lib/assets/docs/template//351/226/213/347/231/272/347/222/260/345/242/203/343/202/273/343/203/203/343/203/210/343/202/242/343/203/203/343/203/227/346/211/213/351/240/206/346/233/270.md +688 -688
  734. package/lib/assets/gulpfile.js +25 -25
  735. package/lib/assets/mkdocs.yml +139 -139
  736. package/lib/assets/ops/docker/mkdoc/Dockerfile +19 -19
  737. package/lib/assets/ops/docker/sonarqube-local/docker-compose.yml +57 -57
  738. package/lib/assets/ops/scripts/journal.js +180 -180
  739. package/lib/assets/ops/scripts/mkdocs.js +82 -82
  740. package/lib/assets/ops/scripts/release.js +431 -431
  741. package/lib/assets/ops/scripts/sonar_local.js +726 -726
  742. package/lib/assets/ops/scripts/ssh.js +190 -190
  743. package/lib/assets/ops/scripts/vault.js +299 -299
  744. package/lib/assets/package-lock.json +1653 -1653
  745. package/lib/assets/package.json +40 -40
  746. package/lib/gulpfile.js +37 -37
  747. package/package.json +41 -41
@@ -1,238 +1,238 @@
1
- ---
2
- name: validating-iteration-plan
3
- description: イテレーション計画と上流設計ドキュメント群(ユーザーストーリー、ドメインモデル、データモデル、UI 設計)との整合性を検証する。「イテレーション計画を検証したい」「計画の整合性をチェックして」「イテレーション計画を作成した」「計画と設計ドキュメントの不整合を確認したい」といった場面で発動する。planning-releases でイテレーション計画を作成した直後にも積極的に使用すること。計画作成後に必ず本検証を実施することで、開発着手前にドキュメント間の不整合を検知・修正できる。
4
- ---
5
-
6
- # イテレーション計画の整合性検証
7
-
8
- イテレーション計画は複数の設計ドキュメントから情報を引用・参照するため、ドキュメント間の不整合がそのまま実装の不整合に直結する。計画作成後に本検証を実施し、開発着手前に不整合を検知・修正する。
9
-
10
- ## 検証対象ドキュメント
11
-
12
- | # | 検証対象 | パス | 検証内容 |
13
- |---|---------|------|---------|
14
- | 1 | テンプレートフォーマット | `docs/template/イテレーション計画.md` | 見出し構成・必須セクション・表形式・コードブロック形式の一致 |
15
- | 2 | ユーザーストーリー | `docs/requirements/user_story.md` | ストーリー ID・タイトル・アクター・受入基準の一致 |
16
- | 3 | ドメインモデル | `docs/design/domain-model.md` | 集約・エンティティ・値オブジェクトの名称・構造・関連の一致 |
17
- | 4 | データモデル | `docs/design/data-model.md` | テーブル名・カラム名・型・制約・命名規約の一致 |
18
- | 5 | UI 設計(ビュー) | `docs/design/ui_design.md` | ワイヤーフレーム構造・ナビバー形式・テーブル表記・URL パスの一致 |
19
- | 6 | UI 設計(インタラクション) | `docs/design/ui_design.md` | 画面遷移・htmx パターン・PRG パターン・エラー処理・フィードバックメッセージの一致 |
20
- | 7 | ゴールの整合性 | イテレーション計画全体 | ゴール・ストーリー・設計・タスク・見積もりの内部整合性 |
21
- | 8 | 過去レビュー指摘事項 | `docs/review/` 内の最新レビューファイル | 高・中優先度の指摘がストーリーまたはタスクとして計画に反映されているか |
22
-
23
- ## 検証手順
24
-
25
- 8 ステップを順に実行する。各ステップは並列実行も可能。不整合を発見した場合はイテレーション計画を修正し、変更点を注記する。
26
-
27
- ### ステップ 1: テンプレートフォーマットとの整合性
28
-
29
- イテレーション計画全体が `docs/template/イテレーション計画.md` のフォーマットに従っているかを確認する。以降の内容整合性チェックに入る前に、見出し構成・必須セクション・表形式・コードブロック形式がテンプレートから逸脱していないことを検証する。
30
-
31
- **チェック項目**:
32
-
33
- - [ ] 文書タイトルが `# イテレーション X 計画` 形式になっている
34
- - [ ] テンプレートの主要セクション(概要、ゴール、ユーザーストーリー、スケジュール、設計、リスクと対策、完了条件、更新履歴、関連ドキュメント)が揃っている
35
- - [ ] 各セクションの見出しレベルがテンプレートと一致している
36
- - [ ] 概要、対象ストーリー、タスク、リスク、更新履歴などの表形式がテンプレートの列構成に従っている
37
- - [ ] `mermaid`、`plantuml`、`prisma` などのコードブロック種別がテンプレートと一致している
38
- - [ ] 完了条件に `Definition of Done` と `デモ項目` が含まれている
39
- - [ ] 関連ドキュメント節に最低限の参照先が記載されている
40
-
41
- **よくある不整合**:
42
-
43
- - テンプレート必須セクションの欠落(例: 「更新履歴」がない)
44
- - 見出し名や階層の変更(例: 「ユーザーストーリー」ではなく独自見出しを使用)
45
- - 表の列不足や列名変更
46
- - コードブロックの種別未指定、またはテンプレートと異なる記法
47
-
48
- ### ステップ 2: ユーザーストーリーとの整合性
49
-
50
- イテレーション計画の「ストーリー詳細」セクションと `user_story.md` を比較する。
51
-
52
- **チェック項目**:
53
-
54
- - [ ] ストーリー ID(US番号)が一致している
55
- - [ ] ストーリータイトルが一致している
56
- - [ ] アクター(「として」の部分)が一致している
57
- - [ ] ストーリー文(「したい」「なぜなら」の部分)が一致している(省略なく全文一致)
58
- - [ ] 受入基準の項目数と内容が一致している
59
- - [ ] 対応 UC 番号が一致している
60
-
61
- **よくある不整合**:
62
-
63
- - ストーリー文の一部省略(例: 「予約情報」-> 元は「予約情報(出発地・目的地・期限・貨物仕様)」)
64
- - 受入基準の列挙が省略されている(例: 制約条件の具体名が省略)
65
-
66
- ### ステップ 3: ドメインモデルとの整合性
67
-
68
- イテレーション計画の「設計 > ドメインモデル」セクションと `domain-model.md` を比較する。
69
-
70
- **チェック項目**:
71
-
72
- - [ ] 集約ルートの名称が一致している
73
- - [ ] 値オブジェクトの名称・フィールドが一致している(例: `Schedule` vs `VoyageSchedule`)
74
- - [ ] エンティティの名称・フィールドが一致している(例: `CarrierMovement` vs `VoyageSchedule`)
75
- - [ ] 共有カーネル参照が正しい(例: `Location` を使うべき箇所で `String` になっていないか)
76
- - [ ] 既存の集約構造を破壊する変更になっていないか
77
- - [ ] 新規追加の場合、既存構造との関連が明記されているか
78
- - [ ] domain-model.md への反映が必要な変更点が注記されているか
79
-
80
- **よくある不整合**:
81
-
82
- - 既存の値オブジェクト名と異なる名称を使用(例: `Schedule` -> `VoyageSchedule`)
83
- - 既存の集約構造(親子関係)を無視した新規モデル設計
84
- - 共有カーネル(`Location`)を参照せず、直接 `String` で locode を保持
85
-
86
- ### ステップ 4: データモデルとの整合性
87
-
88
- イテレーション計画の「設計 > データモデル」セクションと `data-model.md` を比較する。
89
-
90
- **チェック項目**:
91
-
92
- - [ ] テーブル名の単数形/複数形が data-model.md の規約と一致している
93
- - [ ] PK 設計が一致している(サロゲートキー `BIGSERIAL` + 業務キー `UK` の規約)
94
- - [ ] FK の参照先がサロゲートキー(`id`)を参照している(業務キー直接参照になっていないか)
95
- - [ ] カラム名が一致している(例: `departure_location_unlocode` vs `departure_location`)
96
- - [ ] データ型が一致している(例: `TIMESTAMP` vs `DATE`)
97
- - [ ] 順序カラム名が一致している(例: `seq_number` vs `sequence_order`)
98
- - [ ] 監査カラム(`created_at`・`updated_at`)が含まれている
99
- - [ ] DB 構文が一致している(例: `BIGSERIAL` vs `AUTO_INCREMENT`)
100
- - [ ] 既存テーブルの拡張か新規テーブルかが明確に区別されている
101
- - [ ] 新規テーブルの場合、既存テーブルとの関係が既存の設計と整合しているか
102
-
103
- **よくある不整合**:
104
-
105
- - テーブル名が複数形(`voyages`)-> data-model.md は単数形(`voyage`)
106
- - PK が業務キー直接(`voyage_number PRIMARY KEY`)-> 規約はサロゲートキー + UK
107
- - FK が業務キー参照(`REFERENCES voyages(voyage_number)`)-> 規約は `voyage.id` 参照
108
- - PostgreSQL 構文(`BIGSERIAL`)と MySQL 構文(`AUTO_INCREMENT`)の混在
109
-
110
- ### ステップ 5: UI 設計(ビュー)との整合性
111
-
112
- イテレーション計画の「設計 > ユーザーインターフェース > ビュー」セクションと `ui_design.md` を比較する。
113
-
114
- **チェック項目**:
115
-
116
- - [ ] ナビバー構造が `{/ <b>CargoTracker</b> | メニュー... | [ログアウト] }` 形式と一致している
117
- - [ ] テーブルヘッダー表記が `**太字**` 形式と一致している(`^カレット^` 形式になっていないか)
118
- - [ ] URL パスが画面一覧の規約と一致している
119
- - [ ] 新規画面の画面一覧エントリが定義されている
120
- - [ ] 既存画面の拡張の場合、拡張箇所が明確に区別されている
121
- - [ ] 検索フォームのレイアウトが既存画面と一致している
122
- - [ ] ボタン配置・ラベルが既存画面のパターンと一致している
123
-
124
- **よくある不整合**:
125
-
126
- - 独自のナビバー構造を使用
127
- - テーブルヘッダーの表記形式が異なる
128
- - URL パスが未定義
129
- - 既存画面との関係(拡張 vs 新規)が不明確
130
-
131
- ### ステップ 6: UI 設計(インタラクション)との整合性
132
-
133
- イテレーション計画の「設計 > ユーザーインターフェース > インタラクション」セクションと `ui_design.md` の画面遷移図・htmx パターン・フィードバック規約を比較する。
134
-
135
- **チェック項目**:
136
-
137
- - [ ] 画面遷移図に全画面の state が定義されている(URL パス・説明テキスト付き)
138
- - [ ] バリデーションエラーの自己ループ遷移が全フォーム画面に定義されている
139
- - [ ] 遷移方式(GET / PRG)が各遷移に明記されている
140
- - [ ] 既存の state(航路一覧等)との遷移関係が定義されている
141
- - [ ] htmx パターン(`hx-get`/`hx-post`・`hx-target`・`hx-swap`)が定義されている
142
- - [ ] フィードバックメッセージ(成功・警告・エラー)とスタイル(`alert-*`)が定義されている
143
- - [ ] htmx エラーハンドリング(`htmx:responseError`)への対応が考慮されている
144
-
145
- **よくある不整合**:
146
-
147
- - バリデーションエラー自己ループ遷移の欠落
148
- - htmx パターンの記述がない(画面遷移図のみで動的更新方式が不明)
149
- - フィードバックメッセージの定義がない
150
- - 既存画面 state との遷移関係が切断されている
151
-
152
- ### ステップ 7: ゴールの整合性(最終確認)
153
-
154
- イテレーション計画全体を俯瞰し、イテレーションのゴールと各ストーリー・設計・タスクが一貫しているかを確認する。ステップ 1-6 がフォーマットおよび個別ドキュメントとの突合であるのに対し、本ステップは計画内部の論理的整合性を検証する最終関門である。
155
-
156
- **チェック項目**:
157
-
158
- - [ ] イテレーションゴール(目的・達成条件)が明確に記述されている
159
- - [ ] 含まれる全ストーリーがゴールの達成に寄与している(ゴールと無関係なストーリーが混入していないか)
160
- - [ ] ゴールの達成に必要なストーリーが欠落していないか
161
- - [ ] ストーリー間の依存関係が識別され、実装順序に反映されている
162
- - [ ] 設計セクション(ドメインモデル・データモデル・UI)がストーリーの受入基準を満たすに十分な内容か
163
- - [ ] タスク分割がストーリーの受入基準をすべてカバーしている
164
- - [ ] 見積もり(ストーリーポイント)の合計がチームのベロシティと整合しているか
165
- - [ ] 前イテレーションからの持ち越し事項が反映されているか
166
-
167
- **よくある不整合**:
168
-
169
- - ゴールが抽象的すぎて達成条件が判断できない(例: 「航路管理機能を改善する」→ 具体的な完了基準がない)
170
- - ゴールに対して過剰なストーリーが含まれている(スコープクリープ)
171
- - 設計セクションの内容がストーリーの一部しかカバーしていない
172
- - タスク分割が設計セクションと対応していない(設計にあるがタスクにない、またはその逆)
173
- - ベロシティを超えるポイントが計画されている
174
-
175
- ### ステップ 8: 過去レビュー指摘事項との整合性
176
-
177
- `docs/review/` 内の最新レビューファイルを確認し、前イテレーションで発見された指摘事項が今回の計画に適切に反映されているかを検証する。コードレビュー(`*_review_*.md`)・UI/UX レビュー(`*_uiux_review_*.md`)・分析レビュー(`*_review_*.md`)のいずれも対象とする。
178
-
179
- **チェック項目**:
180
-
181
- - [ ] `docs/review/index.md` で最新のレビューファイルを特定している
182
- - [ ] 高優先度(「高」)の指摘事項がストーリーまたはタスクとして計画に含まれているか、含まれない場合は対応方針(許容 / 保留)が計画に明記されているか
183
- - [ ] 中優先度(「中」)の指摘事項について、対応するストーリー / タスク / 対応方針が計画に記載されているか
184
- - [ ] 前イテレーションの「IT2 対応方針」「次のステップ」「持ち越し事項」として明記された指摘が計画に引き継がれているか
185
- - [ ] レビューで発見された受入基準の不整合(未実装フィールド等)が、当該ストーリーの受入基準の修正として反映されているか
186
- - [ ] 技術的負債(アクセシビリティ違反、バリデーション仕様乖離等)の解消が計画に含まれているか
187
-
188
- **確認対象レビューファイルの特定方法**:
189
-
190
- 1. `docs/review/index.md` のレビュー一覧テーブルを確認する
191
- 2. 今回計画するイテレーション番号の直前イテレーションに対応するレビューファイルを抽出する
192
- 3. 複数のレビュー種別(コードレビュー + UI/UX レビュー)がある場合はすべて確認する
193
-
194
- **よくある不整合**:
195
-
196
- - 高優先度の指摘が計画に含まれておらず、対応方針の記載もない(暗黙の未対応)
197
- - 前イテレーションで「IT(N+1) 対応」と明記された指摘が、IT(N+1) の計画に含まれていない
198
- - 受入基準の修正が必要な指摘(例: 未実装フィールド、仕様乖離)が設計セクションに反映されていない
199
- - レビューで指摘された UI の日本語化・バリデーション修正がタスクとして計画されていない
200
-
201
- ## 検証結果の報告
202
-
203
- 検証完了後、以下の形式で報告する。
204
-
205
- ```markdown
206
- ## 整合性検証結果
207
-
208
- ### 検証対象
209
- - イテレーション計画: `docs/development/iteration_plan-N.md`
210
-
211
- ### 検証結果サマリー
212
-
213
- | ステップ | 検証対象 | 結果 | 不整合件数 |
214
- |---------|---------|------|-----------|
215
- | 1 | テンプレートフォーマット | OK / NG | N 件 |
216
- | 2 | ユーザーストーリー | OK / NG | N 件 |
217
- | 3 | ドメインモデル | OK / NG | N 件 |
218
- | 4 | データモデル | OK / NG | N 件 |
219
- | 5 | UI 設計(ビュー) | OK / NG | N 件 |
220
- | 6 | UI 設計(インタラクション) | OK / NG | N 件 |
221
- | 7 | ゴールの整合性 | OK / NG | N 件 |
222
- | 8 | 過去レビュー指摘事項 | OK / NG | N 件 |
223
-
224
- ### 不整合一覧(NG の場合のみ)
225
-
226
- #### ステップ N: 〇〇との不整合
227
-
228
- | # | 不整合内容 | 計画の記述 | 正しい記述(ドキュメント準拠) | 修正要否 |
229
- |---|----------|-----------|---------------------------|---------|
230
- | 1 | ... | ... | ... | 要修正 |
231
- ```
232
-
233
- ## 注意事項
234
-
235
- - 検証は計画作成直後に実施する(開発着手前に不整合を解消する)
236
- - 既存ドキュメントへの反映が必要な変更点は、イテレーション計画内に「注」として明記する
237
- - イテレーション完了時に、注記された変更点を各設計ドキュメントに反映する
238
- - 不整合を発見した場合、イテレーション計画側を設計ドキュメントに合わせて修正する(設計ドキュメントが正)
1
+ ---
2
+ name: validating-iteration-plan
3
+ description: イテレーション計画と上流設計ドキュメント群(ユーザーストーリー、ドメインモデル、データモデル、UI 設計)との整合性を検証する。「イテレーション計画を検証したい」「計画の整合性をチェックして」「イテレーション計画を作成した」「計画と設計ドキュメントの不整合を確認したい」といった場面で発動する。planning-releases でイテレーション計画を作成した直後にも積極的に使用すること。計画作成後に必ず本検証を実施することで、開発着手前にドキュメント間の不整合を検知・修正できる。
4
+ ---
5
+
6
+ # イテレーション計画の整合性検証
7
+
8
+ イテレーション計画は複数の設計ドキュメントから情報を引用・参照するため、ドキュメント間の不整合がそのまま実装の不整合に直結する。計画作成後に本検証を実施し、開発着手前に不整合を検知・修正する。
9
+
10
+ ## 検証対象ドキュメント
11
+
12
+ | # | 検証対象 | パス | 検証内容 |
13
+ |---|---------|------|---------|
14
+ | 1 | テンプレートフォーマット | `docs/template/イテレーション計画.md` | 見出し構成・必須セクション・表形式・コードブロック形式の一致 |
15
+ | 2 | ユーザーストーリー | `docs/requirements/user_story.md` | ストーリー ID・タイトル・アクター・受入基準の一致 |
16
+ | 3 | ドメインモデル | `docs/design/domain-model.md` | 集約・エンティティ・値オブジェクトの名称・構造・関連の一致 |
17
+ | 4 | データモデル | `docs/design/data-model.md` | テーブル名・カラム名・型・制約・命名規約の一致 |
18
+ | 5 | UI 設計(ビュー) | `docs/design/ui_design.md` | ワイヤーフレーム構造・ナビバー形式・テーブル表記・URL パスの一致 |
19
+ | 6 | UI 設計(インタラクション) | `docs/design/ui_design.md` | 画面遷移・htmx パターン・PRG パターン・エラー処理・フィードバックメッセージの一致 |
20
+ | 7 | ゴールの整合性 | イテレーション計画全体 | ゴール・ストーリー・設計・タスク・見積もりの内部整合性 |
21
+ | 8 | 過去レビュー指摘事項 | `docs/review/` 内の最新レビューファイル | 高・中優先度の指摘がストーリーまたはタスクとして計画に反映されているか |
22
+
23
+ ## 検証手順
24
+
25
+ 8 ステップを順に実行する。各ステップは並列実行も可能。不整合を発見した場合はイテレーション計画を修正し、変更点を注記する。
26
+
27
+ ### ステップ 1: テンプレートフォーマットとの整合性
28
+
29
+ イテレーション計画全体が `docs/template/イテレーション計画.md` のフォーマットに従っているかを確認する。以降の内容整合性チェックに入る前に、見出し構成・必須セクション・表形式・コードブロック形式がテンプレートから逸脱していないことを検証する。
30
+
31
+ **チェック項目**:
32
+
33
+ - [ ] 文書タイトルが `# イテレーション X 計画` 形式になっている
34
+ - [ ] テンプレートの主要セクション(概要、ゴール、ユーザーストーリー、スケジュール、設計、リスクと対策、完了条件、更新履歴、関連ドキュメント)が揃っている
35
+ - [ ] 各セクションの見出しレベルがテンプレートと一致している
36
+ - [ ] 概要、対象ストーリー、タスク、リスク、更新履歴などの表形式がテンプレートの列構成に従っている
37
+ - [ ] `mermaid`、`plantuml`、`prisma` などのコードブロック種別がテンプレートと一致している
38
+ - [ ] 完了条件に `Definition of Done` と `デモ項目` が含まれている
39
+ - [ ] 関連ドキュメント節に最低限の参照先が記載されている
40
+
41
+ **よくある不整合**:
42
+
43
+ - テンプレート必須セクションの欠落(例: 「更新履歴」がない)
44
+ - 見出し名や階層の変更(例: 「ユーザーストーリー」ではなく独自見出しを使用)
45
+ - 表の列不足や列名変更
46
+ - コードブロックの種別未指定、またはテンプレートと異なる記法
47
+
48
+ ### ステップ 2: ユーザーストーリーとの整合性
49
+
50
+ イテレーション計画の「ストーリー詳細」セクションと `user_story.md` を比較する。
51
+
52
+ **チェック項目**:
53
+
54
+ - [ ] ストーリー ID(US番号)が一致している
55
+ - [ ] ストーリータイトルが一致している
56
+ - [ ] アクター(「として」の部分)が一致している
57
+ - [ ] ストーリー文(「したい」「なぜなら」の部分)が一致している(省略なく全文一致)
58
+ - [ ] 受入基準の項目数と内容が一致している
59
+ - [ ] 対応 UC 番号が一致している
60
+
61
+ **よくある不整合**:
62
+
63
+ - ストーリー文の一部省略(例: 「予約情報」-> 元は「予約情報(出発地・目的地・期限・貨物仕様)」)
64
+ - 受入基準の列挙が省略されている(例: 制約条件の具体名が省略)
65
+
66
+ ### ステップ 3: ドメインモデルとの整合性
67
+
68
+ イテレーション計画の「設計 > ドメインモデル」セクションと `domain-model.md` を比較する。
69
+
70
+ **チェック項目**:
71
+
72
+ - [ ] 集約ルートの名称が一致している
73
+ - [ ] 値オブジェクトの名称・フィールドが一致している(例: `Schedule` vs `VoyageSchedule`)
74
+ - [ ] エンティティの名称・フィールドが一致している(例: `CarrierMovement` vs `VoyageSchedule`)
75
+ - [ ] 共有カーネル参照が正しい(例: `Location` を使うべき箇所で `String` になっていないか)
76
+ - [ ] 既存の集約構造を破壊する変更になっていないか
77
+ - [ ] 新規追加の場合、既存構造との関連が明記されているか
78
+ - [ ] domain-model.md への反映が必要な変更点が注記されているか
79
+
80
+ **よくある不整合**:
81
+
82
+ - 既存の値オブジェクト名と異なる名称を使用(例: `Schedule` -> `VoyageSchedule`)
83
+ - 既存の集約構造(親子関係)を無視した新規モデル設計
84
+ - 共有カーネル(`Location`)を参照せず、直接 `String` で locode を保持
85
+
86
+ ### ステップ 4: データモデルとの整合性
87
+
88
+ イテレーション計画の「設計 > データモデル」セクションと `data-model.md` を比較する。
89
+
90
+ **チェック項目**:
91
+
92
+ - [ ] テーブル名の単数形/複数形が data-model.md の規約と一致している
93
+ - [ ] PK 設計が一致している(サロゲートキー `BIGSERIAL` + 業務キー `UK` の規約)
94
+ - [ ] FK の参照先がサロゲートキー(`id`)を参照している(業務キー直接参照になっていないか)
95
+ - [ ] カラム名が一致している(例: `departure_location_unlocode` vs `departure_location`)
96
+ - [ ] データ型が一致している(例: `TIMESTAMP` vs `DATE`)
97
+ - [ ] 順序カラム名が一致している(例: `seq_number` vs `sequence_order`)
98
+ - [ ] 監査カラム(`created_at`・`updated_at`)が含まれている
99
+ - [ ] DB 構文が一致している(例: `BIGSERIAL` vs `AUTO_INCREMENT`)
100
+ - [ ] 既存テーブルの拡張か新規テーブルかが明確に区別されている
101
+ - [ ] 新規テーブルの場合、既存テーブルとの関係が既存の設計と整合しているか
102
+
103
+ **よくある不整合**:
104
+
105
+ - テーブル名が複数形(`voyages`)-> data-model.md は単数形(`voyage`)
106
+ - PK が業務キー直接(`voyage_number PRIMARY KEY`)-> 規約はサロゲートキー + UK
107
+ - FK が業務キー参照(`REFERENCES voyages(voyage_number)`)-> 規約は `voyage.id` 参照
108
+ - PostgreSQL 構文(`BIGSERIAL`)と MySQL 構文(`AUTO_INCREMENT`)の混在
109
+
110
+ ### ステップ 5: UI 設計(ビュー)との整合性
111
+
112
+ イテレーション計画の「設計 > ユーザーインターフェース > ビュー」セクションと `ui_design.md` を比較する。
113
+
114
+ **チェック項目**:
115
+
116
+ - [ ] ナビバー構造が `{/ <b>CargoTracker</b> | メニュー... | [ログアウト] }` 形式と一致している
117
+ - [ ] テーブルヘッダー表記が `**太字**` 形式と一致している(`^カレット^` 形式になっていないか)
118
+ - [ ] URL パスが画面一覧の規約と一致している
119
+ - [ ] 新規画面の画面一覧エントリが定義されている
120
+ - [ ] 既存画面の拡張の場合、拡張箇所が明確に区別されている
121
+ - [ ] 検索フォームのレイアウトが既存画面と一致している
122
+ - [ ] ボタン配置・ラベルが既存画面のパターンと一致している
123
+
124
+ **よくある不整合**:
125
+
126
+ - 独自のナビバー構造を使用
127
+ - テーブルヘッダーの表記形式が異なる
128
+ - URL パスが未定義
129
+ - 既存画面との関係(拡張 vs 新規)が不明確
130
+
131
+ ### ステップ 6: UI 設計(インタラクション)との整合性
132
+
133
+ イテレーション計画の「設計 > ユーザーインターフェース > インタラクション」セクションと `ui_design.md` の画面遷移図・htmx パターン・フィードバック規約を比較する。
134
+
135
+ **チェック項目**:
136
+
137
+ - [ ] 画面遷移図に全画面の state が定義されている(URL パス・説明テキスト付き)
138
+ - [ ] バリデーションエラーの自己ループ遷移が全フォーム画面に定義されている
139
+ - [ ] 遷移方式(GET / PRG)が各遷移に明記されている
140
+ - [ ] 既存の state(航路一覧等)との遷移関係が定義されている
141
+ - [ ] htmx パターン(`hx-get`/`hx-post`・`hx-target`・`hx-swap`)が定義されている
142
+ - [ ] フィードバックメッセージ(成功・警告・エラー)とスタイル(`alert-*`)が定義されている
143
+ - [ ] htmx エラーハンドリング(`htmx:responseError`)への対応が考慮されている
144
+
145
+ **よくある不整合**:
146
+
147
+ - バリデーションエラー自己ループ遷移の欠落
148
+ - htmx パターンの記述がない(画面遷移図のみで動的更新方式が不明)
149
+ - フィードバックメッセージの定義がない
150
+ - 既存画面 state との遷移関係が切断されている
151
+
152
+ ### ステップ 7: ゴールの整合性(最終確認)
153
+
154
+ イテレーション計画全体を俯瞰し、イテレーションのゴールと各ストーリー・設計・タスクが一貫しているかを確認する。ステップ 1-6 がフォーマットおよび個別ドキュメントとの突合であるのに対し、本ステップは計画内部の論理的整合性を検証する最終関門である。
155
+
156
+ **チェック項目**:
157
+
158
+ - [ ] イテレーションゴール(目的・達成条件)が明確に記述されている
159
+ - [ ] 含まれる全ストーリーがゴールの達成に寄与している(ゴールと無関係なストーリーが混入していないか)
160
+ - [ ] ゴールの達成に必要なストーリーが欠落していないか
161
+ - [ ] ストーリー間の依存関係が識別され、実装順序に反映されている
162
+ - [ ] 設計セクション(ドメインモデル・データモデル・UI)がストーリーの受入基準を満たすに十分な内容か
163
+ - [ ] タスク分割がストーリーの受入基準をすべてカバーしている
164
+ - [ ] 見積もり(ストーリーポイント)の合計がチームのベロシティと整合しているか
165
+ - [ ] 前イテレーションからの持ち越し事項が反映されているか
166
+
167
+ **よくある不整合**:
168
+
169
+ - ゴールが抽象的すぎて達成条件が判断できない(例: 「航路管理機能を改善する」→ 具体的な完了基準がない)
170
+ - ゴールに対して過剰なストーリーが含まれている(スコープクリープ)
171
+ - 設計セクションの内容がストーリーの一部しかカバーしていない
172
+ - タスク分割が設計セクションと対応していない(設計にあるがタスクにない、またはその逆)
173
+ - ベロシティを超えるポイントが計画されている
174
+
175
+ ### ステップ 8: 過去レビュー指摘事項との整合性
176
+
177
+ `docs/review/` 内の最新レビューファイルを確認し、前イテレーションで発見された指摘事項が今回の計画に適切に反映されているかを検証する。コードレビュー(`*_review_*.md`)・UI/UX レビュー(`*_uiux_review_*.md`)・分析レビュー(`*_review_*.md`)のいずれも対象とする。
178
+
179
+ **チェック項目**:
180
+
181
+ - [ ] `docs/review/index.md` で最新のレビューファイルを特定している
182
+ - [ ] 高優先度(「高」)の指摘事項がストーリーまたはタスクとして計画に含まれているか、含まれない場合は対応方針(許容 / 保留)が計画に明記されているか
183
+ - [ ] 中優先度(「中」)の指摘事項について、対応するストーリー / タスク / 対応方針が計画に記載されているか
184
+ - [ ] 前イテレーションの「IT2 対応方針」「次のステップ」「持ち越し事項」として明記された指摘が計画に引き継がれているか
185
+ - [ ] レビューで発見された受入基準の不整合(未実装フィールド等)が、当該ストーリーの受入基準の修正として反映されているか
186
+ - [ ] 技術的負債(アクセシビリティ違反、バリデーション仕様乖離等)の解消が計画に含まれているか
187
+
188
+ **確認対象レビューファイルの特定方法**:
189
+
190
+ 1. `docs/review/index.md` のレビュー一覧テーブルを確認する
191
+ 2. 今回計画するイテレーション番号の直前イテレーションに対応するレビューファイルを抽出する
192
+ 3. 複数のレビュー種別(コードレビュー + UI/UX レビュー)がある場合はすべて確認する
193
+
194
+ **よくある不整合**:
195
+
196
+ - 高優先度の指摘が計画に含まれておらず、対応方針の記載もない(暗黙の未対応)
197
+ - 前イテレーションで「IT(N+1) 対応」と明記された指摘が、IT(N+1) の計画に含まれていない
198
+ - 受入基準の修正が必要な指摘(例: 未実装フィールド、仕様乖離)が設計セクションに反映されていない
199
+ - レビューで指摘された UI の日本語化・バリデーション修正がタスクとして計画されていない
200
+
201
+ ## 検証結果の報告
202
+
203
+ 検証完了後、以下の形式で報告する。
204
+
205
+ ```markdown
206
+ ## 整合性検証結果
207
+
208
+ ### 検証対象
209
+ - イテレーション計画: `docs/development/iteration_plan-N.md`
210
+
211
+ ### 検証結果サマリー
212
+
213
+ | ステップ | 検証対象 | 結果 | 不整合件数 |
214
+ |---------|---------|------|-----------|
215
+ | 1 | テンプレートフォーマット | OK / NG | N 件 |
216
+ | 2 | ユーザーストーリー | OK / NG | N 件 |
217
+ | 3 | ドメインモデル | OK / NG | N 件 |
218
+ | 4 | データモデル | OK / NG | N 件 |
219
+ | 5 | UI 設計(ビュー) | OK / NG | N 件 |
220
+ | 6 | UI 設計(インタラクション) | OK / NG | N 件 |
221
+ | 7 | ゴールの整合性 | OK / NG | N 件 |
222
+ | 8 | 過去レビュー指摘事項 | OK / NG | N 件 |
223
+
224
+ ### 不整合一覧(NG の場合のみ)
225
+
226
+ #### ステップ N: 〇〇との不整合
227
+
228
+ | # | 不整合内容 | 計画の記述 | 正しい記述(ドキュメント準拠) | 修正要否 |
229
+ |---|----------|-----------|---------------------------|---------|
230
+ | 1 | ... | ... | ... | 要修正 |
231
+ ```
232
+
233
+ ## 注意事項
234
+
235
+ - 検証は計画作成直後に実施する(開発着手前に不整合を解消する)
236
+ - 既存ドキュメントへの反映が必要な変更点は、イテレーション計画内に「注」として明記する
237
+ - イテレーション完了時に、注記された変更点を各設計ドキュメントに反映する
238
+ - 不整合を発見した場合、イテレーション計画側を設計ドキュメントに合わせて修正する(設計ドキュメントが正)
@@ -0,0 +1,118 @@
1
+ ---
2
+ name: validating-operating-setup
3
+ description: 環境セットアップ手順書 (docs/operation/*.md) に書かれた各ステップが現在のプロジェクトに反映されているかを監査し、未対応・部分対応の項目とその推奨対処を表形式で報告する。手順書を作っただけで実施が放置されがちな問題を防ぐためのスキル。「環境セットアップ確認」「手順書実施状況」「アプリケーション開発環境セットアップ手順書の内容を全て実施しているか確認」のような依頼や、operating-setup スキル実行後の完了確認、IT 着手前の前提条件チェックで自動的に発動する。手順書監査・進捗確認・ギャップ分析・着手前チェックリスト・準備状況レビューといった文脈で必ず使用する。
4
+ ---
5
+
6
+ # 環境セットアップ手順書の実施状況監査
7
+
8
+ `operating-setup` で生成された手順書 (`docs/operation/*.md`) の各ステップが、実際のプロジェクト状態に反映されているかを章ごとに監査する。
9
+
10
+ 手順書は「**書いた瞬間に古くなる**」性質を持つため、定期的に **手順書とプロジェクトの整合性** をチェックしないと、新メンバーが古い手順を信じてハマる、IT 着手時に前提条件が未整備で詰まる、CI で「設定したはず」が動いていない、といった問題が起こる。このスキルは「何が出来ていて、何が出来ていないか」を **客観的に証拠つきで** 突きつけることで、こうした腐敗を早期検知する。
11
+
12
+ ## 入力
13
+
14
+ | 入力 | 例 |
15
+ | :--- | :--- |
16
+ | 監査対象の手順書 | `docs/operation/アプリケーション開発環境セットアップ手順書.md` |
17
+ | (省略時) | プロジェクトの現フェーズに応じた最新手順書を推測。複数候補があるときはユーザーに確認 |
18
+
19
+ ## 出力
20
+
21
+ 以下を **必ずこの順序で** 出力する。
22
+
23
+ 1. **章ごとのチェックリスト表** — 手順書の全章 (1〜N) を網羅。判定列に `✅` / `⚠️` / `❌` を入れ、備考列に確認コマンドや検出結果を書く
24
+ 2. **サマリ表** — 状態別の件数
25
+ 3. **分類別の推奨対処** — ❌ と ⚠️ を以下のバケツに分類:
26
+ - **A. 今すぐ対応可能 (運用補強)** — シェル一発・設定ファイル追加で終わるもの
27
+ - **B. 実装フェーズ (IT1 等) で対応** — コード実装と一体で動くもの
28
+ - **C. 開発体験向上ツール (任意)** — あると良いが必須でないもの
29
+ - **D. 後フェーズで対応** — CI/CD・本番環境など、別スキル (`operating-cicd` 等) の領域
30
+ 4. **着手提案** — どこから手を付けるか 1〜2 行で提案し、ユーザーの GO サインを待つ
31
+
32
+ ## 監査の進め方
33
+
34
+ ### 1. 手順書を全文読む
35
+
36
+ 省略せず最初から最後まで読む。章番号と項目名を全て把握する。
37
+
38
+ ### 2. 章ごとに「何を見れば真偽が判定できるか」を考える
39
+
40
+ 手順書の記述は **意図の宣言** にすぎないので、コードベース上の **証拠** を探す。証拠の取り方は以下のパターンに分類できる:
41
+
42
+ | 章の種類 | 確認方法 | 例 |
43
+ | :--- | :--- | :--- |
44
+ | ツールのインストール要件 | `command --version` を順に実行 | `ghc --version`, `dbmate --version` |
45
+ | 設定ファイルの存在 | `ls path/to/file` | `.husky/pre-commit`, `weeder.toml` |
46
+ | package.json scripts | `grep \"name\":` で網羅 | `lint`, `test:tdd` |
47
+ | Docker サービス定義 | `docker-compose.yml` を読み内容を照合 | postgres / adminer / mailhog |
48
+ | ディレクトリ構造 | `ls` / `find -maxdepth N` | `src/Cargotracker/Booking/Domain/...` |
49
+ | CI/CD ワークフロー | `ls .github/workflows/` | `ci.yml`, `cd-staging.yml` |
50
+ | ドキュメント記載のみの規約 | 内容を読み「ドキュメントに記載済」を ✅ とする | 命名規則、Git 規約 |
51
+
52
+ 並列で確認できるものは 1 つの Bash 呼び出しに詰めると速い。
53
+
54
+ ### 3. 判定基準
55
+
56
+ | 記号 | 判定基準 |
57
+ | :--- | :--- |
58
+ | ✅ 完了 | 手順書の記述どおりに揃っている。コマンド成功 / ファイル存在 / scripts に記載あり |
59
+ | ⚠️ 部分対応 / IT で補完 | 「スタブはあるが本実装はこれから」「コマンドは動くがテスト本体は IT1 で追加」など、骨格はあるが中身は実装フェーズで足す類 |
60
+ | ❌ 未対応 | 手順書に書いてあるが存在しない / 動かない |
61
+
62
+ 迷ったら **「新メンバーがこの手順書だけ見て進めた時に詰まるか?」** を基準にする。詰まるなら ❌、詰まらないなら ✅/⚠️。
63
+
64
+ ### 4. 表の書式
65
+
66
+ 章番号と章タイトルを左 2 列に保持し、内訳項目を行に展開する。
67
+
68
+ ```markdown
69
+ | 章 | 内容 | 状態 | 備考 |
70
+ | :--- | :--- | :--- | :--- |
71
+ | **1. 前提条件** | GHC 9.10.x | ❌ | `ghc` コマンド未配置 |
72
+ | | Stack 3.x | ✅ | 3.11.1 |
73
+ | | Cabal 3.12.x | ❌ | 未インストール |
74
+ | **2. プロジェクト取得** | `npm install` 実施 | ✅ | node_modules 存在 |
75
+ ```
76
+
77
+ 備考列には **証拠** (バージョン番号、ファイルパス、検出結果) を入れる。「OK」だけだと後から見て情報がなくなる。
78
+
79
+ ### 5. サマリ表
80
+
81
+ ```markdown
82
+ | ステータス | 件数 |
83
+ | :--- | ---: |
84
+ | ✅ 完了 | N |
85
+ | ⚠️ 部分対応 / IT で補完 | N |
86
+ | ❌ 未対応 | N |
87
+ ```
88
+
89
+ ### 6. 分類別の推奨対処
90
+
91
+ A〜D の各バケツに、ID 付き (A1, A2, ...) で項目を並べる。各項目には **アクション** (具体的なコマンドや作業内容) を書く。
92
+
93
+ ```markdown
94
+ ### A. 今すぐ対応可能 (運用補強)
95
+
96
+ | # | 項目 | 推奨アクション |
97
+ | :--- | :--- | :--- |
98
+ | A1 | `dbmate` インストール | `brew install dbmate` |
99
+ | A2 | husky + lint-staged | `npm i -D husky lint-staged && npx husky init` |
100
+ ```
101
+
102
+ ### 7. 着手提案
103
+
104
+ 最後に 1〜2 行で「A 全部やる」「A1〜A3 だけ先に着手」のような選択肢を提示する。**ユーザーが `y` や 「A 全部やって」 のような短い返答で動けるようにする**。
105
+
106
+ ## 注意事項
107
+
108
+ - **手順書を改変しない** — このスキルは「現状を手順書に合わせる」のが仕事。手順書の方を現状に合わせて編集するのは別タスク (operating-docs)
109
+ - **「手順書に書かれていないこと」は対象外** — スコープを広げると報告がボヤけるため、章番号にない項目は無視する。ただし手順書に欠落がある場合は最後に「手順書側の改善提案」として 1 セクション設けて構わない
110
+ - **証拠の収集は並列化** — Bash 呼び出しは並列実行できる。複数の `command --version` は 1 つのコマンドにまとめて出力する
111
+ - **手順書のバージョンアップ時に再実行する想定** — 章番号や項目が変わっても、このスキルの進め方は変わらない
112
+
113
+ ## 関連スキル
114
+
115
+ - `operating-setup` — 監査対象の手順書を生成する側のスキル
116
+ - `operating-docs` — 手順書側の改善が必要になった場合
117
+ - `operating-script` — 手順書で参照される Gulp タスクの実装
118
+ - `tracking-progress` — プロジェクト全体の進捗確認 (より広い視点)