@k2works/claude-code-booster 3.6.1 → 3.7.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 (713) 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 +258 -239
  5. package/lib/assets/.claude/agent-memory/xp-programmer/MEMORY.md +6 -0
  6. package/lib/assets/.claude/agent-memory/xp-programmer/project_cargo_tracker.md +11 -0
  7. package/lib/assets/.claude/agent-memory/xp-programmer/project_ddd_patterns.md +27 -0
  8. package/lib/assets/.claude/agent-memory/xp-programmer/project_us07_route_assignment.md +19 -0
  9. package/lib/assets/.claude/scripts/generate-inception-deck.mjs +911 -911
  10. package/lib/assets/.claude/settings.json +11 -11
  11. package/lib/assets/.claude/skills/ai-agent-guidelines/SKILL.md +111 -111
  12. package/lib/assets/.claude/skills/analyzing-architecture/SKILL.md +83 -83
  13. package/lib/assets/.claude/skills/analyzing-business/SKILL.md +95 -95
  14. package/lib/assets/.claude/skills/analyzing-data-model/SKILL.md +77 -77
  15. package/lib/assets/.claude/skills/analyzing-domain-model/SKILL.md +117 -117
  16. package/lib/assets/.claude/skills/analyzing-inception-deck/SKILL.md +84 -84
  17. package/lib/assets/.claude/skills/analyzing-non-functional/SKILL.md +95 -95
  18. package/lib/assets/.claude/skills/analyzing-operation/SKILL.md +95 -95
  19. package/lib/assets/.claude/skills/analyzing-requirements/SKILL.md +91 -91
  20. package/lib/assets/.claude/skills/analyzing-tech-stack/SKILL.md +101 -101
  21. package/lib/assets/.claude/skills/analyzing-test-strategy/SKILL.md +89 -89
  22. package/lib/assets/.claude/skills/analyzing-ui-design/SKILL.md +80 -80
  23. package/lib/assets/.claude/skills/analyzing-usecases/SKILL.md +72 -72
  24. package/lib/assets/.claude/skills/creating-adr/SKILL.md +113 -113
  25. package/lib/assets/.claude/skills/developing-backend/SKILL.md +100 -100
  26. package/lib/assets/.claude/skills/developing-frontend/SKILL.md +93 -93
  27. package/lib/assets/.claude/skills/developing-release/SKILL.md +120 -120
  28. package/lib/assets/.claude/skills/generating-bmc/SKILL.md +97 -0
  29. package/lib/assets/.claude/skills/generating-slides/SKILL.md +94 -94
  30. package/lib/assets/.claude/skills/git-commit/SKILL.md +81 -81
  31. package/lib/assets/.claude/skills/killing-processes/SKILL.md +44 -44
  32. package/lib/assets/.claude/skills/operating-backup/SKILL.md +59 -59
  33. package/lib/assets/.claude/skills/operating-cicd/SKILL.md +54 -54
  34. package/lib/assets/.claude/skills/operating-deploy/SKILL.md +67 -67
  35. package/lib/assets/.claude/skills/operating-docs/SKILL.md +219 -219
  36. package/lib/assets/.claude/skills/operating-provision/SKILL.md +77 -77
  37. package/lib/assets/.claude/skills/operating-setup/SKILL.md +63 -63
  38. package/lib/assets/.claude/skills/orchestrating-analysis/SKILL.md +104 -104
  39. package/lib/assets/.claude/skills/orchestrating-development/SKILL.md +162 -162
  40. package/lib/assets/.claude/skills/orchestrating-operation/SKILL.md +158 -158
  41. package/lib/assets/.claude/skills/orchestrating-project/SKILL.md +144 -144
  42. package/lib/assets/.claude/skills/planning-releases/SKILL.md +119 -119
  43. package/lib/assets/.claude/skills/syncing-github-project/SKILL.md +151 -151
  44. package/lib/assets/.claude/skills/tracking-progress/SKILL.md +91 -91
  45. package/lib/assets/.claude/skills/validating-iteration-plan/SKILL.md +215 -215
  46. package/lib/assets/.devcontainer/devcontainer.json +34 -34
  47. package/lib/assets/.env.example +17 -17
  48. package/lib/assets/.gitattributes +4 -4
  49. package/lib/assets/.github/workflows/docker-publish.yml +77 -77
  50. package/lib/assets/.github/workflows/mkdocs.yml +39 -39
  51. package/lib/assets/AGENTS.md +94 -94
  52. package/lib/assets/CLAUDE.md +1 -0
  53. package/lib/assets/README.md +254 -254
  54. package/lib/assets/docker-compose.yml +33 -33
  55. package/lib/assets/docs/adr/index.md +10 -10
  56. package/lib/assets/docs/article/functional-desgin-ppp/all/01-immutability-and-data-transformation.md +475 -475
  57. package/lib/assets/docs/article/functional-desgin-ppp/all/02-function-composition.md +519 -519
  58. package/lib/assets/docs/article/functional-desgin-ppp/all/03-polymorphism.md +537 -537
  59. package/lib/assets/docs/article/functional-desgin-ppp/all/04-data-validation.md +300 -300
  60. package/lib/assets/docs/article/functional-desgin-ppp/all/05-property-based-testing.md +320 -320
  61. package/lib/assets/docs/article/functional-desgin-ppp/all/06-tdd-and-functional.md +498 -498
  62. package/lib/assets/docs/article/functional-desgin-ppp/all/07-composite-pattern.md +298 -298
  63. package/lib/assets/docs/article/functional-desgin-ppp/all/08-decorator-pattern.md +291 -291
  64. package/lib/assets/docs/article/functional-desgin-ppp/all/09-adapter-pattern.md +336 -336
  65. package/lib/assets/docs/article/functional-desgin-ppp/all/10-strategy-pattern.md +303 -303
  66. package/lib/assets/docs/article/functional-desgin-ppp/all/11-command-pattern.md +286 -286
  67. package/lib/assets/docs/article/functional-desgin-ppp/all/12-visitor-pattern.md +322 -322
  68. package/lib/assets/docs/article/functional-desgin-ppp/all/13-abstract-factory-pattern.md +319 -319
  69. package/lib/assets/docs/article/functional-desgin-ppp/all/14-abstract-server-pattern.md +365 -365
  70. package/lib/assets/docs/article/functional-desgin-ppp/all/15-gossiping-bus-drivers.md +156 -156
  71. package/lib/assets/docs/article/functional-desgin-ppp/all/16-payroll-system.md +178 -178
  72. package/lib/assets/docs/article/functional-desgin-ppp/all/17-video-rental-system.md +312 -312
  73. package/lib/assets/docs/article/functional-desgin-ppp/all/18-concurrency-system.md +287 -287
  74. package/lib/assets/docs/article/functional-desgin-ppp/all/19-wa-tor-simulation.md +286 -286
  75. package/lib/assets/docs/article/functional-desgin-ppp/all/20-pattern-interactions.md +274 -274
  76. package/lib/assets/docs/article/functional-desgin-ppp/all/21-best-practices.md +294 -294
  77. package/lib/assets/docs/article/functional-desgin-ppp/all/22-oo-to-fp-migration.md +337 -337
  78. package/lib/assets/docs/article/functional-desgin-ppp/all/index.md +388 -388
  79. package/lib/assets/docs/article/functional-desgin-ppp/clojure/01-immutability-and-data-transformation.md +273 -273
  80. package/lib/assets/docs/article/functional-desgin-ppp/clojure/02-function-composition.md +380 -380
  81. package/lib/assets/docs/article/functional-desgin-ppp/clojure/03-polymorphism.md +384 -384
  82. package/lib/assets/docs/article/functional-desgin-ppp/clojure/04-clojure-spec.md +350 -350
  83. package/lib/assets/docs/article/functional-desgin-ppp/clojure/05-property-based-testing.md +352 -352
  84. package/lib/assets/docs/article/functional-desgin-ppp/clojure/06-tdd-in-functional.md +383 -383
  85. package/lib/assets/docs/article/functional-desgin-ppp/clojure/07-composite-pattern.md +529 -529
  86. package/lib/assets/docs/article/functional-desgin-ppp/clojure/08-decorator-pattern.md +395 -395
  87. package/lib/assets/docs/article/functional-desgin-ppp/clojure/09-adapter-pattern.md +399 -399
  88. package/lib/assets/docs/article/functional-desgin-ppp/clojure/10-strategy-pattern.md +485 -485
  89. package/lib/assets/docs/article/functional-desgin-ppp/clojure/11-command-pattern.md +566 -566
  90. package/lib/assets/docs/article/functional-desgin-ppp/clojure/12-visitor-pattern.md +567 -567
  91. package/lib/assets/docs/article/functional-desgin-ppp/clojure/13-abstract-factory-pattern.md +475 -475
  92. package/lib/assets/docs/article/functional-desgin-ppp/clojure/14-abstract-server-pattern.md +462 -462
  93. package/lib/assets/docs/article/functional-desgin-ppp/clojure/15-gossiping-bus-drivers.md +325 -325
  94. package/lib/assets/docs/article/functional-desgin-ppp/clojure/16-payroll-system.md +401 -401
  95. package/lib/assets/docs/article/functional-desgin-ppp/clojure/17-video-rental-system.md +450 -450
  96. package/lib/assets/docs/article/functional-desgin-ppp/clojure/18-concurrency-system.md +475 -475
  97. package/lib/assets/docs/article/functional-desgin-ppp/clojure/19-wator-simulation.md +739 -739
  98. package/lib/assets/docs/article/functional-desgin-ppp/clojure/20-pattern-interactions.md +567 -567
  99. package/lib/assets/docs/article/functional-desgin-ppp/clojure/21-best-practices.md +518 -518
  100. package/lib/assets/docs/article/functional-desgin-ppp/clojure/22-oo-to-fp-migration.md +532 -532
  101. package/lib/assets/docs/article/functional-desgin-ppp/clojure/index.md +241 -241
  102. package/lib/assets/docs/article/functional-desgin-ppp/elixir/01-immutability-and-data-transformation.md +383 -383
  103. package/lib/assets/docs/article/functional-desgin-ppp/elixir/02-function-composition.md +374 -374
  104. package/lib/assets/docs/article/functional-desgin-ppp/elixir/03-polymorphism.md +375 -375
  105. package/lib/assets/docs/article/functional-desgin-ppp/elixir/04-data-validation.md +195 -195
  106. package/lib/assets/docs/article/functional-desgin-ppp/elixir/05-property-based-testing.md +268 -268
  107. package/lib/assets/docs/article/functional-desgin-ppp/elixir/06-tdd-and-fp.md +294 -294
  108. package/lib/assets/docs/article/functional-desgin-ppp/elixir/07-effects-and-pure-functions.md +164 -164
  109. package/lib/assets/docs/article/functional-desgin-ppp/elixir/08-error-handling-strategies.md +168 -168
  110. package/lib/assets/docs/article/functional-desgin-ppp/elixir/09-io-and-external-systems.md +254 -254
  111. package/lib/assets/docs/article/functional-desgin-ppp/elixir/10-concurrency-patterns.md +269 -269
  112. package/lib/assets/docs/article/functional-desgin-ppp/elixir/11-command-pattern.md +148 -148
  113. package/lib/assets/docs/article/functional-desgin-ppp/elixir/12-visitor-pattern.md +176 -176
  114. package/lib/assets/docs/article/functional-desgin-ppp/elixir/13-abstract-factory-pattern.md +604 -604
  115. package/lib/assets/docs/article/functional-desgin-ppp/elixir/14-abstract-server-pattern.md +729 -729
  116. package/lib/assets/docs/article/functional-desgin-ppp/elixir/15-gossiping-bus-drivers.md +291 -291
  117. package/lib/assets/docs/article/functional-desgin-ppp/elixir/16-payroll-system.md +420 -420
  118. package/lib/assets/docs/article/functional-desgin-ppp/elixir/17-video-rental-system.md +319 -319
  119. package/lib/assets/docs/article/functional-desgin-ppp/elixir/18-concurrency-system.md +466 -466
  120. package/lib/assets/docs/article/functional-desgin-ppp/elixir/19-wator-simulation.md +523 -523
  121. package/lib/assets/docs/article/functional-desgin-ppp/elixir/20-pattern-interactions.md +287 -287
  122. package/lib/assets/docs/article/functional-desgin-ppp/elixir/21-best-practices.md +340 -340
  123. package/lib/assets/docs/article/functional-desgin-ppp/elixir/22-oo-to-fp-migration.md +395 -395
  124. package/lib/assets/docs/article/functional-desgin-ppp/elixir/index.md +248 -248
  125. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/01-immutability-and-data-transformation.md +384 -384
  126. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/02-function-composition.md +452 -452
  127. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/03-polymorphism.md +495 -495
  128. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/04-data-validation.md +416 -416
  129. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/05-property-based-testing.md +382 -382
  130. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/06-tdd-functional.md +687 -687
  131. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/07-composite-pattern.md +442 -442
  132. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/08-decorator-pattern.md +479 -479
  133. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/09-adapter-pattern.md +479 -479
  134. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/10-strategy-pattern.md +427 -427
  135. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/11-command-pattern.md +428 -428
  136. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/12-visitor-pattern.md +339 -339
  137. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/13-abstract-factory-pattern.md +309 -309
  138. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/14-abstract-server-pattern.md +596 -596
  139. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/15-gossiping-bus-drivers.md +355 -355
  140. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/16-payroll-system.md +350 -350
  141. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/17-video-rental-system.md +414 -414
  142. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/18-concurrency-system.md +367 -367
  143. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/19-wator-simulation.md +403 -403
  144. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/20-pattern-interactions.md +291 -291
  145. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/21-best-practices.md +324 -324
  146. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/22-oo-to-fp-migration.md +332 -332
  147. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/index.md +274 -274
  148. package/lib/assets/docs/article/functional-desgin-ppp/haskell/01-immutability-and-data-transformation.md +298 -298
  149. package/lib/assets/docs/article/functional-desgin-ppp/haskell/02-function-composition.md +304 -304
  150. package/lib/assets/docs/article/functional-desgin-ppp/haskell/03-polymorphism.md +362 -362
  151. package/lib/assets/docs/article/functional-desgin-ppp/haskell/04-data-validation.md +257 -257
  152. package/lib/assets/docs/article/functional-desgin-ppp/haskell/05-property-based-testing.md +254 -254
  153. package/lib/assets/docs/article/functional-desgin-ppp/haskell/06-tdd-functional.md +283 -283
  154. package/lib/assets/docs/article/functional-desgin-ppp/haskell/07-composite-pattern.md +395 -395
  155. package/lib/assets/docs/article/functional-desgin-ppp/haskell/08-decorator-pattern.md +319 -319
  156. package/lib/assets/docs/article/functional-desgin-ppp/haskell/09-adapter-pattern.md +382 -382
  157. package/lib/assets/docs/article/functional-desgin-ppp/haskell/10-strategy-pattern.md +287 -287
  158. package/lib/assets/docs/article/functional-desgin-ppp/haskell/11-command-pattern.md +303 -303
  159. package/lib/assets/docs/article/functional-desgin-ppp/haskell/12-visitor-pattern.md +326 -326
  160. package/lib/assets/docs/article/functional-desgin-ppp/haskell/13-abstract-factory-pattern.md +332 -332
  161. package/lib/assets/docs/article/functional-desgin-ppp/haskell/14-abstract-server-pattern.md +379 -379
  162. package/lib/assets/docs/article/functional-desgin-ppp/haskell/15-gossiping-bus-drivers.md +177 -177
  163. package/lib/assets/docs/article/functional-desgin-ppp/haskell/16-payroll-system.md +219 -219
  164. package/lib/assets/docs/article/functional-desgin-ppp/haskell/17-video-rental-system.md +244 -244
  165. package/lib/assets/docs/article/functional-desgin-ppp/haskell/18-concurrency-system.md +363 -363
  166. package/lib/assets/docs/article/functional-desgin-ppp/haskell/19-wator-simulation.md +438 -438
  167. package/lib/assets/docs/article/functional-desgin-ppp/haskell/20-pattern-interactions.md +325 -325
  168. package/lib/assets/docs/article/functional-desgin-ppp/haskell/21-best-practices.md +403 -403
  169. package/lib/assets/docs/article/functional-desgin-ppp/haskell/22-oo-to-fp-migration.md +469 -469
  170. package/lib/assets/docs/article/functional-desgin-ppp/haskell/index.md +174 -174
  171. package/lib/assets/docs/article/functional-desgin-ppp/index.md +90 -90
  172. package/lib/assets/docs/article/functional-desgin-ppp/rust/01-immutability-and-data-transformation.md +450 -450
  173. package/lib/assets/docs/article/functional-desgin-ppp/rust/02-function-composition.md +463 -463
  174. package/lib/assets/docs/article/functional-desgin-ppp/rust/03-polymorphism.md +425 -425
  175. package/lib/assets/docs/article/functional-desgin-ppp/rust/04-data-validation.md +273 -273
  176. package/lib/assets/docs/article/functional-desgin-ppp/rust/05-property-based-testing.md +247 -247
  177. package/lib/assets/docs/article/functional-desgin-ppp/rust/06-tdd-and-functional.md +841 -841
  178. package/lib/assets/docs/article/functional-desgin-ppp/rust/07-composite-pattern.md +384 -384
  179. package/lib/assets/docs/article/functional-desgin-ppp/rust/08-decorator-pattern.md +383 -383
  180. package/lib/assets/docs/article/functional-desgin-ppp/rust/09-adapter-pattern.md +339 -339
  181. package/lib/assets/docs/article/functional-desgin-ppp/rust/10-strategy-pattern.md +331 -331
  182. package/lib/assets/docs/article/functional-desgin-ppp/rust/11-command-pattern.md +356 -356
  183. package/lib/assets/docs/article/functional-desgin-ppp/rust/12-visitor-pattern.md +379 -379
  184. package/lib/assets/docs/article/functional-desgin-ppp/rust/13-abstract-factory-pattern.md +361 -361
  185. package/lib/assets/docs/article/functional-desgin-ppp/rust/14-abstract-server-pattern.md +392 -392
  186. package/lib/assets/docs/article/functional-desgin-ppp/rust/15-gossiping-bus-drivers.md +300 -300
  187. package/lib/assets/docs/article/functional-desgin-ppp/rust/16-payroll-system.md +297 -297
  188. package/lib/assets/docs/article/functional-desgin-ppp/rust/17-video-rental-system.md +304 -304
  189. package/lib/assets/docs/article/functional-desgin-ppp/rust/18-concurrency-system.md +315 -315
  190. package/lib/assets/docs/article/functional-desgin-ppp/rust/19-wator-simulation.md +311 -311
  191. package/lib/assets/docs/article/functional-desgin-ppp/rust/20-pattern-interactions.md +304 -304
  192. package/lib/assets/docs/article/functional-desgin-ppp/rust/21-best-practices.md +336 -336
  193. package/lib/assets/docs/article/functional-desgin-ppp/rust/22-oo-to-fp-migration.md +349 -349
  194. package/lib/assets/docs/article/functional-desgin-ppp/rust/index.md +243 -243
  195. package/lib/assets/docs/article/functional-desgin-ppp/scala/01-immutability-and-data-transformation.md +328 -328
  196. package/lib/assets/docs/article/functional-desgin-ppp/scala/02-function-composition.md +348 -348
  197. package/lib/assets/docs/article/functional-desgin-ppp/scala/03-polymorphism.md +357 -357
  198. package/lib/assets/docs/article/functional-desgin-ppp/scala/04-data-validation.md +364 -364
  199. package/lib/assets/docs/article/functional-desgin-ppp/scala/05-property-based-testing.md +515 -515
  200. package/lib/assets/docs/article/functional-desgin-ppp/scala/06-tdd-functional.md +557 -557
  201. package/lib/assets/docs/article/functional-desgin-ppp/scala/07-composite-pattern.md +363 -363
  202. package/lib/assets/docs/article/functional-desgin-ppp/scala/08-decorator-pattern.md +327 -327
  203. package/lib/assets/docs/article/functional-desgin-ppp/scala/09-adapter-pattern.md +517 -517
  204. package/lib/assets/docs/article/functional-desgin-ppp/scala/10-strategy-pattern.md +441 -441
  205. package/lib/assets/docs/article/functional-desgin-ppp/scala/11-command-pattern.md +407 -407
  206. package/lib/assets/docs/article/functional-desgin-ppp/scala/12-visitor-pattern.md +379 -379
  207. package/lib/assets/docs/article/functional-desgin-ppp/scala/13-abstract-factory-pattern.md +398 -398
  208. package/lib/assets/docs/article/functional-desgin-ppp/scala/14-abstract-server-pattern.md +476 -476
  209. package/lib/assets/docs/article/functional-desgin-ppp/scala/15-gossiping-bus-drivers.md +391 -391
  210. package/lib/assets/docs/article/functional-desgin-ppp/scala/16-payroll-system.md +342 -342
  211. package/lib/assets/docs/article/functional-desgin-ppp/scala/17-video-rental-system.md +324 -324
  212. package/lib/assets/docs/article/functional-desgin-ppp/scala/18-concurrency-system.md +730 -730
  213. package/lib/assets/docs/article/functional-desgin-ppp/scala/19-wator-simulation.md +624 -624
  214. package/lib/assets/docs/article/functional-desgin-ppp/scala/20-pattern-interactions.md +512 -512
  215. package/lib/assets/docs/article/functional-desgin-ppp/scala/21-best-practices.md +433 -433
  216. package/lib/assets/docs/article/functional-desgin-ppp/scala/22-oo-to-fp-migration.md +688 -688
  217. package/lib/assets/docs/article/functional-desgin-ppp/scala/index.md +243 -243
  218. package/lib/assets/docs/article/getting-start-tdd/clojure/01-todo-list-and-first-test.md +166 -166
  219. package/lib/assets/docs/article/getting-start-tdd/clojure/02-fake-it-and-triangulation.md +162 -162
  220. package/lib/assets/docs/article/getting-start-tdd/clojure/03-obvious-implementation-and-refactoring.md +135 -135
  221. package/lib/assets/docs/article/getting-start-tdd/clojure/04-version-control-and-conventional-commits.md +88 -88
  222. package/lib/assets/docs/article/getting-start-tdd/clojure/05-package-management-and-static-analysis.md +299 -299
  223. package/lib/assets/docs/article/getting-start-tdd/clojure/06-task-runner-and-ci-cd.md +241 -241
  224. package/lib/assets/docs/article/getting-start-tdd/clojure/07-protocols-and-records.md +131 -131
  225. package/lib/assets/docs/article/getting-start-tdd/clojure/08-multimethods-and-design-patterns.md +130 -130
  226. package/lib/assets/docs/article/getting-start-tdd/clojure/09-namespaces-and-module-design.md +127 -127
  227. package/lib/assets/docs/article/getting-start-tdd/clojure/10-higher-order-functions-and-composition.md +114 -114
  228. package/lib/assets/docs/article/getting-start-tdd/clojure/11-persistent-data-and-pipeline.md +138 -138
  229. package/lib/assets/docs/article/getting-start-tdd/clojure/12-error-handling-and-spec.md +161 -161
  230. package/lib/assets/docs/article/getting-start-tdd/clojure/index.md +65 -65
  231. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter01.md +232 -232
  232. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter02.md +244 -244
  233. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter03.md +202 -202
  234. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter04.md +92 -92
  235. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter05.md +256 -256
  236. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter06.md +195 -195
  237. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter07.md +214 -214
  238. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter08.md +249 -249
  239. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter09.md +174 -174
  240. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter10.md +166 -166
  241. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter11.md +192 -192
  242. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter12.md +211 -211
  243. package/lib/assets/docs/article/getting-start-tdd/csharp/index.md +83 -83
  244. package/lib/assets/docs/article/getting-start-tdd/elixir/01-todo-list-and-first-test.md +87 -87
  245. package/lib/assets/docs/article/getting-start-tdd/elixir/02-fake-it-and-triangulation.md +95 -95
  246. package/lib/assets/docs/article/getting-start-tdd/elixir/03-obvious-implementation-and-refactoring.md +109 -109
  247. package/lib/assets/docs/article/getting-start-tdd/elixir/04-version-control-and-conventional-commits.md +96 -96
  248. package/lib/assets/docs/article/getting-start-tdd/elixir/05-package-management-and-static-analysis.md +88 -88
  249. package/lib/assets/docs/article/getting-start-tdd/elixir/06-task-runner-and-ci-cd.md +71 -71
  250. package/lib/assets/docs/article/getting-start-tdd/elixir/07-structs-and-protocols.md +110 -110
  251. package/lib/assets/docs/article/getting-start-tdd/elixir/08-pattern-matching-and-guards.md +108 -108
  252. package/lib/assets/docs/article/getting-start-tdd/elixir/09-module-design-and-behaviours.md +104 -104
  253. package/lib/assets/docs/article/getting-start-tdd/elixir/10-higher-order-functions-and-pipeline.md +178 -178
  254. package/lib/assets/docs/article/getting-start-tdd/elixir/11-stream-and-lazy-evaluation.md +142 -142
  255. package/lib/assets/docs/article/getting-start-tdd/elixir/12-error-handling-and-with.md +145 -145
  256. package/lib/assets/docs/article/getting-start-tdd/elixir/index.md +35 -35
  257. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter01.md +202 -202
  258. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter02.md +246 -246
  259. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter03.md +218 -218
  260. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter04.md +179 -179
  261. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter05.md +267 -267
  262. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter06.md +190 -190
  263. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter07.md +161 -161
  264. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter08.md +175 -175
  265. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter09.md +222 -222
  266. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter10.md +189 -189
  267. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter11.md +212 -212
  268. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter12.md +215 -215
  269. package/lib/assets/docs/article/getting-start-tdd/fsharp/index.md +71 -71
  270. package/lib/assets/docs/article/getting-start-tdd/go/01-todo-list-and-first-test.md +213 -213
  271. package/lib/assets/docs/article/getting-start-tdd/go/02-fake-it-and-triangulation.md +302 -302
  272. package/lib/assets/docs/article/getting-start-tdd/go/03-obvious-implementation-and-refactoring.md +339 -339
  273. package/lib/assets/docs/article/getting-start-tdd/go/04-version-control-and-conventional-commits.md +112 -112
  274. package/lib/assets/docs/article/getting-start-tdd/go/05-package-management-and-static-analysis.md +272 -272
  275. package/lib/assets/docs/article/getting-start-tdd/go/06-task-runner-and-ci-cd.md +233 -233
  276. package/lib/assets/docs/article/getting-start-tdd/go/07-encapsulation-and-polymorphism.md +394 -394
  277. package/lib/assets/docs/article/getting-start-tdd/go/08-design-patterns.md +422 -422
  278. package/lib/assets/docs/article/getting-start-tdd/go/09-solid-principles-and-module-design.md +400 -400
  279. package/lib/assets/docs/article/getting-start-tdd/go/10-higher-order-functions-and-composition.md +226 -226
  280. package/lib/assets/docs/article/getting-start-tdd/go/11-immutable-data-and-pipeline.md +296 -296
  281. package/lib/assets/docs/article/getting-start-tdd/go/12-error-handling-and-type-safety.md +411 -411
  282. package/lib/assets/docs/article/getting-start-tdd/go/index.md +83 -83
  283. package/lib/assets/docs/article/getting-start-tdd/haskell/01-todo-list-and-first-test.md +279 -279
  284. package/lib/assets/docs/article/getting-start-tdd/haskell/02-fake-it-and-triangulation.md +337 -337
  285. package/lib/assets/docs/article/getting-start-tdd/haskell/03-obvious-implementation-and-refactoring.md +257 -257
  286. package/lib/assets/docs/article/getting-start-tdd/haskell/04-version-control-and-conventional-commits.md +182 -182
  287. package/lib/assets/docs/article/getting-start-tdd/haskell/05-package-management-and-static-analysis.md +313 -313
  288. package/lib/assets/docs/article/getting-start-tdd/haskell/06-task-runner-and-ci-cd.md +309 -309
  289. package/lib/assets/docs/article/getting-start-tdd/haskell/07-algebraic-data-types-and-type-classes.md +412 -412
  290. package/lib/assets/docs/article/getting-start-tdd/haskell/08-pattern-matching-and-guards.md +390 -390
  291. package/lib/assets/docs/article/getting-start-tdd/haskell/09-module-design-and-smart-constructors.md +461 -461
  292. package/lib/assets/docs/article/getting-start-tdd/haskell/10-higher-order-functions-and-currying.md +434 -434
  293. package/lib/assets/docs/article/getting-start-tdd/haskell/11-function-composition-and-point-free.md +392 -392
  294. package/lib/assets/docs/article/getting-start-tdd/haskell/12-monad-and-error-handling.md +631 -631
  295. package/lib/assets/docs/article/getting-start-tdd/haskell/index.md +49 -49
  296. package/lib/assets/docs/article/getting-start-tdd/index.md +93 -93
  297. package/lib/assets/docs/article/getting-start-tdd/integration/01-language-overview.md +375 -375
  298. package/lib/assets/docs/article/getting-start-tdd/integration/02-test-framework-comparison.md +349 -349
  299. package/lib/assets/docs/article/getting-start-tdd/integration/03-tdd-pattern-comparison.md +445 -445
  300. package/lib/assets/docs/article/getting-start-tdd/integration/04-type-system-comparison.md +409 -409
  301. package/lib/assets/docs/article/getting-start-tdd/integration/05-dev-environment-comparison.md +330 -330
  302. package/lib/assets/docs/article/getting-start-tdd/integration/06-learning-roadmap.md +290 -290
  303. package/lib/assets/docs/article/getting-start-tdd/integration/index.md +69 -69
  304. package/lib/assets/docs/article/getting-start-tdd/java/01-todo-list-and-first-test.md +234 -234
  305. package/lib/assets/docs/article/getting-start-tdd/java/02-fake-it-and-triangulation.md +261 -261
  306. package/lib/assets/docs/article/getting-start-tdd/java/03-obvious-implementation-and-refactoring.md +185 -185
  307. package/lib/assets/docs/article/getting-start-tdd/java/04-version-control-and-conventional-commits.md +115 -115
  308. package/lib/assets/docs/article/getting-start-tdd/java/05-package-management-and-static-analysis.md +382 -382
  309. package/lib/assets/docs/article/getting-start-tdd/java/06-task-runner-and-ci-cd.md +272 -272
  310. package/lib/assets/docs/article/getting-start-tdd/java/07-encapsulation-and-polymorphism.md +626 -626
  311. package/lib/assets/docs/article/getting-start-tdd/java/08-design-patterns.md +393 -393
  312. package/lib/assets/docs/article/getting-start-tdd/java/09-solid-principles-and-module-design.md +310 -310
  313. package/lib/assets/docs/article/getting-start-tdd/java/10-higher-order-functions-and-composition.md +188 -188
  314. package/lib/assets/docs/article/getting-start-tdd/java/11-immutable-data-and-pipeline.md +167 -167
  315. package/lib/assets/docs/article/getting-start-tdd/java/12-error-handling-and-type-safety.md +205 -205
  316. package/lib/assets/docs/article/getting-start-tdd/java/index.md +61 -61
  317. package/lib/assets/docs/article/getting-start-tdd/node/01-todo-list-and-first-test.md +244 -244
  318. package/lib/assets/docs/article/getting-start-tdd/node/02-fake-it-and-triangulation.md +262 -262
  319. package/lib/assets/docs/article/getting-start-tdd/node/03-obvious-implementation-and-refactoring.md +169 -169
  320. package/lib/assets/docs/article/getting-start-tdd/node/04-version-control-and-conventional-commits.md +112 -112
  321. package/lib/assets/docs/article/getting-start-tdd/node/05-package-management-and-static-analysis.md +314 -314
  322. package/lib/assets/docs/article/getting-start-tdd/node/06-task-runner-and-ci-cd.md +235 -235
  323. package/lib/assets/docs/article/getting-start-tdd/node/07-encapsulation-and-polymorphism.md +327 -327
  324. package/lib/assets/docs/article/getting-start-tdd/node/08-design-patterns.md +322 -322
  325. package/lib/assets/docs/article/getting-start-tdd/node/09-solid-principles-and-module-design.md +285 -285
  326. package/lib/assets/docs/article/getting-start-tdd/node/10-higher-order-functions-and-composition.md +199 -199
  327. package/lib/assets/docs/article/getting-start-tdd/node/11-immutable-data-and-pipeline.md +207 -207
  328. package/lib/assets/docs/article/getting-start-tdd/node/12-error-handling-and-type-safety.md +295 -295
  329. package/lib/assets/docs/article/getting-start-tdd/node/index.md +56 -56
  330. package/lib/assets/docs/article/getting-start-tdd/php/01-todo-list-and-first-test.md +259 -259
  331. package/lib/assets/docs/article/getting-start-tdd/php/02-fake-it-and-triangulation.md +200 -200
  332. package/lib/assets/docs/article/getting-start-tdd/php/03-obvious-implementation-and-refactoring.md +248 -248
  333. package/lib/assets/docs/article/getting-start-tdd/php/04-version-control-and-conventional-commits.md +141 -141
  334. package/lib/assets/docs/article/getting-start-tdd/php/05-package-management-and-static-analysis.md +410 -410
  335. package/lib/assets/docs/article/getting-start-tdd/php/06-task-runner-and-ci-cd.md +321 -321
  336. package/lib/assets/docs/article/getting-start-tdd/php/07-encapsulation-and-polymorphism.md +372 -372
  337. package/lib/assets/docs/article/getting-start-tdd/php/08-design-patterns.md +453 -453
  338. package/lib/assets/docs/article/getting-start-tdd/php/09-solid-principles-and-module-design.md +460 -460
  339. package/lib/assets/docs/article/getting-start-tdd/php/10-higher-order-functions-and-composition.md +182 -182
  340. package/lib/assets/docs/article/getting-start-tdd/php/11-immutable-data-and-pipeline.md +266 -266
  341. package/lib/assets/docs/article/getting-start-tdd/php/12-error-handling-and-type-safety.md +308 -308
  342. package/lib/assets/docs/article/getting-start-tdd/php/index.md +84 -84
  343. package/lib/assets/docs/article/getting-start-tdd/python/01-todo-list-and-first-test.md +201 -201
  344. package/lib/assets/docs/article/getting-start-tdd/python/02-fake-it-and-triangulation.md +247 -247
  345. package/lib/assets/docs/article/getting-start-tdd/python/03-obvious-implementation-and-refactoring.md +199 -199
  346. package/lib/assets/docs/article/getting-start-tdd/python/04-version-control-and-conventional-commits.md +87 -87
  347. package/lib/assets/docs/article/getting-start-tdd/python/05-package-management-and-static-analysis.md +274 -274
  348. package/lib/assets/docs/article/getting-start-tdd/python/06-task-runner-and-ci-cd.md +190 -190
  349. package/lib/assets/docs/article/getting-start-tdd/python/07-encapsulation-and-polymorphism.md +208 -208
  350. package/lib/assets/docs/article/getting-start-tdd/python/08-design-patterns.md +172 -172
  351. package/lib/assets/docs/article/getting-start-tdd/python/09-solid-principles-and-module-design.md +130 -130
  352. package/lib/assets/docs/article/getting-start-tdd/python/10-higher-order-functions-and-composition.md +122 -122
  353. package/lib/assets/docs/article/getting-start-tdd/python/11-immutable-data-and-pipeline.md +116 -116
  354. package/lib/assets/docs/article/getting-start-tdd/python/12-error-handling-and-type-safety.md +126 -126
  355. package/lib/assets/docs/article/getting-start-tdd/python/index.md +55 -55
  356. package/lib/assets/docs/article/getting-start-tdd/ruby/01-todo-list-and-first-test.md +231 -231
  357. package/lib/assets/docs/article/getting-start-tdd/ruby/02-fake-it-and-triangulation.md +238 -238
  358. package/lib/assets/docs/article/getting-start-tdd/ruby/03-obvious-implementation-and-refactoring.md +228 -228
  359. package/lib/assets/docs/article/getting-start-tdd/ruby/04-version-control-and-conventional-commits.md +112 -112
  360. package/lib/assets/docs/article/getting-start-tdd/ruby/05-package-management-and-static-analysis.md +287 -287
  361. package/lib/assets/docs/article/getting-start-tdd/ruby/06-task-runner-and-ci-cd.md +248 -248
  362. package/lib/assets/docs/article/getting-start-tdd/ruby/07-encapsulation-and-polymorphism.md +279 -279
  363. package/lib/assets/docs/article/getting-start-tdd/ruby/08-design-patterns.md +329 -329
  364. package/lib/assets/docs/article/getting-start-tdd/ruby/09-solid-principles-and-module-design.md +196 -196
  365. package/lib/assets/docs/article/getting-start-tdd/ruby/10-higher-order-functions-and-composition.md +175 -175
  366. package/lib/assets/docs/article/getting-start-tdd/ruby/11-immutable-data-and-pipeline.md +237 -237
  367. package/lib/assets/docs/article/getting-start-tdd/ruby/12-error-handling-and-type-safety.md +398 -398
  368. package/lib/assets/docs/article/getting-start-tdd/ruby/index.md +83 -83
  369. package/lib/assets/docs/article/getting-start-tdd/rust/01-todo-list-and-first-test.md +211 -211
  370. package/lib/assets/docs/article/getting-start-tdd/rust/02-fake-it-and-triangulation.md +264 -264
  371. package/lib/assets/docs/article/getting-start-tdd/rust/03-obvious-implementation-and-refactoring.md +233 -233
  372. package/lib/assets/docs/article/getting-start-tdd/rust/04-version-control-and-conventional-commits.md +92 -92
  373. package/lib/assets/docs/article/getting-start-tdd/rust/05-package-management-and-static-analysis.md +212 -212
  374. package/lib/assets/docs/article/getting-start-tdd/rust/06-task-runner-and-ci-cd.md +164 -164
  375. package/lib/assets/docs/article/getting-start-tdd/rust/07-encapsulation-and-polymorphism.md +142 -142
  376. package/lib/assets/docs/article/getting-start-tdd/rust/08-design-patterns.md +145 -145
  377. package/lib/assets/docs/article/getting-start-tdd/rust/09-solid-principles-and-module-design.md +110 -110
  378. package/lib/assets/docs/article/getting-start-tdd/rust/10-higher-order-functions-and-composition.md +94 -94
  379. package/lib/assets/docs/article/getting-start-tdd/rust/11-immutable-data-and-pipeline.md +105 -105
  380. package/lib/assets/docs/article/getting-start-tdd/rust/12-error-handling-and-type-safety.md +112 -112
  381. package/lib/assets/docs/article/getting-start-tdd/rust/index.md +83 -83
  382. package/lib/assets/docs/article/getting-start-tdd/scala/01-todo-list-and-first-test.md +111 -111
  383. package/lib/assets/docs/article/getting-start-tdd/scala/02-fake-it-and-triangulation.md +107 -107
  384. package/lib/assets/docs/article/getting-start-tdd/scala/03-obvious-implementation-and-refactoring.md +99 -99
  385. package/lib/assets/docs/article/getting-start-tdd/scala/04-version-control-and-conventional-commits.md +123 -123
  386. package/lib/assets/docs/article/getting-start-tdd/scala/05-package-management-and-static-analysis.md +196 -196
  387. package/lib/assets/docs/article/getting-start-tdd/scala/06-task-runner-and-ci-cd.md +186 -186
  388. package/lib/assets/docs/article/getting-start-tdd/scala/07-case-classes-and-traits.md +139 -139
  389. package/lib/assets/docs/article/getting-start-tdd/scala/08-pattern-matching-and-sealed-traits.md +106 -106
  390. package/lib/assets/docs/article/getting-start-tdd/scala/09-packages-and-module-design.md +75 -75
  391. package/lib/assets/docs/article/getting-start-tdd/scala/10-higher-order-functions-and-composition.md +104 -104
  392. package/lib/assets/docs/article/getting-start-tdd/scala/11-collections-and-lazy-evaluation.md +94 -94
  393. package/lib/assets/docs/article/getting-start-tdd/scala/12-error-handling-and-type-safety.md +92 -92
  394. package/lib/assets/docs/article/getting-start-tdd/scala/index.md +65 -65
  395. package/lib/assets/docs/article/grokking-concurrency/all/index.md +404 -404
  396. package/lib/assets/docs/article/grokking-concurrency/all/part-1-ch02-sequential.md +554 -554
  397. package/lib/assets/docs/article/grokking-concurrency/all/part-2-ch04-05-threads.md +469 -469
  398. package/lib/assets/docs/article/grokking-concurrency/all/part-3-ch06-multitasking.md +520 -520
  399. package/lib/assets/docs/article/grokking-concurrency/all/part-4-ch07-parallel-patterns.md +420 -420
  400. package/lib/assets/docs/article/grokking-concurrency/all/part-5-ch08-09-synchronization.md +510 -510
  401. package/lib/assets/docs/article/grokking-concurrency/all/part-6-ch10-11-nonblocking-io.md +435 -435
  402. package/lib/assets/docs/article/grokking-concurrency/all/part-7-ch12-async.md +465 -465
  403. package/lib/assets/docs/article/grokking-concurrency/all/part-8-ch13-mapreduce.md +377 -377
  404. package/lib/assets/docs/article/grokking-concurrency/clojure/index.md +116 -116
  405. package/lib/assets/docs/article/grokking-concurrency/clojure/part-1.md +108 -108
  406. package/lib/assets/docs/article/grokking-concurrency/clojure/part-2.md +101 -101
  407. package/lib/assets/docs/article/grokking-concurrency/clojure/part-3.md +122 -122
  408. package/lib/assets/docs/article/grokking-concurrency/clojure/part-4.md +123 -123
  409. package/lib/assets/docs/article/grokking-concurrency/clojure/part-5.md +118 -118
  410. package/lib/assets/docs/article/grokking-concurrency/clojure/part-6.md +89 -89
  411. package/lib/assets/docs/article/grokking-concurrency/clojure/part-7.md +100 -100
  412. package/lib/assets/docs/article/grokking-concurrency/clojure/part-8.md +120 -120
  413. package/lib/assets/docs/article/grokking-concurrency/csharp/index.md +101 -101
  414. package/lib/assets/docs/article/grokking-concurrency/csharp/part-1.md +97 -97
  415. package/lib/assets/docs/article/grokking-concurrency/csharp/part-2.md +123 -123
  416. package/lib/assets/docs/article/grokking-concurrency/csharp/part-3.md +101 -101
  417. package/lib/assets/docs/article/grokking-concurrency/csharp/part-4.md +112 -112
  418. package/lib/assets/docs/article/grokking-concurrency/csharp/part-5.md +99 -99
  419. package/lib/assets/docs/article/grokking-concurrency/csharp/part-6.md +61 -61
  420. package/lib/assets/docs/article/grokking-concurrency/csharp/part-7.md +84 -84
  421. package/lib/assets/docs/article/grokking-concurrency/csharp/part-8.md +92 -92
  422. package/lib/assets/docs/article/grokking-concurrency/fsharp/index.md +65 -65
  423. package/lib/assets/docs/article/grokking-concurrency/fsharp/part-1.md +80 -80
  424. package/lib/assets/docs/article/grokking-concurrency/fsharp/part-2.md +103 -103
  425. package/lib/assets/docs/article/grokking-concurrency/fsharp/part-3.md +94 -94
  426. package/lib/assets/docs/article/grokking-concurrency/fsharp/part-4.md +110 -110
  427. package/lib/assets/docs/article/grokking-concurrency/fsharp/part-5.md +104 -104
  428. package/lib/assets/docs/article/grokking-concurrency/fsharp/part-6.md +93 -93
  429. package/lib/assets/docs/article/grokking-concurrency/fsharp/part-7.md +121 -121
  430. package/lib/assets/docs/article/grokking-concurrency/fsharp/part-8.md +107 -107
  431. package/lib/assets/docs/article/grokking-concurrency/haskell/index.md +248 -248
  432. package/lib/assets/docs/article/grokking-concurrency/haskell/part-1.md +96 -96
  433. package/lib/assets/docs/article/grokking-concurrency/haskell/part-2.md +96 -96
  434. package/lib/assets/docs/article/grokking-concurrency/haskell/part-3.md +91 -91
  435. package/lib/assets/docs/article/grokking-concurrency/haskell/part-4.md +106 -106
  436. package/lib/assets/docs/article/grokking-concurrency/haskell/part-5.md +99 -99
  437. package/lib/assets/docs/article/grokking-concurrency/haskell/part-6.md +95 -95
  438. package/lib/assets/docs/article/grokking-concurrency/haskell/part-7.md +111 -111
  439. package/lib/assets/docs/article/grokking-concurrency/haskell/part-8.md +118 -118
  440. package/lib/assets/docs/article/grokking-concurrency/index.md +66 -66
  441. package/lib/assets/docs/article/grokking-concurrency/java/index.md +102 -102
  442. package/lib/assets/docs/article/grokking-concurrency/java/part-1.md +308 -308
  443. package/lib/assets/docs/article/grokking-concurrency/java/part-2.md +334 -334
  444. package/lib/assets/docs/article/grokking-concurrency/java/part-3.md +221 -221
  445. package/lib/assets/docs/article/grokking-concurrency/java/part-4.md +213 -213
  446. package/lib/assets/docs/article/grokking-concurrency/java/part-5.md +112 -112
  447. package/lib/assets/docs/article/grokking-concurrency/java/part-6.md +69 -69
  448. package/lib/assets/docs/article/grokking-concurrency/java/part-7.md +101 -101
  449. package/lib/assets/docs/article/grokking-concurrency/java/part-8.md +101 -101
  450. package/lib/assets/docs/article/grokking-concurrency/python/index.md +313 -313
  451. package/lib/assets/docs/article/grokking-concurrency/python/part-1.md +239 -239
  452. package/lib/assets/docs/article/grokking-concurrency/python/part-2.md +418 -418
  453. package/lib/assets/docs/article/grokking-concurrency/python/part-3.md +227 -227
  454. package/lib/assets/docs/article/grokking-concurrency/python/part-4.md +299 -299
  455. package/lib/assets/docs/article/grokking-concurrency/python/part-5.md +315 -315
  456. package/lib/assets/docs/article/grokking-concurrency/python/part-6.md +297 -297
  457. package/lib/assets/docs/article/grokking-concurrency/python/part-7.md +314 -314
  458. package/lib/assets/docs/article/grokking-concurrency/python/part-8.md +360 -360
  459. package/lib/assets/docs/article/grokking-concurrency/rust/index.md +270 -270
  460. package/lib/assets/docs/article/grokking-concurrency/rust/part-1.md +108 -108
  461. package/lib/assets/docs/article/grokking-concurrency/rust/part-2.md +120 -120
  462. package/lib/assets/docs/article/grokking-concurrency/rust/part-3.md +126 -126
  463. package/lib/assets/docs/article/grokking-concurrency/rust/part-4.md +175 -175
  464. package/lib/assets/docs/article/grokking-concurrency/rust/part-5.md +158 -158
  465. package/lib/assets/docs/article/grokking-concurrency/rust/part-6.md +94 -94
  466. package/lib/assets/docs/article/grokking-concurrency/rust/part-7.md +133 -133
  467. package/lib/assets/docs/article/grokking-concurrency/rust/part-8.md +155 -155
  468. package/lib/assets/docs/article/grokking-concurrency/scala/index.md +69 -69
  469. package/lib/assets/docs/article/grokking-concurrency/scala/part-1.md +78 -78
  470. package/lib/assets/docs/article/grokking-concurrency/scala/part-2.md +112 -112
  471. package/lib/assets/docs/article/grokking-concurrency/scala/part-3.md +93 -93
  472. package/lib/assets/docs/article/grokking-concurrency/scala/part-4.md +110 -110
  473. package/lib/assets/docs/article/grokking-concurrency/scala/part-5.md +119 -119
  474. package/lib/assets/docs/article/grokking-concurrency/scala/part-6.md +83 -83
  475. package/lib/assets/docs/article/grokking-concurrency/scala/part-7.md +131 -131
  476. package/lib/assets/docs/article/grokking-concurrency/scala/part-8.md +129 -129
  477. package/lib/assets/docs/article/grokkingfp/all/index.md +368 -368
  478. package/lib/assets/docs/article/grokkingfp/all/part-1-ch01-fp-introduction.md +530 -530
  479. package/lib/assets/docs/article/grokkingfp/all/part-1-ch02-pure-functions.md +923 -923
  480. package/lib/assets/docs/article/grokkingfp/all/part-2-ch03-immutable-data.md +1128 -1128
  481. package/lib/assets/docs/article/grokkingfp/all/part-2-ch04-higher-order-functions.md +1104 -1104
  482. package/lib/assets/docs/article/grokkingfp/all/part-2-ch05-flatmap.md +1026 -1026
  483. package/lib/assets/docs/article/grokkingfp/all/part-3-ch06-option.md +785 -785
  484. package/lib/assets/docs/article/grokkingfp/all/part-3-ch07-either-adt.md +871 -871
  485. package/lib/assets/docs/article/grokkingfp/all/part-4-ch08-io-monad.md +972 -972
  486. package/lib/assets/docs/article/grokkingfp/all/part-4-ch09-streams.md +926 -926
  487. package/lib/assets/docs/article/grokkingfp/all/part-5-ch10-concurrency.md +870 -870
  488. package/lib/assets/docs/article/grokkingfp/all/part-6-ch11-application.md +715 -715
  489. package/lib/assets/docs/article/grokkingfp/all/part-6-ch12-testing.md +626 -626
  490. package/lib/assets/docs/article/grokkingfp/all/writing-plan.md +712 -712
  491. package/lib/assets/docs/article/grokkingfp/clojure/index.md +276 -276
  492. package/lib/assets/docs/article/grokkingfp/clojure/part-1.md +667 -667
  493. package/lib/assets/docs/article/grokkingfp/clojure/part-2.md +643 -643
  494. package/lib/assets/docs/article/grokkingfp/clojure/part-3.md +620 -620
  495. package/lib/assets/docs/article/grokkingfp/clojure/part-4.md +697 -697
  496. package/lib/assets/docs/article/grokkingfp/clojure/part-5.md +751 -751
  497. package/lib/assets/docs/article/grokkingfp/clojure/part-6.md +721 -721
  498. package/lib/assets/docs/article/grokkingfp/csharp/index.md +246 -246
  499. package/lib/assets/docs/article/grokkingfp/csharp/part-1.md +811 -811
  500. package/lib/assets/docs/article/grokkingfp/csharp/part-2.md +971 -971
  501. package/lib/assets/docs/article/grokkingfp/csharp/part-3.md +981 -981
  502. package/lib/assets/docs/article/grokkingfp/csharp/part-4.md +949 -949
  503. package/lib/assets/docs/article/grokkingfp/csharp/part-5.md +947 -947
  504. package/lib/assets/docs/article/grokkingfp/csharp/part-6.md +739 -739
  505. package/lib/assets/docs/article/grokkingfp/elixir/index.md +203 -203
  506. package/lib/assets/docs/article/grokkingfp/elixir/part-1.md +712 -712
  507. package/lib/assets/docs/article/grokkingfp/elixir/part-2.md +838 -838
  508. package/lib/assets/docs/article/grokkingfp/elixir/part-3.md +985 -985
  509. package/lib/assets/docs/article/grokkingfp/elixir/part-4.md +974 -974
  510. package/lib/assets/docs/article/grokkingfp/elixir/part-5.md +1286 -1286
  511. package/lib/assets/docs/article/grokkingfp/elixir/part-6.md +1049 -1049
  512. package/lib/assets/docs/article/grokkingfp/fsharp/index.md +210 -210
  513. package/lib/assets/docs/article/grokkingfp/fsharp/part-1.md +714 -714
  514. package/lib/assets/docs/article/grokkingfp/fsharp/part-2.md +961 -961
  515. package/lib/assets/docs/article/grokkingfp/fsharp/part-3.md +972 -972
  516. package/lib/assets/docs/article/grokkingfp/fsharp/part-4.md +832 -832
  517. package/lib/assets/docs/article/grokkingfp/fsharp/part-5.md +911 -911
  518. package/lib/assets/docs/article/grokkingfp/fsharp/part-6.md +922 -922
  519. package/lib/assets/docs/article/grokkingfp/haskell/index.md +234 -234
  520. package/lib/assets/docs/article/grokkingfp/haskell/part-1.md +591 -591
  521. package/lib/assets/docs/article/grokkingfp/haskell/part-2.md +866 -866
  522. package/lib/assets/docs/article/grokkingfp/haskell/part-3.md +915 -915
  523. package/lib/assets/docs/article/grokkingfp/haskell/part-4.md +878 -878
  524. package/lib/assets/docs/article/grokkingfp/haskell/part-5.md +845 -845
  525. package/lib/assets/docs/article/grokkingfp/haskell/part-6.md +844 -844
  526. package/lib/assets/docs/article/grokkingfp/index.md +143 -143
  527. package/lib/assets/docs/article/grokkingfp/java/index.md +211 -211
  528. package/lib/assets/docs/article/grokkingfp/java/part-1.md +648 -648
  529. package/lib/assets/docs/article/grokkingfp/java/part-2.md +675 -675
  530. package/lib/assets/docs/article/grokkingfp/java/part-3.md +672 -672
  531. package/lib/assets/docs/article/grokkingfp/java/part-4.md +771 -771
  532. package/lib/assets/docs/article/grokkingfp/java/part-5.md +959 -959
  533. package/lib/assets/docs/article/grokkingfp/java/part-6.md +1328 -1328
  534. package/lib/assets/docs/article/grokkingfp/python/index.md +258 -258
  535. package/lib/assets/docs/article/grokkingfp/python/part-1.md +443 -443
  536. package/lib/assets/docs/article/grokkingfp/python/part-2.md +958 -958
  537. package/lib/assets/docs/article/grokkingfp/python/part-3.md +1004 -1004
  538. package/lib/assets/docs/article/grokkingfp/python/part-4.md +765 -765
  539. package/lib/assets/docs/article/grokkingfp/python/part-5.md +747 -747
  540. package/lib/assets/docs/article/grokkingfp/python/part-6.md +861 -861
  541. package/lib/assets/docs/article/grokkingfp/ruby/index.md +330 -330
  542. package/lib/assets/docs/article/grokkingfp/ruby/part-1.md +755 -755
  543. package/lib/assets/docs/article/grokkingfp/ruby/part-2.md +938 -938
  544. package/lib/assets/docs/article/grokkingfp/ruby/part-3.md +946 -946
  545. package/lib/assets/docs/article/grokkingfp/ruby/part-4.md +921 -921
  546. package/lib/assets/docs/article/grokkingfp/ruby/part-5.md +908 -908
  547. package/lib/assets/docs/article/grokkingfp/ruby/part-6.md +1412 -1412
  548. package/lib/assets/docs/article/grokkingfp/rust/index.md +242 -242
  549. package/lib/assets/docs/article/grokkingfp/rust/part-1.md +634 -634
  550. package/lib/assets/docs/article/grokkingfp/rust/part-2.md +1060 -1060
  551. package/lib/assets/docs/article/grokkingfp/rust/part-3.md +994 -994
  552. package/lib/assets/docs/article/grokkingfp/rust/part-4.md +573 -573
  553. package/lib/assets/docs/article/grokkingfp/rust/part-5.md +705 -705
  554. package/lib/assets/docs/article/grokkingfp/rust/part-6.md +508 -508
  555. package/lib/assets/docs/article/grokkingfp/scala/index.md +171 -171
  556. package/lib/assets/docs/article/grokkingfp/scala/part-1.md +543 -543
  557. package/lib/assets/docs/article/grokkingfp/scala/part-2.md +946 -946
  558. package/lib/assets/docs/article/grokkingfp/scala/part-3.md +919 -919
  559. package/lib/assets/docs/article/grokkingfp/scala/part-4.md +742 -742
  560. package/lib/assets/docs/article/grokkingfp/scala/part-5.md +722 -722
  561. package/lib/assets/docs/article/grokkingfp/scala/part-6.md +867 -867
  562. package/lib/assets/docs/article/grokkingfp/typescript/index.md +273 -273
  563. package/lib/assets/docs/article/grokkingfp/typescript/part-1.md +561 -561
  564. package/lib/assets/docs/article/grokkingfp/typescript/part-2.md +1129 -1129
  565. package/lib/assets/docs/article/grokkingfp/typescript/part-3.md +842 -842
  566. package/lib/assets/docs/article/grokkingfp/typescript/part-4.md +1087 -1087
  567. package/lib/assets/docs/article/grokkingfp/typescript/part-5.md +717 -717
  568. package/lib/assets/docs/article/grokkingfp/typescript/part-6.md +982 -982
  569. package/lib/assets/docs/article/practical-database-design/index.md +121 -121
  570. package/lib/assets/docs/article/practical-database-design/part1/chapter01.md +288 -288
  571. package/lib/assets/docs/article/practical-database-design/part1/chapter02.md +518 -518
  572. package/lib/assets/docs/article/practical-database-design/part1/chapter03.md +557 -557
  573. package/lib/assets/docs/article/practical-database-design/part2/chapter04.md +924 -924
  574. package/lib/assets/docs/article/practical-database-design/part2/chapter05.md +1627 -1627
  575. package/lib/assets/docs/article/practical-database-design/part2/chapter06.md +2716 -2716
  576. package/lib/assets/docs/article/practical-database-design/part2/chapter07.md +2082 -2082
  577. package/lib/assets/docs/article/practical-database-design/part2/chapter08.md +2105 -2105
  578. package/lib/assets/docs/article/practical-database-design/part2/chapter09.md +2031 -2031
  579. package/lib/assets/docs/article/practical-database-design/part2/chapter10.md +1387 -1387
  580. package/lib/assets/docs/article/practical-database-design/part2/chapter11.md +1677 -1677
  581. package/lib/assets/docs/article/practical-database-design/part2/chapter12.md +1417 -1417
  582. package/lib/assets/docs/article/practical-database-design/part2/chapter13.md +1434 -1434
  583. package/lib/assets/docs/article/practical-database-design/part3/chapter14.md +667 -667
  584. package/lib/assets/docs/article/practical-database-design/part3/chapter15.md +1625 -1625
  585. package/lib/assets/docs/article/practical-database-design/part3/chapter16.md +1915 -1915
  586. package/lib/assets/docs/article/practical-database-design/part3/chapter17.md +1708 -1708
  587. package/lib/assets/docs/article/practical-database-design/part3/chapter18.md +2095 -2095
  588. package/lib/assets/docs/article/practical-database-design/part3/chapter19.md +1123 -1123
  589. package/lib/assets/docs/article/practical-database-design/part3/chapter20.md +1031 -1031
  590. package/lib/assets/docs/article/practical-database-design/part3/chapter21.md +1382 -1382
  591. package/lib/assets/docs/article/practical-database-design/part3-orm/chapter14-orm.md +991 -991
  592. package/lib/assets/docs/article/practical-database-design/part3-orm/chapter15-orm.md +1300 -1300
  593. package/lib/assets/docs/article/practical-database-design/part3-orm/chapter16-orm.md +1166 -1166
  594. package/lib/assets/docs/article/practical-database-design/part3-orm/chapter17-orm.md +1584 -1584
  595. package/lib/assets/docs/article/practical-database-design/part3-orm/chapter18-orm.md +1183 -1183
  596. package/lib/assets/docs/article/practical-database-design/part3-orm/chapter19-orm.md +1016 -1016
  597. package/lib/assets/docs/article/practical-database-design/part3-orm/chapter20-orm.md +1753 -1753
  598. package/lib/assets/docs/article/practical-database-design/part3-orm/chapter21-orm.md +1447 -1447
  599. package/lib/assets/docs/article/practical-database-design/part3-orm/chapter22-orm.md +1878 -1878
  600. package/lib/assets/docs/article/practical-database-design/part4/chapter22.md +965 -965
  601. package/lib/assets/docs/article/practical-database-design/part4/chapter23.md +2069 -2069
  602. package/lib/assets/docs/article/practical-database-design/part4/chapter24.md +2439 -2439
  603. package/lib/assets/docs/article/practical-database-design/part4/chapter25.md +3661 -3661
  604. package/lib/assets/docs/article/practical-database-design/part4/chapter26.md +2916 -2916
  605. package/lib/assets/docs/article/practical-database-design/part4/chapter27.md +3105 -3105
  606. package/lib/assets/docs/article/practical-database-design/part4/chapter28.md +2697 -2697
  607. package/lib/assets/docs/article/practical-database-design/part4/chapter29.md +2544 -2544
  608. package/lib/assets/docs/article/practical-database-design/part4/chapter30.md +2180 -2180
  609. package/lib/assets/docs/article/practical-database-design/part4/chapter31.md +1192 -1192
  610. package/lib/assets/docs/article/practical-database-design/part4/chapter32.md +2101 -2101
  611. package/lib/assets/docs/article/practical-database-design/part5/chapter33.md +1032 -1032
  612. package/lib/assets/docs/article/practical-database-design/part5/chapter34.md +1609 -1609
  613. package/lib/assets/docs/article/practical-database-design/part5/chapter35.md +1453 -1453
  614. package/lib/assets/docs/article/practical-database-design/part5/chapter36.md +1292 -1292
  615. package/lib/assets/docs/article/practical-database-design/part5/chapter37.md +1470 -1470
  616. package/lib/assets/docs/article/practical-database-design/part5/chapter38.md +1698 -1698
  617. package/lib/assets/docs/article/practical-database-design/part5/chapter39.md +2334 -2334
  618. package/lib/assets/docs/article/practical-database-design/study/study2-1.md +1693 -1693
  619. package/lib/assets/docs/article/practical-database-design/study/study2-2.md +1347 -1347
  620. package/lib/assets/docs/article/practical-database-design/study/study2-3.md +2044 -2044
  621. package/lib/assets/docs/article/practical-database-design/study/study2-4.md +2229 -2229
  622. package/lib/assets/docs/article/practical-database-design/study/study2-5.md +2418 -2418
  623. package/lib/assets/docs/article/practical-database-design/study/study3-1.md +2205 -2205
  624. package/lib/assets/docs/article/practical-database-design/study/study3-2.md +2221 -2221
  625. package/lib/assets/docs/article/practical-database-design/study/study3-3.md +2253 -2253
  626. package/lib/assets/docs/article/practical-database-design/study/study3-4.md +2106 -2106
  627. package/lib/assets/docs/article/practical-database-design/study/study3-5.md +2507 -2507
  628. package/lib/assets/docs/article/practical-database-design/study/study4-1.md +2587 -2587
  629. package/lib/assets/docs/article/practical-database-design/study/study4-2.md +2075 -2075
  630. package/lib/assets/docs/article/practical-database-design/study/study4-3.md +1805 -1805
  631. package/lib/assets/docs/article/practical-database-design/study/study4-4.md +1895 -1895
  632. package/lib/assets/docs/article/practical-database-design/study/study4-5.md +2878 -2878
  633. package/lib/assets/docs/assets/css/extra.css +29 -29
  634. package/lib/assets/docs/assets/js/extra.js +44 -44
  635. package/lib/assets/docs/development/index.md +39 -39
  636. package/lib/assets/docs/operation/index.md +11 -11
  637. 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 +532 -532
  638. 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
  639. 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
  640. 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
  641. 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
  642. package/lib/assets/docs/reference/UI/350/250/255/350/250/210/343/202/254/343/202/244/343/203/211.md +450 -450
  643. package/lib/assets/docs/reference/images/Ansoff.drawio.svg +3 -3
  644. package/lib/assets/docs/reference/images/BrandBasicStrategy.drawio.svg +3 -3
  645. package/lib/assets/docs/reference/images/BrandCategorization.drawio.svg +3 -3
  646. package/lib/assets/docs/reference/images/BrandRecurutementStrategy.drawio.svg +3 -3
  647. package/lib/assets/docs/reference/images/BrandValue.drawio.svg +3 -3
  648. package/lib/assets/docs/reference/images/BusinessActivitiy.svg +3 -3
  649. package/lib/assets/docs/reference/images/HRM.drawio.svg +3 -3
  650. package/lib/assets/docs/reference/images/MarketingStructure.drawio.svg +3 -3
  651. package/lib/assets/docs/reference/images/OrganizationElemnts.svg +3 -3
  652. package/lib/assets/docs/reference/images/PPM.drawio.svg +3 -3
  653. package/lib/assets/docs/reference/images/PositioningMap.drawio.svg +3 -3
  654. package/lib/assets/docs/reference/images/ProductLayer.drawio.svg +3 -3
  655. package/lib/assets/docs/reference/images/ProductMix.drawio.svg +3 -3
  656. package/lib/assets/docs/reference/images/SWOT.drawio.svg +3 -3
  657. package/lib/assets/docs/reference/images/TargetMarket.drawio.svg +3 -3
  658. package/lib/assets/docs/reference/images/ThreeGenericStrategies.drawio.svg +3 -3
  659. package/lib/assets/docs/reference/images/VRIO.drawio.svg +3 -3
  660. package/lib/assets/docs/reference/images/ValueChain.drawio.svg +3 -3
  661. package/lib/assets/docs/reference/index.md +52 -52
  662. 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
  663. 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
  664. 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
  665. 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
  666. 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
  667. 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
  668. 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
  669. 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
  670. 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
  671. 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
  672. 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
  673. 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
  674. 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
  675. package/lib/assets/docs/reference//344/274/201/346/245/255/347/265/214/345/226/266/350/253/226.md +2637 -2637
  676. 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
  677. 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
  678. 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
  679. package/lib/assets/docs/reference//351/201/213/345/226/266/347/256/241/347/220/206.md +1482 -1482
  680. 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
  681. 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
  682. package/lib/assets/docs/reference//351/226/213/347/231/272/343/202/254/343/202/244/343/203/211.md +299 -299
  683. 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
  684. package/lib/assets/docs/review/index.md +5 -5
  685. package/lib/assets/docs/strategy/index.md +1 -1
  686. package/lib/assets/docs/template/ADR.md +30 -30
  687. 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
  688. 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
  689. package/lib/assets/docs/template/README.md +50 -50
  690. package/lib/assets/docs/template/index.md +23 -23
  691. 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
  692. 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
  693. 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
  694. 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
  695. 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
  696. package/lib/assets/docs/template//344/274/201/346/245/255/345/210/206/346/236/220.md +573 -573
  697. 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
  698. package/lib/assets/docs/template//350/246/201/344/273/266/345/256/232/347/276/251.md +669 -669
  699. package/lib/assets/docs/template//350/250/255/350/250/210.md +173 -173
  700. 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
  701. package/lib/assets/gulpfile.js +25 -25
  702. package/lib/assets/mkdocs.yml +136 -136
  703. package/lib/assets/ops/docker/mkdoc/Dockerfile +19 -19
  704. package/lib/assets/ops/scripts/journal.js +180 -180
  705. package/lib/assets/ops/scripts/mkdocs.js +82 -82
  706. package/lib/assets/ops/scripts/release.js +431 -431
  707. package/lib/assets/ops/scripts/sonar_local.js +726 -726
  708. package/lib/assets/ops/scripts/ssh.js +190 -190
  709. package/lib/assets/ops/scripts/vault.js +299 -299
  710. package/lib/assets/package-lock.json +1653 -1653
  711. package/lib/assets/package.json +40 -40
  712. package/lib/gulpfile.js +37 -37
  713. package/package.json +41 -41
@@ -1,581 +1,581 @@
1
- ---
2
- title: リリース・イテレーション計画ガイド
3
- description:
4
- published: true
5
- date: 2025-09-09T04:16:08.816Z
6
- tags:
7
- editor: markdown
8
- dateCreated: 2025-09-09T04:06:20.257Z
9
- ---
10
-
11
- # リリース・イテレーション計画ガイド
12
-
13
- ## はじめに
14
-
15
- このガイドは、XPプログラマ向けのリリース計画とイテレーション計画の実用的な作成手法を提供します。アジャイルな見積もりと計画づくりの原則に基づき、現場で即座に活用できる具体的なステップとツールを含んでいます。
16
-
17
- ## 計画の基本概念
18
-
19
- ### アジャイルな計画づくりの原則
20
-
21
- - **計画よりも計画づくりを重視**:
22
-
23
- 計画は生きた文書として継続的に更新
24
-
25
- - **変化を促進**:
26
-
27
- 要件や状況の変化に柔軟に対応
28
-
29
- - **フィーチャ中心**:
30
-
31
- 顧客価値を提供するフィーチャを計画の単位に
32
-
33
- ```plantuml
34
- @startuml
35
- title プランニングの階層
36
-
37
- folder "戦略" {
38
- folder "ポートフォリオ" {
39
- folder "プロダクト" {
40
- folder "リリース計画(3-6ヶ月)" {
41
- folder "イテレーション計画(1-4週)" {
42
- folder "日次計画" {
43
- }
44
- }
45
- }
46
- }
47
- }
48
- }
49
- @enduml
50
- ```
51
-
52
- ### アジャイルな計画づくりプロセス
53
-
54
- ```plantuml
55
- @startuml
56
-
57
- [*] --> リリース
58
-
59
- state リリース {
60
- 満足条件1: (ユーザーストーリー、予算、スケジュール)
61
- 満足条件1 --> リリースプランニング
62
- リリースプランニング --> 満足条件1
63
- }
64
-
65
- state イテレーション {
66
- リリースプランニング --> 満足条件2
67
- 満足条件2: (ユーザーストーリー、予算、スケジュール)
68
- 満足条件2 --> イテレーションプランニング
69
- イテレーションプランニング --> 満足条件2
70
- イテレーションプランニング --> 開発
71
- 開発 --> フィーチャが追加された状態
72
- フィーチャが追加された状態 --> 満足条件2 : フィードバック
73
- フィーチャが追加された状態 --> 満足条件1 : フィードバック
74
- }
75
-
76
- リリース --> [*]
77
-
78
- @enduml
79
- ```
80
-
81
- ## 1. リリース計画作成プロセス
82
-
83
- ### 1.1 リリース計画の目的
84
-
85
- リリース計画は「いつどれだけの成果が出せるか」を判断することです。
86
-
87
- ### 1.2 リリース計画作成手順
88
-
89
- ```plantuml
90
- @startuml
91
- title リリース計画作成手順
92
-
93
- [*] --> 満足条件を決める
94
- 満足条件を決める --> ユーザーストーリーを見積もる
95
-
96
- state fork_state <<fork>>
97
- ユーザーストーリーを見積もる --> fork_state
98
- fork_state --> ベロシティを見積もる
99
- fork_state --> イテレーションの長さを決める
100
- fork_state --> ユーザーストーリーに優先順位を付ける
101
-
102
- state join_state <<join>>
103
- ベロシティを見積もる --> join_state
104
- イテレーションの長さを決める --> join_state
105
- ユーザーストーリーに優先順位を付ける --> join_state
106
-
107
- join_state --> ストーリーを選択しリリース日を決める
108
-
109
- ストーリーを選択しリリース日を決める --> 満足条件を満たすか
110
-
111
- state 満足条件を満たすか <<choice>>
112
- 満足条件を満たすか --> リリース計画完成 : Yes
113
- 満足条件を満たすか --> 満足条件を決める : No
114
-
115
- リリース計画完成 --> [*]
116
- @enduml
117
- ```
118
-
119
- #### ステップ1:
120
-
121
- 満足条件の決定
122
-
123
- プロダクトオーナーと協力して以下を定義:
124
-
125
- - **スコープ**:
126
-
127
- どんなフィーチャを含むか
128
-
129
- - **スケジュール**:
130
-
131
- いつまでに完成させるか
132
-
133
- - **リソース**:
134
-
135
- どのようなチーム構成で開発するか
136
-
137
- #### ステップ2:
138
-
139
- ユーザーストーリーの見積もり
140
-
141
- **ストーリーポイント法を推奨**
142
-
143
- ```markdown
144
- # 見積もりスケール例
145
- - 1, 2, 3, 5, 8, 13, 20, 40, 100
146
-
147
- # プランニングポーカーの進め方
148
- 1. ストーリーを読み上げ、質疑応答
149
- 2. 全員が同時にポイントカードを提示
150
- 3. 最大値と最小値の人が理由を説明
151
- 4. 合意に至るまで議論・再見積もり
152
- ```
153
-
154
- #### ステップ3:
155
-
156
- ベロシティの見積もり
157
-
158
- **新チームの場合**
159
-
160
- - 代表的なストーリーをタスクに分解
161
- - 理想時間で見積もり
162
- - チームの作業可能時間(1日4-6時間)と照合
163
-
164
- **既存チームの場合**
165
-
166
- - 過去3-8イテレーションの平均値を使用
167
- - 以下が同じであることを確認:
168
- - 技術スタック
169
- - チームメンバー
170
- - 業務分野
171
- - 開発環境
172
-
173
- #### ステップ4:
174
-
175
- 優先順位の決定
176
-
177
- **4つの評価軸**
178
-
179
- 1. **金銭価値**:
180
-
181
- 新規売上、効率化効果
182
-
183
- 2. **コスト**:
184
-
185
- 開発・運用・サポートコスト
186
-
187
- 3. **知識習得**:
188
-
189
- プロダクトナレッジ・プロジェクトナレッジ
190
-
191
- 4. **リスク軽減**:
192
-
193
- 技術的・ビジネス的リスクの低減
194
-
195
- ### 1.3 リリース計画の更新
196
-
197
- - 各イテレーション開始時に見直し
198
- - ベロシティの実績値で調整
199
- - スコープ変更の反映
200
-
201
- ## 2. イテレーション計画作成プロセス
202
-
203
- ### 2.1 リリース計画との違い
204
-
205
- |項目|リリース計画|イテレーション計画|
206
- |---|---|---|
207
- |対象期間|3-6ヶ月|1-4週間|
208
- |構成要素|ユーザーストーリー|タスク|
209
- |見積単位|ストーリーポイント/理想日|理想時間|
210
-
211
- ### 2.2 イテレーション計画作成手順
212
-
213
- #### コミットメント駆動方式(推奨)
214
-
215
- ```plantuml
216
- @startuml
217
- title コミットメント駆動のイテレーション計画作成手順
218
-
219
- [*] --> 優先順位を調整する
220
- 優先順位を調整する --> イテレーションゴールを決める
221
- イテレーションゴールを決める --> ユーザーストーリーを1つ選ぶ
222
- ユーザーストーリーを1つ選ぶ --> ストーリーをタスクに分解する
223
- ストーリーをタスクに分解する --> タスクを見積もる
224
- タスクを見積もる --> チームはコミットできるか
225
-
226
- state チームはコミットできるか <<choice>>
227
- チームはコミットできるか --> ユーザーストーリーを1つ選ぶ : できる(余裕あり)
228
- チームはコミットできるか --> ストーリーを減らす : できない
229
- チームはコミットできるか --> イテレーション計画完成 : できる(限界)
230
-
231
- ストーリーを減らす --> チームはコミットできるか
232
-
233
- イテレーション計画完成 --> [*]
234
- @enduml
235
- ```
236
-
237
- #### ステップ1:
238
-
239
- イテレーションゴールの設定
240
-
241
- - 1-2行でイテレーションで達成することを記述
242
- - チーム全員が理解できる明確な目標
243
- - フィーチャの価値に焦点を当てる
244
-
245
- #### ステップ2:
246
-
247
- ストーリーのタスク分解
248
-
249
- **良いタスクの特徴**
250
-
251
- - 4-16理想時間で完了可能
252
- - 具体的で実行可能
253
- - 測定可能(完了/未完了が判断可能)
254
-
255
- **タスクの種類**
256
-
257
- - 開発タスク(設計、実装、単体テスト)
258
- - 統合タスク(システム統合、統合テスト)
259
- - その他(ドキュメント作成、環境構築)
260
- - スパイク(調査・検証タスク)
261
-
262
- #### ステップ3:
263
-
264
- 理想時間での見積もり
265
-
266
- ```markdown
267
- # 理想時間の原則
268
- - 割り込みや会議を除いた純粋な作業時間
269
- - 個人差は考慮しない(チーム平均で考える)
270
- - 1つの値で見積もる(幅を持たせない)
271
-
272
- # 見積もりのガイドライン
273
- - 1-2時間:简单な修正、設定変更
274
- - 4-8時間:標準的な機能実装
275
- - 12-16時間:複雑な機能、新技術の習得を伴う
276
- ```
277
-
278
- ### 2.3 イテレーションの実行
279
-
280
- #### デイリースタンドアップ
281
-
282
- 毎日の進捗確認で以下を共有:
283
-
284
- - 昨日やったこと
285
- - 今日やること
286
- - 障害・ブロッカー
287
-
288
- #### タスクボードの活用
289
-
290
- ```markdown
291
- # タスクボード構成
292
- | TODO | 作業中 | レビュー | 完了 |
293
- |------|--------|----------|------|
294
- | タスク1 | タスク2 | タスク3 | タスク4 |
295
- ```
296
-
297
- ## 3. 見積もりのベストプラクティス
298
-
299
- ### 3.1 ストーリーポイント vs 理想日
300
-
301
- **ストーリーポイントの利点**
302
-
303
- - 純粋な規模の見積もり
304
- - チームスキル向上による再見積もりが不要
305
- - チーム横断での比較が可能
306
- - 相対見積もりで精度が高い
307
-
308
- **理想日の利点**
309
-
310
- - 初心者に理解しやすい
311
- - 時間感覚との対応が直感的
312
-
313
- ### 3.2 見積もり精度の向上
314
-
315
- **不確実性コーンの活用**
316
-
317
- ```plantuml
318
- @startuml
319
- title 不確実性コーン
320
-
321
- left to right direction
322
-
323
- rectangle "プロジェクト開始\n±4倍の誤差" as start #lightcoral
324
- rectangle "要件定義完了\n±2倍の誤差" as req #yellow
325
- rectangle "設計完了\n±1.5倍の誤差" as design #lightgreen
326
- rectangle "実装完了\n±1.25倍の誤差" as impl #lightblue
327
-
328
- start --> req : 時間の経過
329
- req --> design : 時間の経過
330
- design --> impl : 時間の経過
331
-
332
- note bottom of start : 最も不確実
333
- note bottom of impl : 最も確実
334
- @enduml
335
- ```
336
-
337
- **見積もりの改善方法**
338
-
339
- - 過去の実績データを蓄積
340
- - 見積もりと実績の差分を分析
341
- - チームで見積もり基準を統一
342
-
343
- ### 3.3 再見積もりのタイミング
344
-
345
- 以下の場合に再見積もりを実施:
346
-
347
-
348
- - ストーリーの相対的な大きさが変わった
349
- - 新しい技術・業務知識を習得した
350
- - チーム構成が大きく変わった
351
-
352
- **注意**:進捗の遅れのみでは再見積もりしない
353
-
354
- ## 4. 進捗管理とモニタリング
355
-
356
- ### 4.0 全体スケジュール管理
357
-
358
- **リリース全体のガントチャート**
359
-
360
- ```mermaid
361
- gantt
362
- title リリース計画全体スケジュール(6ヶ月)
363
- dateFormat YYYY-MM-DD
364
-
365
- section リリース1
366
- イテレーション1(計画・環境構築) :done, iter1, 2024-01-01, 2w
367
- イテレーション2(基本機能開発) :done, iter2, after iter1, 2w
368
- イテレーション3(コア機能実装) :active, iter3, after iter2, 2w
369
- イテレーション4(統合・改善) : iter4, after iter3, 2w
370
-
371
- section リリース2
372
- イテレーション5(新機能開発) : iter5, after iter4, 2w
373
- イテレーション6(パフォーマンス改善) : iter6, after iter5, 2w
374
- イテレーション7(UI/UX改善) : iter7, after iter6, 2w
375
- イテレーション8(バグ修正・安定化) : iter8, after iter7, 2w
376
-
377
- section リリース3
378
- イテレーション9(拡張機能開発) : iter9, after iter8, 2w
379
- イテレーション10(セキュリティ強化) : iter10, after iter9, 2w
380
- イテレーション11(最終統合) : iter11, after iter10, 2w
381
- イテレーション12(リリース準備) :crit, iter12, after iter11, 2w
382
-
383
- section マイルストーン
384
- リリース1.0(MVP) :milestone, m1, after iter4, 0d
385
- リリース2.0(機能拡張版) :milestone, m2, after iter8, 0d
386
- リリース3.0(完成版) :milestone, m3, after iter12, 0d
387
- ```
388
-
389
- **イテレーション内のストーリー進捗ガントチャート**
390
-
391
- ```mermaid
392
- gantt
393
- title イテレーション3の詳細スケジュール(2週間)
394
- dateFormat YYYY-MM-DD
395
- axisFormat %m/%d
396
-
397
- section ユーザー管理
398
- ログイン機能 :done, story1, 2024-02-01, 3d
399
- ユーザー登録 :active, story2, after story1, 2d
400
- パスワードリセット : story3, after story2, 2d
401
-
402
- section 商品管理
403
- 商品一覧表示 :done, story4, 2024-02-01, 2d
404
- 商品詳細表示 :active, story5, after story4, 2d
405
- 商品検索機能 : story6, after story5, 3d
406
-
407
- section 注文処理
408
- カート機能 : story7, 2024-02-05, 3d
409
- 注文確認画面 : story8, after story7, 2d
410
- 決済処理 :crit, story9, after story8, 2d
411
-
412
- section 共通タスク
413
- デイリースタンドアップ :daily, 2024-02-01, 10d
414
- イテレーションレビュー :milestone, review, 2024-02-14, 0d
415
- ```
416
-
417
- ### 4.1 ベロシティの計算
418
-
419
- **オール・オア・ナッシング方式**
420
-
421
- - 完全に完了したストーリーのみポイント加算
422
- - 未完了ストーリーはゼロポイント
423
-
424
- ```mermaid
425
- xychart-beta
426
- title "ベロシティ推移"
427
- x-axis ["イテ1", "イテ2", "イテ3", "イテ4", "イテ5", "イテ6"]
428
- y-axis "ストーリーポイント" 0 --> 25
429
- bar [15, 18, 14, 19, 17, 20]
430
- line [17, 17, 17, 17, 17, 17]
431
- ```
432
-
433
- ### 4.2 バーンダウンチャート
434
-
435
- **リリースバーンダウンチャート**
436
-
437
- ```mermaid
438
- xychart-beta
439
- title "リリースバーンダウンチャート"
440
- x-axis ["イテ1", "イテ2", "イテ3", "イテ4", "イテ5", "イテ6"]
441
- y-axis "残ストーリーポイント" 0 --> 100
442
- line [80, 65, 48, 30, 15, 0]
443
- ```
444
-
445
- **イテレーションバーンダウンチャート**
446
-
447
- ```mermaid
448
- xychart-beta
449
- title "イテレーションバーンダウンチャート"
450
- x-axis ["1日目", "2日目", "3日目", "4日目", "5日目", "6日目", "7日目", "8日目", "9日目", "10日目"]
451
- y-axis "残り理想時間" 0 --> 80
452
- line [80, 75, 68, 60, 50, 38, 25, 15, 8, 0]
453
- ```
454
-
455
- ### 4.3 パーキングロットチャート
456
-
457
- テーマ単位での進捗可視化
458
-
459
- ```plantuml
460
- @startuml
461
- rectangle "ユーザー管理" as theme1 #lightgreen
462
- note right of theme1 : 進捗: 8/10 (80%)
463
-
464
- rectangle "商品管理" as theme2 #yellow
465
- note right of theme2 : 進捗: 3/8 (38%)
466
-
467
- rectangle "注文処理" as theme3 #lightcoral
468
- note right of theme3 : 進捗: 1/6 (17%)
469
-
470
- rectangle "レポート機能" as theme4 #lightgray
471
- note right of theme4 : 進捗: 0/4 (0%)
472
- @enduml
473
- ```
474
-
475
- ## 5. リスクマネジメント
476
-
477
- ### 5.1 バッファ計画
478
-
479
- **フィーチャバッファ**
480
-
481
- - 重要度の低いフィーチャを30%程度用意
482
- - スケジュール遅延時に削除対象とする
483
-
484
- **スケジュールバッファ**
485
-
486
- - 各ストーリーの50%見積もりと90%見積もりの差の平方の合計の平方根
487
- - 不確実性に対するスケジュール的余裕
488
-
489
- ### 5.2 複数チーム間の調整
490
-
491
- **共通見積もり基準の確立**
492
-
493
- - 全チーム共通のストーリーポイントスケール
494
- - 基準ストーリーの共有と合意
495
-
496
- **移動する先読み範囲**
497
-
498
- - 今後2-3イテレーションの計画を事前共有
499
- - チーム間の依存関係を早期に特定
500
-
501
- ## 6. コミュニケーション
502
-
503
- ### 6.1 ステークホルダーへの報告
504
-
505
- **3つのベロシティ値で予測**
506
-
507
- - 直近イテレーション:最新状況
508
- - 平均:長期トレンド
509
- - ワースト3平均:最悪ケース
510
-
511
- ### 6.2 イテレーション終了報告
512
-
513
- ```markdown
514
- # イテレーション終了報告テンプレート
515
-
516
- ## 基本情報
517
- - イテレーション: 第X回
518
- - 期間: YYYY/MM/DD - YYYY/MM/DD
519
- - 作業日数: X日
520
-
521
- ## 成果
522
- | ストーリー | 状態 | ポイント |
523
- |-----------|------|----------|
524
- | ストーリーA | 完了 | 5 |
525
- | ストーリーB | 完了 | 3 |
526
- | ストーリーC | 未完了 | 0 |
527
-
528
- ## 指標
529
- - 今回ベロシティ: Xポイント
530
- - 平均ベロシティ: Yポイント
531
- - 次イテレーション予定: Zポイント
532
-
533
- ## ふりかえり
534
- ### よかったこと
535
- - ...
536
-
537
- ### 改善点
538
- - ...
539
-
540
- ### アクション
541
- - ...
542
- ```
543
-
544
- ## 7. チェックリスト
545
-
546
- ### リリース計画チェックリスト
547
-
548
- - [ ] プロダクトオーナーの満足条件が明確
549
- - [ ] 全ストーリーにストーリーポイントを設定
550
- - [ ] 優先順位が明確(価値・コスト・知識・リスクで評価)
551
- - [ ] ベロシティ見積もりが妥当(過去実績または詳細見積もりベース)
552
- - [ ] リスクバッファを考慮
553
- - [ ] 各イテレーションの目標が明確
554
-
555
- ### イテレーション計画チェックリスト
556
-
557
- - [ ] イテレーションゴールが1-2行で表現
558
- - [ ] 全ストーリーをタスクに分解
559
- - [ ] 各タスクが4-16理想時間
560
- - [ ] チーム全員がコミット
561
- - [ ] タスクボードを準備
562
- - [ ] デイリースタンドアップの時間を設定
563
-
564
- ### 見積もりチェックリスト
565
-
566
- - [ ] 相対見積もりを実施(プランニングポーカーなど)
567
- - [ ] 見積もりスケールを統一
568
- - [ ] 全員参加で見積もり
569
- - [ ] 見積もり根拠を共有
570
- - [ ] 不確実性を考慮した幅を設定
571
-
572
- ## まとめ
573
-
574
- このガイドに従うことで、XPチームは効果的なリリース計画とイテレーション計画を作成できます。重要なのは:
575
-
576
- 1. **継続的な改善**:計画は生きた文書として更新し続ける
577
- 2. **チーム全体での合意**:見積もりと計画をチーム全員で作成
578
- 3. **価値志向**:顧客価値を最大化する優先順位付け
579
- 4. **透明性**:進捗と課題を常にオープンに共有
580
-
1
+ ---
2
+ title: リリース・イテレーション計画ガイド
3
+ description:
4
+ published: true
5
+ date: 2025-09-09T04:16:08.816Z
6
+ tags:
7
+ editor: markdown
8
+ dateCreated: 2025-09-09T04:06:20.257Z
9
+ ---
10
+
11
+ # リリース・イテレーション計画ガイド
12
+
13
+ ## はじめに
14
+
15
+ このガイドは、XPプログラマ向けのリリース計画とイテレーション計画の実用的な作成手法を提供します。アジャイルな見積もりと計画づくりの原則に基づき、現場で即座に活用できる具体的なステップとツールを含んでいます。
16
+
17
+ ## 計画の基本概念
18
+
19
+ ### アジャイルな計画づくりの原則
20
+
21
+ - **計画よりも計画づくりを重視**:
22
+
23
+ 計画は生きた文書として継続的に更新
24
+
25
+ - **変化を促進**:
26
+
27
+ 要件や状況の変化に柔軟に対応
28
+
29
+ - **フィーチャ中心**:
30
+
31
+ 顧客価値を提供するフィーチャを計画の単位に
32
+
33
+ ```plantuml
34
+ @startuml
35
+ title プランニングの階層
36
+
37
+ folder "戦略" {
38
+ folder "ポートフォリオ" {
39
+ folder "プロダクト" {
40
+ folder "リリース計画(3-6ヶ月)" {
41
+ folder "イテレーション計画(1-4週)" {
42
+ folder "日次計画" {
43
+ }
44
+ }
45
+ }
46
+ }
47
+ }
48
+ }
49
+ @enduml
50
+ ```
51
+
52
+ ### アジャイルな計画づくりプロセス
53
+
54
+ ```plantuml
55
+ @startuml
56
+
57
+ [*] --> リリース
58
+
59
+ state リリース {
60
+ 満足条件1: (ユーザーストーリー、予算、スケジュール)
61
+ 満足条件1 --> リリースプランニング
62
+ リリースプランニング --> 満足条件1
63
+ }
64
+
65
+ state イテレーション {
66
+ リリースプランニング --> 満足条件2
67
+ 満足条件2: (ユーザーストーリー、予算、スケジュール)
68
+ 満足条件2 --> イテレーションプランニング
69
+ イテレーションプランニング --> 満足条件2
70
+ イテレーションプランニング --> 開発
71
+ 開発 --> フィーチャが追加された状態
72
+ フィーチャが追加された状態 --> 満足条件2 : フィードバック
73
+ フィーチャが追加された状態 --> 満足条件1 : フィードバック
74
+ }
75
+
76
+ リリース --> [*]
77
+
78
+ @enduml
79
+ ```
80
+
81
+ ## 1. リリース計画作成プロセス
82
+
83
+ ### 1.1 リリース計画の目的
84
+
85
+ リリース計画は「いつどれだけの成果が出せるか」を判断することです。
86
+
87
+ ### 1.2 リリース計画作成手順
88
+
89
+ ```plantuml
90
+ @startuml
91
+ title リリース計画作成手順
92
+
93
+ [*] --> 満足条件を決める
94
+ 満足条件を決める --> ユーザーストーリーを見積もる
95
+
96
+ state fork_state <<fork>>
97
+ ユーザーストーリーを見積もる --> fork_state
98
+ fork_state --> ベロシティを見積もる
99
+ fork_state --> イテレーションの長さを決める
100
+ fork_state --> ユーザーストーリーに優先順位を付ける
101
+
102
+ state join_state <<join>>
103
+ ベロシティを見積もる --> join_state
104
+ イテレーションの長さを決める --> join_state
105
+ ユーザーストーリーに優先順位を付ける --> join_state
106
+
107
+ join_state --> ストーリーを選択しリリース日を決める
108
+
109
+ ストーリーを選択しリリース日を決める --> 満足条件を満たすか
110
+
111
+ state 満足条件を満たすか <<choice>>
112
+ 満足条件を満たすか --> リリース計画完成 : Yes
113
+ 満足条件を満たすか --> 満足条件を決める : No
114
+
115
+ リリース計画完成 --> [*]
116
+ @enduml
117
+ ```
118
+
119
+ #### ステップ1:
120
+
121
+ 満足条件の決定
122
+
123
+ プロダクトオーナーと協力して以下を定義:
124
+
125
+ - **スコープ**:
126
+
127
+ どんなフィーチャを含むか
128
+
129
+ - **スケジュール**:
130
+
131
+ いつまでに完成させるか
132
+
133
+ - **リソース**:
134
+
135
+ どのようなチーム構成で開発するか
136
+
137
+ #### ステップ2:
138
+
139
+ ユーザーストーリーの見積もり
140
+
141
+ **ストーリーポイント法を推奨**
142
+
143
+ ```markdown
144
+ # 見積もりスケール例
145
+ - 1, 2, 3, 5, 8, 13, 20, 40, 100
146
+
147
+ # プランニングポーカーの進め方
148
+ 1. ストーリーを読み上げ、質疑応答
149
+ 2. 全員が同時にポイントカードを提示
150
+ 3. 最大値と最小値の人が理由を説明
151
+ 4. 合意に至るまで議論・再見積もり
152
+ ```
153
+
154
+ #### ステップ3:
155
+
156
+ ベロシティの見積もり
157
+
158
+ **新チームの場合**
159
+
160
+ - 代表的なストーリーをタスクに分解
161
+ - 理想時間で見積もり
162
+ - チームの作業可能時間(1日4-6時間)と照合
163
+
164
+ **既存チームの場合**
165
+
166
+ - 過去3-8イテレーションの平均値を使用
167
+ - 以下が同じであることを確認:
168
+ - 技術スタック
169
+ - チームメンバー
170
+ - 業務分野
171
+ - 開発環境
172
+
173
+ #### ステップ4:
174
+
175
+ 優先順位の決定
176
+
177
+ **4つの評価軸**
178
+
179
+ 1. **金銭価値**:
180
+
181
+ 新規売上、効率化効果
182
+
183
+ 2. **コスト**:
184
+
185
+ 開発・運用・サポートコスト
186
+
187
+ 3. **知識習得**:
188
+
189
+ プロダクトナレッジ・プロジェクトナレッジ
190
+
191
+ 4. **リスク軽減**:
192
+
193
+ 技術的・ビジネス的リスクの低減
194
+
195
+ ### 1.3 リリース計画の更新
196
+
197
+ - 各イテレーション開始時に見直し
198
+ - ベロシティの実績値で調整
199
+ - スコープ変更の反映
200
+
201
+ ## 2. イテレーション計画作成プロセス
202
+
203
+ ### 2.1 リリース計画との違い
204
+
205
+ |項目|リリース計画|イテレーション計画|
206
+ |---|---|---|
207
+ |対象期間|3-6ヶ月|1-4週間|
208
+ |構成要素|ユーザーストーリー|タスク|
209
+ |見積単位|ストーリーポイント/理想日|理想時間|
210
+
211
+ ### 2.2 イテレーション計画作成手順
212
+
213
+ #### コミットメント駆動方式(推奨)
214
+
215
+ ```plantuml
216
+ @startuml
217
+ title コミットメント駆動のイテレーション計画作成手順
218
+
219
+ [*] --> 優先順位を調整する
220
+ 優先順位を調整する --> イテレーションゴールを決める
221
+ イテレーションゴールを決める --> ユーザーストーリーを1つ選ぶ
222
+ ユーザーストーリーを1つ選ぶ --> ストーリーをタスクに分解する
223
+ ストーリーをタスクに分解する --> タスクを見積もる
224
+ タスクを見積もる --> チームはコミットできるか
225
+
226
+ state チームはコミットできるか <<choice>>
227
+ チームはコミットできるか --> ユーザーストーリーを1つ選ぶ : できる(余裕あり)
228
+ チームはコミットできるか --> ストーリーを減らす : できない
229
+ チームはコミットできるか --> イテレーション計画完成 : できる(限界)
230
+
231
+ ストーリーを減らす --> チームはコミットできるか
232
+
233
+ イテレーション計画完成 --> [*]
234
+ @enduml
235
+ ```
236
+
237
+ #### ステップ1:
238
+
239
+ イテレーションゴールの設定
240
+
241
+ - 1-2行でイテレーションで達成することを記述
242
+ - チーム全員が理解できる明確な目標
243
+ - フィーチャの価値に焦点を当てる
244
+
245
+ #### ステップ2:
246
+
247
+ ストーリーのタスク分解
248
+
249
+ **良いタスクの特徴**
250
+
251
+ - 4-16理想時間で完了可能
252
+ - 具体的で実行可能
253
+ - 測定可能(完了/未完了が判断可能)
254
+
255
+ **タスクの種類**
256
+
257
+ - 開発タスク(設計、実装、単体テスト)
258
+ - 統合タスク(システム統合、統合テスト)
259
+ - その他(ドキュメント作成、環境構築)
260
+ - スパイク(調査・検証タスク)
261
+
262
+ #### ステップ3:
263
+
264
+ 理想時間での見積もり
265
+
266
+ ```markdown
267
+ # 理想時間の原則
268
+ - 割り込みや会議を除いた純粋な作業時間
269
+ - 個人差は考慮しない(チーム平均で考える)
270
+ - 1つの値で見積もる(幅を持たせない)
271
+
272
+ # 見積もりのガイドライン
273
+ - 1-2時間:简单な修正、設定変更
274
+ - 4-8時間:標準的な機能実装
275
+ - 12-16時間:複雑な機能、新技術の習得を伴う
276
+ ```
277
+
278
+ ### 2.3 イテレーションの実行
279
+
280
+ #### デイリースタンドアップ
281
+
282
+ 毎日の進捗確認で以下を共有:
283
+
284
+ - 昨日やったこと
285
+ - 今日やること
286
+ - 障害・ブロッカー
287
+
288
+ #### タスクボードの活用
289
+
290
+ ```markdown
291
+ # タスクボード構成
292
+ | TODO | 作業中 | レビュー | 完了 |
293
+ |------|--------|----------|------|
294
+ | タスク1 | タスク2 | タスク3 | タスク4 |
295
+ ```
296
+
297
+ ## 3. 見積もりのベストプラクティス
298
+
299
+ ### 3.1 ストーリーポイント vs 理想日
300
+
301
+ **ストーリーポイントの利点**
302
+
303
+ - 純粋な規模の見積もり
304
+ - チームスキル向上による再見積もりが不要
305
+ - チーム横断での比較が可能
306
+ - 相対見積もりで精度が高い
307
+
308
+ **理想日の利点**
309
+
310
+ - 初心者に理解しやすい
311
+ - 時間感覚との対応が直感的
312
+
313
+ ### 3.2 見積もり精度の向上
314
+
315
+ **不確実性コーンの活用**
316
+
317
+ ```plantuml
318
+ @startuml
319
+ title 不確実性コーン
320
+
321
+ left to right direction
322
+
323
+ rectangle "プロジェクト開始\n±4倍の誤差" as start #lightcoral
324
+ rectangle "要件定義完了\n±2倍の誤差" as req #yellow
325
+ rectangle "設計完了\n±1.5倍の誤差" as design #lightgreen
326
+ rectangle "実装完了\n±1.25倍の誤差" as impl #lightblue
327
+
328
+ start --> req : 時間の経過
329
+ req --> design : 時間の経過
330
+ design --> impl : 時間の経過
331
+
332
+ note bottom of start : 最も不確実
333
+ note bottom of impl : 最も確実
334
+ @enduml
335
+ ```
336
+
337
+ **見積もりの改善方法**
338
+
339
+ - 過去の実績データを蓄積
340
+ - 見積もりと実績の差分を分析
341
+ - チームで見積もり基準を統一
342
+
343
+ ### 3.3 再見積もりのタイミング
344
+
345
+ 以下の場合に再見積もりを実施:
346
+
347
+
348
+ - ストーリーの相対的な大きさが変わった
349
+ - 新しい技術・業務知識を習得した
350
+ - チーム構成が大きく変わった
351
+
352
+ **注意**:進捗の遅れのみでは再見積もりしない
353
+
354
+ ## 4. 進捗管理とモニタリング
355
+
356
+ ### 4.0 全体スケジュール管理
357
+
358
+ **リリース全体のガントチャート**
359
+
360
+ ```mermaid
361
+ gantt
362
+ title リリース計画全体スケジュール(6ヶ月)
363
+ dateFormat YYYY-MM-DD
364
+
365
+ section リリース1
366
+ イテレーション1(計画・環境構築) :done, iter1, 2024-01-01, 2w
367
+ イテレーション2(基本機能開発) :done, iter2, after iter1, 2w
368
+ イテレーション3(コア機能実装) :active, iter3, after iter2, 2w
369
+ イテレーション4(統合・改善) : iter4, after iter3, 2w
370
+
371
+ section リリース2
372
+ イテレーション5(新機能開発) : iter5, after iter4, 2w
373
+ イテレーション6(パフォーマンス改善) : iter6, after iter5, 2w
374
+ イテレーション7(UI/UX改善) : iter7, after iter6, 2w
375
+ イテレーション8(バグ修正・安定化) : iter8, after iter7, 2w
376
+
377
+ section リリース3
378
+ イテレーション9(拡張機能開発) : iter9, after iter8, 2w
379
+ イテレーション10(セキュリティ強化) : iter10, after iter9, 2w
380
+ イテレーション11(最終統合) : iter11, after iter10, 2w
381
+ イテレーション12(リリース準備) :crit, iter12, after iter11, 2w
382
+
383
+ section マイルストーン
384
+ リリース1.0(MVP) :milestone, m1, after iter4, 0d
385
+ リリース2.0(機能拡張版) :milestone, m2, after iter8, 0d
386
+ リリース3.0(完成版) :milestone, m3, after iter12, 0d
387
+ ```
388
+
389
+ **イテレーション内のストーリー進捗ガントチャート**
390
+
391
+ ```mermaid
392
+ gantt
393
+ title イテレーション3の詳細スケジュール(2週間)
394
+ dateFormat YYYY-MM-DD
395
+ axisFormat %m/%d
396
+
397
+ section ユーザー管理
398
+ ログイン機能 :done, story1, 2024-02-01, 3d
399
+ ユーザー登録 :active, story2, after story1, 2d
400
+ パスワードリセット : story3, after story2, 2d
401
+
402
+ section 商品管理
403
+ 商品一覧表示 :done, story4, 2024-02-01, 2d
404
+ 商品詳細表示 :active, story5, after story4, 2d
405
+ 商品検索機能 : story6, after story5, 3d
406
+
407
+ section 注文処理
408
+ カート機能 : story7, 2024-02-05, 3d
409
+ 注文確認画面 : story8, after story7, 2d
410
+ 決済処理 :crit, story9, after story8, 2d
411
+
412
+ section 共通タスク
413
+ デイリースタンドアップ :daily, 2024-02-01, 10d
414
+ イテレーションレビュー :milestone, review, 2024-02-14, 0d
415
+ ```
416
+
417
+ ### 4.1 ベロシティの計算
418
+
419
+ **オール・オア・ナッシング方式**
420
+
421
+ - 完全に完了したストーリーのみポイント加算
422
+ - 未完了ストーリーはゼロポイント
423
+
424
+ ```mermaid
425
+ xychart-beta
426
+ title "ベロシティ推移"
427
+ x-axis ["イテ1", "イテ2", "イテ3", "イテ4", "イテ5", "イテ6"]
428
+ y-axis "ストーリーポイント" 0 --> 25
429
+ bar [15, 18, 14, 19, 17, 20]
430
+ line [17, 17, 17, 17, 17, 17]
431
+ ```
432
+
433
+ ### 4.2 バーンダウンチャート
434
+
435
+ **リリースバーンダウンチャート**
436
+
437
+ ```mermaid
438
+ xychart-beta
439
+ title "リリースバーンダウンチャート"
440
+ x-axis ["イテ1", "イテ2", "イテ3", "イテ4", "イテ5", "イテ6"]
441
+ y-axis "残ストーリーポイント" 0 --> 100
442
+ line [80, 65, 48, 30, 15, 0]
443
+ ```
444
+
445
+ **イテレーションバーンダウンチャート**
446
+
447
+ ```mermaid
448
+ xychart-beta
449
+ title "イテレーションバーンダウンチャート"
450
+ x-axis ["1日目", "2日目", "3日目", "4日目", "5日目", "6日目", "7日目", "8日目", "9日目", "10日目"]
451
+ y-axis "残り理想時間" 0 --> 80
452
+ line [80, 75, 68, 60, 50, 38, 25, 15, 8, 0]
453
+ ```
454
+
455
+ ### 4.3 パーキングロットチャート
456
+
457
+ テーマ単位での進捗可視化
458
+
459
+ ```plantuml
460
+ @startuml
461
+ rectangle "ユーザー管理" as theme1 #lightgreen
462
+ note right of theme1 : 進捗: 8/10 (80%)
463
+
464
+ rectangle "商品管理" as theme2 #yellow
465
+ note right of theme2 : 進捗: 3/8 (38%)
466
+
467
+ rectangle "注文処理" as theme3 #lightcoral
468
+ note right of theme3 : 進捗: 1/6 (17%)
469
+
470
+ rectangle "レポート機能" as theme4 #lightgray
471
+ note right of theme4 : 進捗: 0/4 (0%)
472
+ @enduml
473
+ ```
474
+
475
+ ## 5. リスクマネジメント
476
+
477
+ ### 5.1 バッファ計画
478
+
479
+ **フィーチャバッファ**
480
+
481
+ - 重要度の低いフィーチャを30%程度用意
482
+ - スケジュール遅延時に削除対象とする
483
+
484
+ **スケジュールバッファ**
485
+
486
+ - 各ストーリーの50%見積もりと90%見積もりの差の平方の合計の平方根
487
+ - 不確実性に対するスケジュール的余裕
488
+
489
+ ### 5.2 複数チーム間の調整
490
+
491
+ **共通見積もり基準の確立**
492
+
493
+ - 全チーム共通のストーリーポイントスケール
494
+ - 基準ストーリーの共有と合意
495
+
496
+ **移動する先読み範囲**
497
+
498
+ - 今後2-3イテレーションの計画を事前共有
499
+ - チーム間の依存関係を早期に特定
500
+
501
+ ## 6. コミュニケーション
502
+
503
+ ### 6.1 ステークホルダーへの報告
504
+
505
+ **3つのベロシティ値で予測**
506
+
507
+ - 直近イテレーション:最新状況
508
+ - 平均:長期トレンド
509
+ - ワースト3平均:最悪ケース
510
+
511
+ ### 6.2 イテレーション終了報告
512
+
513
+ ```markdown
514
+ # イテレーション終了報告テンプレート
515
+
516
+ ## 基本情報
517
+ - イテレーション: 第X回
518
+ - 期間: YYYY/MM/DD - YYYY/MM/DD
519
+ - 作業日数: X日
520
+
521
+ ## 成果
522
+ | ストーリー | 状態 | ポイント |
523
+ |-----------|------|----------|
524
+ | ストーリーA | 完了 | 5 |
525
+ | ストーリーB | 完了 | 3 |
526
+ | ストーリーC | 未完了 | 0 |
527
+
528
+ ## 指標
529
+ - 今回ベロシティ: Xポイント
530
+ - 平均ベロシティ: Yポイント
531
+ - 次イテレーション予定: Zポイント
532
+
533
+ ## ふりかえり
534
+ ### よかったこと
535
+ - ...
536
+
537
+ ### 改善点
538
+ - ...
539
+
540
+ ### アクション
541
+ - ...
542
+ ```
543
+
544
+ ## 7. チェックリスト
545
+
546
+ ### リリース計画チェックリスト
547
+
548
+ - [ ] プロダクトオーナーの満足条件が明確
549
+ - [ ] 全ストーリーにストーリーポイントを設定
550
+ - [ ] 優先順位が明確(価値・コスト・知識・リスクで評価)
551
+ - [ ] ベロシティ見積もりが妥当(過去実績または詳細見積もりベース)
552
+ - [ ] リスクバッファを考慮
553
+ - [ ] 各イテレーションの目標が明確
554
+
555
+ ### イテレーション計画チェックリスト
556
+
557
+ - [ ] イテレーションゴールが1-2行で表現
558
+ - [ ] 全ストーリーをタスクに分解
559
+ - [ ] 各タスクが4-16理想時間
560
+ - [ ] チーム全員がコミット
561
+ - [ ] タスクボードを準備
562
+ - [ ] デイリースタンドアップの時間を設定
563
+
564
+ ### 見積もりチェックリスト
565
+
566
+ - [ ] 相対見積もりを実施(プランニングポーカーなど)
567
+ - [ ] 見積もりスケールを統一
568
+ - [ ] 全員参加で見積もり
569
+ - [ ] 見積もり根拠を共有
570
+ - [ ] 不確実性を考慮した幅を設定
571
+
572
+ ## まとめ
573
+
574
+ このガイドに従うことで、XPチームは効果的なリリース計画とイテレーション計画を作成できます。重要なのは:
575
+
576
+ 1. **継続的な改善**:計画は生きた文書として更新し続ける
577
+ 2. **チーム全体での合意**:見積もりと計画をチーム全員で作成
578
+ 3. **価値志向**:顧客価値を最大化する優先順位付け
579
+ 4. **透明性**:進捗と課題を常にオープンに共有
580
+
581
581
  定期的にこのガイドを見直し、チームの状況に合わせてカスタマイズしてください。