@k2works/claude-code-booster 3.6.1 → 3.8.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 +258 -239
- package/lib/assets/.claude/agent-memory/xp-programmer/MEMORY.md +6 -0
- package/lib/assets/.claude/agent-memory/xp-programmer/project_cargo_tracker.md +11 -0
- package/lib/assets/.claude/agent-memory/xp-programmer/project_ddd_patterns.md +27 -0
- package/lib/assets/.claude/agent-memory/xp-programmer/project_us07_route_assignment.md +19 -0
- 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/SKILL.md +95 -95
- 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-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/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/generating-bmc/SKILL.md +97 -0
- 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-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 +27 -21
- 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/syncing-github-project/SKILL.md +151 -151
- package/lib/assets/.claude/skills/tracking-progress/SKILL.md +91 -91
- package/lib/assets/.claude/skills/validating-iteration-plan/SKILL.md +215 -215
- package/lib/assets/.devcontainer/devcontainer.json +34 -34
- 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 +1 -0
- package/lib/assets/README.md +254 -254
- 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/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/development/index.md +39 -39
- package/lib/assets/docs/operation/index.md +11 -11
- 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 +19 -5
- 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/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 +52 -52
- 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//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 +299 -299
- 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/review/index.md +5 -5
- package/lib/assets/docs/strategy/index.md +1 -1
- 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 +23 -23
- 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/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//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 +136 -136
- package/lib/assets/ops/docker/mkdoc/Dockerfile +19 -19
- 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,11 +1,11 @@
|
|
|
1
|
-
{
|
|
2
|
-
"env": {
|
|
3
|
-
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
|
|
4
|
-
},
|
|
5
|
-
"permissions": {
|
|
6
|
-
"defaultMode": "plan",
|
|
7
|
-
"allow": [],
|
|
8
|
-
"deny": [],
|
|
9
|
-
"ask": []
|
|
10
|
-
}
|
|
11
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"env": {
|
|
3
|
+
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
|
|
4
|
+
},
|
|
5
|
+
"permissions": {
|
|
6
|
+
"defaultMode": "plan",
|
|
7
|
+
"allow": [],
|
|
8
|
+
"deny": [],
|
|
9
|
+
"ask": []
|
|
10
|
+
}
|
|
11
|
+
}
|
|
@@ -1,111 +1,111 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ai-agent-guidelines
|
|
3
|
-
description: AI Agent の実行ガイドラインを定義。TDD サイクル、品質保証、コンテキスト管理、完了報告のルールを包括する。すべての開発タスクで自動的に発動し、品質と一貫性を維持する。「開発の進め方を知りたい」「TDD の手順を確認したい」「完了報告のフォーマットを知りたい」といった場面でも参照される。規律を守ることで、よいソフトウェア(変更を楽に安全にできて役に立つソフトウェア)を継続的に生み出す。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# AI Agent 実行ガイドライン
|
|
7
|
-
|
|
8
|
-
**最重要**: 自律的に判断・実行する。確認は最小限にとどめる。
|
|
9
|
-
|
|
10
|
-
## ペルソナ
|
|
11
|
-
|
|
12
|
-
**よいソフトウェア**に対する明確な考えと規律を持った開発経験豊富な開発者として振る舞う。
|
|
13
|
-
|
|
14
|
-
- @docs/reference/よいソフトウェアとは.md を参照する
|
|
15
|
-
- @docs/reference/開発ガイド.md に従い問題解決に取り組む
|
|
16
|
-
|
|
17
|
-
## コア原則
|
|
18
|
-
|
|
19
|
-
- **即座実行** — 既存ファイルの編集は迷わず着手する
|
|
20
|
-
- **大規模変更のみ確認** — 影響範囲が広い場合に限定する
|
|
21
|
-
- **品質と一貫性の維持** — 自動チェックを徹底する
|
|
22
|
-
- **事実確認** — 情報源を自ら確認し、憶測を事実として述べない
|
|
23
|
-
- **既存優先** — 新規作成より既存ファイルの編集を優先する
|
|
24
|
-
|
|
25
|
-
## 実行ルール
|
|
26
|
-
|
|
27
|
-
### 即座実行(確認不要)
|
|
28
|
-
|
|
29
|
-
- コード操作: バグ修正、リファクタリング、パフォーマンス改善
|
|
30
|
-
- ファイル編集: 既存ファイルの修正・更新
|
|
31
|
-
- ドキュメント: README、仕様書の更新
|
|
32
|
-
- 依存関係: パッケージ追加・更新・削除
|
|
33
|
-
- テスト: 単体・統合テストの実装
|
|
34
|
-
- 設定: 設定値変更、フォーマット適用
|
|
35
|
-
|
|
36
|
-
### 確認必須
|
|
37
|
-
|
|
38
|
-
- 新規ファイル作成、ファイル削除
|
|
39
|
-
- アーキテクチャ、フォルダ構造の大規模変更
|
|
40
|
-
- 新 API、外部ライブラリ導入
|
|
41
|
-
- 認証・認可機能の実装
|
|
42
|
-
- スキーマ変更、マイグレーション
|
|
43
|
-
- デプロイ設定、環境変数変更
|
|
44
|
-
|
|
45
|
-
## 開発ワークフロー(TDD サイクル)
|
|
46
|
-
|
|
47
|
-
TDD は「テストを先に書く作法」ではなく「小さなフィードバックループで設計を検証する手法」。
|
|
48
|
-
|
|
49
|
-
1. **Red** — 失敗するテストを書く
|
|
50
|
-
2. **Green** — テストを通す最小限のコードを実装する
|
|
51
|
-
3. **Refactor** — 重複を排除し、意図を明確にする
|
|
52
|
-
4. **Commit** — すべてのテストがパスしたらコミットする
|
|
53
|
-
|
|
54
|
-
構造変更と動作変更を同一コミットに含めない。
|
|
55
|
-
|
|
56
|
-
## 品質保証
|
|
57
|
-
|
|
58
|
-
- 単一責任の原則を遵守する
|
|
59
|
-
- 重複コードを排除する
|
|
60
|
-
- マジックナンバーは定数化する
|
|
61
|
-
- エラー発生時: 代替案 3 つ提示、または可能部分を先行実行する
|
|
62
|
-
|
|
63
|
-
## コンテキスト管理
|
|
64
|
-
|
|
65
|
-
- 会話開始時: 「Remembering...」と言って記憶を取得する
|
|
66
|
-
- 純粋タスク(バグ修正、テスト実行)は独立実行する
|
|
67
|
-
- コンテキスト肥大化時: `/compact` コマンドを推奨する
|
|
68
|
-
|
|
69
|
-
## 完了報告
|
|
70
|
-
|
|
71
|
-
### 完全完了時
|
|
72
|
-
|
|
73
|
-
すべてのタスクが完了し、TODO が空で、エラーがゼロで、継続タスクがない場合に一語一句違えず報告する。
|
|
74
|
-
|
|
75
|
-
```text
|
|
76
|
-
Simple made easy.
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
### 部分完了時
|
|
80
|
-
|
|
81
|
-
```markdown
|
|
82
|
-
## 実行完了
|
|
83
|
-
|
|
84
|
-
### 変更内容
|
|
85
|
-
- [具体的な変更点]
|
|
86
|
-
|
|
87
|
-
### 次のステップ
|
|
88
|
-
- [推奨される次の作業]
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
## Examples
|
|
92
|
-
|
|
93
|
-
### バグ修正
|
|
94
|
-
|
|
95
|
-
1. `TypeError` 発見 → 失敗するテストを書く
|
|
96
|
-
2. バグを修正してテストをパスさせる
|
|
97
|
-
3. コミットする
|
|
98
|
-
4. `Simple made easy.`
|
|
99
|
-
|
|
100
|
-
### DB 変更(確認必須の例)
|
|
101
|
-
|
|
102
|
-
1. スキーマ更新が必要と判断する
|
|
103
|
-
2. 確認要求「テーブル構造を変更しますか?」
|
|
104
|
-
3. 承認後にマイグレーションを作成する
|
|
105
|
-
|
|
106
|
-
## 基本設定
|
|
107
|
-
|
|
108
|
-
- 言語: 日本語(技術用語は英語)
|
|
109
|
-
- スペース: 日本語と半角英数字間に半角スペース
|
|
110
|
-
- 文体: ですます調、句読点は「。」「、」
|
|
111
|
-
- 略語: `y`=Yes, `n`=No, `c`=Continue, `r`=Review, `u`=Undo
|
|
1
|
+
---
|
|
2
|
+
name: ai-agent-guidelines
|
|
3
|
+
description: AI Agent の実行ガイドラインを定義。TDD サイクル、品質保証、コンテキスト管理、完了報告のルールを包括する。すべての開発タスクで自動的に発動し、品質と一貫性を維持する。「開発の進め方を知りたい」「TDD の手順を確認したい」「完了報告のフォーマットを知りたい」といった場面でも参照される。規律を守ることで、よいソフトウェア(変更を楽に安全にできて役に立つソフトウェア)を継続的に生み出す。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# AI Agent 実行ガイドライン
|
|
7
|
+
|
|
8
|
+
**最重要**: 自律的に判断・実行する。確認は最小限にとどめる。
|
|
9
|
+
|
|
10
|
+
## ペルソナ
|
|
11
|
+
|
|
12
|
+
**よいソフトウェア**に対する明確な考えと規律を持った開発経験豊富な開発者として振る舞う。
|
|
13
|
+
|
|
14
|
+
- @docs/reference/よいソフトウェアとは.md を参照する
|
|
15
|
+
- @docs/reference/開発ガイド.md に従い問題解決に取り組む
|
|
16
|
+
|
|
17
|
+
## コア原則
|
|
18
|
+
|
|
19
|
+
- **即座実行** — 既存ファイルの編集は迷わず着手する
|
|
20
|
+
- **大規模変更のみ確認** — 影響範囲が広い場合に限定する
|
|
21
|
+
- **品質と一貫性の維持** — 自動チェックを徹底する
|
|
22
|
+
- **事実確認** — 情報源を自ら確認し、憶測を事実として述べない
|
|
23
|
+
- **既存優先** — 新規作成より既存ファイルの編集を優先する
|
|
24
|
+
|
|
25
|
+
## 実行ルール
|
|
26
|
+
|
|
27
|
+
### 即座実行(確認不要)
|
|
28
|
+
|
|
29
|
+
- コード操作: バグ修正、リファクタリング、パフォーマンス改善
|
|
30
|
+
- ファイル編集: 既存ファイルの修正・更新
|
|
31
|
+
- ドキュメント: README、仕様書の更新
|
|
32
|
+
- 依存関係: パッケージ追加・更新・削除
|
|
33
|
+
- テスト: 単体・統合テストの実装
|
|
34
|
+
- 設定: 設定値変更、フォーマット適用
|
|
35
|
+
|
|
36
|
+
### 確認必須
|
|
37
|
+
|
|
38
|
+
- 新規ファイル作成、ファイル削除
|
|
39
|
+
- アーキテクチャ、フォルダ構造の大規模変更
|
|
40
|
+
- 新 API、外部ライブラリ導入
|
|
41
|
+
- 認証・認可機能の実装
|
|
42
|
+
- スキーマ変更、マイグレーション
|
|
43
|
+
- デプロイ設定、環境変数変更
|
|
44
|
+
|
|
45
|
+
## 開発ワークフロー(TDD サイクル)
|
|
46
|
+
|
|
47
|
+
TDD は「テストを先に書く作法」ではなく「小さなフィードバックループで設計を検証する手法」。
|
|
48
|
+
|
|
49
|
+
1. **Red** — 失敗するテストを書く
|
|
50
|
+
2. **Green** — テストを通す最小限のコードを実装する
|
|
51
|
+
3. **Refactor** — 重複を排除し、意図を明確にする
|
|
52
|
+
4. **Commit** — すべてのテストがパスしたらコミットする
|
|
53
|
+
|
|
54
|
+
構造変更と動作変更を同一コミットに含めない。
|
|
55
|
+
|
|
56
|
+
## 品質保証
|
|
57
|
+
|
|
58
|
+
- 単一責任の原則を遵守する
|
|
59
|
+
- 重複コードを排除する
|
|
60
|
+
- マジックナンバーは定数化する
|
|
61
|
+
- エラー発生時: 代替案 3 つ提示、または可能部分を先行実行する
|
|
62
|
+
|
|
63
|
+
## コンテキスト管理
|
|
64
|
+
|
|
65
|
+
- 会話開始時: 「Remembering...」と言って記憶を取得する
|
|
66
|
+
- 純粋タスク(バグ修正、テスト実行)は独立実行する
|
|
67
|
+
- コンテキスト肥大化時: `/compact` コマンドを推奨する
|
|
68
|
+
|
|
69
|
+
## 完了報告
|
|
70
|
+
|
|
71
|
+
### 完全完了時
|
|
72
|
+
|
|
73
|
+
すべてのタスクが完了し、TODO が空で、エラーがゼロで、継続タスクがない場合に一語一句違えず報告する。
|
|
74
|
+
|
|
75
|
+
```text
|
|
76
|
+
Simple made easy.
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### 部分完了時
|
|
80
|
+
|
|
81
|
+
```markdown
|
|
82
|
+
## 実行完了
|
|
83
|
+
|
|
84
|
+
### 変更内容
|
|
85
|
+
- [具体的な変更点]
|
|
86
|
+
|
|
87
|
+
### 次のステップ
|
|
88
|
+
- [推奨される次の作業]
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## Examples
|
|
92
|
+
|
|
93
|
+
### バグ修正
|
|
94
|
+
|
|
95
|
+
1. `TypeError` 発見 → 失敗するテストを書く
|
|
96
|
+
2. バグを修正してテストをパスさせる
|
|
97
|
+
3. コミットする
|
|
98
|
+
4. `Simple made easy.`
|
|
99
|
+
|
|
100
|
+
### DB 変更(確認必須の例)
|
|
101
|
+
|
|
102
|
+
1. スキーマ更新が必要と判断する
|
|
103
|
+
2. 確認要求「テーブル構造を変更しますか?」
|
|
104
|
+
3. 承認後にマイグレーションを作成する
|
|
105
|
+
|
|
106
|
+
## 基本設定
|
|
107
|
+
|
|
108
|
+
- 言語: 日本語(技術用語は英語)
|
|
109
|
+
- スペース: 日本語と半角英数字間に半角スペース
|
|
110
|
+
- 文体: ですます調、句読点は「。」「、」
|
|
111
|
+
- 略語: `y`=Yes, `n`=No, `c`=Continue, `r`=Review, `u`=Undo
|
|
@@ -1,83 +1,83 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: analyzing-architecture
|
|
3
|
-
description: バックエンド・フロントエンド・インフラのアーキテクチャパターン選択と設計ドキュメント作成を支援。「アーキテクチャを設計したい」「システム構成を検討したい」「レイヤード/ヘキサゴナル/クリーンどれが適切か」「CQRS を導入すべきか」「フロントエンドのアーキテクチャを決めたい」といった場面で発動する。アーキテクチャを早期に設計することで、開発フェーズでの技術的負債の蓄積を防ぐ。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# アーキテクチャ設計
|
|
7
|
-
|
|
8
|
-
業務領域とデータ構造の複雑さに基づき、バックエンド・フロントエンド・インフラの各アーキテクチャパターンを選択し設計ドキュメントを作成する。
|
|
9
|
-
|
|
10
|
-
アーキテクチャは後から変えるコストが最も高い設計判断。要件定義の段階で適切なパターンを選定することで、開発全体の方向性を確定し、手戻りを最小化する。
|
|
11
|
-
|
|
12
|
-
## 参照ドキュメントとテンプレート
|
|
13
|
-
|
|
14
|
-
| 種類 | パス | 備考 |
|
|
15
|
-
|------|------|------|
|
|
16
|
-
| ガイド | @docs/reference/アーキテクチャ設計ガイド.md | アーキテクチャ設計の進め方詳細 |
|
|
17
|
-
| テンプレート | @docs/template/設計.md | 編集禁止。コピーして使用する |
|
|
18
|
-
| 入力 | @docs/requirements/requirements_definition.md | 要件定義 |
|
|
19
|
-
| 入力 | @docs/requirements/business_usecase.md | ビジネスユースケース |
|
|
20
|
-
| 入力 | @docs/requirements/system_usecase.md | システムユースケース |
|
|
21
|
-
| 入力 | @docs/requirements/user_story.md | ユーザーストーリー |
|
|
22
|
-
| 成果物 | `docs/design/architecture_backend.md` | バックエンドアーキテクチャ |
|
|
23
|
-
| 成果物 | `docs/design/architecture_frontend.md` | フロントエンドアーキテクチャ |
|
|
24
|
-
| 成果物 | `docs/design/architecture_infrastructure.md` | インフラストラクチャアーキテクチャ |
|
|
25
|
-
|
|
26
|
-
## バックエンドアーキテクチャ設計
|
|
27
|
-
|
|
28
|
-
業務ロジックの複雑さに応じてパターンを選択する。単純な CRUD ならレイヤードで十分だが、ドメインが複雑な場合はヘキサゴナルやクリーンアーキテクチャを採用せよ。
|
|
29
|
-
|
|
30
|
-
- **アーキテクチャパターンの選択**: レイヤード、ヘキサゴナル、クリーン等から要件に最適なものを選定する
|
|
31
|
-
- **CQRS/イベントソーシングの適用判断**: 読み書きの特性が大きく異なる場合に検討する。過剰適用は複雑さを増すだけなので慎重に判断せよ
|
|
32
|
-
- **API 設計方針**: REST/GraphQL/gRPC の選択基準を明確にする
|
|
33
|
-
|
|
34
|
-
## フロントエンドアーキテクチャ設計
|
|
35
|
-
|
|
36
|
-
ユーザー体験とチームのスキルセットを考慮して設計する。フレームワーク選定はプロジェクト全体に影響するため、ADR で判断根拠を残せ。
|
|
37
|
-
|
|
38
|
-
- **フレームワーク選定**: プロジェクト要件に合ったフレームワークを選択する
|
|
39
|
-
- **状態管理パターン**: アプリケーションの状態の複雑さに応じて適切なパターンを選定する
|
|
40
|
-
- **コンポーネント設計方針**: 再利用性と保守性を両立する設計指針を定める
|
|
41
|
-
|
|
42
|
-
## インフラストラクチャアーキテクチャ設計
|
|
43
|
-
|
|
44
|
-
非機能要件(可用性・スケーラビリティ)を実現するインフラ構成を設計する。運用コストとの兼ね合いも考慮せよ。
|
|
45
|
-
|
|
46
|
-
- **クラウド/オンプレミス選定**: コスト・セキュリティ・運用負荷を総合的に判断する
|
|
47
|
-
- **コンテナ化戦略**: コンテナ化の適用範囲とオーケストレーション方式を決定する
|
|
48
|
-
- **CI/CD パイプライン設計**: ビルド・テスト・デプロイの自動化方針を定める
|
|
49
|
-
|
|
50
|
-
## 作成の進め方
|
|
51
|
-
|
|
52
|
-
1. 入力ドキュメント(要件定義、ユースケース、ユーザーストーリー)を確認する。なければ基本情報をヒアリングする
|
|
53
|
-
2. @docs/reference/アーキテクチャ設計ガイド.md を読み込む
|
|
54
|
-
3. バックエンド→フロントエンド→インフラの順に設計する。各アーキテクチャの選定理由を明記せよ
|
|
55
|
-
4. 重要な設計判断は ADR(Architecture Decision Record)で記録する
|
|
56
|
-
|
|
57
|
-
## 途中から再開する場合
|
|
58
|
-
|
|
59
|
-
既存の `docs/design/architecture_*.md` がある場合は、まずその内容を確認する。不足している領域や更新が必要な部分のみを修正する。
|
|
60
|
-
|
|
61
|
-
**Example:**
|
|
62
|
-
|
|
63
|
-
```
|
|
64
|
-
ユーザー: 「バックエンドはクリーンアーキテクチャで決めた。フロントエンドを設計したい」
|
|
65
|
-
回答: 既存の architecture_backend.md を確認し、
|
|
66
|
-
バックエンドの API 設計方針を踏まえてフロントエンドアーキテクチャ設計に進む。
|
|
67
|
-
フレームワーク選定→状態管理→コンポーネント設計の順で作成する。
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
## 注意事項
|
|
71
|
-
|
|
72
|
-
- 要件定義とユースケースが完了していることが前提。未完了でもプロジェクト情報から進めて構わない
|
|
73
|
-
- アーキテクチャ決定は必ず ADR で記録する。「なぜその選択をしたか」が後で最も重要になる
|
|
74
|
-
- 業務の複雑さとチームのスキルセットを考慮して選択する。技術的に「正しい」選択よりチームが運用できる選択を優先せよ
|
|
75
|
-
- タスク項目(リスト)の前には空行を入れる(Markdown Lint 準拠)
|
|
76
|
-
|
|
77
|
-
## 関連スキル
|
|
78
|
-
|
|
79
|
-
- `orchestrating-analysis` — 分析フェーズ全体のワークフロー案内
|
|
80
|
-
- `analyzing-requirements` — 前段の要件定義
|
|
81
|
-
- `analyzing-domain-model` — 後続のドメインモデル設計
|
|
82
|
-
- `analyzing-data-model` — 後続のデータモデル設計
|
|
83
|
-
- `analyzing-tech-stack` — 後続の技術スタック選定
|
|
1
|
+
---
|
|
2
|
+
name: analyzing-architecture
|
|
3
|
+
description: バックエンド・フロントエンド・インフラのアーキテクチャパターン選択と設計ドキュメント作成を支援。「アーキテクチャを設計したい」「システム構成を検討したい」「レイヤード/ヘキサゴナル/クリーンどれが適切か」「CQRS を導入すべきか」「フロントエンドのアーキテクチャを決めたい」といった場面で発動する。アーキテクチャを早期に設計することで、開発フェーズでの技術的負債の蓄積を防ぐ。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# アーキテクチャ設計
|
|
7
|
+
|
|
8
|
+
業務領域とデータ構造の複雑さに基づき、バックエンド・フロントエンド・インフラの各アーキテクチャパターンを選択し設計ドキュメントを作成する。
|
|
9
|
+
|
|
10
|
+
アーキテクチャは後から変えるコストが最も高い設計判断。要件定義の段階で適切なパターンを選定することで、開発全体の方向性を確定し、手戻りを最小化する。
|
|
11
|
+
|
|
12
|
+
## 参照ドキュメントとテンプレート
|
|
13
|
+
|
|
14
|
+
| 種類 | パス | 備考 |
|
|
15
|
+
|------|------|------|
|
|
16
|
+
| ガイド | @docs/reference/アーキテクチャ設計ガイド.md | アーキテクチャ設計の進め方詳細 |
|
|
17
|
+
| テンプレート | @docs/template/設計.md | 編集禁止。コピーして使用する |
|
|
18
|
+
| 入力 | @docs/requirements/requirements_definition.md | 要件定義 |
|
|
19
|
+
| 入力 | @docs/requirements/business_usecase.md | ビジネスユースケース |
|
|
20
|
+
| 入力 | @docs/requirements/system_usecase.md | システムユースケース |
|
|
21
|
+
| 入力 | @docs/requirements/user_story.md | ユーザーストーリー |
|
|
22
|
+
| 成果物 | `docs/design/architecture_backend.md` | バックエンドアーキテクチャ |
|
|
23
|
+
| 成果物 | `docs/design/architecture_frontend.md` | フロントエンドアーキテクチャ |
|
|
24
|
+
| 成果物 | `docs/design/architecture_infrastructure.md` | インフラストラクチャアーキテクチャ |
|
|
25
|
+
|
|
26
|
+
## バックエンドアーキテクチャ設計
|
|
27
|
+
|
|
28
|
+
業務ロジックの複雑さに応じてパターンを選択する。単純な CRUD ならレイヤードで十分だが、ドメインが複雑な場合はヘキサゴナルやクリーンアーキテクチャを採用せよ。
|
|
29
|
+
|
|
30
|
+
- **アーキテクチャパターンの選択**: レイヤード、ヘキサゴナル、クリーン等から要件に最適なものを選定する
|
|
31
|
+
- **CQRS/イベントソーシングの適用判断**: 読み書きの特性が大きく異なる場合に検討する。過剰適用は複雑さを増すだけなので慎重に判断せよ
|
|
32
|
+
- **API 設計方針**: REST/GraphQL/gRPC の選択基準を明確にする
|
|
33
|
+
|
|
34
|
+
## フロントエンドアーキテクチャ設計
|
|
35
|
+
|
|
36
|
+
ユーザー体験とチームのスキルセットを考慮して設計する。フレームワーク選定はプロジェクト全体に影響するため、ADR で判断根拠を残せ。
|
|
37
|
+
|
|
38
|
+
- **フレームワーク選定**: プロジェクト要件に合ったフレームワークを選択する
|
|
39
|
+
- **状態管理パターン**: アプリケーションの状態の複雑さに応じて適切なパターンを選定する
|
|
40
|
+
- **コンポーネント設計方針**: 再利用性と保守性を両立する設計指針を定める
|
|
41
|
+
|
|
42
|
+
## インフラストラクチャアーキテクチャ設計
|
|
43
|
+
|
|
44
|
+
非機能要件(可用性・スケーラビリティ)を実現するインフラ構成を設計する。運用コストとの兼ね合いも考慮せよ。
|
|
45
|
+
|
|
46
|
+
- **クラウド/オンプレミス選定**: コスト・セキュリティ・運用負荷を総合的に判断する
|
|
47
|
+
- **コンテナ化戦略**: コンテナ化の適用範囲とオーケストレーション方式を決定する
|
|
48
|
+
- **CI/CD パイプライン設計**: ビルド・テスト・デプロイの自動化方針を定める
|
|
49
|
+
|
|
50
|
+
## 作成の進め方
|
|
51
|
+
|
|
52
|
+
1. 入力ドキュメント(要件定義、ユースケース、ユーザーストーリー)を確認する。なければ基本情報をヒアリングする
|
|
53
|
+
2. @docs/reference/アーキテクチャ設計ガイド.md を読み込む
|
|
54
|
+
3. バックエンド→フロントエンド→インフラの順に設計する。各アーキテクチャの選定理由を明記せよ
|
|
55
|
+
4. 重要な設計判断は ADR(Architecture Decision Record)で記録する
|
|
56
|
+
|
|
57
|
+
## 途中から再開する場合
|
|
58
|
+
|
|
59
|
+
既存の `docs/design/architecture_*.md` がある場合は、まずその内容を確認する。不足している領域や更新が必要な部分のみを修正する。
|
|
60
|
+
|
|
61
|
+
**Example:**
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
ユーザー: 「バックエンドはクリーンアーキテクチャで決めた。フロントエンドを設計したい」
|
|
65
|
+
回答: 既存の architecture_backend.md を確認し、
|
|
66
|
+
バックエンドの API 設計方針を踏まえてフロントエンドアーキテクチャ設計に進む。
|
|
67
|
+
フレームワーク選定→状態管理→コンポーネント設計の順で作成する。
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## 注意事項
|
|
71
|
+
|
|
72
|
+
- 要件定義とユースケースが完了していることが前提。未完了でもプロジェクト情報から進めて構わない
|
|
73
|
+
- アーキテクチャ決定は必ず ADR で記録する。「なぜその選択をしたか」が後で最も重要になる
|
|
74
|
+
- 業務の複雑さとチームのスキルセットを考慮して選択する。技術的に「正しい」選択よりチームが運用できる選択を優先せよ
|
|
75
|
+
- タスク項目(リスト)の前には空行を入れる(Markdown Lint 準拠)
|
|
76
|
+
|
|
77
|
+
## 関連スキル
|
|
78
|
+
|
|
79
|
+
- `orchestrating-analysis` — 分析フェーズ全体のワークフロー案内
|
|
80
|
+
- `analyzing-requirements` — 前段の要件定義
|
|
81
|
+
- `analyzing-domain-model` — 後続のドメインモデル設計
|
|
82
|
+
- `analyzing-data-model` — 後続のデータモデル設計
|
|
83
|
+
- `analyzing-tech-stack` — 後続の技術スタック選定
|
|
@@ -1,95 +1,95 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: analyzing-business
|
|
3
|
-
description: ビジネスアーキテクチャ分析を支援。要件定義の前段階として、ビジネスモデルキャンバス、バリューストリーム、ケイパビリティマップ、組織マップ、情報マップ、ビジネスシナリオを作成。「ビジネスモデルを整理したい」「バリューストリームを描きたい」「ケイパビリティマップを作りたい」「事業構造を分析したい」といった場面で発動する。ビジネスの全体像を理解してからシステム要件に落とし込むことで、本当に必要な機能を見極められる。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# ビジネスアーキテクチャ分析
|
|
7
|
-
|
|
8
|
-
エンタープライズがどのように価値を生み出し、顧客に提供するかの構造を体系的に整理する。この分析は要件定義の前段階として行い、成果物は後続の `analyzing-requirements`(要件定義)や `analyzing-usecases`(ユースケース分析)の入力になる。
|
|
9
|
-
|
|
10
|
-
ビジネスの構造を先に理解することで、「何を作るか」ではなく「なぜ作るか」からシステムを設計でき、本当に価値のある機能に集中できる。
|
|
11
|
-
|
|
12
|
-
## 参照ドキュメント
|
|
13
|
-
|
|
14
|
-
- @docs/reference/ビジネスアーキテクチャ分析ガイド.md — 分析手法とフレームワークの詳細。各成果物の作成方法はこのガイドに従う。
|
|
15
|
-
|
|
16
|
-
## テンプレートと成果物
|
|
17
|
-
|
|
18
|
-
| 種類 | パス | 備考 |
|
|
19
|
-
|------|------|------|
|
|
20
|
-
| テンプレート | @docs/template/ビジネスアーキテクチャ.md | 編集禁止。コピーして使用する |
|
|
21
|
-
| 成果物 | `docs/strategy/business_architecture.md` | テンプレートを基に作成 |
|
|
22
|
-
|
|
23
|
-
## 分析の進め方
|
|
24
|
-
|
|
25
|
-
以下の順序で進める。各ステップの出力が次のステップの入力になるため、この順序を守ることで整合性の高い分析ができる。
|
|
26
|
-
|
|
27
|
-
### 1. プリンシプルの定義
|
|
28
|
-
|
|
29
|
-
ビジョン・ミッション・価値観に基づく方針を最初に固める。プリンシプルが曖昧だと、後続の分析で判断軸がブレる。
|
|
30
|
-
|
|
31
|
-
- **ガイディングプリンシプル**: ビジネス・アプリケーション・データ・テクノロジーの各アーキテクチャに対する方針
|
|
32
|
-
- **ビジネスプリンシプル**: ビジネスにおける原則原理
|
|
33
|
-
|
|
34
|
-
### 2. ビジネスモデルの整理
|
|
35
|
-
|
|
36
|
-
ビジネスモデルキャンバスを作成し、ビジネスの全体構造を 9 つの要素で可視化する。
|
|
37
|
-
|
|
38
|
-
- 顧客セグメント、価値提案、チャネル、顧客関係
|
|
39
|
-
- 主要活動、主要リソース、主要パートナー
|
|
40
|
-
- 収益源、コスト構造
|
|
41
|
-
|
|
42
|
-
### 3. バリューストリームの設計
|
|
43
|
-
|
|
44
|
-
価値がどのように流れるかを可視化する。バリューストリームはケイパビリティモデルの土台になるため、ケイパビリティより先に作成する。
|
|
45
|
-
|
|
46
|
-
- バリュー(価値)の分析
|
|
47
|
-
- バリューストリームマップの作成
|
|
48
|
-
- 各ステージでの価値増加の可視化
|
|
49
|
-
|
|
50
|
-
### 4. ケイパビリティモデルの構築
|
|
51
|
-
|
|
52
|
-
組織が持つ能力を体系的に整理する。バリューストリームの各ステージに必要なケイパビリティを紐付けることで、どの能力に投資すべきかが見える。
|
|
53
|
-
|
|
54
|
-
- ケイパビリティの特定(戦略・コア・サポート)
|
|
55
|
-
- 階層化とレベリング
|
|
56
|
-
- ヒートマッピングによる成熟度評価
|
|
57
|
-
- バリューストリームとのマッピング
|
|
58
|
-
|
|
59
|
-
### 5. 組織マップの作成
|
|
60
|
-
|
|
61
|
-
部門・組織構造を整理し、ケイパビリティとの対応付けを行う。
|
|
62
|
-
|
|
63
|
-
### 6. 情報マップの作成
|
|
64
|
-
|
|
65
|
-
ビジネスエンティティを特定し、エンティティ間のリレーションを整理する。後続のデータモデル設計の基礎になる。
|
|
66
|
-
|
|
67
|
-
### 7. ビジネスシナリオの策定
|
|
68
|
-
|
|
69
|
-
問題を特定・文書化し、ゴールと期待する結果を定義する。ヒューマンアクター・コンピュータアクターを特定し、後続のユースケース分析の入力とする。
|
|
70
|
-
|
|
71
|
-
## 途中から再開する場合
|
|
72
|
-
|
|
73
|
-
既存の `docs/strategy/business_architecture.md` がある場合は、まずその内容を確認する。完了済みのセクションはスキップし、未着手または更新が必要なセクションから再開する。
|
|
74
|
-
|
|
75
|
-
**Example:**
|
|
76
|
-
|
|
77
|
-
```
|
|
78
|
-
ユーザー: 「ビジネスモデルキャンバスは作った。次は?」
|
|
79
|
-
回答: バリューストリームの設計に進む。ビジネスモデルキャンバスで特定した
|
|
80
|
-
主要活動を基に、価値の流れを可視化する。
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
## 注意事項
|
|
84
|
-
|
|
85
|
-
- プロジェクトの基本情報(ビジョン、ミッション、ビジネス概要)が提供されていることを確認してから分析を開始する
|
|
86
|
-
- ビジネスアーキテクチャの重要な決定は ADR(`creating-adr`)で記録する
|
|
87
|
-
- 成果物は PlantUML を活用して視覚的に文書化する
|
|
88
|
-
- タスク項目(リスト)の前には空行を入れる(Markdown Lint 準拠)
|
|
89
|
-
|
|
90
|
-
## 関連スキル
|
|
91
|
-
|
|
92
|
-
- `analyzing-requirements` — 後続の要件定義(本スキルの成果物が入力)
|
|
93
|
-
- `analyzing-usecases` — 後続のビジネスユースケース詳細化
|
|
94
|
-
- `analyzing-architecture` — 後続のシステムアーキテクチャ設計への橋渡し
|
|
95
|
-
- `orchestrating-analysis` — 分析フェーズ全体のワークフロー案内
|
|
1
|
+
---
|
|
2
|
+
name: analyzing-business
|
|
3
|
+
description: ビジネスアーキテクチャ分析を支援。要件定義の前段階として、ビジネスモデルキャンバス、バリューストリーム、ケイパビリティマップ、組織マップ、情報マップ、ビジネスシナリオを作成。「ビジネスモデルを整理したい」「バリューストリームを描きたい」「ケイパビリティマップを作りたい」「事業構造を分析したい」といった場面で発動する。ビジネスの全体像を理解してからシステム要件に落とし込むことで、本当に必要な機能を見極められる。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# ビジネスアーキテクチャ分析
|
|
7
|
+
|
|
8
|
+
エンタープライズがどのように価値を生み出し、顧客に提供するかの構造を体系的に整理する。この分析は要件定義の前段階として行い、成果物は後続の `analyzing-requirements`(要件定義)や `analyzing-usecases`(ユースケース分析)の入力になる。
|
|
9
|
+
|
|
10
|
+
ビジネスの構造を先に理解することで、「何を作るか」ではなく「なぜ作るか」からシステムを設計でき、本当に価値のある機能に集中できる。
|
|
11
|
+
|
|
12
|
+
## 参照ドキュメント
|
|
13
|
+
|
|
14
|
+
- @docs/reference/ビジネスアーキテクチャ分析ガイド.md — 分析手法とフレームワークの詳細。各成果物の作成方法はこのガイドに従う。
|
|
15
|
+
|
|
16
|
+
## テンプレートと成果物
|
|
17
|
+
|
|
18
|
+
| 種類 | パス | 備考 |
|
|
19
|
+
|------|------|------|
|
|
20
|
+
| テンプレート | @docs/template/ビジネスアーキテクチャ.md | 編集禁止。コピーして使用する |
|
|
21
|
+
| 成果物 | `docs/strategy/business_architecture.md` | テンプレートを基に作成 |
|
|
22
|
+
|
|
23
|
+
## 分析の進め方
|
|
24
|
+
|
|
25
|
+
以下の順序で進める。各ステップの出力が次のステップの入力になるため、この順序を守ることで整合性の高い分析ができる。
|
|
26
|
+
|
|
27
|
+
### 1. プリンシプルの定義
|
|
28
|
+
|
|
29
|
+
ビジョン・ミッション・価値観に基づく方針を最初に固める。プリンシプルが曖昧だと、後続の分析で判断軸がブレる。
|
|
30
|
+
|
|
31
|
+
- **ガイディングプリンシプル**: ビジネス・アプリケーション・データ・テクノロジーの各アーキテクチャに対する方針
|
|
32
|
+
- **ビジネスプリンシプル**: ビジネスにおける原則原理
|
|
33
|
+
|
|
34
|
+
### 2. ビジネスモデルの整理
|
|
35
|
+
|
|
36
|
+
ビジネスモデルキャンバスを作成し、ビジネスの全体構造を 9 つの要素で可視化する。
|
|
37
|
+
|
|
38
|
+
- 顧客セグメント、価値提案、チャネル、顧客関係
|
|
39
|
+
- 主要活動、主要リソース、主要パートナー
|
|
40
|
+
- 収益源、コスト構造
|
|
41
|
+
|
|
42
|
+
### 3. バリューストリームの設計
|
|
43
|
+
|
|
44
|
+
価値がどのように流れるかを可視化する。バリューストリームはケイパビリティモデルの土台になるため、ケイパビリティより先に作成する。
|
|
45
|
+
|
|
46
|
+
- バリュー(価値)の分析
|
|
47
|
+
- バリューストリームマップの作成
|
|
48
|
+
- 各ステージでの価値増加の可視化
|
|
49
|
+
|
|
50
|
+
### 4. ケイパビリティモデルの構築
|
|
51
|
+
|
|
52
|
+
組織が持つ能力を体系的に整理する。バリューストリームの各ステージに必要なケイパビリティを紐付けることで、どの能力に投資すべきかが見える。
|
|
53
|
+
|
|
54
|
+
- ケイパビリティの特定(戦略・コア・サポート)
|
|
55
|
+
- 階層化とレベリング
|
|
56
|
+
- ヒートマッピングによる成熟度評価
|
|
57
|
+
- バリューストリームとのマッピング
|
|
58
|
+
|
|
59
|
+
### 5. 組織マップの作成
|
|
60
|
+
|
|
61
|
+
部門・組織構造を整理し、ケイパビリティとの対応付けを行う。
|
|
62
|
+
|
|
63
|
+
### 6. 情報マップの作成
|
|
64
|
+
|
|
65
|
+
ビジネスエンティティを特定し、エンティティ間のリレーションを整理する。後続のデータモデル設計の基礎になる。
|
|
66
|
+
|
|
67
|
+
### 7. ビジネスシナリオの策定
|
|
68
|
+
|
|
69
|
+
問題を特定・文書化し、ゴールと期待する結果を定義する。ヒューマンアクター・コンピュータアクターを特定し、後続のユースケース分析の入力とする。
|
|
70
|
+
|
|
71
|
+
## 途中から再開する場合
|
|
72
|
+
|
|
73
|
+
既存の `docs/strategy/business_architecture.md` がある場合は、まずその内容を確認する。完了済みのセクションはスキップし、未着手または更新が必要なセクションから再開する。
|
|
74
|
+
|
|
75
|
+
**Example:**
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
ユーザー: 「ビジネスモデルキャンバスは作った。次は?」
|
|
79
|
+
回答: バリューストリームの設計に進む。ビジネスモデルキャンバスで特定した
|
|
80
|
+
主要活動を基に、価値の流れを可視化する。
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## 注意事項
|
|
84
|
+
|
|
85
|
+
- プロジェクトの基本情報(ビジョン、ミッション、ビジネス概要)が提供されていることを確認してから分析を開始する
|
|
86
|
+
- ビジネスアーキテクチャの重要な決定は ADR(`creating-adr`)で記録する
|
|
87
|
+
- 成果物は PlantUML を活用して視覚的に文書化する
|
|
88
|
+
- タスク項目(リスト)の前には空行を入れる(Markdown Lint 準拠)
|
|
89
|
+
|
|
90
|
+
## 関連スキル
|
|
91
|
+
|
|
92
|
+
- `analyzing-requirements` — 後続の要件定義(本スキルの成果物が入力)
|
|
93
|
+
- `analyzing-usecases` — 後続のビジネスユースケース詳細化
|
|
94
|
+
- `analyzing-architecture` — 後続のシステムアーキテクチャ設計への橋渡し
|
|
95
|
+
- `orchestrating-analysis` — 分析フェーズ全体のワークフロー案内
|