@k2works/claude-code-booster 3.4.1 → 3.6.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 +239 -239
- 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 -88
- 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-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 -161
- 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 +29 -1
- 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 +183 -183
- 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 -580
- 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 -242
- 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 -544
- 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 -682
- 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 -560
- 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 -2636
- 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 -663
- 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 +28 -0
- 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 -68
- 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 -135
- 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
- package/lib/assets/.claude/agent-memory/xp-programmer/MEMORY.md +0 -6
- package/lib/assets/.claude/agent-memory/xp-programmer/project_cargo_tracker.md +0 -11
- package/lib/assets/.claude/agent-memory/xp-programmer/project_ddd_patterns.md +0 -27
- package/lib/assets/.claude/agent-memory/xp-programmer/project_us07_route_assignment.md +0 -19
|
@@ -1,93 +1,93 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: developing-frontend
|
|
3
|
-
description: フロントエンド開発の TDD ワークフローを支援。Red-Green-Refactor サイクルとアウトサイドインアプローチで品質の高い UI を実装する。「フロントエンドを実装したい」「画面を作りたい」「コンポーネントを追加したい」「フロントエンドのテストを書きたい」といった場面で発動する。TDD で開発することで、UI の振る舞いを自動テストで保証し、安全なリファクタリングを可能にする。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# フロントエンド開発
|
|
7
|
-
|
|
8
|
-
TDD サイクルに従いフロントエンドを開発する。アウトサイドインアプローチ(UI 層→ロジック層→データ層)で、ユーザー視点から内側へ段階的に構築する。
|
|
9
|
-
|
|
10
|
-
アウトサイドインの利点は、ユーザーが実際に操作する画面から始めるため、不要な機能を作らずに済むこと。テストがユーザーの振る舞いに基づくため、実装の詳細に依存しにくい。
|
|
11
|
-
|
|
12
|
-
## 参照ドキュメント
|
|
13
|
-
|
|
14
|
-
| 種類 | パス |
|
|
15
|
-
|------|------|
|
|
16
|
-
| ワークフロー | @docs/reference/コーディングとテストガイド.md |
|
|
17
|
-
| アーキテクチャ | @docs/design/architecture_frontend.md |
|
|
18
|
-
| UI 設計 | @docs/design/ui-design.md |
|
|
19
|
-
| 技術スタック | @docs/design/tech_stack.md |
|
|
20
|
-
| テスト戦略 | @docs/design/test_strategy.md |
|
|
21
|
-
|
|
22
|
-
## TDD サイクル
|
|
23
|
-
|
|
24
|
-
10-15 分で 1 サイクルを完了させる。サイクルが長引くなら、タスクの粒度が大きすぎる。
|
|
25
|
-
|
|
26
|
-
1. **Red**: 失敗するテストを最初に書く
|
|
27
|
-
2. **Green**: テストを通す最小限のコードを実装する
|
|
28
|
-
3. **Refactor**: 重複を除去し設計を改善する
|
|
29
|
-
|
|
30
|
-
## アプローチ
|
|
31
|
-
|
|
32
|
-
- **アウトサイドイン**(推奨): UI から開始しロジックを段階的に実装する
|
|
33
|
-
- **インサイドアウト**: ユーティリティ/hooks から開始し上位層へ展開する
|
|
34
|
-
|
|
35
|
-
## テストコマンド
|
|
36
|
-
|
|
37
|
-
```bash
|
|
38
|
-
# 全テスト実行
|
|
39
|
-
cd apps/frontend && npm run test
|
|
40
|
-
|
|
41
|
-
# ウォッチモードでテスト実行
|
|
42
|
-
cd apps/frontend && npm run test:watch
|
|
43
|
-
|
|
44
|
-
# テストカバレッジ確認
|
|
45
|
-
cd apps/frontend && npm run test:coverage
|
|
46
|
-
|
|
47
|
-
# E2E テスト実行
|
|
48
|
-
cd apps/frontend && npm run test:e2e
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
## 品質チェックリスト
|
|
52
|
-
|
|
53
|
-
コミット前に必ず確認する。
|
|
54
|
-
|
|
55
|
-
- [ ] すべてのテストがパス
|
|
56
|
-
- [ ] ESLint の警告がゼロ
|
|
57
|
-
- [ ] テストカバレッジが目標を満たしている
|
|
58
|
-
- [ ] 単一の論理的作業単位を表現
|
|
59
|
-
- [ ] コミットメッセージが変更内容を明確に説明
|
|
60
|
-
|
|
61
|
-
## 途中から再開
|
|
62
|
-
|
|
63
|
-
開発セッションの途中から再開する場合は、まず現在のテスト状態を確認する。
|
|
64
|
-
|
|
65
|
-
**Example:**
|
|
66
|
-
|
|
67
|
-
```
|
|
68
|
-
ユーザー: 「ログイン画面のコンポーネントは作った。バリデーションを追加したい」
|
|
69
|
-
回答: 既存テストを実行して Green 状態を確認する。
|
|
70
|
-
バリデーションの失敗するテスト(Red)を書いてから実装に進む。
|
|
71
|
-
ユーザーが不正な入力をした場合のエラー表示をテストする。
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
## コンテキスト管理
|
|
75
|
-
|
|
76
|
-
タスクの区切りごとに `/compact` を実施して Context limit reached エラーを回避する。
|
|
77
|
-
|
|
78
|
-
- TDD サイクルを数回繰り返した後、コンポーネント完了時、コミット完了後に実施する
|
|
79
|
-
- `/compact` 前に現在の作業状態と次のタスクをメモとして出力する
|
|
80
|
-
|
|
81
|
-
## 注意事項
|
|
82
|
-
|
|
83
|
-
- Node.js/npm のテスト環境が設定済みであること(前提条件)
|
|
84
|
-
- TDD の三原則を厳密に守る。テストなしでプロダクションコードを書かない
|
|
85
|
-
- コミット前に必ず品質チェックリストを実行する
|
|
86
|
-
- 作業完了後に対象の @docs/development/iteration_plan-N.md の進捗を更新する
|
|
87
|
-
- コンポーネントは単一責任の原則に従い小さく保つ。TODO 駆動で分割し、Rule of Three でリファクタリングする
|
|
88
|
-
|
|
89
|
-
## 関連スキル
|
|
90
|
-
|
|
91
|
-
- `developing-backend` — バックエンド TDD 開発
|
|
92
|
-
- `orchestrating-development` — 開発フェーズ全体のワークフロー
|
|
93
|
-
- `git-commit` — Conventional Commits 準拠のコミット
|
|
1
|
+
---
|
|
2
|
+
name: developing-frontend
|
|
3
|
+
description: フロントエンド開発の TDD ワークフローを支援。Red-Green-Refactor サイクルとアウトサイドインアプローチで品質の高い UI を実装する。「フロントエンドを実装したい」「画面を作りたい」「コンポーネントを追加したい」「フロントエンドのテストを書きたい」といった場面で発動する。TDD で開発することで、UI の振る舞いを自動テストで保証し、安全なリファクタリングを可能にする。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# フロントエンド開発
|
|
7
|
+
|
|
8
|
+
TDD サイクルに従いフロントエンドを開発する。アウトサイドインアプローチ(UI 層→ロジック層→データ層)で、ユーザー視点から内側へ段階的に構築する。
|
|
9
|
+
|
|
10
|
+
アウトサイドインの利点は、ユーザーが実際に操作する画面から始めるため、不要な機能を作らずに済むこと。テストがユーザーの振る舞いに基づくため、実装の詳細に依存しにくい。
|
|
11
|
+
|
|
12
|
+
## 参照ドキュメント
|
|
13
|
+
|
|
14
|
+
| 種類 | パス |
|
|
15
|
+
|------|------|
|
|
16
|
+
| ワークフロー | @docs/reference/コーディングとテストガイド.md |
|
|
17
|
+
| アーキテクチャ | @docs/design/architecture_frontend.md |
|
|
18
|
+
| UI 設計 | @docs/design/ui-design.md |
|
|
19
|
+
| 技術スタック | @docs/design/tech_stack.md |
|
|
20
|
+
| テスト戦略 | @docs/design/test_strategy.md |
|
|
21
|
+
|
|
22
|
+
## TDD サイクル
|
|
23
|
+
|
|
24
|
+
10-15 分で 1 サイクルを完了させる。サイクルが長引くなら、タスクの粒度が大きすぎる。
|
|
25
|
+
|
|
26
|
+
1. **Red**: 失敗するテストを最初に書く
|
|
27
|
+
2. **Green**: テストを通す最小限のコードを実装する
|
|
28
|
+
3. **Refactor**: 重複を除去し設計を改善する
|
|
29
|
+
|
|
30
|
+
## アプローチ
|
|
31
|
+
|
|
32
|
+
- **アウトサイドイン**(推奨): UI から開始しロジックを段階的に実装する
|
|
33
|
+
- **インサイドアウト**: ユーティリティ/hooks から開始し上位層へ展開する
|
|
34
|
+
|
|
35
|
+
## テストコマンド
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
# 全テスト実行
|
|
39
|
+
cd apps/frontend && npm run test
|
|
40
|
+
|
|
41
|
+
# ウォッチモードでテスト実行
|
|
42
|
+
cd apps/frontend && npm run test:watch
|
|
43
|
+
|
|
44
|
+
# テストカバレッジ確認
|
|
45
|
+
cd apps/frontend && npm run test:coverage
|
|
46
|
+
|
|
47
|
+
# E2E テスト実行
|
|
48
|
+
cd apps/frontend && npm run test:e2e
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## 品質チェックリスト
|
|
52
|
+
|
|
53
|
+
コミット前に必ず確認する。
|
|
54
|
+
|
|
55
|
+
- [ ] すべてのテストがパス
|
|
56
|
+
- [ ] ESLint の警告がゼロ
|
|
57
|
+
- [ ] テストカバレッジが目標を満たしている
|
|
58
|
+
- [ ] 単一の論理的作業単位を表現
|
|
59
|
+
- [ ] コミットメッセージが変更内容を明確に説明
|
|
60
|
+
|
|
61
|
+
## 途中から再開
|
|
62
|
+
|
|
63
|
+
開発セッションの途中から再開する場合は、まず現在のテスト状態を確認する。
|
|
64
|
+
|
|
65
|
+
**Example:**
|
|
66
|
+
|
|
67
|
+
```
|
|
68
|
+
ユーザー: 「ログイン画面のコンポーネントは作った。バリデーションを追加したい」
|
|
69
|
+
回答: 既存テストを実行して Green 状態を確認する。
|
|
70
|
+
バリデーションの失敗するテスト(Red)を書いてから実装に進む。
|
|
71
|
+
ユーザーが不正な入力をした場合のエラー表示をテストする。
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## コンテキスト管理
|
|
75
|
+
|
|
76
|
+
タスクの区切りごとに `/compact` を実施して Context limit reached エラーを回避する。
|
|
77
|
+
|
|
78
|
+
- TDD サイクルを数回繰り返した後、コンポーネント完了時、コミット完了後に実施する
|
|
79
|
+
- `/compact` 前に現在の作業状態と次のタスクをメモとして出力する
|
|
80
|
+
|
|
81
|
+
## 注意事項
|
|
82
|
+
|
|
83
|
+
- Node.js/npm のテスト環境が設定済みであること(前提条件)
|
|
84
|
+
- TDD の三原則を厳密に守る。テストなしでプロダクションコードを書かない
|
|
85
|
+
- コミット前に必ず品質チェックリストを実行する
|
|
86
|
+
- 作業完了後に対象の @docs/development/iteration_plan-N.md の進捗を更新する
|
|
87
|
+
- コンポーネントは単一責任の原則に従い小さく保つ。TODO 駆動で分割し、Rule of Three でリファクタリングする
|
|
88
|
+
|
|
89
|
+
## 関連スキル
|
|
90
|
+
|
|
91
|
+
- `developing-backend` — バックエンド TDD 開発
|
|
92
|
+
- `orchestrating-development` — 開発フェーズ全体のワークフロー
|
|
93
|
+
- `git-commit` — Conventional Commits 準拠のコミット
|
|
@@ -1,120 +1,120 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: developing-release
|
|
3
|
-
description: アプリケーションのリリースワークフローを一貫実行。品質ゲート→バージョンバンプ→CHANGELOG 生成→git commit + tag を自動化する。「リリースしたい」「バージョンを上げたい」「CHANGELOG を生成したい」「リリース前のチェックをしたい」といった場面で発動する。リリース手順を標準化することで、ヒューマンエラーを排除し、いつでも安全にリリースできる状態を維持する。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# リリースワークフロー
|
|
7
|
-
|
|
8
|
-
品質ゲート→バージョンバンプ→CHANGELOG 生成→git commit + tag を一貫して実行する。
|
|
9
|
-
|
|
10
|
-
リリースを自動化する価値は「いつでもリリースできる」状態を維持すること。手作業によるミスを排除し、品質ゲートで最低品質を保証する。
|
|
11
|
-
|
|
12
|
-
## 参照ドキュメント
|
|
13
|
-
|
|
14
|
-
- @docs/reference/リリースガイド.md — リリースワークフロー全体
|
|
15
|
-
|
|
16
|
-
## オプション
|
|
17
|
-
|
|
18
|
-
| オプション | 説明 |
|
|
19
|
-
|-----------|------|
|
|
20
|
-
| なし | ドライランを実行(デフォルト) |
|
|
21
|
-
| `--dry-run` | CHANGELOG プレビュー + バージョン計算 |
|
|
22
|
-
| `--patch` | パッチリリース(バグ修正) |
|
|
23
|
-
| `--minor` | マイナーリリース(新機能追加、後方互換あり) |
|
|
24
|
-
| `--major` | メジャーリリース(破壊的変更) |
|
|
25
|
-
| `--preflight` | 品質ゲートのみ実行 |
|
|
26
|
-
| `--deploy` | リリース + デプロイ(`--patch` / `--minor` / `--major` と併用) |
|
|
27
|
-
|
|
28
|
-
## リリースフロー
|
|
29
|
-
|
|
30
|
-
1. **ドライラン**: CHANGELOG プレビューとバージョン計算を確認する
|
|
31
|
-
2. **リリース種別選択**: patch / minor / major を選択する
|
|
32
|
-
3. **品質ゲート(preflight)**: 全チェックを通過する
|
|
33
|
-
4. **リリース実行**: バージョンバンプ→CHANGELOG 生成→commit + tag
|
|
34
|
-
5. **リモートプッシュ**: コミットとタグをプッシュする
|
|
35
|
-
6. **プルリクエスト作成**: リリースブランチからメインブランチへの PR を作成し、CHANGELOG の差分をレビューする
|
|
36
|
-
7. **デプロイ**: 必要に応じて本番デプロイを実行する
|
|
37
|
-
|
|
38
|
-
## 品質ゲート(preflight)
|
|
39
|
-
|
|
40
|
-
リリース前に以下のチェックを直列実行する。全チェック通過が必須。
|
|
41
|
-
|
|
42
|
-
| チェック | コマンド | 内容 |
|
|
43
|
-
| :--- | :--- | :--- |
|
|
44
|
-
| working tree クリーン | `release:preflight:clean` | 未コミット変更がないこと |
|
|
45
|
-
| 静的解析 | `release:preflight:lint` | lint エラーがないこと |
|
|
46
|
-
| ユニットテスト | `release:preflight:test` | 全テストパス |
|
|
47
|
-
| ビルド確認 | `release:preflight:build` | ビルド成功 |
|
|
48
|
-
| E2E テスト | `release:preflight:e2e` | E2E テスト全パス |
|
|
49
|
-
|
|
50
|
-
## バージョニング規則
|
|
51
|
-
|
|
52
|
-
[Semantic Versioning](https://semver.org/) に従う。
|
|
53
|
-
|
|
54
|
-
| 種類 | 変更例 | バージョン変化 |
|
|
55
|
-
| :--- | :--- | :--- |
|
|
56
|
-
| `patch` | バグ修正、軽微な改善 | `0.1.0` → `0.1.1` |
|
|
57
|
-
| `minor` | 新機能追加(後方互換あり) | `0.1.0` → `0.2.0` |
|
|
58
|
-
| `major` | 破壊的変更 | `0.1.0` → `1.0.0` |
|
|
59
|
-
|
|
60
|
-
モノレポ構成の場合、全パッケージのバージョンを同期管理する。
|
|
61
|
-
|
|
62
|
-
## CHANGELOG 生成ルール
|
|
63
|
-
|
|
64
|
-
[Conventional Commits](https://www.conventionalcommits.org/) に基づいて自動生成する。
|
|
65
|
-
|
|
66
|
-
| prefix | カテゴリ |
|
|
67
|
-
| :--- | :--- |
|
|
68
|
-
| `feat` | Features |
|
|
69
|
-
| `fix` | Bug Fixes |
|
|
70
|
-
| `docs` | Documentation |
|
|
71
|
-
| `refactor` | Refactoring |
|
|
72
|
-
| `test` | Tests |
|
|
73
|
-
| `chore` / `perf` / `ci` / `style` / `build` | その他 |
|
|
74
|
-
|
|
75
|
-
直近の git tag から HEAD までのコミットを対象とする。タグが存在しない場合は全コミット履歴を対象とする。
|
|
76
|
-
|
|
77
|
-
## リリース実行ステップ
|
|
78
|
-
|
|
79
|
-
| ステップ | 内容 |
|
|
80
|
-
| :--- | :--- |
|
|
81
|
-
| [1/4] バージョン更新 | セマンティックバージョニングに従って更新 |
|
|
82
|
-
| [2/4] CHANGELOG 生成 | コミットを分類し CHANGELOG.md を生成 |
|
|
83
|
-
| [3/4] git commit + tag | `release: vX.X.X` でコミット→`vX.X.X` タグ作成 |
|
|
84
|
-
| [4/4] サマリー表示 | バージョン変化、タグ名、次のステップを表示 |
|
|
85
|
-
|
|
86
|
-
## 途中から再開
|
|
87
|
-
|
|
88
|
-
リリース作業の途中から再開する場合は、現在の状態を確認する。
|
|
89
|
-
|
|
90
|
-
**Example:**
|
|
91
|
-
|
|
92
|
-
```
|
|
93
|
-
ユーザー: 「品質ゲートは通った。リリースを実行したい」
|
|
94
|
-
回答: --preflight の結果を確認し、全チェック通過を検証する。
|
|
95
|
-
--patch / --minor / --major のいずれかでリリースを実行する。
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
## トラブルシューティング
|
|
99
|
-
|
|
100
|
-
- **working tree がクリーンでない**: 変更をコミットまたは `git stash` してからリリース再実行する
|
|
101
|
-
- **テスト失敗**: テストを修正してからリリースを再実行する
|
|
102
|
-
- **リリースを元に戻したい**: リモートプッシュ前なら `git tag -d vX.X.X && git reset --hard HEAD~1`
|
|
103
|
-
|
|
104
|
-
## コンテキスト管理
|
|
105
|
-
|
|
106
|
-
品質ゲート完了後、CHANGELOG 生成後、リリースコミット完了後に `/compact` を実施する。
|
|
107
|
-
|
|
108
|
-
## 注意事項
|
|
109
|
-
|
|
110
|
-
- ビルドツール・パッケージマネージャーがセットアップ済み、依存関係インストール済みであること(前提条件)
|
|
111
|
-
- working tree がクリーンでないとリリース不可
|
|
112
|
-
- リリース前に必ずドライランで内容を確認する
|
|
113
|
-
- Conventional Commits でコミットメッセージを記述し CHANGELOG の品質を確保する
|
|
114
|
-
|
|
115
|
-
## 関連スキル
|
|
116
|
-
|
|
117
|
-
- `git-commit` — Conventional Commits 準拠のコミット作成
|
|
118
|
-
- `managing-operations` — デプロイ・運用管理
|
|
119
|
-
- `planning-releases` — リリース・イテレーション計画
|
|
120
|
-
- `orchestrating-development` — 開発フェーズ全体のワークフロー
|
|
1
|
+
---
|
|
2
|
+
name: developing-release
|
|
3
|
+
description: アプリケーションのリリースワークフローを一貫実行。品質ゲート→バージョンバンプ→CHANGELOG 生成→git commit + tag を自動化する。「リリースしたい」「バージョンを上げたい」「CHANGELOG を生成したい」「リリース前のチェックをしたい」といった場面で発動する。リリース手順を標準化することで、ヒューマンエラーを排除し、いつでも安全にリリースできる状態を維持する。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# リリースワークフロー
|
|
7
|
+
|
|
8
|
+
品質ゲート→バージョンバンプ→CHANGELOG 生成→git commit + tag を一貫して実行する。
|
|
9
|
+
|
|
10
|
+
リリースを自動化する価値は「いつでもリリースできる」状態を維持すること。手作業によるミスを排除し、品質ゲートで最低品質を保証する。
|
|
11
|
+
|
|
12
|
+
## 参照ドキュメント
|
|
13
|
+
|
|
14
|
+
- @docs/reference/リリースガイド.md — リリースワークフロー全体
|
|
15
|
+
|
|
16
|
+
## オプション
|
|
17
|
+
|
|
18
|
+
| オプション | 説明 |
|
|
19
|
+
|-----------|------|
|
|
20
|
+
| なし | ドライランを実行(デフォルト) |
|
|
21
|
+
| `--dry-run` | CHANGELOG プレビュー + バージョン計算 |
|
|
22
|
+
| `--patch` | パッチリリース(バグ修正) |
|
|
23
|
+
| `--minor` | マイナーリリース(新機能追加、後方互換あり) |
|
|
24
|
+
| `--major` | メジャーリリース(破壊的変更) |
|
|
25
|
+
| `--preflight` | 品質ゲートのみ実行 |
|
|
26
|
+
| `--deploy` | リリース + デプロイ(`--patch` / `--minor` / `--major` と併用) |
|
|
27
|
+
|
|
28
|
+
## リリースフロー
|
|
29
|
+
|
|
30
|
+
1. **ドライラン**: CHANGELOG プレビューとバージョン計算を確認する
|
|
31
|
+
2. **リリース種別選択**: patch / minor / major を選択する
|
|
32
|
+
3. **品質ゲート(preflight)**: 全チェックを通過する
|
|
33
|
+
4. **リリース実行**: バージョンバンプ→CHANGELOG 生成→commit + tag
|
|
34
|
+
5. **リモートプッシュ**: コミットとタグをプッシュする
|
|
35
|
+
6. **プルリクエスト作成**: リリースブランチからメインブランチへの PR を作成し、CHANGELOG の差分をレビューする
|
|
36
|
+
7. **デプロイ**: 必要に応じて本番デプロイを実行する
|
|
37
|
+
|
|
38
|
+
## 品質ゲート(preflight)
|
|
39
|
+
|
|
40
|
+
リリース前に以下のチェックを直列実行する。全チェック通過が必須。
|
|
41
|
+
|
|
42
|
+
| チェック | コマンド | 内容 |
|
|
43
|
+
| :--- | :--- | :--- |
|
|
44
|
+
| working tree クリーン | `release:preflight:clean` | 未コミット変更がないこと |
|
|
45
|
+
| 静的解析 | `release:preflight:lint` | lint エラーがないこと |
|
|
46
|
+
| ユニットテスト | `release:preflight:test` | 全テストパス |
|
|
47
|
+
| ビルド確認 | `release:preflight:build` | ビルド成功 |
|
|
48
|
+
| E2E テスト | `release:preflight:e2e` | E2E テスト全パス |
|
|
49
|
+
|
|
50
|
+
## バージョニング規則
|
|
51
|
+
|
|
52
|
+
[Semantic Versioning](https://semver.org/) に従う。
|
|
53
|
+
|
|
54
|
+
| 種類 | 変更例 | バージョン変化 |
|
|
55
|
+
| :--- | :--- | :--- |
|
|
56
|
+
| `patch` | バグ修正、軽微な改善 | `0.1.0` → `0.1.1` |
|
|
57
|
+
| `minor` | 新機能追加(後方互換あり) | `0.1.0` → `0.2.0` |
|
|
58
|
+
| `major` | 破壊的変更 | `0.1.0` → `1.0.0` |
|
|
59
|
+
|
|
60
|
+
モノレポ構成の場合、全パッケージのバージョンを同期管理する。
|
|
61
|
+
|
|
62
|
+
## CHANGELOG 生成ルール
|
|
63
|
+
|
|
64
|
+
[Conventional Commits](https://www.conventionalcommits.org/) に基づいて自動生成する。
|
|
65
|
+
|
|
66
|
+
| prefix | カテゴリ |
|
|
67
|
+
| :--- | :--- |
|
|
68
|
+
| `feat` | Features |
|
|
69
|
+
| `fix` | Bug Fixes |
|
|
70
|
+
| `docs` | Documentation |
|
|
71
|
+
| `refactor` | Refactoring |
|
|
72
|
+
| `test` | Tests |
|
|
73
|
+
| `chore` / `perf` / `ci` / `style` / `build` | その他 |
|
|
74
|
+
|
|
75
|
+
直近の git tag から HEAD までのコミットを対象とする。タグが存在しない場合は全コミット履歴を対象とする。
|
|
76
|
+
|
|
77
|
+
## リリース実行ステップ
|
|
78
|
+
|
|
79
|
+
| ステップ | 内容 |
|
|
80
|
+
| :--- | :--- |
|
|
81
|
+
| [1/4] バージョン更新 | セマンティックバージョニングに従って更新 |
|
|
82
|
+
| [2/4] CHANGELOG 生成 | コミットを分類し CHANGELOG.md を生成 |
|
|
83
|
+
| [3/4] git commit + tag | `release: vX.X.X` でコミット→`vX.X.X` タグ作成 |
|
|
84
|
+
| [4/4] サマリー表示 | バージョン変化、タグ名、次のステップを表示 |
|
|
85
|
+
|
|
86
|
+
## 途中から再開
|
|
87
|
+
|
|
88
|
+
リリース作業の途中から再開する場合は、現在の状態を確認する。
|
|
89
|
+
|
|
90
|
+
**Example:**
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
ユーザー: 「品質ゲートは通った。リリースを実行したい」
|
|
94
|
+
回答: --preflight の結果を確認し、全チェック通過を検証する。
|
|
95
|
+
--patch / --minor / --major のいずれかでリリースを実行する。
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
## トラブルシューティング
|
|
99
|
+
|
|
100
|
+
- **working tree がクリーンでない**: 変更をコミットまたは `git stash` してからリリース再実行する
|
|
101
|
+
- **テスト失敗**: テストを修正してからリリースを再実行する
|
|
102
|
+
- **リリースを元に戻したい**: リモートプッシュ前なら `git tag -d vX.X.X && git reset --hard HEAD~1`
|
|
103
|
+
|
|
104
|
+
## コンテキスト管理
|
|
105
|
+
|
|
106
|
+
品質ゲート完了後、CHANGELOG 生成後、リリースコミット完了後に `/compact` を実施する。
|
|
107
|
+
|
|
108
|
+
## 注意事項
|
|
109
|
+
|
|
110
|
+
- ビルドツール・パッケージマネージャーがセットアップ済み、依存関係インストール済みであること(前提条件)
|
|
111
|
+
- working tree がクリーンでないとリリース不可
|
|
112
|
+
- リリース前に必ずドライランで内容を確認する
|
|
113
|
+
- Conventional Commits でコミットメッセージを記述し CHANGELOG の品質を確保する
|
|
114
|
+
|
|
115
|
+
## 関連スキル
|
|
116
|
+
|
|
117
|
+
- `git-commit` — Conventional Commits 準拠のコミット作成
|
|
118
|
+
- `managing-operations` — デプロイ・運用管理
|
|
119
|
+
- `planning-releases` — リリース・イテレーション計画
|
|
120
|
+
- `orchestrating-development` — 開発フェーズ全体のワークフロー
|
|
@@ -1,94 +1,94 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: generating-slides
|
|
3
|
-
description: インセプションデッキの Markdown から PowerPoint スライド(.pptx)を自動生成。pptxgenjs を使用し、テンプレート準拠の 12 枚構成プレゼンテーションを出力する。「スライドを生成したい」「インセプションデッキの pptx を作りたい」「プレゼン資料を出力したい」「スライドを更新したい」といった場面で発動する。Markdown から自動生成することで、内容更新のたびに手動でスライドを作り直す手間を排除する。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# スライド生成
|
|
7
|
-
|
|
8
|
-
インセプションデッキの Markdown ドキュメントから pptxgenjs を使用して PowerPoint スライド(.pptx)を生成する。テンプレートのスライド構成・テーマに準拠した 12 枚構成のプレゼンテーションを出力する。
|
|
9
|
-
|
|
10
|
-
## 参照ドキュメントと成果物
|
|
11
|
-
|
|
12
|
-
| 種類 | パス | 備考 |
|
|
13
|
-
|------|------|------|
|
|
14
|
-
| テンプレート | @docs/template/インセプションデッキ.pptx | スライド構成のリファレンス(15 枚、4:3) |
|
|
15
|
-
| 生成スクリプト | @.claude/scripts/generate-inception-deck.mjs | 内容の編集は可能 |
|
|
16
|
-
| 入力 | @docs/strategy/inception-deck.md | `analyzing-inception-deck` の成果物 |
|
|
17
|
-
| 入力(補足) | @docs/strategy/business_architecture.md | ビジネスアーキテクチャ分析書 |
|
|
18
|
-
| 成果物 | `docs/strategy/slide/xxxxx_v0.1.0.pptx` | 生成された PowerPoint スライド |
|
|
19
|
-
|
|
20
|
-
## スライド構成(12 枚)
|
|
21
|
-
|
|
22
|
-
| # | スライドタイトル | SLIDE_DATA キー | データソース |
|
|
23
|
-
| :--- | :--- | :--- | :--- |
|
|
24
|
-
| 1 | タイトル | `titleSlide` | プロジェクト基本情報 |
|
|
25
|
-
| 2 | 我われはなぜここにいるのか | `whyAreWeHere` | なぜやるのか? |
|
|
26
|
-
| 3 | エレベーターピッチ | `elevatorPitch` | どんなビジョンなのか? |
|
|
27
|
-
| 4 | どんな価値をもたらすのか? | `values` | どんな価値をもたらすのか? |
|
|
28
|
-
| 5 | やらないことリスト | `scope` | スコープの範囲はどこか? |
|
|
29
|
-
| 6 | プロジェクトコミュニティ | `stakeholders` | 主なステークホルダーは? |
|
|
30
|
-
| 7 | 技術的な解決策の概要 | `technicalSolution` | 基本的な解決策 |
|
|
31
|
-
| 8 | 夜も眠れなくなるような問題 | `risks` | 主なリスクは何か? |
|
|
32
|
-
| 9 | 俺たちの "A チーム" | `team` | どのくらい作業があり費用はいくらか? |
|
|
33
|
-
| 10 | 期間を見極める | `timeline` | 初回リリースはいつか? |
|
|
34
|
-
| 11 | トレードオフ・スライダー | `tradeoffs` | トレードオフにどう向き合うか? |
|
|
35
|
-
| 12 | 初回のリリースに必要なもの | `initialRelease` | MVP スコープ・リリース戦略 |
|
|
36
|
-
|
|
37
|
-
## テーマ設定
|
|
38
|
-
|
|
39
|
-
テンプレートから抽出したテーマに準拠する。
|
|
40
|
-
|
|
41
|
-
- **フォント**: Yu Gothic(游ゴシック)— Windows / Mac 両対応
|
|
42
|
-
- **テーマカラー**: ダークブルー `#333399`、ティール `#009999`、ライトティール `#BBE0E3`
|
|
43
|
-
- **スライドサイズ**: 4:3(10" x 7.5")
|
|
44
|
-
|
|
45
|
-
## 生成の進め方
|
|
46
|
-
|
|
47
|
-
### 新規生成
|
|
48
|
-
|
|
49
|
-
1. `npm install pptxgenjs`(初回のみ)
|
|
50
|
-
2. `docs/strategy/inception-deck.md` の内容を確認する
|
|
51
|
-
3. `.claude/scripts/generate-inception-deck.mjs` の `SLIDE_DATA` をプロジェクト固有の内容に書き換える
|
|
52
|
-
4. `node .claude/scripts/generate-inception-deck.mjs` を実行する
|
|
53
|
-
5. `docs/strategy/slide/` に .pptx が生成されたことを確認する
|
|
54
|
-
|
|
55
|
-
### 更新時の再生成
|
|
56
|
-
|
|
57
|
-
1. `docs/strategy/inception-deck.md` の更新内容を確認する
|
|
58
|
-
2. `.claude/scripts/generate-inception-deck.mjs` の `SLIDE_DATA` を更新する
|
|
59
|
-
3. `node .claude/scripts/generate-inception-deck.mjs` を実行する
|
|
60
|
-
|
|
61
|
-
## スクリプト構成
|
|
62
|
-
|
|
63
|
-
| セクション | 内容 | 編集対象 |
|
|
64
|
-
| :--- | :--- | :--- |
|
|
65
|
-
| `SLIDE_DATA` | プロジェクト固有のデータ(テキスト・数値) | 毎回更新 |
|
|
66
|
-
| テーマ設定 | カラー・フォント定義 | 通常変更不要 |
|
|
67
|
-
| ヘルパー関数 | スライド部品の描画ロジック | 通常変更不要 |
|
|
68
|
-
| スライド生成 | `SLIDE_DATA` を読み取り 12 枚を生成 | 通常変更不要 |
|
|
69
|
-
|
|
70
|
-
## 途中から再開
|
|
71
|
-
|
|
72
|
-
スライドの一部を修正したい場合は、`SLIDE_DATA` の該当キーのみを更新して再生成する。
|
|
73
|
-
|
|
74
|
-
**Example:**
|
|
75
|
-
|
|
76
|
-
```
|
|
77
|
-
ユーザー: 「エレベーターピッチの内容が変わった。スライドを更新したい」
|
|
78
|
-
回答: inception-deck.md の更新内容を確認し、
|
|
79
|
-
SLIDE_DATA.elevatorPitch のみを更新して再生成する。
|
|
80
|
-
出力ファイル名の meta.outputFileName のバージョンも更新する。
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
## 注意事項
|
|
84
|
-
|
|
85
|
-
- `docs/strategy/inception-deck.md` が作成済みであること(`analyzing-inception-deck` を先に実行する)
|
|
86
|
-
- テンプレート `docs/template/インセプションデッキ.pptx` は編集しない
|
|
87
|
-
- 日本語フォントは Yu Gothic を使用する(Gill Sans 等の欧文フォントは文字化けする)
|
|
88
|
-
- 出力ファイル名は `SLIDE_DATA.meta.outputFileName` で指定する。`meta.title` と同時に更新する
|
|
89
|
-
- 生成後は PowerPoint で開いてレイアウトを目視確認し、必要に応じてスクリプトのレイアウトパラメータを微調整する
|
|
90
|
-
|
|
91
|
-
## 関連スキル
|
|
92
|
-
|
|
93
|
-
- `analyzing-inception-deck` — 入力となるインセプションデッキの作成
|
|
94
|
-
- `analyzing-business` — ビジネスアーキテクチャ分析(補足情報の参照元)
|
|
1
|
+
---
|
|
2
|
+
name: generating-slides
|
|
3
|
+
description: インセプションデッキの Markdown から PowerPoint スライド(.pptx)を自動生成。pptxgenjs を使用し、テンプレート準拠の 12 枚構成プレゼンテーションを出力する。「スライドを生成したい」「インセプションデッキの pptx を作りたい」「プレゼン資料を出力したい」「スライドを更新したい」といった場面で発動する。Markdown から自動生成することで、内容更新のたびに手動でスライドを作り直す手間を排除する。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# スライド生成
|
|
7
|
+
|
|
8
|
+
インセプションデッキの Markdown ドキュメントから pptxgenjs を使用して PowerPoint スライド(.pptx)を生成する。テンプレートのスライド構成・テーマに準拠した 12 枚構成のプレゼンテーションを出力する。
|
|
9
|
+
|
|
10
|
+
## 参照ドキュメントと成果物
|
|
11
|
+
|
|
12
|
+
| 種類 | パス | 備考 |
|
|
13
|
+
|------|------|------|
|
|
14
|
+
| テンプレート | @docs/template/インセプションデッキ.pptx | スライド構成のリファレンス(15 枚、4:3) |
|
|
15
|
+
| 生成スクリプト | @.claude/scripts/generate-inception-deck.mjs | 内容の編集は可能 |
|
|
16
|
+
| 入力 | @docs/strategy/inception-deck.md | `analyzing-inception-deck` の成果物 |
|
|
17
|
+
| 入力(補足) | @docs/strategy/business_architecture.md | ビジネスアーキテクチャ分析書 |
|
|
18
|
+
| 成果物 | `docs/strategy/slide/xxxxx_v0.1.0.pptx` | 生成された PowerPoint スライド |
|
|
19
|
+
|
|
20
|
+
## スライド構成(12 枚)
|
|
21
|
+
|
|
22
|
+
| # | スライドタイトル | SLIDE_DATA キー | データソース |
|
|
23
|
+
| :--- | :--- | :--- | :--- |
|
|
24
|
+
| 1 | タイトル | `titleSlide` | プロジェクト基本情報 |
|
|
25
|
+
| 2 | 我われはなぜここにいるのか | `whyAreWeHere` | なぜやるのか? |
|
|
26
|
+
| 3 | エレベーターピッチ | `elevatorPitch` | どんなビジョンなのか? |
|
|
27
|
+
| 4 | どんな価値をもたらすのか? | `values` | どんな価値をもたらすのか? |
|
|
28
|
+
| 5 | やらないことリスト | `scope` | スコープの範囲はどこか? |
|
|
29
|
+
| 6 | プロジェクトコミュニティ | `stakeholders` | 主なステークホルダーは? |
|
|
30
|
+
| 7 | 技術的な解決策の概要 | `technicalSolution` | 基本的な解決策 |
|
|
31
|
+
| 8 | 夜も眠れなくなるような問題 | `risks` | 主なリスクは何か? |
|
|
32
|
+
| 9 | 俺たちの "A チーム" | `team` | どのくらい作業があり費用はいくらか? |
|
|
33
|
+
| 10 | 期間を見極める | `timeline` | 初回リリースはいつか? |
|
|
34
|
+
| 11 | トレードオフ・スライダー | `tradeoffs` | トレードオフにどう向き合うか? |
|
|
35
|
+
| 12 | 初回のリリースに必要なもの | `initialRelease` | MVP スコープ・リリース戦略 |
|
|
36
|
+
|
|
37
|
+
## テーマ設定
|
|
38
|
+
|
|
39
|
+
テンプレートから抽出したテーマに準拠する。
|
|
40
|
+
|
|
41
|
+
- **フォント**: Yu Gothic(游ゴシック)— Windows / Mac 両対応
|
|
42
|
+
- **テーマカラー**: ダークブルー `#333399`、ティール `#009999`、ライトティール `#BBE0E3`
|
|
43
|
+
- **スライドサイズ**: 4:3(10" x 7.5")
|
|
44
|
+
|
|
45
|
+
## 生成の進め方
|
|
46
|
+
|
|
47
|
+
### 新規生成
|
|
48
|
+
|
|
49
|
+
1. `npm install pptxgenjs`(初回のみ)
|
|
50
|
+
2. `docs/strategy/inception-deck.md` の内容を確認する
|
|
51
|
+
3. `.claude/scripts/generate-inception-deck.mjs` の `SLIDE_DATA` をプロジェクト固有の内容に書き換える
|
|
52
|
+
4. `node .claude/scripts/generate-inception-deck.mjs` を実行する
|
|
53
|
+
5. `docs/strategy/slide/` に .pptx が生成されたことを確認する
|
|
54
|
+
|
|
55
|
+
### 更新時の再生成
|
|
56
|
+
|
|
57
|
+
1. `docs/strategy/inception-deck.md` の更新内容を確認する
|
|
58
|
+
2. `.claude/scripts/generate-inception-deck.mjs` の `SLIDE_DATA` を更新する
|
|
59
|
+
3. `node .claude/scripts/generate-inception-deck.mjs` を実行する
|
|
60
|
+
|
|
61
|
+
## スクリプト構成
|
|
62
|
+
|
|
63
|
+
| セクション | 内容 | 編集対象 |
|
|
64
|
+
| :--- | :--- | :--- |
|
|
65
|
+
| `SLIDE_DATA` | プロジェクト固有のデータ(テキスト・数値) | 毎回更新 |
|
|
66
|
+
| テーマ設定 | カラー・フォント定義 | 通常変更不要 |
|
|
67
|
+
| ヘルパー関数 | スライド部品の描画ロジック | 通常変更不要 |
|
|
68
|
+
| スライド生成 | `SLIDE_DATA` を読み取り 12 枚を生成 | 通常変更不要 |
|
|
69
|
+
|
|
70
|
+
## 途中から再開
|
|
71
|
+
|
|
72
|
+
スライドの一部を修正したい場合は、`SLIDE_DATA` の該当キーのみを更新して再生成する。
|
|
73
|
+
|
|
74
|
+
**Example:**
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
ユーザー: 「エレベーターピッチの内容が変わった。スライドを更新したい」
|
|
78
|
+
回答: inception-deck.md の更新内容を確認し、
|
|
79
|
+
SLIDE_DATA.elevatorPitch のみを更新して再生成する。
|
|
80
|
+
出力ファイル名の meta.outputFileName のバージョンも更新する。
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## 注意事項
|
|
84
|
+
|
|
85
|
+
- `docs/strategy/inception-deck.md` が作成済みであること(`analyzing-inception-deck` を先に実行する)
|
|
86
|
+
- テンプレート `docs/template/インセプションデッキ.pptx` は編集しない
|
|
87
|
+
- 日本語フォントは Yu Gothic を使用する(Gill Sans 等の欧文フォントは文字化けする)
|
|
88
|
+
- 出力ファイル名は `SLIDE_DATA.meta.outputFileName` で指定する。`meta.title` と同時に更新する
|
|
89
|
+
- 生成後は PowerPoint で開いてレイアウトを目視確認し、必要に応じてスクリプトのレイアウトパラメータを微調整する
|
|
90
|
+
|
|
91
|
+
## 関連スキル
|
|
92
|
+
|
|
93
|
+
- `analyzing-inception-deck` — 入力となるインセプションデッキの作成
|
|
94
|
+
- `analyzing-business` — ビジネスアーキテクチャ分析(補足情報の参照元)
|