@k2works/claude-code-booster 4.8.0 → 4.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +42 -42
- package/bin/claude-code-booster +90 -90
- package/lib/assets/.claude/README.md +279 -271
- 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/creating-adr/SKILL.md +113 -113
- package/lib/assets/.claude/skills/creating-development-strategy/SKILL.md +101 -0
- 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/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 -0
- package/lib/assets/.claude/skills/validating-iteration-plan/SKILL.md +238 -238
- package/lib/assets/.claude/skills/validating-operating-setup/SKILL.md +118 -0
- 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 +195 -193
- 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,151 +1,151 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: syncing-github-project
|
|
3
|
-
description: リリース計画を GitHub Project・Issue・Milestone に反映し一元管理。初回の一括同期から差異検出・自動同期まで対応する。「GitHub Project に同期したい」「Issue を作成したい」「計画と GitHub の差異を確認したい」「Milestone を設定したい」といった場面で発動する。計画ドキュメントを Single Source of Truth とし GitHub に自動反映することで、二重管理の手間と不整合を排除する。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# GitHub Project 同期
|
|
7
|
-
|
|
8
|
-
リリース計画を GitHub Project・Issue・Milestone に反映し、プロジェクト管理を GitHub 上で一元化する。
|
|
9
|
-
|
|
10
|
-
`docs/development/release_plan.md` を正とし、GitHub は同期先として扱う。手動で GitHub を直接更新するのではなく、計画ドキュメントを更新してから `--sync` で反映する。
|
|
11
|
-
|
|
12
|
-
## オプション
|
|
13
|
-
|
|
14
|
-
| オプション | 説明 |
|
|
15
|
-
|-----------|------|
|
|
16
|
-
| なし | 全体の同期を実行(Project・Issue・フィールド・Milestone) |
|
|
17
|
-
| `--project` | GitHub Project のみを作成 |
|
|
18
|
-
| `--issues` | Issue のみを作成(Project 存在が前提) |
|
|
19
|
-
| `--fields` | 各 Issue に対して Project フィールド値を設定 |
|
|
20
|
-
| `--milestones` | Milestone のみを作成し Issue に割り当て |
|
|
21
|
-
| `--sync` | release_plan.md と GitHub の差異を確認し同期 |
|
|
22
|
-
| `--status` | 現在の GitHub Project 状態を表示 |
|
|
23
|
-
|
|
24
|
-
## GitHub Project の作成
|
|
25
|
-
|
|
26
|
-
release_plan.md に基づいて Project を作成し、カスタムフィールドを設定する。
|
|
27
|
-
|
|
28
|
-
**標準フィールド構成**:
|
|
29
|
-
|
|
30
|
-
| フィールド | タイプ | 説明 |
|
|
31
|
-
|-----------|--------|------|
|
|
32
|
-
| Status | Single Select | Todo / In Progress / Done |
|
|
33
|
-
| リリース | Single Select | release_plan.md のリリースフェーズに対応 |
|
|
34
|
-
| 優先度 | Single Select | ストーリーの優先度 |
|
|
35
|
-
| SP | Number | ストーリーポイント |
|
|
36
|
-
| イテレーション | Iteration | スプリント期間(開始日・期間付き) |
|
|
37
|
-
|
|
38
|
-
```bash
|
|
39
|
-
# Single Select フィールドの作成
|
|
40
|
-
gh project field-create <PROJECT_NUMBER> --owner <OWNER> \
|
|
41
|
-
--name "<フィールド名>" --data-type "SINGLE_SELECT" \
|
|
42
|
-
--single-select-options "<選択肢1>,<選択肢2>"
|
|
43
|
-
|
|
44
|
-
# Number フィールドの作成
|
|
45
|
-
gh project field-create <PROJECT_NUMBER> --owner <OWNER> \
|
|
46
|
-
--name "SP" --data-type "NUMBER"
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
## Issue の作成
|
|
50
|
-
|
|
51
|
-
ユーザーストーリーを GitHub Issue として作成し、Project に追加する。
|
|
52
|
-
|
|
53
|
-
- **タイトル**: `[ストーリーID] ストーリー名`
|
|
54
|
-
- **本文**: ユーザーストーリー、サブタスク、受入条件、見積もり情報
|
|
55
|
-
- **Milestone**: リリースフェーズに対応する Milestone に割り当て
|
|
56
|
-
|
|
57
|
-
```bash
|
|
58
|
-
gh issue create --repo <OWNER>/<REPO> \
|
|
59
|
-
--title "<ストーリーID>: <ストーリー名>" \
|
|
60
|
-
--milestone "<Milestone 名>" --body "..."
|
|
61
|
-
|
|
62
|
-
gh project item-add <PROJECT_NUMBER> --owner <OWNER> \
|
|
63
|
-
--url "https://github.com/<OWNER>/<REPO>/issues/<NUMBER>"
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
## Iteration フィールドの作成と設定
|
|
67
|
-
|
|
68
|
-
Iteration フィールドは Single Select ではなく **Iteration 型** で作成する。GraphQL API で `iterationConfiguration` を含めることで、フィールド作成と同時にイテレーション期間を設定できる。
|
|
69
|
-
|
|
70
|
-
```bash
|
|
71
|
-
# Iteration フィールドの作成
|
|
72
|
-
gh api graphql -f query='
|
|
73
|
-
mutation {
|
|
74
|
-
createProjectV2Field(input: {
|
|
75
|
-
projectId: "<PROJECT_ID>"
|
|
76
|
-
dataType: ITERATION
|
|
77
|
-
name: "イテレーション"
|
|
78
|
-
iterationConfiguration: {
|
|
79
|
-
startDate: "<開始日 YYYY-MM-DD>"
|
|
80
|
-
duration: <デフォルト期間(日数)>
|
|
81
|
-
iterations: [
|
|
82
|
-
{ title: "<IT名>", startDate: "<開始日>", duration: <日数> }
|
|
83
|
-
]
|
|
84
|
-
}
|
|
85
|
-
}) { projectV2Field { ... on ProjectV2IterationField { id } } }
|
|
86
|
-
}'
|
|
87
|
-
|
|
88
|
-
# 各 Issue への Iteration 値の設定
|
|
89
|
-
gh api graphql -f query='
|
|
90
|
-
mutation {
|
|
91
|
-
updateProjectV2ItemFieldValue(input: {
|
|
92
|
-
projectId: "<PROJECT_ID>"
|
|
93
|
-
itemId: "<ITEM_ID>"
|
|
94
|
-
fieldId: "<ITERATION_FIELD_ID>"
|
|
95
|
-
value: { iterationId: "<ITERATION_ID>" }
|
|
96
|
-
}) { projectV2Item { id } }
|
|
97
|
-
}'
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
## 差異確認と同期(--sync)
|
|
101
|
-
|
|
102
|
-
release_plan.md と GitHub の整合性を確認し、差異があれば同期を実行する。
|
|
103
|
-
|
|
104
|
-
**確認項目**: ストーリー数、SP、リリース/Milestone 割り当て、優先度、イテレーション割り当て、Status
|
|
105
|
-
|
|
106
|
-
**同期動作**:
|
|
107
|
-
|
|
108
|
-
- **新規ストーリー**: Issue を作成し Project に追加する
|
|
109
|
-
- **変更されたストーリー**: Issue のフィールド値を更新する
|
|
110
|
-
- **削除されたストーリー**: Issue をクローズする(削除はしない)
|
|
111
|
-
|
|
112
|
-
## 同期フロー
|
|
113
|
-
|
|
114
|
-
```mermaid
|
|
115
|
-
graph TD
|
|
116
|
-
A[release_plan.md] --> B{同期開始}
|
|
117
|
-
B --> C[GitHub Project 作成]
|
|
118
|
-
C --> D[カスタムフィールド設定]
|
|
119
|
-
D --> E[Issue 作成]
|
|
120
|
-
E --> F[Project に Item 追加]
|
|
121
|
-
F --> G[フィールド値設定]
|
|
122
|
-
G --> H[Milestone 作成・割当]
|
|
123
|
-
H --> I[同期完了]
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
## 途中から再開
|
|
127
|
-
|
|
128
|
-
同期作業の途中から再開する場合は、まず現在の GitHub 状態を確認する。
|
|
129
|
-
|
|
130
|
-
**Example:**
|
|
131
|
-
|
|
132
|
-
```
|
|
133
|
-
ユーザー: 「Project と Issue は作成済み。フィールド値を設定したい」
|
|
134
|
-
回答: --status で現在の GitHub 状態を確認する。
|
|
135
|
-
--fields でフィールド値を一括設定する。
|
|
136
|
-
設定後に --sync で release_plan.md との整合性を検証する。
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
## 注意事項
|
|
140
|
-
|
|
141
|
-
- `docs/development/release_plan.md` が存在すること、`gh` CLI がインストールされ認証済みであること、Project API スコープが有効であること(前提条件)
|
|
142
|
-
- 既存の Project/Issue がある場合は重複作成に注意する
|
|
143
|
-
- Iteration フィールドの期間変更は GraphQL API または Web UI で実施する
|
|
144
|
-
- 初回は `--sync` で差異確認してから同期する。大規模変更前にはバックアップを推奨する
|
|
145
|
-
|
|
146
|
-
## 関連スキル
|
|
147
|
-
|
|
148
|
-
- `planning-releases` — リリース計画とイテレーション計画の作成
|
|
149
|
-
- `tracking-progress` — 進捗状況の確認と更新
|
|
150
|
-
- `orchestrating-project` — 計画・進捗管理フェーズ全体のオーケストレーション
|
|
151
|
-
- `git-commit` — 変更のコミット
|
|
1
|
+
---
|
|
2
|
+
name: syncing-github-project
|
|
3
|
+
description: リリース計画を GitHub Project・Issue・Milestone に反映し一元管理。初回の一括同期から差異検出・自動同期まで対応する。「GitHub Project に同期したい」「Issue を作成したい」「計画と GitHub の差異を確認したい」「Milestone を設定したい」といった場面で発動する。計画ドキュメントを Single Source of Truth とし GitHub に自動反映することで、二重管理の手間と不整合を排除する。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# GitHub Project 同期
|
|
7
|
+
|
|
8
|
+
リリース計画を GitHub Project・Issue・Milestone に反映し、プロジェクト管理を GitHub 上で一元化する。
|
|
9
|
+
|
|
10
|
+
`docs/development/release_plan.md` を正とし、GitHub は同期先として扱う。手動で GitHub を直接更新するのではなく、計画ドキュメントを更新してから `--sync` で反映する。
|
|
11
|
+
|
|
12
|
+
## オプション
|
|
13
|
+
|
|
14
|
+
| オプション | 説明 |
|
|
15
|
+
|-----------|------|
|
|
16
|
+
| なし | 全体の同期を実行(Project・Issue・フィールド・Milestone) |
|
|
17
|
+
| `--project` | GitHub Project のみを作成 |
|
|
18
|
+
| `--issues` | Issue のみを作成(Project 存在が前提) |
|
|
19
|
+
| `--fields` | 各 Issue に対して Project フィールド値を設定 |
|
|
20
|
+
| `--milestones` | Milestone のみを作成し Issue に割り当て |
|
|
21
|
+
| `--sync` | release_plan.md と GitHub の差異を確認し同期 |
|
|
22
|
+
| `--status` | 現在の GitHub Project 状態を表示 |
|
|
23
|
+
|
|
24
|
+
## GitHub Project の作成
|
|
25
|
+
|
|
26
|
+
release_plan.md に基づいて Project を作成し、カスタムフィールドを設定する。
|
|
27
|
+
|
|
28
|
+
**標準フィールド構成**:
|
|
29
|
+
|
|
30
|
+
| フィールド | タイプ | 説明 |
|
|
31
|
+
|-----------|--------|------|
|
|
32
|
+
| Status | Single Select | Todo / In Progress / Done |
|
|
33
|
+
| リリース | Single Select | release_plan.md のリリースフェーズに対応 |
|
|
34
|
+
| 優先度 | Single Select | ストーリーの優先度 |
|
|
35
|
+
| SP | Number | ストーリーポイント |
|
|
36
|
+
| イテレーション | Iteration | スプリント期間(開始日・期間付き) |
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
# Single Select フィールドの作成
|
|
40
|
+
gh project field-create <PROJECT_NUMBER> --owner <OWNER> \
|
|
41
|
+
--name "<フィールド名>" --data-type "SINGLE_SELECT" \
|
|
42
|
+
--single-select-options "<選択肢1>,<選択肢2>"
|
|
43
|
+
|
|
44
|
+
# Number フィールドの作成
|
|
45
|
+
gh project field-create <PROJECT_NUMBER> --owner <OWNER> \
|
|
46
|
+
--name "SP" --data-type "NUMBER"
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Issue の作成
|
|
50
|
+
|
|
51
|
+
ユーザーストーリーを GitHub Issue として作成し、Project に追加する。
|
|
52
|
+
|
|
53
|
+
- **タイトル**: `[ストーリーID] ストーリー名`
|
|
54
|
+
- **本文**: ユーザーストーリー、サブタスク、受入条件、見積もり情報
|
|
55
|
+
- **Milestone**: リリースフェーズに対応する Milestone に割り当て
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
gh issue create --repo <OWNER>/<REPO> \
|
|
59
|
+
--title "<ストーリーID>: <ストーリー名>" \
|
|
60
|
+
--milestone "<Milestone 名>" --body "..."
|
|
61
|
+
|
|
62
|
+
gh project item-add <PROJECT_NUMBER> --owner <OWNER> \
|
|
63
|
+
--url "https://github.com/<OWNER>/<REPO>/issues/<NUMBER>"
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Iteration フィールドの作成と設定
|
|
67
|
+
|
|
68
|
+
Iteration フィールドは Single Select ではなく **Iteration 型** で作成する。GraphQL API で `iterationConfiguration` を含めることで、フィールド作成と同時にイテレーション期間を設定できる。
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
# Iteration フィールドの作成
|
|
72
|
+
gh api graphql -f query='
|
|
73
|
+
mutation {
|
|
74
|
+
createProjectV2Field(input: {
|
|
75
|
+
projectId: "<PROJECT_ID>"
|
|
76
|
+
dataType: ITERATION
|
|
77
|
+
name: "イテレーション"
|
|
78
|
+
iterationConfiguration: {
|
|
79
|
+
startDate: "<開始日 YYYY-MM-DD>"
|
|
80
|
+
duration: <デフォルト期間(日数)>
|
|
81
|
+
iterations: [
|
|
82
|
+
{ title: "<IT名>", startDate: "<開始日>", duration: <日数> }
|
|
83
|
+
]
|
|
84
|
+
}
|
|
85
|
+
}) { projectV2Field { ... on ProjectV2IterationField { id } } }
|
|
86
|
+
}'
|
|
87
|
+
|
|
88
|
+
# 各 Issue への Iteration 値の設定
|
|
89
|
+
gh api graphql -f query='
|
|
90
|
+
mutation {
|
|
91
|
+
updateProjectV2ItemFieldValue(input: {
|
|
92
|
+
projectId: "<PROJECT_ID>"
|
|
93
|
+
itemId: "<ITEM_ID>"
|
|
94
|
+
fieldId: "<ITERATION_FIELD_ID>"
|
|
95
|
+
value: { iterationId: "<ITERATION_ID>" }
|
|
96
|
+
}) { projectV2Item { id } }
|
|
97
|
+
}'
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## 差異確認と同期(--sync)
|
|
101
|
+
|
|
102
|
+
release_plan.md と GitHub の整合性を確認し、差異があれば同期を実行する。
|
|
103
|
+
|
|
104
|
+
**確認項目**: ストーリー数、SP、リリース/Milestone 割り当て、優先度、イテレーション割り当て、Status
|
|
105
|
+
|
|
106
|
+
**同期動作**:
|
|
107
|
+
|
|
108
|
+
- **新規ストーリー**: Issue を作成し Project に追加する
|
|
109
|
+
- **変更されたストーリー**: Issue のフィールド値を更新する
|
|
110
|
+
- **削除されたストーリー**: Issue をクローズする(削除はしない)
|
|
111
|
+
|
|
112
|
+
## 同期フロー
|
|
113
|
+
|
|
114
|
+
```mermaid
|
|
115
|
+
graph TD
|
|
116
|
+
A[release_plan.md] --> B{同期開始}
|
|
117
|
+
B --> C[GitHub Project 作成]
|
|
118
|
+
C --> D[カスタムフィールド設定]
|
|
119
|
+
D --> E[Issue 作成]
|
|
120
|
+
E --> F[Project に Item 追加]
|
|
121
|
+
F --> G[フィールド値設定]
|
|
122
|
+
G --> H[Milestone 作成・割当]
|
|
123
|
+
H --> I[同期完了]
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## 途中から再開
|
|
127
|
+
|
|
128
|
+
同期作業の途中から再開する場合は、まず現在の GitHub 状態を確認する。
|
|
129
|
+
|
|
130
|
+
**Example:**
|
|
131
|
+
|
|
132
|
+
```
|
|
133
|
+
ユーザー: 「Project と Issue は作成済み。フィールド値を設定したい」
|
|
134
|
+
回答: --status で現在の GitHub 状態を確認する。
|
|
135
|
+
--fields でフィールド値を一括設定する。
|
|
136
|
+
設定後に --sync で release_plan.md との整合性を検証する。
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
## 注意事項
|
|
140
|
+
|
|
141
|
+
- `docs/development/release_plan.md` が存在すること、`gh` CLI がインストールされ認証済みであること、Project API スコープが有効であること(前提条件)
|
|
142
|
+
- 既存の Project/Issue がある場合は重複作成に注意する
|
|
143
|
+
- Iteration フィールドの期間変更は GraphQL API または Web UI で実施する
|
|
144
|
+
- 初回は `--sync` で差異確認してから同期する。大規模変更前にはバックアップを推奨する
|
|
145
|
+
|
|
146
|
+
## 関連スキル
|
|
147
|
+
|
|
148
|
+
- `planning-releases` — リリース計画とイテレーション計画の作成
|
|
149
|
+
- `tracking-progress` — 進捗状況の確認と更新
|
|
150
|
+
- `orchestrating-project` — 計画・進捗管理フェーズ全体のオーケストレーション
|
|
151
|
+
- `git-commit` — 変更のコミット
|
|
@@ -1,91 +1,91 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: tracking-progress
|
|
3
|
-
description: プロジェクトの開発進捗を多角的に分析しレポートを生成。イテレーション達成度、技術実装状況、品質メトリクスを確認し、計画ドキュメントを自動更新する。「進捗を確認したい」「プロジェクトの状態を知りたい」「イテレーションの達成度を分析したい」「進捗ドキュメントを更新したい」といった場面で発動する。定期的な進捗可視化により、遅延や品質低下を早期に発見しプロジェクトの透明性を確保する。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# 進捗追跡
|
|
7
|
-
|
|
8
|
-
プロジェクトの開発進捗を多角的に分析し、現在の状況を定量的に報告する。Git 履歴・テスト結果・ドキュメントを総合的に分析して進捗を可視化する。
|
|
9
|
-
|
|
10
|
-
## オプション
|
|
11
|
-
|
|
12
|
-
| オプション | 説明 |
|
|
13
|
-
|-----------|------|
|
|
14
|
-
| なし | 全体的な進捗確認(デフォルト) |
|
|
15
|
-
| `--brief` | 簡潔な進捗サマリー表示 |
|
|
16
|
-
| `--detailed` | 詳細な進捗レポート生成 |
|
|
17
|
-
| `--iteration <番号>` | 特定イテレーションの進捗確認 |
|
|
18
|
-
| `--technical` | 技術的な実装状況に焦点 |
|
|
19
|
-
| `--docs` | ドキュメント更新状況の確認 |
|
|
20
|
-
| `--update` | `docs/development/` 内のドキュメントを現在の進捗に合わせて更新 |
|
|
21
|
-
|
|
22
|
-
## 分析の観点
|
|
23
|
-
|
|
24
|
-
- **イテレーション達成度**: 計画 vs 実績の比較分析(SP、ストーリー数、期間)
|
|
25
|
-
- **技術実装状況**: 機能完成度・テスト結果・ビルド状態
|
|
26
|
-
- **品質メトリクス**: テストカバレッジ、静的解析結果、コード複雑度
|
|
27
|
-
- **ドキュメント整備**: 計画書・仕様書・手順書の最新性
|
|
28
|
-
|
|
29
|
-
## --update オプションの詳細
|
|
30
|
-
|
|
31
|
-
`docs/development/` 内のドキュメントを現在の進捗に合わせて自動更新する。
|
|
32
|
-
|
|
33
|
-
**更新対象**:
|
|
34
|
-
|
|
35
|
-
- `docs/development/release_plan.md` — 進捗状況テーブル、リリース条件チェック、バーンダウン実績値
|
|
36
|
-
- `docs/development/iteration_plan-*.md` — 成功基準チェック、タスク状態、完了条件(DoD)、メトリクス実績値
|
|
37
|
-
|
|
38
|
-
**更新判定の情報源**:
|
|
39
|
-
|
|
40
|
-
```bash
|
|
41
|
-
git log --oneline --since="2 weeks ago" # 実装状況の分析
|
|
42
|
-
dotnet test --logger trx # テスト結果の取得
|
|
43
|
-
npm test -- --coverage # カバレッジの取得
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
## 出力例
|
|
47
|
-
|
|
48
|
-
```
|
|
49
|
-
プロジェクト進捗レポート
|
|
50
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
51
|
-
|
|
52
|
-
Overall Status: フルスタック実装完成 (MVP 準備段階)
|
|
53
|
-
|
|
54
|
-
Iteration Progress:
|
|
55
|
-
├─ Iteration 1 (認証・閲覧): 完了 (計画 10 日→実績 4 日)
|
|
56
|
-
├─ Iteration 2 (予約機能): 計画済み
|
|
57
|
-
├─ Iteration 3 (キャンセル): 待機中
|
|
58
|
-
└─ Iteration 4 (運用準備): 待機中
|
|
59
|
-
|
|
60
|
-
Technical Implementation:
|
|
61
|
-
├─ Backend (.NET 9): 完全実装 (181 テスト全通過)
|
|
62
|
-
├─ Frontend (React TS): 完全実装
|
|
63
|
-
└─ API Integration: フルスタック連携確認
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
## 途中から再開
|
|
67
|
-
|
|
68
|
-
進捗追跡の途中から再開する場合は、前回の追跡結果を確認する。
|
|
69
|
-
|
|
70
|
-
**Example:**
|
|
71
|
-
|
|
72
|
-
```
|
|
73
|
-
ユーザー: 「イテレーション 2 の中間進捗を確認したい」
|
|
74
|
-
回答: --iteration 2 で現在の達成状況を分析する。
|
|
75
|
-
計画 SP と完了 SP を比較し、残りの期間で完了可能か評価する。
|
|
76
|
-
遅延リスクがあれば早期に報告する。
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
## 注意事項
|
|
80
|
-
|
|
81
|
-
- Git リポジトリ内で実行し、プロジェクト構造を理解していること(前提条件)
|
|
82
|
-
- 実行時点での動的な状況を総合的に分析する
|
|
83
|
-
- `--update` 使用時は更新前に Git でコミットしておくことを推奨する(ロールバック用)
|
|
84
|
-
- イテレーション開始・終了時の定期実行を推奨する
|
|
85
|
-
- `--update` 実行後、KPT セクションは手動で記入して振り返りを完了する
|
|
86
|
-
|
|
87
|
-
## 関連スキル
|
|
88
|
-
|
|
89
|
-
- `managing-docs` — ドキュメント一覧と進捗状況の確認
|
|
90
|
-
- `git-commit` — 進捗に合わせた適切なコミット実行
|
|
91
|
-
- `planning-releases` — イテレーション計画の作成・更新
|
|
1
|
+
---
|
|
2
|
+
name: tracking-progress
|
|
3
|
+
description: プロジェクトの開発進捗を多角的に分析しレポートを生成。イテレーション達成度、技術実装状況、品質メトリクスを確認し、計画ドキュメントを自動更新する。「進捗を確認したい」「プロジェクトの状態を知りたい」「イテレーションの達成度を分析したい」「進捗ドキュメントを更新したい」といった場面で発動する。定期的な進捗可視化により、遅延や品質低下を早期に発見しプロジェクトの透明性を確保する。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 進捗追跡
|
|
7
|
+
|
|
8
|
+
プロジェクトの開発進捗を多角的に分析し、現在の状況を定量的に報告する。Git 履歴・テスト結果・ドキュメントを総合的に分析して進捗を可視化する。
|
|
9
|
+
|
|
10
|
+
## オプション
|
|
11
|
+
|
|
12
|
+
| オプション | 説明 |
|
|
13
|
+
|-----------|------|
|
|
14
|
+
| なし | 全体的な進捗確認(デフォルト) |
|
|
15
|
+
| `--brief` | 簡潔な進捗サマリー表示 |
|
|
16
|
+
| `--detailed` | 詳細な進捗レポート生成 |
|
|
17
|
+
| `--iteration <番号>` | 特定イテレーションの進捗確認 |
|
|
18
|
+
| `--technical` | 技術的な実装状況に焦点 |
|
|
19
|
+
| `--docs` | ドキュメント更新状況の確認 |
|
|
20
|
+
| `--update` | `docs/development/` 内のドキュメントを現在の進捗に合わせて更新 |
|
|
21
|
+
|
|
22
|
+
## 分析の観点
|
|
23
|
+
|
|
24
|
+
- **イテレーション達成度**: 計画 vs 実績の比較分析(SP、ストーリー数、期間)
|
|
25
|
+
- **技術実装状況**: 機能完成度・テスト結果・ビルド状態
|
|
26
|
+
- **品質メトリクス**: テストカバレッジ、静的解析結果、コード複雑度
|
|
27
|
+
- **ドキュメント整備**: 計画書・仕様書・手順書の最新性
|
|
28
|
+
|
|
29
|
+
## --update オプションの詳細
|
|
30
|
+
|
|
31
|
+
`docs/development/` 内のドキュメントを現在の進捗に合わせて自動更新する。
|
|
32
|
+
|
|
33
|
+
**更新対象**:
|
|
34
|
+
|
|
35
|
+
- `docs/development/release_plan.md` — 進捗状況テーブル、リリース条件チェック、バーンダウン実績値
|
|
36
|
+
- `docs/development/iteration_plan-*.md` — 成功基準チェック、タスク状態、完了条件(DoD)、メトリクス実績値
|
|
37
|
+
|
|
38
|
+
**更新判定の情報源**:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
git log --oneline --since="2 weeks ago" # 実装状況の分析
|
|
42
|
+
dotnet test --logger trx # テスト結果の取得
|
|
43
|
+
npm test -- --coverage # カバレッジの取得
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## 出力例
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
プロジェクト進捗レポート
|
|
50
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
51
|
+
|
|
52
|
+
Overall Status: フルスタック実装完成 (MVP 準備段階)
|
|
53
|
+
|
|
54
|
+
Iteration Progress:
|
|
55
|
+
├─ Iteration 1 (認証・閲覧): 完了 (計画 10 日→実績 4 日)
|
|
56
|
+
├─ Iteration 2 (予約機能): 計画済み
|
|
57
|
+
├─ Iteration 3 (キャンセル): 待機中
|
|
58
|
+
└─ Iteration 4 (運用準備): 待機中
|
|
59
|
+
|
|
60
|
+
Technical Implementation:
|
|
61
|
+
├─ Backend (.NET 9): 完全実装 (181 テスト全通過)
|
|
62
|
+
├─ Frontend (React TS): 完全実装
|
|
63
|
+
└─ API Integration: フルスタック連携確認
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## 途中から再開
|
|
67
|
+
|
|
68
|
+
進捗追跡の途中から再開する場合は、前回の追跡結果を確認する。
|
|
69
|
+
|
|
70
|
+
**Example:**
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
ユーザー: 「イテレーション 2 の中間進捗を確認したい」
|
|
74
|
+
回答: --iteration 2 で現在の達成状況を分析する。
|
|
75
|
+
計画 SP と完了 SP を比較し、残りの期間で完了可能か評価する。
|
|
76
|
+
遅延リスクがあれば早期に報告する。
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## 注意事項
|
|
80
|
+
|
|
81
|
+
- Git リポジトリ内で実行し、プロジェクト構造を理解していること(前提条件)
|
|
82
|
+
- 実行時点での動的な状況を総合的に分析する
|
|
83
|
+
- `--update` 使用時は更新前に Git でコミットしておくことを推奨する(ロールバック用)
|
|
84
|
+
- イテレーション開始・終了時の定期実行を推奨する
|
|
85
|
+
- `--update` 実行後、KPT セクションは手動で記入して振り返りを完了する
|
|
86
|
+
|
|
87
|
+
## 関連スキル
|
|
88
|
+
|
|
89
|
+
- `managing-docs` — ドキュメント一覧と進捗状況の確認
|
|
90
|
+
- `git-commit` — 進捗に合わせた適切なコミット実行
|
|
91
|
+
- `planning-releases` — イテレーション計画の作成・更新
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: validating-design
|
|
3
|
+
description: 開発戦略・イテレーション計画・設計ドキュメント・過去のイテレーション計画の間で、設計トピックの整合性を横断検証する。3 軸で検証する — (A) 開発戦略(docs/development/development_strategy.md)とイテレーション計画の局面・アプローチ整合、(B) イテレーション計画と docs/design 設計ドキュメント群の整合、(C) 過去のイテレーション計画の設計トピックとの整合(命名・設計判断・ユビキタス言語の連続性)。「設計整合性をチェックして」「開発戦略とイテレーション計画がずれていないか確認したい」「イテレーション計画と docs/design の設計が一致しているか検証したい」「過去のイテレーションの設計と矛盾していないか確認したい」「設計トピックの一貫性を検証したい」といった場面で必ず発動する。イテレーション計画を作成・更新した直後や開発着手前に本検証を実施することで、局面をまたいでも設計判断とユビキタス言語の一貫性を保てる。単一計画とアップストリーム設計の詳細突合は validating-iteration-plan、本スキルはそれに戦略整合と過去計画との連続性検証を加えた広域版。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 設計整合性の横断検証
|
|
7
|
+
|
|
8
|
+
開発が複数イテレーションにまたがると、設計トピック(集約名・テーブル名・URL パス・アプローチ・ユビキタス言語)が、開発戦略・当該計画・設計ドキュメント・過去計画の間で少しずつずれていく。ずれは実装の不整合に直結するため、計画作成・更新の直後に横断検証して開発着手前に解消する。
|
|
9
|
+
|
|
10
|
+
本スキルは 3 軸で検証する。各軸は独立に実行でき、不整合を見つけたら**設計ドキュメントと開発戦略を「正」とし**、イテレーション計画側を修正する(戦略や設計判断そのものを見直すべき重大なずれは、その旨を報告して判断を仰ぐ)。
|
|
11
|
+
|
|
12
|
+
## 検証の 3 軸
|
|
13
|
+
|
|
14
|
+
| 軸 | 検証対象 | 正となるドキュメント | 主眼 |
|
|
15
|
+
| :--- | :--- | :--- | :--- |
|
|
16
|
+
| A | 開発戦略 ↔ イテレーション計画 | `docs/development/development_strategy.md` | 局面割り当てとアプローチの一致 |
|
|
17
|
+
| B | イテレーション計画 ↔ 設計ドキュメント | `docs/design/*` | 設計トピックの相互トレーサビリティ |
|
|
18
|
+
| C | 今回計画 ↔ 過去のイテレーション計画 | `docs/development/iteration_plan-*.md`(既存分) | 命名・設計判断・ユビキタス言語の連続性 |
|
|
19
|
+
|
|
20
|
+
> 軸 B のドキュメント単位の詳細突合(ドメイン/データモデル・UI のフィールド名・型・遷移)は `validating-iteration-plan` が担う。本スキルの軸 B は「設計トピックが計画と設計ドキュメントの双方向で欠落なく対応しているか」というカバレッジ観点に絞り、詳細突合が必要なら `validating-iteration-plan` に委譲する。
|
|
21
|
+
|
|
22
|
+
## 軸 A: 開発戦略とイテレーション計画の整合
|
|
23
|
+
|
|
24
|
+
開発戦略はイテレーションを序盤・中盤・終盤の局面に割り当て、各局面のアプローチ(アウトサイドイン / インサイドアウト)を定める。当該イテレーション計画の設計・タスクが、戦略が指定する局面・アプローチと一致しているかを検証する。
|
|
25
|
+
|
|
26
|
+
**チェック項目**:
|
|
27
|
+
|
|
28
|
+
- [ ] 当該イテレーション番号が、開発戦略の局面割り当て表でどの局面に属するかを特定できる
|
|
29
|
+
- [ ] 計画の設計・タスクの進め方(テストの入口・レイヤー貫通順)が、その局面のアプローチと一致している(例: 中盤=インサイドアウトなのに、計画が受け入れテスト起点のアウトサイドイン手順になっていないか)
|
|
30
|
+
- [ ] 序盤の場合、ウォーキングスケルトン基盤化(ナビゲーション一括作成等)の方針が計画に反映されているか
|
|
31
|
+
- [ ] 戦略が定める「イテレーションごとの設計ドキュメント整合」フロー(着手時検証・実装中の docs/design 更新・完了時の取り込み)が計画の進め方と矛盾しないか
|
|
32
|
+
- [ ] 戦略の対象ユーザーストーリー表と計画の対象ストーリーが一致している(局面をまたいで US が移動していないか)
|
|
33
|
+
- [ ] 局面移行の境界イテレーションの場合、移行時の一貫性確認事項(前局面パターンの踏襲・リリース条件)が考慮されているか
|
|
34
|
+
|
|
35
|
+
**よくある不整合**:
|
|
36
|
+
|
|
37
|
+
- 戦略では中盤(インサイドアウト)の IT なのに、計画のワークフローがアウトサイドインで書かれている
|
|
38
|
+
- 戦略の局面別 US 割り当てとリリース計画・計画の US がずれている(戦略更新漏れ)
|
|
39
|
+
- 序盤 IT なのにウォーキングスケルトン基盤化への言及がない
|
|
40
|
+
|
|
41
|
+
## 軸 B: イテレーション計画と設計ドキュメントの整合(トピックカバレッジ)
|
|
42
|
+
|
|
43
|
+
計画の「設計」セクションに現れる各設計トピックが、`docs/design/` の該当ドキュメントに存在し、逆に当該ストーリーが要する設計ドキュメントの要素が計画に取り込まれているか、双方向で確認する。
|
|
44
|
+
|
|
45
|
+
**チェック項目**:
|
|
46
|
+
|
|
47
|
+
- [ ] 計画のドメインモデルトピック(集約・エンティティ・値オブジェクト)が `domain-model.md` に存在する
|
|
48
|
+
- [ ] **【絶対項目】対象スコープの設計図が計画の「設計」節に含まれているか**: 当該 IT の実装対象に絞った (1) ドメインモデル図、(2) 状態遷移図、(3) ER 図、(4) 画面遷移図 の 4 図を PlantUML で「設計」節に掲載する(`docs/design/` の全体図をコピーせず、当該 IT スコープに絞る。後続 IT の要素は破線・コメントで区別し、`docs/design/` へ反映が要る新規要素は注記する)。状態を持たない集約が対象 IT に無い場合は状態遷移図を、画面を伴わない IT の場合は画面遷移図を省略可とし、その旨を明記する
|
|
49
|
+
- [ ] **【ドリフト再発防止】新規追加した「ドメインサービス(Calculator/Policy 等)」「BC 固有の列挙型」が `domain-model.md` の要素表に定義行として載っているか**(集約・VO だけでなくドメインサービス・enum も要素表に含める。IT1/IT2/IT3 で反復したドリフトの防止)
|
|
50
|
+
- [ ] **【ドリフト再発防止】`ui_design.md` の salt ワイヤーフレーム本体が仕様セクションと同期しているか**(仕様だけ更新して図が旧内容のまま、を防ぐ)
|
|
51
|
+
- [ ] 計画のデータモデルトピック(テーブル・カラム)が `data-model.md` に存在する
|
|
52
|
+
- [ ] 計画の UI トピック(画面・URL・遷移)が `ui_design.md`(画面一覧・画面遷移図)に存在する
|
|
53
|
+
- [ ] **【絶対項目】ナビゲーション整合性**: 当該 IT で新規/実画面化する画面が `ui_design.md` のナビゲーション構成表に表示ロール付きで存在し、かつ計画に「navbar(`_Layout.cshtml`)とダッシュボード(`Home/Index.cshtml`)へロール条件付きで反映+ナビ表示の検証テスト」がタスク/注記として含まれている(個別画面の整合性とナビゲーション整合性は両方確認する。片方だけでは不足)
|
|
54
|
+
- [ ] 計画の API 設計・ディレクトリ構成が `architecture_backend.md` / `architecture_frontend.md` と整合している
|
|
55
|
+
- [ ] 逆方向: 対象ストーリーの受入基準が要求する設計要素で、設計ドキュメントにあるのに計画に取り込まれていないものがないか
|
|
56
|
+
- [ ] 実装で設計判断が変わった箇所が「注」として計画に明記され、`docs/design/` への反映要否が示されているか
|
|
57
|
+
- [ ] ADR が必要な設計判断(構造変更)が計画の ADR 節に挙がっているか
|
|
58
|
+
|
|
59
|
+
**詳細突合が必要な場合**: フィールド名・型・命名規約・遷移方式(GET/PRG)・htmx パターンまで踏み込む場合は `validating-iteration-plan` を実行する。本軸はトピックの過不足検出に留める。
|
|
60
|
+
|
|
61
|
+
## 軸 C: 過去のイテレーション計画の設計トピックとの整合
|
|
62
|
+
|
|
63
|
+
`docs/development/iteration_plan-*.md` の既存分(今回より前の全計画)を確認し、過去に確立した設計トピックと今回計画が矛盾していないかを検証する。設計ドキュメントに未反映の設計判断が過去計画にのみ残っている場合、それも「正」として扱う。
|
|
64
|
+
|
|
65
|
+
**チェック項目**:
|
|
66
|
+
|
|
67
|
+
- [ ] 集約・エンティティ・値オブジェクトの命名が過去計画と一致している(同じ概念に別名を当てていないか)
|
|
68
|
+
- [ ] テーブル名・カラム名・命名規約(単複・サロゲートキー + UK・FK 参照先)が過去計画と一貫している
|
|
69
|
+
- [ ] URL パス・画面名・ナビゲーション項目が過去計画・ウォーキングスケルトンと連続している
|
|
70
|
+
- [ ] ユビキタス言語(用語)が過去計画と一致している(例: 請求書/精算書、追跡番号の呼称ブレ)
|
|
71
|
+
- [ ] 過去計画で確立したパターン(ポート/ACL・UoW・イベント発行・スタブ契約)を今回も踏襲しているか、変える場合は理由と ADR があるか
|
|
72
|
+
- [ ] 過去計画の「持ち越し事項」「次のステップ」「注」で今回対応と明記された設計事項が、今回計画に反映されているか
|
|
73
|
+
- [ ] 集約フィールドの段階的追加(nullable/Maybe での導入等)の方針が過去の進め方と整合しているか
|
|
74
|
+
|
|
75
|
+
**よくある不整合**:
|
|
76
|
+
|
|
77
|
+
- 過去計画で `Location` 共有カーネルを使う設計だったのに、今回計画が locode を `string` 直持ちしている
|
|
78
|
+
- 過去計画のテーブル命名(単数形・サロゲートキー)と今回が食い違う
|
|
79
|
+
- 過去計画で定義済みの用語と別の用語を使う(ユビキタス言語の分岐)
|
|
80
|
+
- 過去計画で「IT(N) で対応」と明記された設計事項が今回計画から漏れている
|
|
81
|
+
|
|
82
|
+
## 検証手順
|
|
83
|
+
|
|
84
|
+
1. 対象イテレーション番号を特定する(引数がなければ最新の `iteration_plan-*.md`)。
|
|
85
|
+
2. 軸 A: `development_strategy.md` を読み、局面割り当てとアプローチを確認して計画と突合する。
|
|
86
|
+
3. 軸 B: 計画の「設計」節を読み、`docs/design/` 各ドキュメントとトピックの過不足を突合する。あわせて対象スコープの 4 図(ドメインモデル図・状態遷移図・ER 図・画面遷移図)が「設計」節に掲載されているかを確認し、欠落があれば当該 IT スコープに絞って追加する。
|
|
87
|
+
4. 軸 C: 今回より前の `iteration_plan-*.md` を全て読み、命名・設計判断・ユビキタス言語の連続性を突合する。
|
|
88
|
+
5. 各軸は並列実行可能。サブエージェントが使える場合は 3 軸を並列に走らせると速い。
|
|
89
|
+
6. 不整合を発見したら計画を修正する(設計ドキュメント・開発戦略・過去計画が正)。戦略や設計そのものの見直しが要る重大なずれは報告して判断を仰ぐ。
|
|
90
|
+
|
|
91
|
+
## 検証結果の報告
|
|
92
|
+
|
|
93
|
+
```markdown
|
|
94
|
+
## 設計整合性検証結果
|
|
95
|
+
|
|
96
|
+
### 検証対象
|
|
97
|
+
- イテレーション計画: `docs/development/iteration_plan-N.md`
|
|
98
|
+
- 局面(開発戦略): 序盤 / 中盤 / 終盤(アプローチ: アウトサイドイン / インサイドアウト)
|
|
99
|
+
|
|
100
|
+
### 検証結果サマリー
|
|
101
|
+
|
|
102
|
+
| 軸 | 検証対象 | 結果 | 不整合件数 |
|
|
103
|
+
|----|---------|------|-----------|
|
|
104
|
+
| A | 開発戦略 ↔ 計画 | OK / NG | N 件 |
|
|
105
|
+
| B | 計画 ↔ 設計ドキュメント | OK / NG | N 件 |
|
|
106
|
+
| C | 計画 ↔ 過去計画 | OK / NG | N 件 |
|
|
107
|
+
|
|
108
|
+
### 不整合一覧(NG の場合のみ)
|
|
109
|
+
|
|
110
|
+
#### 軸 X: 〇〇との不整合
|
|
111
|
+
|
|
112
|
+
| # | 不整合内容 | 計画の記述 | 正しい記述(正となる出典) | 出典 | 修正要否 |
|
|
113
|
+
|---|----------|-----------|------------------------|------|---------|
|
|
114
|
+
| 1 | ... | ... | ... | development_strategy.md / design/xxx.md / iteration_plan-M.md | 要修正 |
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
## 注意事項
|
|
118
|
+
|
|
119
|
+
- 検証は計画の作成・更新直後、開発着手前に実施する。
|
|
120
|
+
- 正の優先順位は「設計ドキュメント・開発戦略 > 過去計画 > 今回計画」。ただし設計ドキュメント未反映の設計判断が過去計画にのみ残る場合、その判断を正として扱い、必要なら `docs/design/` への反映を促す。
|
|
121
|
+
- 単一計画のフィールド単位の詳細突合は `validating-iteration-plan` に委譲し、本スキルは戦略整合・トピックカバレッジ・過去計画との連続性に集中する(役割の重複を避ける)。
|
|
122
|
+
- ユーザーの指示があるまでコミットしない。
|
|
123
|
+
|
|
124
|
+
## 関連スキル
|
|
125
|
+
|
|
126
|
+
- `validating-iteration-plan` — 単一計画とアップストリーム設計のフィールド単位の詳細突合(軸 B の詳細版)
|
|
127
|
+
- `creating-development-strategy` — 開発戦略の作成・更新(軸 A の正の出典)
|
|
128
|
+
- `planning-releases` — イテレーション計画の作成(検証対象の入力)
|
|
129
|
+
- `operating-docs` — 検証で判明した設計ドキュメント更新後のインデックス同期
|
|
130
|
+
- `git-commit` — 修正後のコミット
|