@k2works/claude-code-booster 3.6.0 → 3.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +162 -162
- 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 +532 -532
- 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,162 +1,162 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: orchestrating-development
|
|
3
|
-
description: 開発フェーズ全体の TDD ワークフローをオーケストレーション。バックエンド・フロントエンドの開発順序と TDD サイクルの実践方法を案内し、Codex 分業体制もサポートする。「開発を始めたい」「TDD の進め方を知りたい」「Codex と分業で開発したい」「開発フェーズの全体像を把握したい」といった場面で発動する。開発フローを標準化することで、品質のブレを防ぎチーム全体の生産性を底上げする。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# 開発フェーズオーケストレーション
|
|
7
|
-
|
|
8
|
-
開発フェーズ全体のワークフローを案内する。TDD サイクルに従い、バックエンド→フロントエンドの順序で品質を担保しながら開発を進める。
|
|
9
|
-
|
|
10
|
-
## オプション
|
|
11
|
-
|
|
12
|
-
| オプション | 説明 |
|
|
13
|
-
|-----------|------|
|
|
14
|
-
| なし | 開発フェーズ全体のワークフローを表示 |
|
|
15
|
-
| `--codex` | Claude(計画・設計・受入)と Codex(実装)の分業体制で開発 |
|
|
16
|
-
|
|
17
|
-
## 開発フェーズの全体像
|
|
18
|
-
|
|
19
|
-
1. **バックエンド開発** (Skill: `developing-backend`) — インサイドアウトアプローチ推奨
|
|
20
|
-
2. **フロントエンド開発** (Skill: `developing-frontend`) — アウトサイドインアプローチ推奨
|
|
21
|
-
|
|
22
|
-
各開発で Red-Green-Refactor サイクルを厳密に実行する。テストなしでプロダクションコードを書かない。
|
|
23
|
-
|
|
24
|
-
### レビューポイント
|
|
25
|
-
|
|
26
|
-
コーディングとテストガイドのイテレーション開発フローに準拠し、以下のタイミングでレビュースキルを発動する。
|
|
27
|
-
|
|
28
|
-
| タイミング | スキル | 説明 |
|
|
29
|
-
|-----------|--------|------|
|
|
30
|
-
| TODO 完了時(コードレビュー) | `developing-review` | TDD サイクルで TODO を完了するたびにコード品質・テスト品質・設計整合性をレビュー |
|
|
31
|
-
| 受け入れ前(品質チェック) | `operating-qt` | SonarQube によるコード品質分析・Quality Gate 確認を実施し、品質基準を満たしていることを検証 |
|
|
32
|
-
| イテレーション完了時(ユーザーレビュー) | `analyzing-review` | 受け入れフェーズでユーザー視点・プロダクト視点からの成果物レビュー |
|
|
33
|
-
|
|
34
|
-
## TDD サイクル
|
|
35
|
-
|
|
36
|
-
TDD は「テストを書いてからコードを書く」手順ではなく、「設計を小さなフィードバックループで検証する」手法。10-15 分で 1 サイクルを完了させる。
|
|
37
|
-
|
|
38
|
-
1. **Red**: 失敗するテストを最初に書く
|
|
39
|
-
2. **Green**: テストを通す最小限のコードを実装する
|
|
40
|
-
3. **Refactor**: 重複を除去し設計を改善する
|
|
41
|
-
4. @docs/reference/コーディングとテストガイド.md のワークフローに従う
|
|
42
|
-
|
|
43
|
-
## 参照ドキュメント
|
|
44
|
-
|
|
45
|
-
- @docs/reference/コーディングとテストガイド.md — TDD ワークフロー詳細
|
|
46
|
-
- @docs/reference/CodexCLIMCPアプリケーション開発フロー.md — Codex 連携フロー
|
|
47
|
-
- @docs/design/architecture.md, @docs/design/architecture_backend.md, @docs/design/architecture_frontend.md
|
|
48
|
-
- @docs/design/data-model.md, @docs/design/domain-model.md, @docs/design/tech_stack.md
|
|
49
|
-
- @docs/design/ui-design.md, @docs/design/test_strategy.md
|
|
50
|
-
- 作業開始前に対象の @docs/development/iteration_plan-N.md の内容を確認する
|
|
51
|
-
- 作業完了後に対象の @docs/development/iteration_plan-N.md の進捗を更新する
|
|
52
|
-
|
|
53
|
-
## Codex 分業モード(--codex)
|
|
54
|
-
|
|
55
|
-
Claude と Codex の役割を分離し、計画・設計・受入を Claude が担い、実装を Codex に委譲する。
|
|
56
|
-
|
|
57
|
-
**前提条件**: Codex MCP サーバーが設定済みであること(@docs/reference/CodexCLIMCPサーバー設定手順.md 参照)
|
|
58
|
-
|
|
59
|
-
### 役割分担
|
|
60
|
-
|
|
61
|
-
| フェーズ | 担当 | 責務 |
|
|
62
|
-
|---------|------|------|
|
|
63
|
-
| 計画 | Claude | 要件分析、タスク分解、優先度決定 |
|
|
64
|
-
| 設計 | Claude | API 設計、UI 設計、データモデル設計 |
|
|
65
|
-
| 実装 | Codex | コード実装、ユニットテスト作成 |
|
|
66
|
-
| 受入 | Claude | 設計レビュー、E2E テスト作成・実行、品質確認 |
|
|
67
|
-
|
|
68
|
-
### 開発フロー
|
|
69
|
-
|
|
70
|
-
```mermaid
|
|
71
|
-
graph LR
|
|
72
|
-
A[計画] --> B[設計]
|
|
73
|
-
B --> C[実装指示]
|
|
74
|
-
C --> D[受入]
|
|
75
|
-
subgraph Claude
|
|
76
|
-
A
|
|
77
|
-
B
|
|
78
|
-
D
|
|
79
|
-
end
|
|
80
|
-
subgraph Codex
|
|
81
|
-
C
|
|
82
|
-
end
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
### 指示サイズ
|
|
86
|
-
|
|
87
|
-
| 粒度 | 推奨度 | 説明 |
|
|
88
|
-
|------|--------|------|
|
|
89
|
-
| タスク単位(1-3 ファイル) | 推奨 | 1 つのコンポーネントや機能単位 |
|
|
90
|
-
| 機能単位(3-5 ファイル) | 注意 | 進捗確認を頻繁に行う |
|
|
91
|
-
| ユーザーストーリー単位 | 非推奨 | タスクに分割して実行する |
|
|
92
|
-
|
|
93
|
-
### Codex への指示例
|
|
94
|
-
|
|
95
|
-
```
|
|
96
|
-
mcp__codex__codex
|
|
97
|
-
prompt: |
|
|
98
|
-
お知らせ管理機能を実装してください。
|
|
99
|
-
## 開発ガイド
|
|
100
|
-
docs/reference/コーディングとテストガイド.md に従って実装すること。
|
|
101
|
-
特に TDD サイクル(Red-Green-Refactor)を厳守すること。
|
|
102
|
-
## タスク
|
|
103
|
-
1. AuthContext に role と canManageAnnouncements を追加
|
|
104
|
-
2. API クライアントに create/update/delete 関数を追加
|
|
105
|
-
## 完了条件
|
|
106
|
-
- ESLint エラーなし
|
|
107
|
-
- 既存テストがパス
|
|
108
|
-
- TDD サイクルに従って実装
|
|
109
|
-
sandbox: danger-full-access
|
|
110
|
-
approval-policy: never
|
|
111
|
-
cwd: プロジェクトルート
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
### 受入基準
|
|
115
|
-
|
|
116
|
-
- [ ] すべての受入条件が満たされている
|
|
117
|
-
- [ ] E2E テストがすべてパス
|
|
118
|
-
- [ ] ESLint エラーがない
|
|
119
|
-
- [ ] 既存テストが壊れていない
|
|
120
|
-
|
|
121
|
-
### Codex が書き込みできない場合
|
|
122
|
-
|
|
123
|
-
1. Claude が勝手に直接編集を進めてはいけない
|
|
124
|
-
2. ユーザーに状況を報告し、確認を待つ
|
|
125
|
-
3. ユーザーの許可を得てから代替手段を実行する
|
|
126
|
-
|
|
127
|
-
## 途中から再開
|
|
128
|
-
|
|
129
|
-
開発セッションの途中から再開する場合は、まず現在の実装状況を確認する。
|
|
130
|
-
|
|
131
|
-
**Example:**
|
|
132
|
-
|
|
133
|
-
```
|
|
134
|
-
ユーザー: 「バックエンドの認証機能は実装済み。次の機能に進みたい」
|
|
135
|
-
回答: イテレーション計画を確認し、次のユーザーストーリーを特定する。
|
|
136
|
-
既存コードのテスト結果を確認し、Green 状態であることを検証してから
|
|
137
|
-
次のタスクの Red フェーズに進む。
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
## コンテキスト管理
|
|
141
|
-
|
|
142
|
-
タスクの区切りごとに `/compact` を実施して Context limit reached エラーを回避する。
|
|
143
|
-
|
|
144
|
-
- ユーザーストーリー 1 件の実装完了時、TDD サイクルを数回繰り返した後、コミット完了後に実施する
|
|
145
|
-
- `/compact` 前に現在の作業状態と次のタスクをメモとして出力する
|
|
146
|
-
|
|
147
|
-
## 注意事項
|
|
148
|
-
|
|
149
|
-
- プロジェクトのテスト環境が設定済みであること(前提条件)
|
|
150
|
-
- TDD の三原則を厳密に守る。テストなしでプロダクションコードを書かない
|
|
151
|
-
- コミット前に必ず品質チェックリストを実行する
|
|
152
|
-
- TODO 駆動開発でタスクを細かく分割してから実装を開始する
|
|
153
|
-
- Rule of Three: 同じコードが 3 回現れたらリファクタリングする
|
|
154
|
-
|
|
155
|
-
## 関連スキル
|
|
156
|
-
|
|
157
|
-
- `developing-backend` — バックエンド TDD 開発
|
|
158
|
-
- `developing-frontend` — フロントエンド TDD 開発
|
|
159
|
-
- `developing-review` — 開発成果物のマルチパースペクティブレビュー(TODO 完了時のコードレビュー)
|
|
160
|
-
- `analyzing-review` — 分析成果物のマルチパースペクティブレビュー(イテレーション完了時のユーザーレビュー)
|
|
161
|
-
- `operating-qt` — コード品質管理(受け入れ前の SonarQube 品質チェック)
|
|
162
|
-
- `developing-release` — リリースワークフロー(品質ゲート・バージョン管理・CHANGELOG)
|
|
1
|
+
---
|
|
2
|
+
name: orchestrating-development
|
|
3
|
+
description: 開発フェーズ全体の TDD ワークフローをオーケストレーション。バックエンド・フロントエンドの開発順序と TDD サイクルの実践方法を案内し、Codex 分業体制もサポートする。「開発を始めたい」「TDD の進め方を知りたい」「Codex と分業で開発したい」「開発フェーズの全体像を把握したい」といった場面で発動する。開発フローを標準化することで、品質のブレを防ぎチーム全体の生産性を底上げする。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 開発フェーズオーケストレーション
|
|
7
|
+
|
|
8
|
+
開発フェーズ全体のワークフローを案内する。TDD サイクルに従い、バックエンド→フロントエンドの順序で品質を担保しながら開発を進める。
|
|
9
|
+
|
|
10
|
+
## オプション
|
|
11
|
+
|
|
12
|
+
| オプション | 説明 |
|
|
13
|
+
|-----------|------|
|
|
14
|
+
| なし | 開発フェーズ全体のワークフローを表示 |
|
|
15
|
+
| `--codex` | Claude(計画・設計・受入)と Codex(実装)の分業体制で開発 |
|
|
16
|
+
|
|
17
|
+
## 開発フェーズの全体像
|
|
18
|
+
|
|
19
|
+
1. **バックエンド開発** (Skill: `developing-backend`) — インサイドアウトアプローチ推奨
|
|
20
|
+
2. **フロントエンド開発** (Skill: `developing-frontend`) — アウトサイドインアプローチ推奨
|
|
21
|
+
|
|
22
|
+
各開発で Red-Green-Refactor サイクルを厳密に実行する。テストなしでプロダクションコードを書かない。
|
|
23
|
+
|
|
24
|
+
### レビューポイント
|
|
25
|
+
|
|
26
|
+
コーディングとテストガイドのイテレーション開発フローに準拠し、以下のタイミングでレビュースキルを発動する。
|
|
27
|
+
|
|
28
|
+
| タイミング | スキル | 説明 |
|
|
29
|
+
|-----------|--------|------|
|
|
30
|
+
| TODO 完了時(コードレビュー) | `developing-review` | TDD サイクルで TODO を完了するたびにコード品質・テスト品質・設計整合性をレビュー |
|
|
31
|
+
| 受け入れ前(品質チェック) | `operating-qt` | SonarQube によるコード品質分析・Quality Gate 確認を実施し、品質基準を満たしていることを検証 |
|
|
32
|
+
| イテレーション完了時(ユーザーレビュー) | `analyzing-review` | 受け入れフェーズでユーザー視点・プロダクト視点からの成果物レビュー |
|
|
33
|
+
|
|
34
|
+
## TDD サイクル
|
|
35
|
+
|
|
36
|
+
TDD は「テストを書いてからコードを書く」手順ではなく、「設計を小さなフィードバックループで検証する」手法。10-15 分で 1 サイクルを完了させる。
|
|
37
|
+
|
|
38
|
+
1. **Red**: 失敗するテストを最初に書く
|
|
39
|
+
2. **Green**: テストを通す最小限のコードを実装する
|
|
40
|
+
3. **Refactor**: 重複を除去し設計を改善する
|
|
41
|
+
4. @docs/reference/コーディングとテストガイド.md のワークフローに従う
|
|
42
|
+
|
|
43
|
+
## 参照ドキュメント
|
|
44
|
+
|
|
45
|
+
- @docs/reference/コーディングとテストガイド.md — TDD ワークフロー詳細
|
|
46
|
+
- @docs/reference/CodexCLIMCPアプリケーション開発フロー.md — Codex 連携フロー
|
|
47
|
+
- @docs/design/architecture.md, @docs/design/architecture_backend.md, @docs/design/architecture_frontend.md
|
|
48
|
+
- @docs/design/data-model.md, @docs/design/domain-model.md, @docs/design/tech_stack.md
|
|
49
|
+
- @docs/design/ui-design.md, @docs/design/test_strategy.md
|
|
50
|
+
- 作業開始前に対象の @docs/development/iteration_plan-N.md の内容を確認する
|
|
51
|
+
- 作業完了後に対象の @docs/development/iteration_plan-N.md の進捗を更新する
|
|
52
|
+
|
|
53
|
+
## Codex 分業モード(--codex)
|
|
54
|
+
|
|
55
|
+
Claude と Codex の役割を分離し、計画・設計・受入を Claude が担い、実装を Codex に委譲する。
|
|
56
|
+
|
|
57
|
+
**前提条件**: Codex MCP サーバーが設定済みであること(@docs/reference/CodexCLIMCPサーバー設定手順.md 参照)
|
|
58
|
+
|
|
59
|
+
### 役割分担
|
|
60
|
+
|
|
61
|
+
| フェーズ | 担当 | 責務 |
|
|
62
|
+
|---------|------|------|
|
|
63
|
+
| 計画 | Claude | 要件分析、タスク分解、優先度決定 |
|
|
64
|
+
| 設計 | Claude | API 設計、UI 設計、データモデル設計 |
|
|
65
|
+
| 実装 | Codex | コード実装、ユニットテスト作成 |
|
|
66
|
+
| 受入 | Claude | 設計レビュー、E2E テスト作成・実行、品質確認 |
|
|
67
|
+
|
|
68
|
+
### 開発フロー
|
|
69
|
+
|
|
70
|
+
```mermaid
|
|
71
|
+
graph LR
|
|
72
|
+
A[計画] --> B[設計]
|
|
73
|
+
B --> C[実装指示]
|
|
74
|
+
C --> D[受入]
|
|
75
|
+
subgraph Claude
|
|
76
|
+
A
|
|
77
|
+
B
|
|
78
|
+
D
|
|
79
|
+
end
|
|
80
|
+
subgraph Codex
|
|
81
|
+
C
|
|
82
|
+
end
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### 指示サイズ
|
|
86
|
+
|
|
87
|
+
| 粒度 | 推奨度 | 説明 |
|
|
88
|
+
|------|--------|------|
|
|
89
|
+
| タスク単位(1-3 ファイル) | 推奨 | 1 つのコンポーネントや機能単位 |
|
|
90
|
+
| 機能単位(3-5 ファイル) | 注意 | 進捗確認を頻繁に行う |
|
|
91
|
+
| ユーザーストーリー単位 | 非推奨 | タスクに分割して実行する |
|
|
92
|
+
|
|
93
|
+
### Codex への指示例
|
|
94
|
+
|
|
95
|
+
```
|
|
96
|
+
mcp__codex__codex
|
|
97
|
+
prompt: |
|
|
98
|
+
お知らせ管理機能を実装してください。
|
|
99
|
+
## 開発ガイド
|
|
100
|
+
docs/reference/コーディングとテストガイド.md に従って実装すること。
|
|
101
|
+
特に TDD サイクル(Red-Green-Refactor)を厳守すること。
|
|
102
|
+
## タスク
|
|
103
|
+
1. AuthContext に role と canManageAnnouncements を追加
|
|
104
|
+
2. API クライアントに create/update/delete 関数を追加
|
|
105
|
+
## 完了条件
|
|
106
|
+
- ESLint エラーなし
|
|
107
|
+
- 既存テストがパス
|
|
108
|
+
- TDD サイクルに従って実装
|
|
109
|
+
sandbox: danger-full-access
|
|
110
|
+
approval-policy: never
|
|
111
|
+
cwd: プロジェクトルート
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### 受入基準
|
|
115
|
+
|
|
116
|
+
- [ ] すべての受入条件が満たされている
|
|
117
|
+
- [ ] E2E テストがすべてパス
|
|
118
|
+
- [ ] ESLint エラーがない
|
|
119
|
+
- [ ] 既存テストが壊れていない
|
|
120
|
+
|
|
121
|
+
### Codex が書き込みできない場合
|
|
122
|
+
|
|
123
|
+
1. Claude が勝手に直接編集を進めてはいけない
|
|
124
|
+
2. ユーザーに状況を報告し、確認を待つ
|
|
125
|
+
3. ユーザーの許可を得てから代替手段を実行する
|
|
126
|
+
|
|
127
|
+
## 途中から再開
|
|
128
|
+
|
|
129
|
+
開発セッションの途中から再開する場合は、まず現在の実装状況を確認する。
|
|
130
|
+
|
|
131
|
+
**Example:**
|
|
132
|
+
|
|
133
|
+
```
|
|
134
|
+
ユーザー: 「バックエンドの認証機能は実装済み。次の機能に進みたい」
|
|
135
|
+
回答: イテレーション計画を確認し、次のユーザーストーリーを特定する。
|
|
136
|
+
既存コードのテスト結果を確認し、Green 状態であることを検証してから
|
|
137
|
+
次のタスクの Red フェーズに進む。
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
## コンテキスト管理
|
|
141
|
+
|
|
142
|
+
タスクの区切りごとに `/compact` を実施して Context limit reached エラーを回避する。
|
|
143
|
+
|
|
144
|
+
- ユーザーストーリー 1 件の実装完了時、TDD サイクルを数回繰り返した後、コミット完了後に実施する
|
|
145
|
+
- `/compact` 前に現在の作業状態と次のタスクをメモとして出力する
|
|
146
|
+
|
|
147
|
+
## 注意事項
|
|
148
|
+
|
|
149
|
+
- プロジェクトのテスト環境が設定済みであること(前提条件)
|
|
150
|
+
- TDD の三原則を厳密に守る。テストなしでプロダクションコードを書かない
|
|
151
|
+
- コミット前に必ず品質チェックリストを実行する
|
|
152
|
+
- TODO 駆動開発でタスクを細かく分割してから実装を開始する
|
|
153
|
+
- Rule of Three: 同じコードが 3 回現れたらリファクタリングする
|
|
154
|
+
|
|
155
|
+
## 関連スキル
|
|
156
|
+
|
|
157
|
+
- `developing-backend` — バックエンド TDD 開発
|
|
158
|
+
- `developing-frontend` — フロントエンド TDD 開発
|
|
159
|
+
- `developing-review` — 開発成果物のマルチパースペクティブレビュー(TODO 完了時のコードレビュー)
|
|
160
|
+
- `analyzing-review` — 分析成果物のマルチパースペクティブレビュー(イテレーション完了時のユーザーレビュー)
|
|
161
|
+
- `operating-qt` — コード品質管理(受け入れ前の SonarQube 品質チェック)
|
|
162
|
+
- `developing-release` — リリースワークフロー(品質ゲート・バージョン管理・CHANGELOG)
|
|
@@ -1,158 +1,158 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: orchestrating-operation
|
|
3
|
-
description: 運用フェーズ全体のワークフローをオーケストレーション。環境構築、プロビジョニング、CI/CD 構築、デプロイ設定、運用スクリプト作成の実行順序を案内。運用フェーズの開始や環境構築・デプロイの全体像の把握時に使用。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# 運用フェーズオーケストレーション
|
|
7
|
-
|
|
8
|
-
運用フェーズ全体の作業を支援します。環境構築からデプロイ設定、運用スクリプト作成までの包括的なワークフローを提供します。
|
|
9
|
-
|
|
10
|
-
## Instructions
|
|
11
|
-
|
|
12
|
-
### 1. 運用フェーズの全体像
|
|
13
|
-
|
|
14
|
-
運用フェーズは「構築」と「配置」の 2 つの活動で構成されます。各環境の構築作業では、環境固有の手順書を作成・参照しながら進めます。
|
|
15
|
-
|
|
16
|
-
```
|
|
17
|
-
構築 → 配置 → ドキュメント更新
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
#### 構築
|
|
21
|
-
|
|
22
|
-
環境の準備とインフラの整備を行います。
|
|
23
|
-
|
|
24
|
-
1. **環境構築** — 各環境のセットアップ
|
|
25
|
-
2. **プロビジョニング** — IaC によるインフラ管理
|
|
26
|
-
3. **CI/CD 構築** — パイプラインの設計と実装
|
|
27
|
-
4. **運用スクリプト作成** — 各環境のタスクランナー・自動化スクリプト
|
|
28
|
-
|
|
29
|
-
#### 配置
|
|
30
|
-
|
|
31
|
-
アプリケーションのビルドとデプロイを行います。
|
|
32
|
-
|
|
33
|
-
1. **デプロイ設定** — デプロイ戦略の設計と実装
|
|
34
|
-
|
|
35
|
-
### 2. 環境構築の段階的フロー
|
|
36
|
-
|
|
37
|
-
環境構築は以下の順序で段階的に進めます。各環境のセットアップ時には対応するテンプレートを参照し、手順書を作成します。
|
|
38
|
-
|
|
39
|
-
```
|
|
40
|
-
アプリケーション開発環境 → 開発環境 → ステージング環境 → 本番環境
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
| 段階 | 環境 | 目的 | 手順書テンプレート |
|
|
44
|
-
|------|------|------|------------------|
|
|
45
|
-
| 1 | アプリケーション開発環境 | ローカル開発の効率化 | @docs/template/アプリケーション開発環境セットアップ手順書.md |
|
|
46
|
-
| 2 | 開発環境 | チーム共有の動作確認環境 | @docs/template/開発環境セットアップ手順書.md |
|
|
47
|
-
| 3 | ステージング環境 | 本番相当のテスト環境 | @docs/template/AWSステージング環境セットアップ手順書.md |
|
|
48
|
-
| 4 | 本番環境 | プロダクション環境 | @docs/template/AWSプロダクション環境セットアップ手順書.md |
|
|
49
|
-
|
|
50
|
-
各環境のセットアップ完了後、運用スクリプトを作成し、ドキュメントを更新します。
|
|
51
|
-
|
|
52
|
-
### 3. プロビジョニング
|
|
53
|
-
|
|
54
|
-
IaC(Infrastructure as Code)によるインフラ管理を行います。
|
|
55
|
-
|
|
56
|
-
**主要な活動**:
|
|
57
|
-
|
|
58
|
-
- Terraform / CloudFormation 等によるインフラ定義
|
|
59
|
-
- 状態管理(S3 + DynamoDB 等)
|
|
60
|
-
- モジュール化とコードの再利用
|
|
61
|
-
- テスト(LocalStack / Terratest 等)
|
|
62
|
-
|
|
63
|
-
**プロビジョニングのサイクル**:
|
|
64
|
-
|
|
65
|
-
```
|
|
66
|
-
インフラコード作成 → plan → apply → テスト → ドキュメント更新
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
### 4. CI/CD 構築
|
|
70
|
-
|
|
71
|
-
継続的インテグレーション・デプロイのパイプラインを構築します。
|
|
72
|
-
|
|
73
|
-
**主要な活動**:
|
|
74
|
-
|
|
75
|
-
- CI パイプライン設計(ビルド・テスト・品質チェック)
|
|
76
|
-
- CD パイプライン設計(デプロイ自動化)
|
|
77
|
-
- OIDC 認証によるセキュアな CI/CD 連携
|
|
78
|
-
- 環境別のデプロイ戦略
|
|
79
|
-
|
|
80
|
-
### 5. デプロイ設定
|
|
81
|
-
|
|
82
|
-
各環境へのデプロイ戦略を設計・実装します。
|
|
83
|
-
|
|
84
|
-
| デプロイ方式 | 説明 | 用途 |
|
|
85
|
-
|-------------|------|------|
|
|
86
|
-
| ローリングデプロイ | 段階的にインスタンスを更新 | ECS / Kubernetes |
|
|
87
|
-
| Blue/Green | 新旧環境を切り替え | RDS アップグレード等 |
|
|
88
|
-
| Docker イメージ配布 | Registry 経由でイメージをプル | 開発環境サーバー |
|
|
89
|
-
|
|
90
|
-
### 6. 運用スクリプト作成
|
|
91
|
-
|
|
92
|
-
各環境の構築・デプロイ・管理を自動化するスクリプトを作成します。
|
|
93
|
-
|
|
94
|
-
@docs/reference/運用スクリプト作成ガイド.md に従い、ネーミングルール・ディレクトリ構成・実装スタイルを統一します。
|
|
95
|
-
|
|
96
|
-
**作成タイミング**: 各環境のセットアップ完了時に、その環境の運用スクリプトを作成します。
|
|
97
|
-
|
|
98
|
-
**スクリプトの種類**:
|
|
99
|
-
|
|
100
|
-
- 環境構築・セットアップ
|
|
101
|
-
- ビルド・プッシュ
|
|
102
|
-
- デプロイ・ロールバック
|
|
103
|
-
- ステータス確認・ログ取得
|
|
104
|
-
- バックアップ・リストア
|
|
105
|
-
- クリーンアップ
|
|
106
|
-
|
|
107
|
-
### 7. 実行手順
|
|
108
|
-
|
|
109
|
-
運用フェーズを開始する際の推奨手順:
|
|
110
|
-
|
|
111
|
-
1. **現状確認**: 既存の環境・インフラ・ドキュメントを確認
|
|
112
|
-
2. **環境計画**: 必要な環境と構築順序を決定
|
|
113
|
-
3. **手順書作成**: テンプレートを基に環境ごとの手順書を作成
|
|
114
|
-
4. **環境構築**: 手順書に従い段階的に環境を構築(Skill: `managing-operations`)
|
|
115
|
-
5. **CI/CD 構築**: パイプラインの設計と実装
|
|
116
|
-
6. **運用スクリプト**: タスクランナー・自動化スクリプトの作成
|
|
117
|
-
7. **ドキュメント更新**: 手順書・コマンドリファレンスの整備
|
|
118
|
-
|
|
119
|
-
### 8. コンテキスト管理
|
|
120
|
-
|
|
121
|
-
長時間の運用セッションでは Context limit reached エラーを回避するため、タスクの区切りごとに `/compact` を実施してコンテキストを圧縮する。
|
|
122
|
-
|
|
123
|
-
**`/compact` を実施するタイミング**:
|
|
124
|
-
|
|
125
|
-
- 環境 1 つのセットアップが完了したとき
|
|
126
|
-
- プロビジョニングの plan → apply サイクルが完了したとき
|
|
127
|
-
- CI/CD パイプラインの設計・実装が一段落したとき
|
|
128
|
-
- 運用スクリプト一式の作成が完了したとき
|
|
129
|
-
- コミット完了後、次の環境構築に着手する前
|
|
130
|
-
|
|
131
|
-
**運用ルール**:
|
|
132
|
-
|
|
133
|
-
1. `/compact` 実施前に、現在の作業状態と次の工程をメモとして出力する
|
|
134
|
-
2. `/compact` 実施後、次の工程の作業を継続する
|
|
135
|
-
3. 大規模な環境構築(例: AWS ステージング環境)では、リソースグループごとに `/compact` を検討する
|
|
136
|
-
|
|
137
|
-
### 9. 注意事項
|
|
138
|
-
|
|
139
|
-
- **前提条件**: 分析フェーズで運用要件が定義済みであること
|
|
140
|
-
- **制限事項**: 本番環境の構築・デプロイは十分な確認と承認のもとで実行
|
|
141
|
-
- **推奨事項**: ステージング環境で十分に検証してから本番環境に適用
|
|
142
|
-
|
|
143
|
-
### 10. ベストプラクティス
|
|
144
|
-
|
|
145
|
-
1. **段階的構築**: アプリ開発環境 → 開発環境 → ステージング → 本番の順序を厳守
|
|
146
|
-
2. **IaC 優先**: 手作業を最小限に抑え、インフラをコードで管理
|
|
147
|
-
3. **テンプレート活用**: 手順書テンプレートを基に環境固有の手順書を作成
|
|
148
|
-
4. **自動化徹底**: 環境構築の各段階で運用スクリプトを作成
|
|
149
|
-
5. **ドキュメント同期**: 環境変更時は手順書・コマンドリファレンスを同時更新
|
|
150
|
-
|
|
151
|
-
### 関連スキル
|
|
152
|
-
|
|
153
|
-
- `operating-setup` : 環境構築の段階的実行
|
|
154
|
-
- `operating-provision` : IaC によるインフラプロビジョニング
|
|
155
|
-
- `operating-cicd` : CI/CD パイプライン構築
|
|
156
|
-
- `operating-deploy` : デプロイ・ロールバック
|
|
157
|
-
- `operating-backup` : バックアップ・リストア
|
|
158
|
-
- `analyzing-operation` : 運用要件の定義
|
|
1
|
+
---
|
|
2
|
+
name: orchestrating-operation
|
|
3
|
+
description: 運用フェーズ全体のワークフローをオーケストレーション。環境構築、プロビジョニング、CI/CD 構築、デプロイ設定、運用スクリプト作成の実行順序を案内。運用フェーズの開始や環境構築・デプロイの全体像の把握時に使用。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 運用フェーズオーケストレーション
|
|
7
|
+
|
|
8
|
+
運用フェーズ全体の作業を支援します。環境構築からデプロイ設定、運用スクリプト作成までの包括的なワークフローを提供します。
|
|
9
|
+
|
|
10
|
+
## Instructions
|
|
11
|
+
|
|
12
|
+
### 1. 運用フェーズの全体像
|
|
13
|
+
|
|
14
|
+
運用フェーズは「構築」と「配置」の 2 つの活動で構成されます。各環境の構築作業では、環境固有の手順書を作成・参照しながら進めます。
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
構築 → 配置 → ドキュメント更新
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
#### 構築
|
|
21
|
+
|
|
22
|
+
環境の準備とインフラの整備を行います。
|
|
23
|
+
|
|
24
|
+
1. **環境構築** — 各環境のセットアップ
|
|
25
|
+
2. **プロビジョニング** — IaC によるインフラ管理
|
|
26
|
+
3. **CI/CD 構築** — パイプラインの設計と実装
|
|
27
|
+
4. **運用スクリプト作成** — 各環境のタスクランナー・自動化スクリプト
|
|
28
|
+
|
|
29
|
+
#### 配置
|
|
30
|
+
|
|
31
|
+
アプリケーションのビルドとデプロイを行います。
|
|
32
|
+
|
|
33
|
+
1. **デプロイ設定** — デプロイ戦略の設計と実装
|
|
34
|
+
|
|
35
|
+
### 2. 環境構築の段階的フロー
|
|
36
|
+
|
|
37
|
+
環境構築は以下の順序で段階的に進めます。各環境のセットアップ時には対応するテンプレートを参照し、手順書を作成します。
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
アプリケーション開発環境 → 開発環境 → ステージング環境 → 本番環境
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
| 段階 | 環境 | 目的 | 手順書テンプレート |
|
|
44
|
+
|------|------|------|------------------|
|
|
45
|
+
| 1 | アプリケーション開発環境 | ローカル開発の効率化 | @docs/template/アプリケーション開発環境セットアップ手順書.md |
|
|
46
|
+
| 2 | 開発環境 | チーム共有の動作確認環境 | @docs/template/開発環境セットアップ手順書.md |
|
|
47
|
+
| 3 | ステージング環境 | 本番相当のテスト環境 | @docs/template/AWSステージング環境セットアップ手順書.md |
|
|
48
|
+
| 4 | 本番環境 | プロダクション環境 | @docs/template/AWSプロダクション環境セットアップ手順書.md |
|
|
49
|
+
|
|
50
|
+
各環境のセットアップ完了後、運用スクリプトを作成し、ドキュメントを更新します。
|
|
51
|
+
|
|
52
|
+
### 3. プロビジョニング
|
|
53
|
+
|
|
54
|
+
IaC(Infrastructure as Code)によるインフラ管理を行います。
|
|
55
|
+
|
|
56
|
+
**主要な活動**:
|
|
57
|
+
|
|
58
|
+
- Terraform / CloudFormation 等によるインフラ定義
|
|
59
|
+
- 状態管理(S3 + DynamoDB 等)
|
|
60
|
+
- モジュール化とコードの再利用
|
|
61
|
+
- テスト(LocalStack / Terratest 等)
|
|
62
|
+
|
|
63
|
+
**プロビジョニングのサイクル**:
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
インフラコード作成 → plan → apply → テスト → ドキュメント更新
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### 4. CI/CD 構築
|
|
70
|
+
|
|
71
|
+
継続的インテグレーション・デプロイのパイプラインを構築します。
|
|
72
|
+
|
|
73
|
+
**主要な活動**:
|
|
74
|
+
|
|
75
|
+
- CI パイプライン設計(ビルド・テスト・品質チェック)
|
|
76
|
+
- CD パイプライン設計(デプロイ自動化)
|
|
77
|
+
- OIDC 認証によるセキュアな CI/CD 連携
|
|
78
|
+
- 環境別のデプロイ戦略
|
|
79
|
+
|
|
80
|
+
### 5. デプロイ設定
|
|
81
|
+
|
|
82
|
+
各環境へのデプロイ戦略を設計・実装します。
|
|
83
|
+
|
|
84
|
+
| デプロイ方式 | 説明 | 用途 |
|
|
85
|
+
|-------------|------|------|
|
|
86
|
+
| ローリングデプロイ | 段階的にインスタンスを更新 | ECS / Kubernetes |
|
|
87
|
+
| Blue/Green | 新旧環境を切り替え | RDS アップグレード等 |
|
|
88
|
+
| Docker イメージ配布 | Registry 経由でイメージをプル | 開発環境サーバー |
|
|
89
|
+
|
|
90
|
+
### 6. 運用スクリプト作成
|
|
91
|
+
|
|
92
|
+
各環境の構築・デプロイ・管理を自動化するスクリプトを作成します。
|
|
93
|
+
|
|
94
|
+
@docs/reference/運用スクリプト作成ガイド.md に従い、ネーミングルール・ディレクトリ構成・実装スタイルを統一します。
|
|
95
|
+
|
|
96
|
+
**作成タイミング**: 各環境のセットアップ完了時に、その環境の運用スクリプトを作成します。
|
|
97
|
+
|
|
98
|
+
**スクリプトの種類**:
|
|
99
|
+
|
|
100
|
+
- 環境構築・セットアップ
|
|
101
|
+
- ビルド・プッシュ
|
|
102
|
+
- デプロイ・ロールバック
|
|
103
|
+
- ステータス確認・ログ取得
|
|
104
|
+
- バックアップ・リストア
|
|
105
|
+
- クリーンアップ
|
|
106
|
+
|
|
107
|
+
### 7. 実行手順
|
|
108
|
+
|
|
109
|
+
運用フェーズを開始する際の推奨手順:
|
|
110
|
+
|
|
111
|
+
1. **現状確認**: 既存の環境・インフラ・ドキュメントを確認
|
|
112
|
+
2. **環境計画**: 必要な環境と構築順序を決定
|
|
113
|
+
3. **手順書作成**: テンプレートを基に環境ごとの手順書を作成
|
|
114
|
+
4. **環境構築**: 手順書に従い段階的に環境を構築(Skill: `managing-operations`)
|
|
115
|
+
5. **CI/CD 構築**: パイプラインの設計と実装
|
|
116
|
+
6. **運用スクリプト**: タスクランナー・自動化スクリプトの作成
|
|
117
|
+
7. **ドキュメント更新**: 手順書・コマンドリファレンスの整備
|
|
118
|
+
|
|
119
|
+
### 8. コンテキスト管理
|
|
120
|
+
|
|
121
|
+
長時間の運用セッションでは Context limit reached エラーを回避するため、タスクの区切りごとに `/compact` を実施してコンテキストを圧縮する。
|
|
122
|
+
|
|
123
|
+
**`/compact` を実施するタイミング**:
|
|
124
|
+
|
|
125
|
+
- 環境 1 つのセットアップが完了したとき
|
|
126
|
+
- プロビジョニングの plan → apply サイクルが完了したとき
|
|
127
|
+
- CI/CD パイプラインの設計・実装が一段落したとき
|
|
128
|
+
- 運用スクリプト一式の作成が完了したとき
|
|
129
|
+
- コミット完了後、次の環境構築に着手する前
|
|
130
|
+
|
|
131
|
+
**運用ルール**:
|
|
132
|
+
|
|
133
|
+
1. `/compact` 実施前に、現在の作業状態と次の工程をメモとして出力する
|
|
134
|
+
2. `/compact` 実施後、次の工程の作業を継続する
|
|
135
|
+
3. 大規模な環境構築(例: AWS ステージング環境)では、リソースグループごとに `/compact` を検討する
|
|
136
|
+
|
|
137
|
+
### 9. 注意事項
|
|
138
|
+
|
|
139
|
+
- **前提条件**: 分析フェーズで運用要件が定義済みであること
|
|
140
|
+
- **制限事項**: 本番環境の構築・デプロイは十分な確認と承認のもとで実行
|
|
141
|
+
- **推奨事項**: ステージング環境で十分に検証してから本番環境に適用
|
|
142
|
+
|
|
143
|
+
### 10. ベストプラクティス
|
|
144
|
+
|
|
145
|
+
1. **段階的構築**: アプリ開発環境 → 開発環境 → ステージング → 本番の順序を厳守
|
|
146
|
+
2. **IaC 優先**: 手作業を最小限に抑え、インフラをコードで管理
|
|
147
|
+
3. **テンプレート活用**: 手順書テンプレートを基に環境固有の手順書を作成
|
|
148
|
+
4. **自動化徹底**: 環境構築の各段階で運用スクリプトを作成
|
|
149
|
+
5. **ドキュメント同期**: 環境変更時は手順書・コマンドリファレンスを同時更新
|
|
150
|
+
|
|
151
|
+
### 関連スキル
|
|
152
|
+
|
|
153
|
+
- `operating-setup` : 環境構築の段階的実行
|
|
154
|
+
- `operating-provision` : IaC によるインフラプロビジョニング
|
|
155
|
+
- `operating-cicd` : CI/CD パイプライン構築
|
|
156
|
+
- `operating-deploy` : デプロイ・ロールバック
|
|
157
|
+
- `operating-backup` : バックアップ・リストア
|
|
158
|
+
- `analyzing-operation` : 運用要件の定義
|