@k2works/claude-code-booster 4.11.0 → 4.12.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.
- package/LICENSE +21 -21
- package/README.md +42 -42
- package/bin/claude-code-booster +90 -90
- package/lib/assets/.claude/README.md +281 -279
- package/lib/assets/.claude/agents/xp-architect.md +250 -250
- package/lib/assets/.claude/agents/xp-executive.md +207 -207
- package/lib/assets/.claude/agents/xp-interaction-designer.md +239 -239
- package/lib/assets/.claude/agents/xp-product-manager.md +245 -245
- package/lib/assets/.claude/agents/xp-programmer.md +268 -268
- package/lib/assets/.claude/agents/xp-project-manager.md +229 -229
- package/lib/assets/.claude/agents/xp-technical-writer.md +224 -224
- package/lib/assets/.claude/agents/xp-tester.md +265 -265
- package/lib/assets/.claude/agents/xp-user-representative.md +204 -204
- package/lib/assets/.claude/scripts/generate-inception-deck.mjs +911 -911
- package/lib/assets/.claude/settings.json +11 -11
- package/lib/assets/.claude/skills/ai-agent-guidelines/SKILL.md +111 -111
- package/lib/assets/.claude/skills/analyzing-architecture/SKILL.md +83 -83
- package/lib/assets/.claude/skills/analyzing-business-architecture/SKILL.md +122 -122
- package/lib/assets/.claude/skills/analyzing-business-case/SKILL.md +148 -148
- package/lib/assets/.claude/skills/analyzing-business-strategy/SKILL.md +277 -277
- package/lib/assets/.claude/skills/analyzing-data-model/SKILL.md +77 -77
- package/lib/assets/.claude/skills/analyzing-domain-model/SKILL.md +117 -117
- package/lib/assets/.claude/skills/analyzing-inception-deck/SKILL.md +84 -84
- package/lib/assets/.claude/skills/analyzing-non-functional/SKILL.md +95 -95
- package/lib/assets/.claude/skills/analyzing-operation/SKILL.md +95 -95
- package/lib/assets/.claude/skills/analyzing-requirements/SKILL.md +91 -91
- package/lib/assets/.claude/skills/analyzing-review/SKILL.md +174 -174
- package/lib/assets/.claude/skills/analyzing-tech-stack/SKILL.md +101 -101
- package/lib/assets/.claude/skills/analyzing-test-strategy/SKILL.md +89 -89
- package/lib/assets/.claude/skills/analyzing-ui-design/SKILL.md +80 -80
- package/lib/assets/.claude/skills/analyzing-usecases/SKILL.md +72 -72
- package/lib/assets/.claude/skills/closing-iteration/SKILL.md +129 -0
- package/lib/assets/.claude/skills/creating-adr/SKILL.md +113 -113
- package/lib/assets/.claude/skills/creating-development-strategy/SKILL.md +101 -101
- package/lib/assets/.claude/skills/creating-iteration-report/SKILL.md +210 -210
- package/lib/assets/.claude/skills/creating-journal/SKILL.md +129 -129
- package/lib/assets/.claude/skills/creating-release-report/SKILL.md +161 -161
- package/lib/assets/.claude/skills/creating-slides/SKILL.md +86 -86
- package/lib/assets/.claude/skills/creating-slides/agents/openai.yaml +4 -4
- package/lib/assets/.claude/skills/creating-slides/references/manga-css.md +45 -45
- package/lib/assets/.claude/skills/creating-slides/scripts/slide_tools.py +239 -239
- package/lib/assets/.claude/skills/developing-backend/SKILL.md +100 -100
- package/lib/assets/.claude/skills/developing-frontend/SKILL.md +93 -93
- package/lib/assets/.claude/skills/developing-release/SKILL.md +120 -120
- package/lib/assets/.claude/skills/developing-review/SKILL.md +175 -175
- package/lib/assets/.claude/skills/developing-uiux-review/SKILL.md +207 -207
- package/lib/assets/.claude/skills/generating-bmc/SKILL.md +123 -123
- package/lib/assets/.claude/skills/generating-slides/SKILL.md +94 -94
- package/lib/assets/.claude/skills/git-commit/SKILL.md +81 -81
- package/lib/assets/.claude/skills/killing-processes/SKILL.md +44 -44
- package/lib/assets/.claude/skills/opening-iteration/SKILL.md +105 -0
- package/lib/assets/.claude/skills/operating-backup/SKILL.md +59 -59
- package/lib/assets/.claude/skills/operating-cicd/SKILL.md +54 -54
- package/lib/assets/.claude/skills/operating-deploy/SKILL.md +67 -67
- package/lib/assets/.claude/skills/operating-docs/SKILL.md +219 -219
- package/lib/assets/.claude/skills/operating-provision/SKILL.md +77 -77
- package/lib/assets/.claude/skills/operating-qt/SKILL.md +147 -147
- package/lib/assets/.claude/skills/operating-review/SKILL.md +171 -171
- package/lib/assets/.claude/skills/operating-script/SKILL.md +145 -145
- package/lib/assets/.claude/skills/operating-setup/SKILL.md +63 -63
- package/lib/assets/.claude/skills/orchestrating-analysis/SKILL.md +104 -104
- package/lib/assets/.claude/skills/orchestrating-development/SKILL.md +168 -168
- package/lib/assets/.claude/skills/orchestrating-operation/SKILL.md +158 -158
- package/lib/assets/.claude/skills/orchestrating-project/SKILL.md +144 -144
- package/lib/assets/.claude/skills/planning-releases/SKILL.md +119 -119
- package/lib/assets/.claude/skills/practicing-getting-start-tdd/SKILL.md +266 -266
- package/lib/assets/.claude/skills/syncing-github-project/SKILL.md +151 -151
- package/lib/assets/.claude/skills/tracking-progress/SKILL.md +91 -91
- package/lib/assets/.claude/skills/validating-design/SKILL.md +130 -130
- package/lib/assets/.claude/skills/validating-iteration-plan/SKILL.md +238 -238
- package/lib/assets/.claude/skills/validating-operating-setup/SKILL.md +118 -118
- package/lib/assets/.devcontainer/devcontainer.json +37 -37
- package/lib/assets/.env.example +17 -17
- package/lib/assets/.gitattributes +4 -4
- package/lib/assets/.github/workflows/docker-publish.yml +77 -77
- package/lib/assets/.github/workflows/mkdocs.yml +39 -39
- package/lib/assets/AGENTS.md +94 -94
- package/lib/assets/CLAUDE.md +197 -195
- package/lib/assets/README.md +291 -291
- package/lib/assets/docker-compose.yml +33 -33
- package/lib/assets/docs/adr/index.md +10 -10
- package/lib/assets/docs/article/functional-desgin-ppp/all/01-immutability-and-data-transformation.md +475 -475
- package/lib/assets/docs/article/functional-desgin-ppp/all/02-function-composition.md +519 -519
- package/lib/assets/docs/article/functional-desgin-ppp/all/03-polymorphism.md +537 -537
- package/lib/assets/docs/article/functional-desgin-ppp/all/04-data-validation.md +300 -300
- package/lib/assets/docs/article/functional-desgin-ppp/all/05-property-based-testing.md +320 -320
- package/lib/assets/docs/article/functional-desgin-ppp/all/06-tdd-and-functional.md +498 -498
- package/lib/assets/docs/article/functional-desgin-ppp/all/07-composite-pattern.md +298 -298
- package/lib/assets/docs/article/functional-desgin-ppp/all/08-decorator-pattern.md +291 -291
- package/lib/assets/docs/article/functional-desgin-ppp/all/09-adapter-pattern.md +336 -336
- package/lib/assets/docs/article/functional-desgin-ppp/all/10-strategy-pattern.md +303 -303
- package/lib/assets/docs/article/functional-desgin-ppp/all/11-command-pattern.md +286 -286
- package/lib/assets/docs/article/functional-desgin-ppp/all/12-visitor-pattern.md +322 -322
- package/lib/assets/docs/article/functional-desgin-ppp/all/13-abstract-factory-pattern.md +319 -319
- package/lib/assets/docs/article/functional-desgin-ppp/all/14-abstract-server-pattern.md +365 -365
- package/lib/assets/docs/article/functional-desgin-ppp/all/15-gossiping-bus-drivers.md +156 -156
- package/lib/assets/docs/article/functional-desgin-ppp/all/16-payroll-system.md +178 -178
- package/lib/assets/docs/article/functional-desgin-ppp/all/17-video-rental-system.md +312 -312
- package/lib/assets/docs/article/functional-desgin-ppp/all/18-concurrency-system.md +287 -287
- package/lib/assets/docs/article/functional-desgin-ppp/all/19-wa-tor-simulation.md +286 -286
- package/lib/assets/docs/article/functional-desgin-ppp/all/20-pattern-interactions.md +274 -274
- package/lib/assets/docs/article/functional-desgin-ppp/all/21-best-practices.md +294 -294
- package/lib/assets/docs/article/functional-desgin-ppp/all/22-oo-to-fp-migration.md +337 -337
- package/lib/assets/docs/article/functional-desgin-ppp/all/index.md +388 -388
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/01-immutability-and-data-transformation.md +273 -273
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/02-function-composition.md +380 -380
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/03-polymorphism.md +384 -384
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/04-clojure-spec.md +350 -350
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/05-property-based-testing.md +352 -352
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/06-tdd-in-functional.md +383 -383
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/07-composite-pattern.md +529 -529
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/08-decorator-pattern.md +395 -395
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/09-adapter-pattern.md +399 -399
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/10-strategy-pattern.md +485 -485
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/11-command-pattern.md +566 -566
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/12-visitor-pattern.md +567 -567
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/13-abstract-factory-pattern.md +475 -475
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/14-abstract-server-pattern.md +462 -462
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/15-gossiping-bus-drivers.md +325 -325
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/16-payroll-system.md +401 -401
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/17-video-rental-system.md +450 -450
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/18-concurrency-system.md +475 -475
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/19-wator-simulation.md +739 -739
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/20-pattern-interactions.md +567 -567
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/21-best-practices.md +518 -518
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/22-oo-to-fp-migration.md +532 -532
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/index.md +241 -241
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/01-immutability-and-data-transformation.md +383 -383
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/02-function-composition.md +374 -374
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/03-polymorphism.md +375 -375
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/04-data-validation.md +195 -195
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/05-property-based-testing.md +268 -268
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/06-tdd-and-fp.md +294 -294
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/07-effects-and-pure-functions.md +164 -164
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/08-error-handling-strategies.md +168 -168
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/09-io-and-external-systems.md +254 -254
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/10-concurrency-patterns.md +269 -269
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/11-command-pattern.md +148 -148
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/12-visitor-pattern.md +176 -176
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/13-abstract-factory-pattern.md +604 -604
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/14-abstract-server-pattern.md +729 -729
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/15-gossiping-bus-drivers.md +291 -291
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/16-payroll-system.md +420 -420
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/17-video-rental-system.md +319 -319
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/18-concurrency-system.md +466 -466
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/19-wator-simulation.md +523 -523
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/20-pattern-interactions.md +287 -287
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/21-best-practices.md +340 -340
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/22-oo-to-fp-migration.md +395 -395
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/index.md +248 -248
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/01-immutability-and-data-transformation.md +384 -384
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/02-function-composition.md +452 -452
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/03-polymorphism.md +495 -495
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/04-data-validation.md +416 -416
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/05-property-based-testing.md +382 -382
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/06-tdd-functional.md +687 -687
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/07-composite-pattern.md +442 -442
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/08-decorator-pattern.md +479 -479
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/09-adapter-pattern.md +479 -479
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/10-strategy-pattern.md +427 -427
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/11-command-pattern.md +428 -428
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/12-visitor-pattern.md +339 -339
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/13-abstract-factory-pattern.md +309 -309
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/14-abstract-server-pattern.md +596 -596
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/15-gossiping-bus-drivers.md +355 -355
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/16-payroll-system.md +350 -350
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/17-video-rental-system.md +414 -414
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/18-concurrency-system.md +367 -367
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/19-wator-simulation.md +403 -403
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/20-pattern-interactions.md +291 -291
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/21-best-practices.md +324 -324
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/22-oo-to-fp-migration.md +332 -332
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/index.md +274 -274
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/01-immutability-and-data-transformation.md +298 -298
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/02-function-composition.md +304 -304
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/03-polymorphism.md +362 -362
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/04-data-validation.md +257 -257
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/05-property-based-testing.md +254 -254
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/06-tdd-functional.md +283 -283
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/07-composite-pattern.md +395 -395
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/08-decorator-pattern.md +319 -319
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/09-adapter-pattern.md +382 -382
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/10-strategy-pattern.md +287 -287
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/11-command-pattern.md +303 -303
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/12-visitor-pattern.md +326 -326
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/13-abstract-factory-pattern.md +332 -332
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/14-abstract-server-pattern.md +379 -379
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/15-gossiping-bus-drivers.md +177 -177
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/16-payroll-system.md +219 -219
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/17-video-rental-system.md +244 -244
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/18-concurrency-system.md +363 -363
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/19-wator-simulation.md +438 -438
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/20-pattern-interactions.md +325 -325
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/21-best-practices.md +403 -403
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/22-oo-to-fp-migration.md +469 -469
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/index.md +174 -174
- package/lib/assets/docs/article/functional-desgin-ppp/index.md +90 -90
- package/lib/assets/docs/article/functional-desgin-ppp/rust/01-immutability-and-data-transformation.md +450 -450
- package/lib/assets/docs/article/functional-desgin-ppp/rust/02-function-composition.md +463 -463
- package/lib/assets/docs/article/functional-desgin-ppp/rust/03-polymorphism.md +425 -425
- package/lib/assets/docs/article/functional-desgin-ppp/rust/04-data-validation.md +273 -273
- package/lib/assets/docs/article/functional-desgin-ppp/rust/05-property-based-testing.md +247 -247
- package/lib/assets/docs/article/functional-desgin-ppp/rust/06-tdd-and-functional.md +841 -841
- package/lib/assets/docs/article/functional-desgin-ppp/rust/07-composite-pattern.md +384 -384
- package/lib/assets/docs/article/functional-desgin-ppp/rust/08-decorator-pattern.md +383 -383
- package/lib/assets/docs/article/functional-desgin-ppp/rust/09-adapter-pattern.md +339 -339
- package/lib/assets/docs/article/functional-desgin-ppp/rust/10-strategy-pattern.md +331 -331
- package/lib/assets/docs/article/functional-desgin-ppp/rust/11-command-pattern.md +356 -356
- package/lib/assets/docs/article/functional-desgin-ppp/rust/12-visitor-pattern.md +379 -379
- package/lib/assets/docs/article/functional-desgin-ppp/rust/13-abstract-factory-pattern.md +361 -361
- package/lib/assets/docs/article/functional-desgin-ppp/rust/14-abstract-server-pattern.md +392 -392
- package/lib/assets/docs/article/functional-desgin-ppp/rust/15-gossiping-bus-drivers.md +300 -300
- package/lib/assets/docs/article/functional-desgin-ppp/rust/16-payroll-system.md +297 -297
- package/lib/assets/docs/article/functional-desgin-ppp/rust/17-video-rental-system.md +304 -304
- package/lib/assets/docs/article/functional-desgin-ppp/rust/18-concurrency-system.md +315 -315
- package/lib/assets/docs/article/functional-desgin-ppp/rust/19-wator-simulation.md +311 -311
- package/lib/assets/docs/article/functional-desgin-ppp/rust/20-pattern-interactions.md +304 -304
- package/lib/assets/docs/article/functional-desgin-ppp/rust/21-best-practices.md +336 -336
- package/lib/assets/docs/article/functional-desgin-ppp/rust/22-oo-to-fp-migration.md +349 -349
- package/lib/assets/docs/article/functional-desgin-ppp/rust/index.md +243 -243
- package/lib/assets/docs/article/functional-desgin-ppp/scala/01-immutability-and-data-transformation.md +328 -328
- package/lib/assets/docs/article/functional-desgin-ppp/scala/02-function-composition.md +348 -348
- package/lib/assets/docs/article/functional-desgin-ppp/scala/03-polymorphism.md +357 -357
- package/lib/assets/docs/article/functional-desgin-ppp/scala/04-data-validation.md +364 -364
- package/lib/assets/docs/article/functional-desgin-ppp/scala/05-property-based-testing.md +515 -515
- package/lib/assets/docs/article/functional-desgin-ppp/scala/06-tdd-functional.md +557 -557
- package/lib/assets/docs/article/functional-desgin-ppp/scala/07-composite-pattern.md +363 -363
- package/lib/assets/docs/article/functional-desgin-ppp/scala/08-decorator-pattern.md +327 -327
- package/lib/assets/docs/article/functional-desgin-ppp/scala/09-adapter-pattern.md +517 -517
- package/lib/assets/docs/article/functional-desgin-ppp/scala/10-strategy-pattern.md +441 -441
- package/lib/assets/docs/article/functional-desgin-ppp/scala/11-command-pattern.md +407 -407
- package/lib/assets/docs/article/functional-desgin-ppp/scala/12-visitor-pattern.md +379 -379
- package/lib/assets/docs/article/functional-desgin-ppp/scala/13-abstract-factory-pattern.md +398 -398
- package/lib/assets/docs/article/functional-desgin-ppp/scala/14-abstract-server-pattern.md +476 -476
- package/lib/assets/docs/article/functional-desgin-ppp/scala/15-gossiping-bus-drivers.md +391 -391
- package/lib/assets/docs/article/functional-desgin-ppp/scala/16-payroll-system.md +342 -342
- package/lib/assets/docs/article/functional-desgin-ppp/scala/17-video-rental-system.md +324 -324
- package/lib/assets/docs/article/functional-desgin-ppp/scala/18-concurrency-system.md +730 -730
- package/lib/assets/docs/article/functional-desgin-ppp/scala/19-wator-simulation.md +624 -624
- package/lib/assets/docs/article/functional-desgin-ppp/scala/20-pattern-interactions.md +512 -512
- package/lib/assets/docs/article/functional-desgin-ppp/scala/21-best-practices.md +433 -433
- package/lib/assets/docs/article/functional-desgin-ppp/scala/22-oo-to-fp-migration.md +688 -688
- package/lib/assets/docs/article/functional-desgin-ppp/scala/index.md +243 -243
- package/lib/assets/docs/article/getting-start-tdd/clojure/01-todo-list-and-first-test.md +166 -166
- package/lib/assets/docs/article/getting-start-tdd/clojure/02-fake-it-and-triangulation.md +162 -162
- package/lib/assets/docs/article/getting-start-tdd/clojure/03-obvious-implementation-and-refactoring.md +135 -135
- package/lib/assets/docs/article/getting-start-tdd/clojure/04-version-control-and-conventional-commits.md +88 -88
- package/lib/assets/docs/article/getting-start-tdd/clojure/05-package-management-and-static-analysis.md +299 -299
- package/lib/assets/docs/article/getting-start-tdd/clojure/06-task-runner-and-ci-cd.md +241 -241
- package/lib/assets/docs/article/getting-start-tdd/clojure/07-protocols-and-records.md +131 -131
- package/lib/assets/docs/article/getting-start-tdd/clojure/08-multimethods-and-design-patterns.md +130 -130
- package/lib/assets/docs/article/getting-start-tdd/clojure/09-namespaces-and-module-design.md +127 -127
- package/lib/assets/docs/article/getting-start-tdd/clojure/10-higher-order-functions-and-composition.md +114 -114
- package/lib/assets/docs/article/getting-start-tdd/clojure/11-persistent-data-and-pipeline.md +138 -138
- package/lib/assets/docs/article/getting-start-tdd/clojure/12-error-handling-and-spec.md +161 -161
- package/lib/assets/docs/article/getting-start-tdd/clojure/index.md +65 -65
- package/lib/assets/docs/article/getting-start-tdd/csharp/chapter01.md +232 -232
- package/lib/assets/docs/article/getting-start-tdd/csharp/chapter02.md +244 -244
- package/lib/assets/docs/article/getting-start-tdd/csharp/chapter03.md +202 -202
- package/lib/assets/docs/article/getting-start-tdd/csharp/chapter04.md +92 -92
- package/lib/assets/docs/article/getting-start-tdd/csharp/chapter05.md +256 -256
- package/lib/assets/docs/article/getting-start-tdd/csharp/chapter06.md +195 -195
- package/lib/assets/docs/article/getting-start-tdd/csharp/chapter07.md +214 -214
- package/lib/assets/docs/article/getting-start-tdd/csharp/chapter08.md +249 -249
- package/lib/assets/docs/article/getting-start-tdd/csharp/chapter09.md +174 -174
- package/lib/assets/docs/article/getting-start-tdd/csharp/chapter10.md +166 -166
- package/lib/assets/docs/article/getting-start-tdd/csharp/chapter11.md +192 -192
- package/lib/assets/docs/article/getting-start-tdd/csharp/chapter12.md +211 -211
- package/lib/assets/docs/article/getting-start-tdd/csharp/index.md +83 -83
- package/lib/assets/docs/article/getting-start-tdd/elixir/01-todo-list-and-first-test.md +87 -87
- package/lib/assets/docs/article/getting-start-tdd/elixir/02-fake-it-and-triangulation.md +95 -95
- package/lib/assets/docs/article/getting-start-tdd/elixir/03-obvious-implementation-and-refactoring.md +109 -109
- package/lib/assets/docs/article/getting-start-tdd/elixir/04-version-control-and-conventional-commits.md +96 -96
- package/lib/assets/docs/article/getting-start-tdd/elixir/05-package-management-and-static-analysis.md +88 -88
- package/lib/assets/docs/article/getting-start-tdd/elixir/06-task-runner-and-ci-cd.md +71 -71
- package/lib/assets/docs/article/getting-start-tdd/elixir/07-structs-and-protocols.md +110 -110
- package/lib/assets/docs/article/getting-start-tdd/elixir/08-pattern-matching-and-guards.md +108 -108
- package/lib/assets/docs/article/getting-start-tdd/elixir/09-module-design-and-behaviours.md +104 -104
- package/lib/assets/docs/article/getting-start-tdd/elixir/10-higher-order-functions-and-pipeline.md +178 -178
- package/lib/assets/docs/article/getting-start-tdd/elixir/11-stream-and-lazy-evaluation.md +142 -142
- package/lib/assets/docs/article/getting-start-tdd/elixir/12-error-handling-and-with.md +145 -145
- package/lib/assets/docs/article/getting-start-tdd/elixir/index.md +35 -35
- package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter01.md +202 -202
- package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter02.md +246 -246
- package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter03.md +218 -218
- package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter04.md +179 -179
- package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter05.md +267 -267
- package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter06.md +190 -190
- package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter07.md +161 -161
- package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter08.md +175 -175
- package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter09.md +222 -222
- package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter10.md +189 -189
- package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter11.md +212 -212
- package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter12.md +215 -215
- package/lib/assets/docs/article/getting-start-tdd/fsharp/index.md +71 -71
- package/lib/assets/docs/article/getting-start-tdd/go/01-todo-list-and-first-test.md +213 -213
- package/lib/assets/docs/article/getting-start-tdd/go/02-fake-it-and-triangulation.md +302 -302
- package/lib/assets/docs/article/getting-start-tdd/go/03-obvious-implementation-and-refactoring.md +339 -339
- package/lib/assets/docs/article/getting-start-tdd/go/04-version-control-and-conventional-commits.md +112 -112
- package/lib/assets/docs/article/getting-start-tdd/go/05-package-management-and-static-analysis.md +272 -272
- package/lib/assets/docs/article/getting-start-tdd/go/06-task-runner-and-ci-cd.md +233 -233
- package/lib/assets/docs/article/getting-start-tdd/go/07-encapsulation-and-polymorphism.md +394 -394
- package/lib/assets/docs/article/getting-start-tdd/go/08-design-patterns.md +422 -422
- package/lib/assets/docs/article/getting-start-tdd/go/09-solid-principles-and-module-design.md +400 -400
- package/lib/assets/docs/article/getting-start-tdd/go/10-higher-order-functions-and-composition.md +226 -226
- package/lib/assets/docs/article/getting-start-tdd/go/11-immutable-data-and-pipeline.md +296 -296
- package/lib/assets/docs/article/getting-start-tdd/go/12-error-handling-and-type-safety.md +411 -411
- package/lib/assets/docs/article/getting-start-tdd/go/index.md +83 -83
- package/lib/assets/docs/article/getting-start-tdd/haskell/01-todo-list-and-first-test.md +279 -279
- package/lib/assets/docs/article/getting-start-tdd/haskell/02-fake-it-and-triangulation.md +337 -337
- package/lib/assets/docs/article/getting-start-tdd/haskell/03-obvious-implementation-and-refactoring.md +257 -257
- package/lib/assets/docs/article/getting-start-tdd/haskell/04-version-control-and-conventional-commits.md +182 -182
- package/lib/assets/docs/article/getting-start-tdd/haskell/05-package-management-and-static-analysis.md +313 -313
- package/lib/assets/docs/article/getting-start-tdd/haskell/06-task-runner-and-ci-cd.md +309 -309
- package/lib/assets/docs/article/getting-start-tdd/haskell/07-algebraic-data-types-and-type-classes.md +412 -412
- package/lib/assets/docs/article/getting-start-tdd/haskell/08-pattern-matching-and-guards.md +390 -390
- package/lib/assets/docs/article/getting-start-tdd/haskell/09-module-design-and-smart-constructors.md +461 -461
- package/lib/assets/docs/article/getting-start-tdd/haskell/10-higher-order-functions-and-currying.md +434 -434
- package/lib/assets/docs/article/getting-start-tdd/haskell/11-function-composition-and-point-free.md +392 -392
- package/lib/assets/docs/article/getting-start-tdd/haskell/12-monad-and-error-handling.md +631 -631
- package/lib/assets/docs/article/getting-start-tdd/haskell/index.md +49 -49
- package/lib/assets/docs/article/getting-start-tdd/index.md +93 -93
- package/lib/assets/docs/article/getting-start-tdd/integration/01-language-overview.md +375 -375
- package/lib/assets/docs/article/getting-start-tdd/integration/02-test-framework-comparison.md +349 -349
- package/lib/assets/docs/article/getting-start-tdd/integration/03-tdd-pattern-comparison.md +445 -445
- package/lib/assets/docs/article/getting-start-tdd/integration/04-type-system-comparison.md +409 -409
- package/lib/assets/docs/article/getting-start-tdd/integration/05-dev-environment-comparison.md +330 -330
- package/lib/assets/docs/article/getting-start-tdd/integration/06-learning-roadmap.md +290 -290
- package/lib/assets/docs/article/getting-start-tdd/integration/index.md +69 -69
- package/lib/assets/docs/article/getting-start-tdd/java/01-todo-list-and-first-test.md +234 -234
- package/lib/assets/docs/article/getting-start-tdd/java/02-fake-it-and-triangulation.md +261 -261
- package/lib/assets/docs/article/getting-start-tdd/java/03-obvious-implementation-and-refactoring.md +185 -185
- package/lib/assets/docs/article/getting-start-tdd/java/04-version-control-and-conventional-commits.md +115 -115
- package/lib/assets/docs/article/getting-start-tdd/java/05-package-management-and-static-analysis.md +382 -382
- package/lib/assets/docs/article/getting-start-tdd/java/06-task-runner-and-ci-cd.md +272 -272
- package/lib/assets/docs/article/getting-start-tdd/java/07-encapsulation-and-polymorphism.md +626 -626
- package/lib/assets/docs/article/getting-start-tdd/java/08-design-patterns.md +393 -393
- package/lib/assets/docs/article/getting-start-tdd/java/09-solid-principles-and-module-design.md +310 -310
- package/lib/assets/docs/article/getting-start-tdd/java/10-higher-order-functions-and-composition.md +188 -188
- package/lib/assets/docs/article/getting-start-tdd/java/11-immutable-data-and-pipeline.md +167 -167
- package/lib/assets/docs/article/getting-start-tdd/java/12-error-handling-and-type-safety.md +205 -205
- package/lib/assets/docs/article/getting-start-tdd/java/index.md +61 -61
- package/lib/assets/docs/article/getting-start-tdd/node/01-todo-list-and-first-test.md +244 -244
- package/lib/assets/docs/article/getting-start-tdd/node/02-fake-it-and-triangulation.md +262 -262
- package/lib/assets/docs/article/getting-start-tdd/node/03-obvious-implementation-and-refactoring.md +169 -169
- package/lib/assets/docs/article/getting-start-tdd/node/04-version-control-and-conventional-commits.md +112 -112
- package/lib/assets/docs/article/getting-start-tdd/node/05-package-management-and-static-analysis.md +314 -314
- package/lib/assets/docs/article/getting-start-tdd/node/06-task-runner-and-ci-cd.md +235 -235
- package/lib/assets/docs/article/getting-start-tdd/node/07-encapsulation-and-polymorphism.md +327 -327
- package/lib/assets/docs/article/getting-start-tdd/node/08-design-patterns.md +322 -322
- package/lib/assets/docs/article/getting-start-tdd/node/09-solid-principles-and-module-design.md +285 -285
- package/lib/assets/docs/article/getting-start-tdd/node/10-higher-order-functions-and-composition.md +199 -199
- package/lib/assets/docs/article/getting-start-tdd/node/11-immutable-data-and-pipeline.md +207 -207
- package/lib/assets/docs/article/getting-start-tdd/node/12-error-handling-and-type-safety.md +295 -295
- package/lib/assets/docs/article/getting-start-tdd/node/index.md +56 -56
- package/lib/assets/docs/article/getting-start-tdd/php/01-todo-list-and-first-test.md +259 -259
- package/lib/assets/docs/article/getting-start-tdd/php/02-fake-it-and-triangulation.md +200 -200
- package/lib/assets/docs/article/getting-start-tdd/php/03-obvious-implementation-and-refactoring.md +248 -248
- package/lib/assets/docs/article/getting-start-tdd/php/04-version-control-and-conventional-commits.md +141 -141
- package/lib/assets/docs/article/getting-start-tdd/php/05-package-management-and-static-analysis.md +410 -410
- package/lib/assets/docs/article/getting-start-tdd/php/06-task-runner-and-ci-cd.md +321 -321
- package/lib/assets/docs/article/getting-start-tdd/php/07-encapsulation-and-polymorphism.md +372 -372
- package/lib/assets/docs/article/getting-start-tdd/php/08-design-patterns.md +453 -453
- package/lib/assets/docs/article/getting-start-tdd/php/09-solid-principles-and-module-design.md +460 -460
- package/lib/assets/docs/article/getting-start-tdd/php/10-higher-order-functions-and-composition.md +182 -182
- package/lib/assets/docs/article/getting-start-tdd/php/11-immutable-data-and-pipeline.md +266 -266
- package/lib/assets/docs/article/getting-start-tdd/php/12-error-handling-and-type-safety.md +308 -308
- package/lib/assets/docs/article/getting-start-tdd/php/index.md +84 -84
- package/lib/assets/docs/article/getting-start-tdd/python/01-todo-list-and-first-test.md +201 -201
- package/lib/assets/docs/article/getting-start-tdd/python/02-fake-it-and-triangulation.md +247 -247
- package/lib/assets/docs/article/getting-start-tdd/python/03-obvious-implementation-and-refactoring.md +199 -199
- package/lib/assets/docs/article/getting-start-tdd/python/04-version-control-and-conventional-commits.md +87 -87
- package/lib/assets/docs/article/getting-start-tdd/python/05-package-management-and-static-analysis.md +274 -274
- package/lib/assets/docs/article/getting-start-tdd/python/06-task-runner-and-ci-cd.md +190 -190
- package/lib/assets/docs/article/getting-start-tdd/python/07-encapsulation-and-polymorphism.md +208 -208
- package/lib/assets/docs/article/getting-start-tdd/python/08-design-patterns.md +172 -172
- package/lib/assets/docs/article/getting-start-tdd/python/09-solid-principles-and-module-design.md +130 -130
- package/lib/assets/docs/article/getting-start-tdd/python/10-higher-order-functions-and-composition.md +122 -122
- package/lib/assets/docs/article/getting-start-tdd/python/11-immutable-data-and-pipeline.md +116 -116
- package/lib/assets/docs/article/getting-start-tdd/python/12-error-handling-and-type-safety.md +126 -126
- package/lib/assets/docs/article/getting-start-tdd/python/index.md +55 -55
- package/lib/assets/docs/article/getting-start-tdd/ruby/01-todo-list-and-first-test.md +231 -231
- package/lib/assets/docs/article/getting-start-tdd/ruby/02-fake-it-and-triangulation.md +238 -238
- package/lib/assets/docs/article/getting-start-tdd/ruby/03-obvious-implementation-and-refactoring.md +228 -228
- package/lib/assets/docs/article/getting-start-tdd/ruby/04-version-control-and-conventional-commits.md +112 -112
- package/lib/assets/docs/article/getting-start-tdd/ruby/05-package-management-and-static-analysis.md +287 -287
- package/lib/assets/docs/article/getting-start-tdd/ruby/06-task-runner-and-ci-cd.md +248 -248
- package/lib/assets/docs/article/getting-start-tdd/ruby/07-encapsulation-and-polymorphism.md +279 -279
- package/lib/assets/docs/article/getting-start-tdd/ruby/08-design-patterns.md +329 -329
- package/lib/assets/docs/article/getting-start-tdd/ruby/09-solid-principles-and-module-design.md +196 -196
- package/lib/assets/docs/article/getting-start-tdd/ruby/10-higher-order-functions-and-composition.md +175 -175
- package/lib/assets/docs/article/getting-start-tdd/ruby/11-immutable-data-and-pipeline.md +237 -237
- package/lib/assets/docs/article/getting-start-tdd/ruby/12-error-handling-and-type-safety.md +398 -398
- package/lib/assets/docs/article/getting-start-tdd/ruby/index.md +83 -83
- package/lib/assets/docs/article/getting-start-tdd/rust/01-todo-list-and-first-test.md +211 -211
- package/lib/assets/docs/article/getting-start-tdd/rust/02-fake-it-and-triangulation.md +264 -264
- package/lib/assets/docs/article/getting-start-tdd/rust/03-obvious-implementation-and-refactoring.md +233 -233
- package/lib/assets/docs/article/getting-start-tdd/rust/04-version-control-and-conventional-commits.md +92 -92
- package/lib/assets/docs/article/getting-start-tdd/rust/05-package-management-and-static-analysis.md +212 -212
- package/lib/assets/docs/article/getting-start-tdd/rust/06-task-runner-and-ci-cd.md +164 -164
- package/lib/assets/docs/article/getting-start-tdd/rust/07-encapsulation-and-polymorphism.md +142 -142
- package/lib/assets/docs/article/getting-start-tdd/rust/08-design-patterns.md +145 -145
- package/lib/assets/docs/article/getting-start-tdd/rust/09-solid-principles-and-module-design.md +110 -110
- package/lib/assets/docs/article/getting-start-tdd/rust/10-higher-order-functions-and-composition.md +94 -94
- package/lib/assets/docs/article/getting-start-tdd/rust/11-immutable-data-and-pipeline.md +105 -105
- package/lib/assets/docs/article/getting-start-tdd/rust/12-error-handling-and-type-safety.md +112 -112
- package/lib/assets/docs/article/getting-start-tdd/rust/index.md +83 -83
- package/lib/assets/docs/article/getting-start-tdd/scala/01-todo-list-and-first-test.md +111 -111
- package/lib/assets/docs/article/getting-start-tdd/scala/02-fake-it-and-triangulation.md +107 -107
- package/lib/assets/docs/article/getting-start-tdd/scala/03-obvious-implementation-and-refactoring.md +99 -99
- package/lib/assets/docs/article/getting-start-tdd/scala/04-version-control-and-conventional-commits.md +123 -123
- package/lib/assets/docs/article/getting-start-tdd/scala/05-package-management-and-static-analysis.md +196 -196
- package/lib/assets/docs/article/getting-start-tdd/scala/06-task-runner-and-ci-cd.md +186 -186
- package/lib/assets/docs/article/getting-start-tdd/scala/07-case-classes-and-traits.md +139 -139
- package/lib/assets/docs/article/getting-start-tdd/scala/08-pattern-matching-and-sealed-traits.md +106 -106
- package/lib/assets/docs/article/getting-start-tdd/scala/09-packages-and-module-design.md +75 -75
- package/lib/assets/docs/article/getting-start-tdd/scala/10-higher-order-functions-and-composition.md +104 -104
- package/lib/assets/docs/article/getting-start-tdd/scala/11-collections-and-lazy-evaluation.md +94 -94
- package/lib/assets/docs/article/getting-start-tdd/scala/12-error-handling-and-type-safety.md +92 -92
- package/lib/assets/docs/article/getting-start-tdd/scala/index.md +65 -65
- package/lib/assets/docs/article/grokking-concurrency/all/index.md +404 -404
- package/lib/assets/docs/article/grokking-concurrency/all/part-1-ch02-sequential.md +554 -554
- package/lib/assets/docs/article/grokking-concurrency/all/part-2-ch04-05-threads.md +469 -469
- package/lib/assets/docs/article/grokking-concurrency/all/part-3-ch06-multitasking.md +520 -520
- package/lib/assets/docs/article/grokking-concurrency/all/part-4-ch07-parallel-patterns.md +420 -420
- package/lib/assets/docs/article/grokking-concurrency/all/part-5-ch08-09-synchronization.md +510 -510
- package/lib/assets/docs/article/grokking-concurrency/all/part-6-ch10-11-nonblocking-io.md +435 -435
- package/lib/assets/docs/article/grokking-concurrency/all/part-7-ch12-async.md +465 -465
- package/lib/assets/docs/article/grokking-concurrency/all/part-8-ch13-mapreduce.md +377 -377
- package/lib/assets/docs/article/grokking-concurrency/clojure/index.md +116 -116
- package/lib/assets/docs/article/grokking-concurrency/clojure/part-1.md +108 -108
- package/lib/assets/docs/article/grokking-concurrency/clojure/part-2.md +101 -101
- package/lib/assets/docs/article/grokking-concurrency/clojure/part-3.md +122 -122
- package/lib/assets/docs/article/grokking-concurrency/clojure/part-4.md +123 -123
- package/lib/assets/docs/article/grokking-concurrency/clojure/part-5.md +118 -118
- package/lib/assets/docs/article/grokking-concurrency/clojure/part-6.md +89 -89
- package/lib/assets/docs/article/grokking-concurrency/clojure/part-7.md +100 -100
- package/lib/assets/docs/article/grokking-concurrency/clojure/part-8.md +120 -120
- package/lib/assets/docs/article/grokking-concurrency/csharp/index.md +101 -101
- package/lib/assets/docs/article/grokking-concurrency/csharp/part-1.md +97 -97
- package/lib/assets/docs/article/grokking-concurrency/csharp/part-2.md +123 -123
- package/lib/assets/docs/article/grokking-concurrency/csharp/part-3.md +101 -101
- package/lib/assets/docs/article/grokking-concurrency/csharp/part-4.md +112 -112
- package/lib/assets/docs/article/grokking-concurrency/csharp/part-5.md +99 -99
- package/lib/assets/docs/article/grokking-concurrency/csharp/part-6.md +61 -61
- package/lib/assets/docs/article/grokking-concurrency/csharp/part-7.md +84 -84
- package/lib/assets/docs/article/grokking-concurrency/csharp/part-8.md +92 -92
- package/lib/assets/docs/article/grokking-concurrency/fsharp/index.md +65 -65
- package/lib/assets/docs/article/grokking-concurrency/fsharp/part-1.md +80 -80
- package/lib/assets/docs/article/grokking-concurrency/fsharp/part-2.md +103 -103
- package/lib/assets/docs/article/grokking-concurrency/fsharp/part-3.md +94 -94
- package/lib/assets/docs/article/grokking-concurrency/fsharp/part-4.md +110 -110
- package/lib/assets/docs/article/grokking-concurrency/fsharp/part-5.md +104 -104
- package/lib/assets/docs/article/grokking-concurrency/fsharp/part-6.md +93 -93
- package/lib/assets/docs/article/grokking-concurrency/fsharp/part-7.md +121 -121
- package/lib/assets/docs/article/grokking-concurrency/fsharp/part-8.md +107 -107
- package/lib/assets/docs/article/grokking-concurrency/haskell/index.md +248 -248
- package/lib/assets/docs/article/grokking-concurrency/haskell/part-1.md +96 -96
- package/lib/assets/docs/article/grokking-concurrency/haskell/part-2.md +96 -96
- package/lib/assets/docs/article/grokking-concurrency/haskell/part-3.md +91 -91
- package/lib/assets/docs/article/grokking-concurrency/haskell/part-4.md +106 -106
- package/lib/assets/docs/article/grokking-concurrency/haskell/part-5.md +99 -99
- package/lib/assets/docs/article/grokking-concurrency/haskell/part-6.md +95 -95
- package/lib/assets/docs/article/grokking-concurrency/haskell/part-7.md +111 -111
- package/lib/assets/docs/article/grokking-concurrency/haskell/part-8.md +118 -118
- package/lib/assets/docs/article/grokking-concurrency/index.md +66 -66
- package/lib/assets/docs/article/grokking-concurrency/java/index.md +102 -102
- package/lib/assets/docs/article/grokking-concurrency/java/part-1.md +308 -308
- package/lib/assets/docs/article/grokking-concurrency/java/part-2.md +334 -334
- package/lib/assets/docs/article/grokking-concurrency/java/part-3.md +221 -221
- package/lib/assets/docs/article/grokking-concurrency/java/part-4.md +213 -213
- package/lib/assets/docs/article/grokking-concurrency/java/part-5.md +112 -112
- package/lib/assets/docs/article/grokking-concurrency/java/part-6.md +69 -69
- package/lib/assets/docs/article/grokking-concurrency/java/part-7.md +101 -101
- package/lib/assets/docs/article/grokking-concurrency/java/part-8.md +101 -101
- package/lib/assets/docs/article/grokking-concurrency/python/index.md +313 -313
- package/lib/assets/docs/article/grokking-concurrency/python/part-1.md +239 -239
- package/lib/assets/docs/article/grokking-concurrency/python/part-2.md +418 -418
- package/lib/assets/docs/article/grokking-concurrency/python/part-3.md +227 -227
- package/lib/assets/docs/article/grokking-concurrency/python/part-4.md +299 -299
- package/lib/assets/docs/article/grokking-concurrency/python/part-5.md +315 -315
- package/lib/assets/docs/article/grokking-concurrency/python/part-6.md +297 -297
- package/lib/assets/docs/article/grokking-concurrency/python/part-7.md +314 -314
- package/lib/assets/docs/article/grokking-concurrency/python/part-8.md +360 -360
- package/lib/assets/docs/article/grokking-concurrency/rust/index.md +270 -270
- package/lib/assets/docs/article/grokking-concurrency/rust/part-1.md +108 -108
- package/lib/assets/docs/article/grokking-concurrency/rust/part-2.md +120 -120
- package/lib/assets/docs/article/grokking-concurrency/rust/part-3.md +126 -126
- package/lib/assets/docs/article/grokking-concurrency/rust/part-4.md +175 -175
- package/lib/assets/docs/article/grokking-concurrency/rust/part-5.md +158 -158
- package/lib/assets/docs/article/grokking-concurrency/rust/part-6.md +94 -94
- package/lib/assets/docs/article/grokking-concurrency/rust/part-7.md +133 -133
- package/lib/assets/docs/article/grokking-concurrency/rust/part-8.md +155 -155
- package/lib/assets/docs/article/grokking-concurrency/scala/index.md +69 -69
- package/lib/assets/docs/article/grokking-concurrency/scala/part-1.md +78 -78
- package/lib/assets/docs/article/grokking-concurrency/scala/part-2.md +112 -112
- package/lib/assets/docs/article/grokking-concurrency/scala/part-3.md +93 -93
- package/lib/assets/docs/article/grokking-concurrency/scala/part-4.md +110 -110
- package/lib/assets/docs/article/grokking-concurrency/scala/part-5.md +119 -119
- package/lib/assets/docs/article/grokking-concurrency/scala/part-6.md +83 -83
- package/lib/assets/docs/article/grokking-concurrency/scala/part-7.md +131 -131
- package/lib/assets/docs/article/grokking-concurrency/scala/part-8.md +129 -129
- package/lib/assets/docs/article/grokkingfp/all/index.md +368 -368
- package/lib/assets/docs/article/grokkingfp/all/part-1-ch01-fp-introduction.md +530 -530
- package/lib/assets/docs/article/grokkingfp/all/part-1-ch02-pure-functions.md +923 -923
- package/lib/assets/docs/article/grokkingfp/all/part-2-ch03-immutable-data.md +1128 -1128
- package/lib/assets/docs/article/grokkingfp/all/part-2-ch04-higher-order-functions.md +1104 -1104
- package/lib/assets/docs/article/grokkingfp/all/part-2-ch05-flatmap.md +1026 -1026
- package/lib/assets/docs/article/grokkingfp/all/part-3-ch06-option.md +785 -785
- package/lib/assets/docs/article/grokkingfp/all/part-3-ch07-either-adt.md +871 -871
- package/lib/assets/docs/article/grokkingfp/all/part-4-ch08-io-monad.md +972 -972
- package/lib/assets/docs/article/grokkingfp/all/part-4-ch09-streams.md +926 -926
- package/lib/assets/docs/article/grokkingfp/all/part-5-ch10-concurrency.md +870 -870
- package/lib/assets/docs/article/grokkingfp/all/part-6-ch11-application.md +715 -715
- package/lib/assets/docs/article/grokkingfp/all/part-6-ch12-testing.md +626 -626
- package/lib/assets/docs/article/grokkingfp/all/writing-plan.md +712 -712
- package/lib/assets/docs/article/grokkingfp/clojure/index.md +276 -276
- package/lib/assets/docs/article/grokkingfp/clojure/part-1.md +667 -667
- package/lib/assets/docs/article/grokkingfp/clojure/part-2.md +643 -643
- package/lib/assets/docs/article/grokkingfp/clojure/part-3.md +620 -620
- package/lib/assets/docs/article/grokkingfp/clojure/part-4.md +697 -697
- package/lib/assets/docs/article/grokkingfp/clojure/part-5.md +751 -751
- package/lib/assets/docs/article/grokkingfp/clojure/part-6.md +721 -721
- package/lib/assets/docs/article/grokkingfp/csharp/index.md +246 -246
- package/lib/assets/docs/article/grokkingfp/csharp/part-1.md +811 -811
- package/lib/assets/docs/article/grokkingfp/csharp/part-2.md +971 -971
- package/lib/assets/docs/article/grokkingfp/csharp/part-3.md +981 -981
- package/lib/assets/docs/article/grokkingfp/csharp/part-4.md +949 -949
- package/lib/assets/docs/article/grokkingfp/csharp/part-5.md +947 -947
- package/lib/assets/docs/article/grokkingfp/csharp/part-6.md +739 -739
- package/lib/assets/docs/article/grokkingfp/elixir/index.md +203 -203
- package/lib/assets/docs/article/grokkingfp/elixir/part-1.md +712 -712
- package/lib/assets/docs/article/grokkingfp/elixir/part-2.md +838 -838
- package/lib/assets/docs/article/grokkingfp/elixir/part-3.md +985 -985
- package/lib/assets/docs/article/grokkingfp/elixir/part-4.md +974 -974
- package/lib/assets/docs/article/grokkingfp/elixir/part-5.md +1286 -1286
- package/lib/assets/docs/article/grokkingfp/elixir/part-6.md +1049 -1049
- package/lib/assets/docs/article/grokkingfp/fsharp/index.md +210 -210
- package/lib/assets/docs/article/grokkingfp/fsharp/part-1.md +714 -714
- package/lib/assets/docs/article/grokkingfp/fsharp/part-2.md +961 -961
- package/lib/assets/docs/article/grokkingfp/fsharp/part-3.md +972 -972
- package/lib/assets/docs/article/grokkingfp/fsharp/part-4.md +832 -832
- package/lib/assets/docs/article/grokkingfp/fsharp/part-5.md +911 -911
- package/lib/assets/docs/article/grokkingfp/fsharp/part-6.md +922 -922
- package/lib/assets/docs/article/grokkingfp/haskell/index.md +234 -234
- package/lib/assets/docs/article/grokkingfp/haskell/part-1.md +591 -591
- package/lib/assets/docs/article/grokkingfp/haskell/part-2.md +866 -866
- package/lib/assets/docs/article/grokkingfp/haskell/part-3.md +915 -915
- package/lib/assets/docs/article/grokkingfp/haskell/part-4.md +878 -878
- package/lib/assets/docs/article/grokkingfp/haskell/part-5.md +845 -845
- package/lib/assets/docs/article/grokkingfp/haskell/part-6.md +844 -844
- package/lib/assets/docs/article/grokkingfp/index.md +143 -143
- package/lib/assets/docs/article/grokkingfp/java/index.md +211 -211
- package/lib/assets/docs/article/grokkingfp/java/part-1.md +648 -648
- package/lib/assets/docs/article/grokkingfp/java/part-2.md +675 -675
- package/lib/assets/docs/article/grokkingfp/java/part-3.md +672 -672
- package/lib/assets/docs/article/grokkingfp/java/part-4.md +771 -771
- package/lib/assets/docs/article/grokkingfp/java/part-5.md +959 -959
- package/lib/assets/docs/article/grokkingfp/java/part-6.md +1328 -1328
- package/lib/assets/docs/article/grokkingfp/python/index.md +258 -258
- package/lib/assets/docs/article/grokkingfp/python/part-1.md +443 -443
- package/lib/assets/docs/article/grokkingfp/python/part-2.md +958 -958
- package/lib/assets/docs/article/grokkingfp/python/part-3.md +1004 -1004
- package/lib/assets/docs/article/grokkingfp/python/part-4.md +765 -765
- package/lib/assets/docs/article/grokkingfp/python/part-5.md +747 -747
- package/lib/assets/docs/article/grokkingfp/python/part-6.md +861 -861
- package/lib/assets/docs/article/grokkingfp/ruby/index.md +330 -330
- package/lib/assets/docs/article/grokkingfp/ruby/part-1.md +755 -755
- package/lib/assets/docs/article/grokkingfp/ruby/part-2.md +938 -938
- package/lib/assets/docs/article/grokkingfp/ruby/part-3.md +946 -946
- package/lib/assets/docs/article/grokkingfp/ruby/part-4.md +921 -921
- package/lib/assets/docs/article/grokkingfp/ruby/part-5.md +908 -908
- package/lib/assets/docs/article/grokkingfp/ruby/part-6.md +1412 -1412
- package/lib/assets/docs/article/grokkingfp/rust/index.md +242 -242
- package/lib/assets/docs/article/grokkingfp/rust/part-1.md +634 -634
- package/lib/assets/docs/article/grokkingfp/rust/part-2.md +1060 -1060
- package/lib/assets/docs/article/grokkingfp/rust/part-3.md +994 -994
- package/lib/assets/docs/article/grokkingfp/rust/part-4.md +573 -573
- package/lib/assets/docs/article/grokkingfp/rust/part-5.md +705 -705
- package/lib/assets/docs/article/grokkingfp/rust/part-6.md +508 -508
- package/lib/assets/docs/article/grokkingfp/scala/index.md +171 -171
- package/lib/assets/docs/article/grokkingfp/scala/part-1.md +543 -543
- package/lib/assets/docs/article/grokkingfp/scala/part-2.md +946 -946
- package/lib/assets/docs/article/grokkingfp/scala/part-3.md +919 -919
- package/lib/assets/docs/article/grokkingfp/scala/part-4.md +742 -742
- package/lib/assets/docs/article/grokkingfp/scala/part-5.md +722 -722
- package/lib/assets/docs/article/grokkingfp/scala/part-6.md +867 -867
- package/lib/assets/docs/article/grokkingfp/typescript/index.md +273 -273
- package/lib/assets/docs/article/grokkingfp/typescript/part-1.md +561 -561
- package/lib/assets/docs/article/grokkingfp/typescript/part-2.md +1129 -1129
- package/lib/assets/docs/article/grokkingfp/typescript/part-3.md +842 -842
- package/lib/assets/docs/article/grokkingfp/typescript/part-4.md +1087 -1087
- package/lib/assets/docs/article/grokkingfp/typescript/part-5.md +717 -717
- package/lib/assets/docs/article/grokkingfp/typescript/part-6.md +982 -982
- package/lib/assets/docs/article/index.md +41 -41
- package/lib/assets/docs/article/practical-database-design/index.md +121 -121
- package/lib/assets/docs/article/practical-database-design/part1/chapter01.md +288 -288
- package/lib/assets/docs/article/practical-database-design/part1/chapter02.md +518 -518
- package/lib/assets/docs/article/practical-database-design/part1/chapter03.md +557 -557
- package/lib/assets/docs/article/practical-database-design/part2/chapter04.md +924 -924
- package/lib/assets/docs/article/practical-database-design/part2/chapter05.md +1627 -1627
- package/lib/assets/docs/article/practical-database-design/part2/chapter06.md +2716 -2716
- package/lib/assets/docs/article/practical-database-design/part2/chapter07.md +2082 -2082
- package/lib/assets/docs/article/practical-database-design/part2/chapter08.md +2105 -2105
- package/lib/assets/docs/article/practical-database-design/part2/chapter09.md +2031 -2031
- package/lib/assets/docs/article/practical-database-design/part2/chapter10.md +1387 -1387
- package/lib/assets/docs/article/practical-database-design/part2/chapter11.md +1677 -1677
- package/lib/assets/docs/article/practical-database-design/part2/chapter12.md +1417 -1417
- package/lib/assets/docs/article/practical-database-design/part2/chapter13.md +1434 -1434
- package/lib/assets/docs/article/practical-database-design/part3/chapter14.md +667 -667
- package/lib/assets/docs/article/practical-database-design/part3/chapter15.md +1625 -1625
- package/lib/assets/docs/article/practical-database-design/part3/chapter16.md +1915 -1915
- package/lib/assets/docs/article/practical-database-design/part3/chapter17.md +1708 -1708
- package/lib/assets/docs/article/practical-database-design/part3/chapter18.md +2095 -2095
- package/lib/assets/docs/article/practical-database-design/part3/chapter19.md +1123 -1123
- package/lib/assets/docs/article/practical-database-design/part3/chapter20.md +1031 -1031
- package/lib/assets/docs/article/practical-database-design/part3/chapter21.md +1382 -1382
- package/lib/assets/docs/article/practical-database-design/part3-orm/chapter14-orm.md +991 -991
- package/lib/assets/docs/article/practical-database-design/part3-orm/chapter15-orm.md +1300 -1300
- package/lib/assets/docs/article/practical-database-design/part3-orm/chapter16-orm.md +1166 -1166
- package/lib/assets/docs/article/practical-database-design/part3-orm/chapter17-orm.md +1584 -1584
- package/lib/assets/docs/article/practical-database-design/part3-orm/chapter18-orm.md +1183 -1183
- package/lib/assets/docs/article/practical-database-design/part3-orm/chapter19-orm.md +1016 -1016
- package/lib/assets/docs/article/practical-database-design/part3-orm/chapter20-orm.md +1753 -1753
- package/lib/assets/docs/article/practical-database-design/part3-orm/chapter21-orm.md +1447 -1447
- package/lib/assets/docs/article/practical-database-design/part3-orm/chapter22-orm.md +1878 -1878
- package/lib/assets/docs/article/practical-database-design/part4/chapter22.md +965 -965
- package/lib/assets/docs/article/practical-database-design/part4/chapter23.md +2069 -2069
- package/lib/assets/docs/article/practical-database-design/part4/chapter24.md +2439 -2439
- package/lib/assets/docs/article/practical-database-design/part4/chapter25.md +3661 -3661
- package/lib/assets/docs/article/practical-database-design/part4/chapter26.md +2916 -2916
- package/lib/assets/docs/article/practical-database-design/part4/chapter27.md +3105 -3105
- package/lib/assets/docs/article/practical-database-design/part4/chapter28.md +2697 -2697
- package/lib/assets/docs/article/practical-database-design/part4/chapter29.md +2544 -2544
- package/lib/assets/docs/article/practical-database-design/part4/chapter30.md +2180 -2180
- package/lib/assets/docs/article/practical-database-design/part4/chapter31.md +1192 -1192
- package/lib/assets/docs/article/practical-database-design/part4/chapter32.md +2101 -2101
- package/lib/assets/docs/article/practical-database-design/part5/chapter33.md +1032 -1032
- package/lib/assets/docs/article/practical-database-design/part5/chapter34.md +1609 -1609
- package/lib/assets/docs/article/practical-database-design/part5/chapter35.md +1453 -1453
- package/lib/assets/docs/article/practical-database-design/part5/chapter36.md +1292 -1292
- package/lib/assets/docs/article/practical-database-design/part5/chapter37.md +1470 -1470
- package/lib/assets/docs/article/practical-database-design/part5/chapter38.md +1698 -1698
- package/lib/assets/docs/article/practical-database-design/part5/chapter39.md +2334 -2334
- package/lib/assets/docs/article/practical-database-design/study/study2-1.md +1693 -1693
- package/lib/assets/docs/article/practical-database-design/study/study2-2.md +1347 -1347
- package/lib/assets/docs/article/practical-database-design/study/study2-3.md +2044 -2044
- package/lib/assets/docs/article/practical-database-design/study/study2-4.md +2229 -2229
- package/lib/assets/docs/article/practical-database-design/study/study2-5.md +2418 -2418
- package/lib/assets/docs/article/practical-database-design/study/study3-1.md +2205 -2205
- package/lib/assets/docs/article/practical-database-design/study/study3-2.md +2221 -2221
- package/lib/assets/docs/article/practical-database-design/study/study3-3.md +2253 -2253
- package/lib/assets/docs/article/practical-database-design/study/study3-4.md +2106 -2106
- package/lib/assets/docs/article/practical-database-design/study/study3-5.md +2507 -2507
- package/lib/assets/docs/article/practical-database-design/study/study4-1.md +2587 -2587
- package/lib/assets/docs/article/practical-database-design/study/study4-2.md +2075 -2075
- package/lib/assets/docs/article/practical-database-design/study/study4-3.md +1805 -1805
- package/lib/assets/docs/article/practical-database-design/study/study4-4.md +1895 -1895
- package/lib/assets/docs/article/practical-database-design/study/study4-5.md +2878 -2878
- package/lib/assets/docs/assets/css/extra.css +29 -29
- package/lib/assets/docs/assets/js/extra.js +44 -44
- package/lib/assets/docs/design/index.md +44 -44
- package/lib/assets/docs/development/index.md +39 -39
- package/lib/assets/docs/index.md +33 -33
- package/lib/assets/docs/operation/index.md +27 -27
- package/lib/assets/docs/reference/CodexCLIMCP/343/202/242/343/203/227/343/203/252/343/202/261/343/203/274/343/202/267/343/203/247/343/203/263/351/226/213/347/231/272/343/203/225/343/203/255/343/203/274.md +546 -546
- 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
- 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
- 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
- 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
- package/lib/assets/docs/reference/UI/350/250/255/350/250/210/343/202/254/343/202/244/343/203/211.md +450 -450
- package/lib/assets/docs/reference/images/Ansoff.drawio.svg +3 -3
- package/lib/assets/docs/reference/images/BMC.drawio.svg +3 -3
- package/lib/assets/docs/reference/images/BrandBasicStrategy.drawio.svg +3 -3
- package/lib/assets/docs/reference/images/BrandCategorization.drawio.svg +3 -3
- package/lib/assets/docs/reference/images/BrandRecurutementStrategy.drawio.svg +3 -3
- package/lib/assets/docs/reference/images/BrandValue.drawio.svg +3 -3
- package/lib/assets/docs/reference/images/BusinessActivitiy.svg +3 -3
- package/lib/assets/docs/reference/images/HRM.drawio.svg +3 -3
- package/lib/assets/docs/reference/images/MarketingStructure.drawio.svg +3 -3
- package/lib/assets/docs/reference/images/OrganizationElemnts.svg +3 -3
- package/lib/assets/docs/reference/images/PPM.drawio.svg +3 -3
- package/lib/assets/docs/reference/images/PositioningMap.drawio.svg +3 -3
- package/lib/assets/docs/reference/images/ProductLayer.drawio.svg +3 -3
- package/lib/assets/docs/reference/images/ProductMix.drawio.svg +3 -3
- package/lib/assets/docs/reference/images/SWOT.drawio.svg +3 -3
- package/lib/assets/docs/reference/images/TargetMarket.drawio.svg +3 -3
- package/lib/assets/docs/reference/images/ThreeGenericStrategies.drawio.svg +3 -3
- package/lib/assets/docs/reference/images/VRIO.drawio.svg +3 -3
- package/lib/assets/docs/reference/images/ValueChain.drawio.svg +3 -3
- package/lib/assets/docs/reference/index.md +53 -53
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- package/lib/assets/docs/reference//344/274/201/346/245/255/347/265/214/345/226/266/350/253/226.md +2637 -2637
- 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
- package/lib/assets/docs/reference//347/265/214/345/226/266/346/210/246/347/225/245/345/210/206/346/236/220/343/202/254/343/202/244/343/203/211.md +566 -566
- 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
- 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
- package/lib/assets/docs/reference//351/201/213/345/226/266/347/256/241/347/220/206.md +1482 -1482
- 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
- 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
- package/lib/assets/docs/reference//351/226/213/347/231/272/343/202/254/343/202/244/343/203/211.md +305 -305
- 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
- package/lib/assets/docs/requirements/index.md +17 -17
- package/lib/assets/docs/review/index.md +5 -5
- package/lib/assets/docs/strategy/index.md +17 -17
- package/lib/assets/docs/template/ADR.md +30 -30
- 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
- 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
- package/lib/assets/docs/template/README.md +50 -50
- package/lib/assets/docs/template/index.md +24 -24
- 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
- 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
- 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
- package/lib/assets/docs/template//343/202/244/343/203/206/343/203/254/343/203/274/343/202/267/343/203/247/343/203/263/350/250/210/347/224/273.md +327 -327
- 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
- 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
- package/lib/assets/docs/template//343/203/252/343/203/252/343/203/274/343/202/271/345/256/214/344/272/206/345/240/261/345/221/212/346/233/270.md +275 -275
- package/lib/assets/docs/template//344/272/213/344/276/213/345/210/206/346/236/220.md +513 -513
- package/lib/assets/docs/template//344/274/201/346/245/255/345/210/206/346/236/220.md +573 -573
- 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
- package/lib/assets/docs/template//350/246/201/344/273/266/345/256/232/347/276/251.md +669 -669
- package/lib/assets/docs/template//350/250/255/350/250/210.md +173 -173
- 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
- package/lib/assets/gulpfile.js +25 -25
- package/lib/assets/mkdocs.yml +139 -139
- package/lib/assets/ops/docker/mkdoc/Dockerfile +19 -19
- package/lib/assets/ops/docker/sonarqube-local/docker-compose.yml +57 -57
- package/lib/assets/ops/scripts/journal.js +180 -180
- package/lib/assets/ops/scripts/mkdocs.js +82 -82
- package/lib/assets/ops/scripts/release.js +431 -431
- package/lib/assets/ops/scripts/sonar_local.js +726 -726
- package/lib/assets/ops/scripts/ssh.js +190 -190
- package/lib/assets/ops/scripts/vault.js +299 -299
- package/lib/assets/package-lock.json +1653 -1653
- package/lib/assets/package.json +40 -40
- package/lib/gulpfile.js +37 -37
- package/package.json +41 -41
|
@@ -1,89 +1,89 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: analyzing-test-strategy
|
|
3
|
-
description: テストピラミッド設計、テスト種別の定義、カバレッジ目標の設定を含むテスト戦略を策定。「テスト戦略を決めたい」「テスト計画を立てたい」「カバレッジ目標を設定したい」「テストピラミッドを設計したい」「TDD/BDD の方針を決めたい」といった場面で発動する。テスト戦略を先に策定することで、開発中の「何をどこまでテストすべきか」の迷いを排除する。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# テスト戦略策定
|
|
7
|
-
|
|
8
|
-
アーキテクチャパターンに適合するテスト形状(ピラミッド型・ダイヤモンド型・逆ピラミッド型)を選択し、テスト戦略を策定する。
|
|
9
|
-
|
|
10
|
-
テスト戦略はアーキテクチャと表裏一体。レイヤードアーキテクチャならピラミッド型、マイクロサービスならダイヤモンド型が適合しやすい。テスト形状を間違えると、テストの実行時間が爆発するか、品質保証が不十分になる。
|
|
11
|
-
|
|
12
|
-
## 参照ドキュメントとテンプレート
|
|
13
|
-
|
|
14
|
-
| 種類 | パス | 備考 |
|
|
15
|
-
|------|------|------|
|
|
16
|
-
| ガイド | @docs/reference/テスト戦略ガイド.md | テスト戦略の進め方詳細 |
|
|
17
|
-
| テンプレート | @docs/template/設計.md | 編集禁止。コピーして使用する |
|
|
18
|
-
| 入力 | @docs/requirements/requirements_definition.md | 要件定義 |
|
|
19
|
-
| 入力 | @docs/requirements/business_usecase.md | ビジネスユースケース |
|
|
20
|
-
| 入力 | @docs/requirements/system_usecase.md | システムユースケース |
|
|
21
|
-
| 入力 | @docs/requirements/user_story.md | ユーザーストーリー |
|
|
22
|
-
| 入力 | @docs/design/architecture_backend.md | バックエンドアーキテクチャ |
|
|
23
|
-
| 入力 | @docs/design/architecture_frontend.md | フロントエンドアーキテクチャ |
|
|
24
|
-
| 成果物 | `docs/design/test_strategy.md` | テスト戦略 |
|
|
25
|
-
|
|
26
|
-
## テスト形状の選択
|
|
27
|
-
|
|
28
|
-
アーキテクチャパターンとシステム特性に基づいてテスト形状を選択する。形状の選択理由を明記せよ。
|
|
29
|
-
|
|
30
|
-
- **ピラミッド型(ユニット重視)**: ビジネスロジックが複雑でドメイン層が厚い場合に適する。ユニットテストを土台に高速なフィードバックを得る
|
|
31
|
-
- **ダイヤモンド型(統合テスト重視)**: マイクロサービスや外部連携が多い場合に適する。サービス間の結合点を重点的にテストする
|
|
32
|
-
- **逆ピラミッド型(E2E 重視)**: UI 中心のアプリケーションやレガシーシステムの保護に適する。ただし実行時間とメンテナンスコストが高いことを認識せよ
|
|
33
|
-
|
|
34
|
-
## テストレベルの定義
|
|
35
|
-
|
|
36
|
-
各テストレベルの責務を明確に定義する。テストレベル間で検証内容が重複すると、テストスイート全体の実行時間が不必要に増える。
|
|
37
|
-
|
|
38
|
-
- **ユニットテスト**: 単一クラス/関数の振る舞いを検証する。外部依存はモックする
|
|
39
|
-
- **統合テスト**: コンポーネント間の連携を検証する。DB やメッセージキューとの結合を含む
|
|
40
|
-
- **E2E テスト**: ユーザーシナリオに基づいてシステム全体を検証する
|
|
41
|
-
- **受け入れテスト**: ユーザーストーリーの受入条件を検証する
|
|
42
|
-
|
|
43
|
-
## テスト戦略の策定
|
|
44
|
-
|
|
45
|
-
具体的な数値目標とツール選定を行う。曖昧な「十分にテストする」ではなく、測定可能な基準を設定せよ。
|
|
46
|
-
|
|
47
|
-
- **カバレッジ目標**: テストレベルごとのカバレッジ目標を設定する(例: ユニット 80%、統合 60%)
|
|
48
|
-
- **テストツールの選定**: 技術スタックに適合するテストツールを選定する
|
|
49
|
-
- **CI/CD との連携**: テスト実行のタイミングと失敗時の振る舞いを定義する
|
|
50
|
-
|
|
51
|
-
## トレーサビリティの確保
|
|
52
|
-
|
|
53
|
-
要件からテストケースまでの追跡を可能にする。「この機能はどのテストで保証されているか」を常に回答可能にせよ。
|
|
54
|
-
|
|
55
|
-
- **要件とテストケースのマッピング**: ユーザーストーリーの受入条件とテストケースを対応づける
|
|
56
|
-
|
|
57
|
-
## 作成の進め方
|
|
58
|
-
|
|
59
|
-
1. アーキテクチャドキュメント(バックエンド・フロントエンド)を確認する
|
|
60
|
-
2. @docs/reference/テスト戦略ガイド.md を読み込む
|
|
61
|
-
3. テスト形状→テストレベル→カバレッジ目標→ツール選定の順に策定する
|
|
62
|
-
4. `docs/design/test_strategy.md` として出力する
|
|
63
|
-
|
|
64
|
-
## 途中から再開する場合
|
|
65
|
-
|
|
66
|
-
既存の `docs/design/test_strategy.md` がある場合は、まずその内容を確認する。不足しているテストレベルの定義や更新が必要な部分のみを修正する。
|
|
67
|
-
|
|
68
|
-
**Example:**
|
|
69
|
-
|
|
70
|
-
```
|
|
71
|
-
ユーザー: 「テスト形状はピラミッド型に決めた。カバレッジ目標を設定したい」
|
|
72
|
-
回答: 既存の test_strategy.md のテスト形状を確認し、
|
|
73
|
-
ピラミッド型に基づいてテストレベルごとのカバレッジ目標を設定する。
|
|
74
|
-
ユニット→統合→E2E の順に目標値と測定方法を定義する。
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
## 注意事項
|
|
78
|
-
|
|
79
|
-
- アーキテクチャ設計が完了していることが前提。未完了でも進めて構わない
|
|
80
|
-
- テスト戦略はアーキテクチャパターンに適合させる。パターンとの不整合は無駄なテストを生む
|
|
81
|
-
- TDD/BDD の適用を検討し、開発プロセスとテスト戦略を一体化する
|
|
82
|
-
- タスク項目(リスト)の前には空行を入れる(Markdown Lint 準拠)
|
|
83
|
-
|
|
84
|
-
## 関連スキル
|
|
85
|
-
|
|
86
|
-
- `orchestrating-analysis` — 分析フェーズ全体のワークフロー案内
|
|
87
|
-
- `analyzing-architecture` — テスト形状選択の基盤となるアーキテクチャ設計
|
|
88
|
-
- `analyzing-tech-stack` — テストツール選定との整合性
|
|
89
|
-
- `analyzing-non-functional` — 性能テストの基準となる非機能要件
|
|
1
|
+
---
|
|
2
|
+
name: analyzing-test-strategy
|
|
3
|
+
description: テストピラミッド設計、テスト種別の定義、カバレッジ目標の設定を含むテスト戦略を策定。「テスト戦略を決めたい」「テスト計画を立てたい」「カバレッジ目標を設定したい」「テストピラミッドを設計したい」「TDD/BDD の方針を決めたい」といった場面で発動する。テスト戦略を先に策定することで、開発中の「何をどこまでテストすべきか」の迷いを排除する。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# テスト戦略策定
|
|
7
|
+
|
|
8
|
+
アーキテクチャパターンに適合するテスト形状(ピラミッド型・ダイヤモンド型・逆ピラミッド型)を選択し、テスト戦略を策定する。
|
|
9
|
+
|
|
10
|
+
テスト戦略はアーキテクチャと表裏一体。レイヤードアーキテクチャならピラミッド型、マイクロサービスならダイヤモンド型が適合しやすい。テスト形状を間違えると、テストの実行時間が爆発するか、品質保証が不十分になる。
|
|
11
|
+
|
|
12
|
+
## 参照ドキュメントとテンプレート
|
|
13
|
+
|
|
14
|
+
| 種類 | パス | 備考 |
|
|
15
|
+
|------|------|------|
|
|
16
|
+
| ガイド | @docs/reference/テスト戦略ガイド.md | テスト戦略の進め方詳細 |
|
|
17
|
+
| テンプレート | @docs/template/設計.md | 編集禁止。コピーして使用する |
|
|
18
|
+
| 入力 | @docs/requirements/requirements_definition.md | 要件定義 |
|
|
19
|
+
| 入力 | @docs/requirements/business_usecase.md | ビジネスユースケース |
|
|
20
|
+
| 入力 | @docs/requirements/system_usecase.md | システムユースケース |
|
|
21
|
+
| 入力 | @docs/requirements/user_story.md | ユーザーストーリー |
|
|
22
|
+
| 入力 | @docs/design/architecture_backend.md | バックエンドアーキテクチャ |
|
|
23
|
+
| 入力 | @docs/design/architecture_frontend.md | フロントエンドアーキテクチャ |
|
|
24
|
+
| 成果物 | `docs/design/test_strategy.md` | テスト戦略 |
|
|
25
|
+
|
|
26
|
+
## テスト形状の選択
|
|
27
|
+
|
|
28
|
+
アーキテクチャパターンとシステム特性に基づいてテスト形状を選択する。形状の選択理由を明記せよ。
|
|
29
|
+
|
|
30
|
+
- **ピラミッド型(ユニット重視)**: ビジネスロジックが複雑でドメイン層が厚い場合に適する。ユニットテストを土台に高速なフィードバックを得る
|
|
31
|
+
- **ダイヤモンド型(統合テスト重視)**: マイクロサービスや外部連携が多い場合に適する。サービス間の結合点を重点的にテストする
|
|
32
|
+
- **逆ピラミッド型(E2E 重視)**: UI 中心のアプリケーションやレガシーシステムの保護に適する。ただし実行時間とメンテナンスコストが高いことを認識せよ
|
|
33
|
+
|
|
34
|
+
## テストレベルの定義
|
|
35
|
+
|
|
36
|
+
各テストレベルの責務を明確に定義する。テストレベル間で検証内容が重複すると、テストスイート全体の実行時間が不必要に増える。
|
|
37
|
+
|
|
38
|
+
- **ユニットテスト**: 単一クラス/関数の振る舞いを検証する。外部依存はモックする
|
|
39
|
+
- **統合テスト**: コンポーネント間の連携を検証する。DB やメッセージキューとの結合を含む
|
|
40
|
+
- **E2E テスト**: ユーザーシナリオに基づいてシステム全体を検証する
|
|
41
|
+
- **受け入れテスト**: ユーザーストーリーの受入条件を検証する
|
|
42
|
+
|
|
43
|
+
## テスト戦略の策定
|
|
44
|
+
|
|
45
|
+
具体的な数値目標とツール選定を行う。曖昧な「十分にテストする」ではなく、測定可能な基準を設定せよ。
|
|
46
|
+
|
|
47
|
+
- **カバレッジ目標**: テストレベルごとのカバレッジ目標を設定する(例: ユニット 80%、統合 60%)
|
|
48
|
+
- **テストツールの選定**: 技術スタックに適合するテストツールを選定する
|
|
49
|
+
- **CI/CD との連携**: テスト実行のタイミングと失敗時の振る舞いを定義する
|
|
50
|
+
|
|
51
|
+
## トレーサビリティの確保
|
|
52
|
+
|
|
53
|
+
要件からテストケースまでの追跡を可能にする。「この機能はどのテストで保証されているか」を常に回答可能にせよ。
|
|
54
|
+
|
|
55
|
+
- **要件とテストケースのマッピング**: ユーザーストーリーの受入条件とテストケースを対応づける
|
|
56
|
+
|
|
57
|
+
## 作成の進め方
|
|
58
|
+
|
|
59
|
+
1. アーキテクチャドキュメント(バックエンド・フロントエンド)を確認する
|
|
60
|
+
2. @docs/reference/テスト戦略ガイド.md を読み込む
|
|
61
|
+
3. テスト形状→テストレベル→カバレッジ目標→ツール選定の順に策定する
|
|
62
|
+
4. `docs/design/test_strategy.md` として出力する
|
|
63
|
+
|
|
64
|
+
## 途中から再開する場合
|
|
65
|
+
|
|
66
|
+
既存の `docs/design/test_strategy.md` がある場合は、まずその内容を確認する。不足しているテストレベルの定義や更新が必要な部分のみを修正する。
|
|
67
|
+
|
|
68
|
+
**Example:**
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
ユーザー: 「テスト形状はピラミッド型に決めた。カバレッジ目標を設定したい」
|
|
72
|
+
回答: 既存の test_strategy.md のテスト形状を確認し、
|
|
73
|
+
ピラミッド型に基づいてテストレベルごとのカバレッジ目標を設定する。
|
|
74
|
+
ユニット→統合→E2E の順に目標値と測定方法を定義する。
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## 注意事項
|
|
78
|
+
|
|
79
|
+
- アーキテクチャ設計が完了していることが前提。未完了でも進めて構わない
|
|
80
|
+
- テスト戦略はアーキテクチャパターンに適合させる。パターンとの不整合は無駄なテストを生む
|
|
81
|
+
- TDD/BDD の適用を検討し、開発プロセスとテスト戦略を一体化する
|
|
82
|
+
- タスク項目(リスト)の前には空行を入れる(Markdown Lint 準拠)
|
|
83
|
+
|
|
84
|
+
## 関連スキル
|
|
85
|
+
|
|
86
|
+
- `orchestrating-analysis` — 分析フェーズ全体のワークフロー案内
|
|
87
|
+
- `analyzing-architecture` — テスト形状選択の基盤となるアーキテクチャ設計
|
|
88
|
+
- `analyzing-tech-stack` — テストツール選定との整合性
|
|
89
|
+
- `analyzing-non-functional` — 性能テストの基準となる非機能要件
|
|
@@ -1,80 +1,80 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: analyzing-ui-design
|
|
3
|
-
description: PlantUML を使用した画面遷移図・画面イメージ(salt 図)の作成と UI 設計を支援。「画面設計をしたい」「画面遷移図を作りたい」「UI を設計したい」「ワイヤーフレームを作りたい」「画面一覧を整理したい」といった場面で発動する。UI を先に設計することで、フロントエンド実装時の「画面が決まっていない」手戻りを防ぐ。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# UI 設計
|
|
7
|
-
|
|
8
|
-
PlantUML のステートチャート図(画面遷移)と salt 図(画面イメージ)を使用して UI を設計する。
|
|
9
|
-
|
|
10
|
-
UI 設計はユーザーとシステムの接点を定義する活動。ユースケースが「何ができるか」を定義するのに対し、UI 設計は「どのように操作するか」を定義する。画面遷移と画面レイアウトを先に決めることで、フロントエンド実装の方向性が確定する。
|
|
11
|
-
|
|
12
|
-
## 参照ドキュメントとテンプレート
|
|
13
|
-
|
|
14
|
-
| 種類 | パス | 備考 |
|
|
15
|
-
|------|------|------|
|
|
16
|
-
| ガイド | @docs/reference/UI設計ガイド.md | UI 設計の進め方詳細 |
|
|
17
|
-
| テンプレート | @docs/template/設計.md | 編集禁止。コピーして使用する |
|
|
18
|
-
| 入力 | @docs/requirements/requirements_definition.md | 要件定義 |
|
|
19
|
-
| 入力 | @docs/requirements/business_usecase.md | ビジネスユースケース |
|
|
20
|
-
| 入力 | @docs/requirements/system_usecase.md | システムユースケース |
|
|
21
|
-
| 入力 | @docs/requirements/user_story.md | ユーザーストーリー |
|
|
22
|
-
| 入力 | @docs/design/architecture_backend.md | バックエンドアーキテクチャ |
|
|
23
|
-
| 入力 | @docs/design/architecture_frontend.md | フロントエンドアーキテクチャ |
|
|
24
|
-
| 成果物 | `docs/design/ui_design.md` | UI 設計 |
|
|
25
|
-
|
|
26
|
-
## 画面一覧作成
|
|
27
|
-
|
|
28
|
-
ユースケースから必要な画面を網羅的に識別する。画面の漏れはフロントエンド実装の後半で発覚しやすいため、この段階で徹底的に洗い出せ。
|
|
29
|
-
|
|
30
|
-
- **ユースケースからの画面識別**: 各ユースケースのアクターが操作する画面を列挙する
|
|
31
|
-
- **画面の目的と機能の定義**: 各画面で「何を見る」「何を操作する」を明確にする
|
|
32
|
-
|
|
33
|
-
## 画面遷移図作成
|
|
34
|
-
|
|
35
|
-
PlantUML のステートチャート図を使用して画面間の遷移を定義する。遷移条件(ボタンクリック、バリデーション成功等)を必ず明記せよ。
|
|
36
|
-
|
|
37
|
-
## 画面イメージ作成
|
|
38
|
-
|
|
39
|
-
PlantUML の salt 図を使用して画面レイアウトを定義する。入力項目・ボタン・表示項目の配置を決定する。ピクセル単位の精度は不要だが、情報の優先順位とグルーピングを正確に表現せよ。
|
|
40
|
-
|
|
41
|
-
## インタラクション設計
|
|
42
|
-
|
|
43
|
-
ユーザー操作フローとシステムのフィードバックを定義する。エラー時のユーザー体験は正常時以上に重要。
|
|
44
|
-
|
|
45
|
-
- **ユーザー操作フローの定義**: 主要な操作シナリオをステップバイステップで記述する
|
|
46
|
-
- **エラー処理・フィードバックの設計**: バリデーションエラー、通信エラー、タイムアウト時の表示と回復方法を定義する
|
|
47
|
-
|
|
48
|
-
## 作成の進め方
|
|
49
|
-
|
|
50
|
-
1. 入力ドキュメント(ユーザーストーリー、フロントエンドアーキテクチャ)を確認する
|
|
51
|
-
2. @docs/reference/UI設計ガイド.md を読み込む
|
|
52
|
-
3. 画面一覧→画面遷移図→画面イメージ→インタラクション設計の順に作成する
|
|
53
|
-
4. `docs/design/ui_design.md` として出力する
|
|
54
|
-
|
|
55
|
-
## 途中から再開する場合
|
|
56
|
-
|
|
57
|
-
既存の `docs/design/ui_design.md` がある場合は、まずその内容を確認する。不足している画面や更新が必要な遷移のみを修正する。
|
|
58
|
-
|
|
59
|
-
**Example:**
|
|
60
|
-
|
|
61
|
-
```
|
|
62
|
-
ユーザー: 「画面一覧は作った。画面遷移図を作りたい」
|
|
63
|
-
回答: 既存の ui_design.md の画面一覧を確認し、
|
|
64
|
-
各画面間の遷移を PlantUML ステートチャート図で定義する。
|
|
65
|
-
遷移条件(ボタン操作・バリデーション結果)を明記する。
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
## 注意事項
|
|
69
|
-
|
|
70
|
-
- 要件定義とユースケースが完了していることが前提。未完了でも進めて構わない
|
|
71
|
-
- 画面遷移には PlantUML のステートチャート図、画面イメージには PlantUML の salt 図を使用する
|
|
72
|
-
- ユーザビリティを考慮し、一貫性のある UI を設計する。操作パターンの統一が使いやすさの基本
|
|
73
|
-
- タスク項目(リスト)の前には空行を入れる(Markdown Lint 準拠)
|
|
74
|
-
|
|
75
|
-
## 関連スキル
|
|
76
|
-
|
|
77
|
-
- `orchestrating-analysis` — 分析フェーズ全体のワークフロー案内
|
|
78
|
-
- `analyzing-usecases` — 入力となるユースケース・ユーザーストーリー
|
|
79
|
-
- `analyzing-architecture` — フロントエンドアーキテクチャとの整合性
|
|
80
|
-
- `developing-frontend` — 後続のフロントエンド TDD 実装
|
|
1
|
+
---
|
|
2
|
+
name: analyzing-ui-design
|
|
3
|
+
description: PlantUML を使用した画面遷移図・画面イメージ(salt 図)の作成と UI 設計を支援。「画面設計をしたい」「画面遷移図を作りたい」「UI を設計したい」「ワイヤーフレームを作りたい」「画面一覧を整理したい」といった場面で発動する。UI を先に設計することで、フロントエンド実装時の「画面が決まっていない」手戻りを防ぐ。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# UI 設計
|
|
7
|
+
|
|
8
|
+
PlantUML のステートチャート図(画面遷移)と salt 図(画面イメージ)を使用して UI を設計する。
|
|
9
|
+
|
|
10
|
+
UI 設計はユーザーとシステムの接点を定義する活動。ユースケースが「何ができるか」を定義するのに対し、UI 設計は「どのように操作するか」を定義する。画面遷移と画面レイアウトを先に決めることで、フロントエンド実装の方向性が確定する。
|
|
11
|
+
|
|
12
|
+
## 参照ドキュメントとテンプレート
|
|
13
|
+
|
|
14
|
+
| 種類 | パス | 備考 |
|
|
15
|
+
|------|------|------|
|
|
16
|
+
| ガイド | @docs/reference/UI設計ガイド.md | UI 設計の進め方詳細 |
|
|
17
|
+
| テンプレート | @docs/template/設計.md | 編集禁止。コピーして使用する |
|
|
18
|
+
| 入力 | @docs/requirements/requirements_definition.md | 要件定義 |
|
|
19
|
+
| 入力 | @docs/requirements/business_usecase.md | ビジネスユースケース |
|
|
20
|
+
| 入力 | @docs/requirements/system_usecase.md | システムユースケース |
|
|
21
|
+
| 入力 | @docs/requirements/user_story.md | ユーザーストーリー |
|
|
22
|
+
| 入力 | @docs/design/architecture_backend.md | バックエンドアーキテクチャ |
|
|
23
|
+
| 入力 | @docs/design/architecture_frontend.md | フロントエンドアーキテクチャ |
|
|
24
|
+
| 成果物 | `docs/design/ui_design.md` | UI 設計 |
|
|
25
|
+
|
|
26
|
+
## 画面一覧作成
|
|
27
|
+
|
|
28
|
+
ユースケースから必要な画面を網羅的に識別する。画面の漏れはフロントエンド実装の後半で発覚しやすいため、この段階で徹底的に洗い出せ。
|
|
29
|
+
|
|
30
|
+
- **ユースケースからの画面識別**: 各ユースケースのアクターが操作する画面を列挙する
|
|
31
|
+
- **画面の目的と機能の定義**: 各画面で「何を見る」「何を操作する」を明確にする
|
|
32
|
+
|
|
33
|
+
## 画面遷移図作成
|
|
34
|
+
|
|
35
|
+
PlantUML のステートチャート図を使用して画面間の遷移を定義する。遷移条件(ボタンクリック、バリデーション成功等)を必ず明記せよ。
|
|
36
|
+
|
|
37
|
+
## 画面イメージ作成
|
|
38
|
+
|
|
39
|
+
PlantUML の salt 図を使用して画面レイアウトを定義する。入力項目・ボタン・表示項目の配置を決定する。ピクセル単位の精度は不要だが、情報の優先順位とグルーピングを正確に表現せよ。
|
|
40
|
+
|
|
41
|
+
## インタラクション設計
|
|
42
|
+
|
|
43
|
+
ユーザー操作フローとシステムのフィードバックを定義する。エラー時のユーザー体験は正常時以上に重要。
|
|
44
|
+
|
|
45
|
+
- **ユーザー操作フローの定義**: 主要な操作シナリオをステップバイステップで記述する
|
|
46
|
+
- **エラー処理・フィードバックの設計**: バリデーションエラー、通信エラー、タイムアウト時の表示と回復方法を定義する
|
|
47
|
+
|
|
48
|
+
## 作成の進め方
|
|
49
|
+
|
|
50
|
+
1. 入力ドキュメント(ユーザーストーリー、フロントエンドアーキテクチャ)を確認する
|
|
51
|
+
2. @docs/reference/UI設計ガイド.md を読み込む
|
|
52
|
+
3. 画面一覧→画面遷移図→画面イメージ→インタラクション設計の順に作成する
|
|
53
|
+
4. `docs/design/ui_design.md` として出力する
|
|
54
|
+
|
|
55
|
+
## 途中から再開する場合
|
|
56
|
+
|
|
57
|
+
既存の `docs/design/ui_design.md` がある場合は、まずその内容を確認する。不足している画面や更新が必要な遷移のみを修正する。
|
|
58
|
+
|
|
59
|
+
**Example:**
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
ユーザー: 「画面一覧は作った。画面遷移図を作りたい」
|
|
63
|
+
回答: 既存の ui_design.md の画面一覧を確認し、
|
|
64
|
+
各画面間の遷移を PlantUML ステートチャート図で定義する。
|
|
65
|
+
遷移条件(ボタン操作・バリデーション結果)を明記する。
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## 注意事項
|
|
69
|
+
|
|
70
|
+
- 要件定義とユースケースが完了していることが前提。未完了でも進めて構わない
|
|
71
|
+
- 画面遷移には PlantUML のステートチャート図、画面イメージには PlantUML の salt 図を使用する
|
|
72
|
+
- ユーザビリティを考慮し、一貫性のある UI を設計する。操作パターンの統一が使いやすさの基本
|
|
73
|
+
- タスク項目(リスト)の前には空行を入れる(Markdown Lint 準拠)
|
|
74
|
+
|
|
75
|
+
## 関連スキル
|
|
76
|
+
|
|
77
|
+
- `orchestrating-analysis` — 分析フェーズ全体のワークフロー案内
|
|
78
|
+
- `analyzing-usecases` — 入力となるユースケース・ユーザーストーリー
|
|
79
|
+
- `analyzing-architecture` — フロントエンドアーキテクチャとの整合性
|
|
80
|
+
- `developing-frontend` — 後続のフロントエンド TDD 実装
|
|
@@ -1,72 +1,72 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: analyzing-usecases
|
|
3
|
-
description: 要件定義からユースケースとユーザーストーリーを体系的に作成。ビジネスユースケース→システムユースケース→ユーザーストーリーの順に導出し、トレーサビリティを維持する。「ユースケースを作成したい」「ユーザーストーリーを書きたい」「要件定義からストーリーを導出したい」「受け入れ基準を定義したい」といった場面で発動する。ユースケースとストーリーを構造的に紐づけることで、開発フェーズでの「なぜこの機能を作るのか」が常に追跡可能になる。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# ユースケース・ユーザーストーリー作成
|
|
7
|
-
|
|
8
|
-
要件定義からユースケースを抽出し、ユーザーストーリーまで一貫したトレーサビリティを維持しながら作成する。
|
|
9
|
-
|
|
10
|
-
ビジネスユースケース→システムユースケース→ユーザーストーリーの 3 段階で具体化することで、「ビジネス要求」と「実装タスク」の間の論理的なつながりを保証する。
|
|
11
|
-
|
|
12
|
-
## 参照ドキュメントとテンプレート
|
|
13
|
-
|
|
14
|
-
| 種類 | パス | 備考 |
|
|
15
|
-
|------|------|------|
|
|
16
|
-
| ガイド | @docs/reference/ユースケース作成ガイド.md | ユースケース作成の進め方詳細 |
|
|
17
|
-
| テンプレート | @docs/template/完全形式のユースケース.md | 編集禁止。参照のみ |
|
|
18
|
-
| 入力 | @docs/requirements/requirements_definition.md | 要件定義 |
|
|
19
|
-
| 成果物 | `docs/requirements/business_usecase.md` | ビジネスユースケース |
|
|
20
|
-
| 成果物 | `docs/requirements/system_usecase.md` | システムユースケース |
|
|
21
|
-
| 成果物 | `docs/requirements/user_story.md` | ユーザーストーリー |
|
|
22
|
-
|
|
23
|
-
## 作成の 3 ステップ
|
|
24
|
-
|
|
25
|
-
### ステップ 1: ビジネスユースケース作成
|
|
26
|
-
|
|
27
|
-
要件定義からビジネスレベルのユースケースを抽出する。システムの詳細には踏み込まず、業務目標とアクターの関係を定義する。
|
|
28
|
-
|
|
29
|
-
- 要件定義のシステム外部環境(層 2)を起点にアクターとユースケースを識別する
|
|
30
|
-
- アクターとユースケースの関係を PlantUML で図示する
|
|
31
|
-
|
|
32
|
-
### ステップ 2: システムユースケース作成
|
|
33
|
-
|
|
34
|
-
ビジネスユースケースをシステム境界の視点で詳細化する。「システムが何を提供するか」を明確にする。
|
|
35
|
-
|
|
36
|
-
- ビジネスユースケースの各項目をシステムレベルに分解する
|
|
37
|
-
- システム境界を明確にし、テンプレートの完全形式で記述する
|
|
38
|
-
|
|
39
|
-
### ステップ 3: ユーザーストーリー作成
|
|
40
|
-
|
|
41
|
-
システムユースケースから開発可能な粒度のユーザーストーリーを導出する。
|
|
42
|
-
|
|
43
|
-
- 「〜として、〜したい。なぜなら〜だからだ」の形式で記述する
|
|
44
|
-
- 各ストーリーに受け入れ基準を定義する
|
|
45
|
-
- ユースケースとの対応関係を明記してトレーサビリティを確保する
|
|
46
|
-
|
|
47
|
-
## 途中から再開・更新
|
|
48
|
-
|
|
49
|
-
既存の成果物がある場合は、まず現在の状態を確認する。不足しているステップや更新が必要な部分のみを修正する。
|
|
50
|
-
|
|
51
|
-
**Example:**
|
|
52
|
-
|
|
53
|
-
```
|
|
54
|
-
ユーザー: 「ビジネスユースケースは作った。ユーザーストーリーを書きたい」
|
|
55
|
-
回答: ステップ 2(システムユースケース)の存在を確認する。
|
|
56
|
-
未作成ならステップ 2 から開始。作成済みならステップ 3 に進む。
|
|
57
|
-
既存のビジネスユースケースのアクターとユースケースを起点に、
|
|
58
|
-
システムユースケースを詳細化してからユーザーストーリーを導出する。
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
## 注意事項
|
|
62
|
-
|
|
63
|
-
- 入力の `requirements_definition.md` が存在しない場合は `analyzing-requirements` を先に実行する
|
|
64
|
-
- テンプレートは編集禁止。参照のみとし、成果物は別ファイルに作成する
|
|
65
|
-
- `user_story.md` にはユーザーストーリーのみ記述する。リリース計画・イテレーション計画は `planning-releases` で別途作成する
|
|
66
|
-
- タスク項目(リスト)の前には空行を入れる(Markdown Lint 準拠)
|
|
67
|
-
|
|
68
|
-
## 関連スキル
|
|
69
|
-
|
|
70
|
-
- `analyzing-requirements` — 前段の要件定義(RDRA 2.0)
|
|
71
|
-
- `planning-releases` — 後続のリリース・イテレーション計画
|
|
72
|
-
- `orchestrating-analysis` — 分析フェーズ全体のワークフロー案内
|
|
1
|
+
---
|
|
2
|
+
name: analyzing-usecases
|
|
3
|
+
description: 要件定義からユースケースとユーザーストーリーを体系的に作成。ビジネスユースケース→システムユースケース→ユーザーストーリーの順に導出し、トレーサビリティを維持する。「ユースケースを作成したい」「ユーザーストーリーを書きたい」「要件定義からストーリーを導出したい」「受け入れ基準を定義したい」といった場面で発動する。ユースケースとストーリーを構造的に紐づけることで、開発フェーズでの「なぜこの機能を作るのか」が常に追跡可能になる。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# ユースケース・ユーザーストーリー作成
|
|
7
|
+
|
|
8
|
+
要件定義からユースケースを抽出し、ユーザーストーリーまで一貫したトレーサビリティを維持しながら作成する。
|
|
9
|
+
|
|
10
|
+
ビジネスユースケース→システムユースケース→ユーザーストーリーの 3 段階で具体化することで、「ビジネス要求」と「実装タスク」の間の論理的なつながりを保証する。
|
|
11
|
+
|
|
12
|
+
## 参照ドキュメントとテンプレート
|
|
13
|
+
|
|
14
|
+
| 種類 | パス | 備考 |
|
|
15
|
+
|------|------|------|
|
|
16
|
+
| ガイド | @docs/reference/ユースケース作成ガイド.md | ユースケース作成の進め方詳細 |
|
|
17
|
+
| テンプレート | @docs/template/完全形式のユースケース.md | 編集禁止。参照のみ |
|
|
18
|
+
| 入力 | @docs/requirements/requirements_definition.md | 要件定義 |
|
|
19
|
+
| 成果物 | `docs/requirements/business_usecase.md` | ビジネスユースケース |
|
|
20
|
+
| 成果物 | `docs/requirements/system_usecase.md` | システムユースケース |
|
|
21
|
+
| 成果物 | `docs/requirements/user_story.md` | ユーザーストーリー |
|
|
22
|
+
|
|
23
|
+
## 作成の 3 ステップ
|
|
24
|
+
|
|
25
|
+
### ステップ 1: ビジネスユースケース作成
|
|
26
|
+
|
|
27
|
+
要件定義からビジネスレベルのユースケースを抽出する。システムの詳細には踏み込まず、業務目標とアクターの関係を定義する。
|
|
28
|
+
|
|
29
|
+
- 要件定義のシステム外部環境(層 2)を起点にアクターとユースケースを識別する
|
|
30
|
+
- アクターとユースケースの関係を PlantUML で図示する
|
|
31
|
+
|
|
32
|
+
### ステップ 2: システムユースケース作成
|
|
33
|
+
|
|
34
|
+
ビジネスユースケースをシステム境界の視点で詳細化する。「システムが何を提供するか」を明確にする。
|
|
35
|
+
|
|
36
|
+
- ビジネスユースケースの各項目をシステムレベルに分解する
|
|
37
|
+
- システム境界を明確にし、テンプレートの完全形式で記述する
|
|
38
|
+
|
|
39
|
+
### ステップ 3: ユーザーストーリー作成
|
|
40
|
+
|
|
41
|
+
システムユースケースから開発可能な粒度のユーザーストーリーを導出する。
|
|
42
|
+
|
|
43
|
+
- 「〜として、〜したい。なぜなら〜だからだ」の形式で記述する
|
|
44
|
+
- 各ストーリーに受け入れ基準を定義する
|
|
45
|
+
- ユースケースとの対応関係を明記してトレーサビリティを確保する
|
|
46
|
+
|
|
47
|
+
## 途中から再開・更新
|
|
48
|
+
|
|
49
|
+
既存の成果物がある場合は、まず現在の状態を確認する。不足しているステップや更新が必要な部分のみを修正する。
|
|
50
|
+
|
|
51
|
+
**Example:**
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
ユーザー: 「ビジネスユースケースは作った。ユーザーストーリーを書きたい」
|
|
55
|
+
回答: ステップ 2(システムユースケース)の存在を確認する。
|
|
56
|
+
未作成ならステップ 2 から開始。作成済みならステップ 3 に進む。
|
|
57
|
+
既存のビジネスユースケースのアクターとユースケースを起点に、
|
|
58
|
+
システムユースケースを詳細化してからユーザーストーリーを導出する。
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## 注意事項
|
|
62
|
+
|
|
63
|
+
- 入力の `requirements_definition.md` が存在しない場合は `analyzing-requirements` を先に実行する
|
|
64
|
+
- テンプレートは編集禁止。参照のみとし、成果物は別ファイルに作成する
|
|
65
|
+
- `user_story.md` にはユーザーストーリーのみ記述する。リリース計画・イテレーション計画は `planning-releases` で別途作成する
|
|
66
|
+
- タスク項目(リスト)の前には空行を入れる(Markdown Lint 準拠)
|
|
67
|
+
|
|
68
|
+
## 関連スキル
|
|
69
|
+
|
|
70
|
+
- `analyzing-requirements` — 前段の要件定義(RDRA 2.0)
|
|
71
|
+
- `planning-releases` — 後続のリリース・イテレーション計画
|
|
72
|
+
- `orchestrating-analysis` — 分析フェーズ全体のワークフロー案内
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: closing-iteration
|
|
3
|
+
description: イテレーション(IT)を漏れなくクローズするための手順を順序立てて案内する。レビュー→品質ゲート→進捗反映→ふりかえり→完了報告書→GitHub 同期→ドキュメント同期の 7 ステップをチェックリストとして提示し、抜けを防ぐ。「イテレーションをクローズしたい」「IT2 を締めたい」「イテレーションの締め作業をしたい」「開発が終わったので締めの作業をしたい」「ふりかえりから報告書・同期まで一通りやりたい」といった場面で必ず発動する。実装が終わった直後・イテレーション末・「次のイテレーションに進む前に」といった局面でも積極的に提案する。クローズ作業は工程が多く順序依存があるため、抜けやすい完了報告書・GitHub 同期・ドキュメント同期を含めて標準化することで、イテレーションの区切りを確実にする。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# イテレーションクローズ
|
|
7
|
+
|
|
8
|
+
イテレーション(IT)の開発が一段落したあと、成果を確定し次イテレーションへ引き継ぐための締め作業を、順序立てて漏れなく実施する。
|
|
9
|
+
|
|
10
|
+
クローズ作業は工程が多く(レビュー・品質確認・ふりかえり・報告書・GitHub・ドキュメント)、かつ順序に依存がある。ひとつでも抜けると「実装は終わったのに Issue が Open のまま」「報告書がなく実績が追えない」「ドキュメントインデックスと実体が乖離」といった負債が残る。本スキルはその抜けを防ぐためのチェックリストとオーケストレーションを提供する。
|
|
11
|
+
|
|
12
|
+
## クローズの前提
|
|
13
|
+
|
|
14
|
+
以下が揃っていることを確認してから着手する。揃っていなければ、まず開発(`orchestrating-development`)に戻る。
|
|
15
|
+
|
|
16
|
+
- 対象イテレーションの全ユーザーストーリーが実装完了している
|
|
17
|
+
- `docs/development/iteration_plan-N.md` が存在する(クローズ対象の計画)
|
|
18
|
+
|
|
19
|
+
## クローズフロー(7 ステップ)
|
|
20
|
+
|
|
21
|
+
順序には理由がある。レビュー指摘を反映してから品質ゲートを固め(ローカル+CI の両方で緑を確認)、実績が確定してからふりかえり・報告書を書き、ドキュメントが整ってから GitHub とインデックスに同期する。上から順に実施する。
|
|
22
|
+
|
|
23
|
+
> ステップ番号は 7 だが、品質ゲート(ステップ 2)にはローカル検証(2)と CI 確認(2.5)が含まれる。ローカル緑だけでは不十分で、CI が緑であって初めて品質ゲートを通過とみなす。
|
|
24
|
+
|
|
25
|
+
### ステップ 1: マルチパースペクティブレビュー(`developing-review`)
|
|
26
|
+
|
|
27
|
+
実装成果物を 5 つの XP 視点(programmer / tester / architect / technical-writer / user-representative)で並列レビューし、統合レポートを `docs/review/<対象名>_review_<YYYYMMDD>.md` に保存する。
|
|
28
|
+
|
|
29
|
+
- **高優先度の指摘は原則クローズ前に対応する**(受入基準のテスト漏れ・設計整合・セキュリティなど)。対応できないものは「許容 / 保留 / 次イテレーション対応」の方針を明記する
|
|
30
|
+
- レビュー→改善のループを 1 回まわしてからクローズに進むことで、負債を次イテレーションに持ち越さない
|
|
31
|
+
- `docs/review/index.md` にレビュー行を追加する
|
|
32
|
+
|
|
33
|
+
### ステップ 2: 品質ゲート
|
|
34
|
+
|
|
35
|
+
「変更を楽に安全にできる」状態を数値と自動チェックで確認する。イテレーションの成果が緑であることを、この時点で確定させる。
|
|
36
|
+
|
|
37
|
+
- 全テストが green(単体・統合・HTTP フロー / E2E)
|
|
38
|
+
- Lint・フォーマットがクリーン(このプロジェクトでは `cargo clippy --workspace --all-targets -- -D warnings` と `cargo fmt --check`)
|
|
39
|
+
- カバレッジを計測し目標との差分を把握する(`operating-qt` の SonarQube 品質ゲート、または `cargo llvm-cov`)
|
|
40
|
+
- ゲートを通らない場合はクローズを止め、修正してから再度ここに戻る
|
|
41
|
+
- **CI と同じツールチェーンで検証する**: ローカルの clippy が古いと CI(`.github/workflows/rust-ci.yml` は `dtolnay/rust-toolchain@stable` を使用)だけが新 lint で落ちる。ローカルの stable が CI より古い可能性があるため、`rustup update stable` してから `cargo +stable clippy --workspace --all-targets -- -D warnings` / `cargo +stable fmt --check` を実行し、ツールチェーンの乖離による「ローカル緑・CI 赤」を防ぐ
|
|
42
|
+
|
|
43
|
+
### ステップ 2.5: CI 確認(`gh run`)
|
|
44
|
+
|
|
45
|
+
ローカルのゲートが緑でも、CI で落ちていればイテレーションは緑ではない。**このステップは忘れやすい**(ローカルで達成感が出た後、push 後の CI 結果を見ないまま次に進みやすい)。
|
|
46
|
+
|
|
47
|
+
- 対象ブランチの最新 CI 結果を確認する(`gh run list --branch <branch> --limit 5`)。直近が `failure` なら `gh run view <run-id> --log-failed` で原因を特定し、修正してステップ 2 に戻る
|
|
48
|
+
- push 前にクローズ作業を進める場合も、過去コミットで CI が赤のまま放置されていないかを必ず確認する(赤を「完了」と宣言しない)
|
|
49
|
+
- 修正後は再 push し、CI が緑に戻ることを確認してからクローズを確定する
|
|
50
|
+
|
|
51
|
+
### ステップ 3: 進捗反映(`tracking-progress --update`)
|
|
52
|
+
|
|
53
|
+
実績データ(git ログ・テスト結果・カバレッジ)を集計し、計画ドキュメントを実績で更新する。
|
|
54
|
+
|
|
55
|
+
- `docs/development/release_plan.md`: 進捗状況テーブル(実績 SP・達成率・状態)、バーンダウン実績値
|
|
56
|
+
- `docs/development/iteration_plan-N.md`: 成功基準・DoD のチェック、タスク状態、進捗率、実績注記
|
|
57
|
+
- **未達・スコープ調整は正直に記録する**(「完了扱いだが受入基準の一部は次 IT」など)。ごまかすと後続の計画精度が落ちる
|
|
58
|
+
|
|
59
|
+
### ステップ 4: ふりかえり(`planning-releases --retrospective`)
|
|
60
|
+
|
|
61
|
+
KPT(Keep / Problem / Try)で振り返り、`docs/development/retrospective-N.md` に保存する。
|
|
62
|
+
|
|
63
|
+
- **Keep**: 技術的・プロセス的にうまくいったこと
|
|
64
|
+
- **Problem**: 未完了・見積もりのズレ・技術的負債の発生源
|
|
65
|
+
- **Try**: 具体的な改善アクション(担当・期限・期待効果付き)。次イテレーション計画に反映できる粒度にする
|
|
66
|
+
- 次イテレーションへの引き継ぎ(持ち越し事項)を明記する
|
|
67
|
+
|
|
68
|
+
### ステップ 5: 完了報告書(`planning-releases --report` → `creating-iteration-report`)
|
|
69
|
+
|
|
70
|
+
`docs/development/iteration_report-N.md` を作成する。**このステップは工程の後半にあり最も忘れやすい**。エグゼクティブサマリー・達成状況・技術的成果・品質指標・レビュー結果・課題と残作業・次イテレーション引き継ぎを、実績データから記述する。
|
|
71
|
+
|
|
72
|
+
### ステップ 6: GitHub 同期(`syncing-github-project --sync`)
|
|
73
|
+
|
|
74
|
+
`release_plan.md` を正として GitHub に反映する。
|
|
75
|
+
|
|
76
|
+
- 完了ストーリーの Issue をクローズ(完了コメント付き)
|
|
77
|
+
- GitHub Project のカスタムフィールド(Status → Done 等)を更新
|
|
78
|
+
- マイルストーンの open/closed 件数を確認し、リリース進捗を把握する
|
|
79
|
+
|
|
80
|
+
### ステップ 7: ドキュメント同期(`operating-docs --update`)
|
|
81
|
+
|
|
82
|
+
ドキュメントインデックスを成果物の実体に合わせる。
|
|
83
|
+
|
|
84
|
+
- `docs/development/index.md`: イテレーション行にふりかえり・完了報告書のリンクを追加、状態を「完了」に
|
|
85
|
+
- `docs/index.md`: 開発の状態・レビュー件数・ADR 件数などのサマリーを更新
|
|
86
|
+
- `mkdocs.yml`: ふりかえり・完了報告書・新規レビュー・新規 ADR をナビゲーションに追加
|
|
87
|
+
- 追加行のインデントが既存ナビと一致しているか確認する
|
|
88
|
+
|
|
89
|
+
### (任意)ステップ 8: ジャーナル(`creating-journal`)
|
|
90
|
+
|
|
91
|
+
長いセッションや区切りとして、判断・詰まり・学びを `docs/journal/YYYYMMDD.md` に残すと、コミットログに載らない意思決定の経緯を追跡できる。
|
|
92
|
+
|
|
93
|
+
## クローズ完了チェックリスト
|
|
94
|
+
|
|
95
|
+
すべて満たしたらイテレーションはクローズ済みとみなす。
|
|
96
|
+
|
|
97
|
+
- [ ] `developing-review` 実施・レポート保存・高優先度対応(または方針明記)
|
|
98
|
+
- [ ] 全テスト green・Lint/フォーマットクリーン(CI と同じ `+stable` ツールチェーンで確認)・カバレッジ把握
|
|
99
|
+
- [ ] **CI が緑**(`gh run list` で対象ブランチの最新実行が success・赤なら修正して再確認)
|
|
100
|
+
- [ ] `release_plan.md` / `iteration_plan-N.md` を実績で更新
|
|
101
|
+
- [ ] `retrospective-N.md`(KPT)作成
|
|
102
|
+
- [ ] `iteration_report-N.md`(完了報告書)作成
|
|
103
|
+
- [ ] GitHub Issue クローズ・Project Status 更新
|
|
104
|
+
- [ ] `docs/index.md` / `docs/development/index.md` / `mkdocs.yml` 同期
|
|
105
|
+
- [ ] 各ステップの成果を意味のある単位でコミット(`git-commit`)
|
|
106
|
+
|
|
107
|
+
## コミットの区切り
|
|
108
|
+
|
|
109
|
+
各ステップの成果は個別にコミットする(`git-commit`)。ドキュメント系は `docs(...)` タイプで、対象と目的が分かるメッセージにする。1 コミット 1 目的を守ることで、後から特定のクローズ作業だけを追跡・ロールバックできる。
|
|
110
|
+
|
|
111
|
+
## 注意事項
|
|
112
|
+
|
|
113
|
+
- **順序を守る**: レビュー指摘の反映前に報告書を書くと、報告書が実態とずれる。品質ゲートを通す前に GitHub をクローズすると、緑でない成果を「完了」と宣言してしまう
|
|
114
|
+
- **抜けやすいのはステップ 5-7**(報告書・GitHub・ドキュメント)。実装とレビューで達成感が出た後の事務作業のため後回しにされやすい。チェックリストで機械的に確認する
|
|
115
|
+
- **ローカル緑を CI 緑と混同しない**(ステップ 2.5)。ローカルのツールチェーンが CI(`@stable`)より古いと、新しい clippy lint がローカルをすり抜けて CI だけ赤になる。クローズ確定前に `gh run` で CI の実結果を必ず確認し、赤なら緑に戻す
|
|
116
|
+
- **正直さを優先する**: 未達・スコープ調整・DoD の未チェック項目は隠さず記録する。次イテレーションの計画精度とベロシティの信頼性はこの正直さに依存する
|
|
117
|
+
|
|
118
|
+
## 関連スキル
|
|
119
|
+
|
|
120
|
+
- `orchestrating-project` — 計画・進捗管理フェーズ全体のオーケストレーション(本スキルはその「イテレーション終了時」を詳細化したもの)
|
|
121
|
+
- `developing-review` — 開発成果物のマルチパースペクティブレビュー(ステップ 1)
|
|
122
|
+
- `operating-qt` — SonarQube による品質ゲート確認(ステップ 2)
|
|
123
|
+
- `tracking-progress` — 進捗分析・ドキュメント更新(ステップ 3)
|
|
124
|
+
- `planning-releases` — ふりかえり・完了報告書(ステップ 4-5)
|
|
125
|
+
- `creating-iteration-report` — 完了報告書の作成(ステップ 5 の委譲先)
|
|
126
|
+
- `syncing-github-project` — GitHub 同期(ステップ 6)
|
|
127
|
+
- `operating-docs` — ドキュメントインデックス更新・Lint(ステップ 7)
|
|
128
|
+
- `creating-journal` — セッション記録(任意ステップ 8)
|
|
129
|
+
- `git-commit` — 各ステップ成果のコミット
|