@k2works/claude-code-booster 4.7.0 → 4.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +42 -42
- package/bin/claude-code-booster +90 -90
- package/lib/assets/.claude/README.md +271 -269
- package/lib/assets/.claude/agents/xp-architect.md +250 -250
- package/lib/assets/.claude/agents/xp-executive.md +207 -207
- package/lib/assets/.claude/agents/xp-interaction-designer.md +239 -239
- package/lib/assets/.claude/agents/xp-product-manager.md +245 -245
- package/lib/assets/.claude/agents/xp-programmer.md +268 -268
- package/lib/assets/.claude/agents/xp-project-manager.md +229 -229
- package/lib/assets/.claude/agents/xp-technical-writer.md +224 -224
- package/lib/assets/.claude/agents/xp-tester.md +265 -265
- package/lib/assets/.claude/agents/xp-user-representative.md +204 -204
- package/lib/assets/.claude/scripts/generate-inception-deck.mjs +911 -911
- package/lib/assets/.claude/settings.json +11 -11
- package/lib/assets/.claude/skills/ai-agent-guidelines/SKILL.md +111 -111
- package/lib/assets/.claude/skills/analyzing-architecture/SKILL.md +83 -83
- package/lib/assets/.claude/skills/analyzing-business-architecture/SKILL.md +122 -122
- package/lib/assets/.claude/skills/analyzing-business-case/SKILL.md +148 -148
- package/lib/assets/.claude/skills/analyzing-business-strategy/SKILL.md +277 -277
- package/lib/assets/.claude/skills/analyzing-data-model/SKILL.md +77 -77
- package/lib/assets/.claude/skills/analyzing-domain-model/SKILL.md +117 -117
- package/lib/assets/.claude/skills/analyzing-inception-deck/SKILL.md +84 -84
- package/lib/assets/.claude/skills/analyzing-non-functional/SKILL.md +95 -95
- package/lib/assets/.claude/skills/analyzing-operation/SKILL.md +95 -95
- package/lib/assets/.claude/skills/analyzing-requirements/SKILL.md +91 -91
- package/lib/assets/.claude/skills/analyzing-review/SKILL.md +174 -174
- package/lib/assets/.claude/skills/analyzing-tech-stack/SKILL.md +101 -101
- package/lib/assets/.claude/skills/analyzing-test-strategy/SKILL.md +89 -89
- package/lib/assets/.claude/skills/analyzing-ui-design/SKILL.md +80 -80
- package/lib/assets/.claude/skills/analyzing-usecases/SKILL.md +72 -72
- package/lib/assets/.claude/skills/creating-adr/SKILL.md +113 -113
- package/lib/assets/.claude/skills/creating-iteration-report/SKILL.md +210 -210
- package/lib/assets/.claude/skills/creating-journal/SKILL.md +129 -0
- package/lib/assets/.claude/skills/creating-release-report/SKILL.md +161 -161
- package/lib/assets/.claude/skills/creating-slides/SKILL.md +86 -86
- package/lib/assets/.claude/skills/creating-slides/agents/openai.yaml +4 -4
- package/lib/assets/.claude/skills/creating-slides/references/manga-css.md +45 -45
- package/lib/assets/.claude/skills/creating-slides/scripts/slide_tools.py +239 -239
- package/lib/assets/.claude/skills/developing-backend/SKILL.md +100 -100
- package/lib/assets/.claude/skills/developing-frontend/SKILL.md +93 -93
- package/lib/assets/.claude/skills/developing-release/SKILL.md +120 -120
- package/lib/assets/.claude/skills/developing-review/SKILL.md +175 -175
- package/lib/assets/.claude/skills/developing-uiux-review/SKILL.md +207 -207
- package/lib/assets/.claude/skills/generating-bmc/SKILL.md +123 -123
- package/lib/assets/.claude/skills/generating-slides/SKILL.md +94 -94
- package/lib/assets/.claude/skills/git-commit/SKILL.md +81 -81
- package/lib/assets/.claude/skills/killing-processes/SKILL.md +44 -44
- package/lib/assets/.claude/skills/operating-backup/SKILL.md +59 -59
- package/lib/assets/.claude/skills/operating-cicd/SKILL.md +54 -54
- package/lib/assets/.claude/skills/operating-deploy/SKILL.md +67 -67
- package/lib/assets/.claude/skills/operating-docs/SKILL.md +219 -219
- package/lib/assets/.claude/skills/operating-provision/SKILL.md +77 -77
- package/lib/assets/.claude/skills/operating-qt/SKILL.md +147 -147
- package/lib/assets/.claude/skills/operating-review/SKILL.md +171 -171
- package/lib/assets/.claude/skills/operating-script/SKILL.md +145 -145
- package/lib/assets/.claude/skills/operating-setup/SKILL.md +63 -63
- package/lib/assets/.claude/skills/orchestrating-analysis/SKILL.md +104 -104
- package/lib/assets/.claude/skills/orchestrating-development/SKILL.md +168 -168
- package/lib/assets/.claude/skills/orchestrating-operation/SKILL.md +158 -158
- package/lib/assets/.claude/skills/orchestrating-project/SKILL.md +144 -144
- package/lib/assets/.claude/skills/planning-releases/SKILL.md +119 -119
- package/lib/assets/.claude/skills/practicing-getting-start-tdd/SKILL.md +266 -266
- package/lib/assets/.claude/skills/syncing-github-project/SKILL.md +151 -151
- package/lib/assets/.claude/skills/tracking-progress/SKILL.md +91 -91
- package/lib/assets/.claude/skills/validating-iteration-plan/SKILL.md +238 -238
- package/lib/assets/.devcontainer/devcontainer.json +37 -37
- package/lib/assets/.env.example +17 -17
- package/lib/assets/.gitattributes +4 -4
- package/lib/assets/.github/workflows/docker-publish.yml +77 -77
- package/lib/assets/.github/workflows/mkdocs.yml +39 -39
- package/lib/assets/AGENTS.md +94 -94
- package/lib/assets/CLAUDE.md +193 -193
- package/lib/assets/README.md +291 -291
- package/lib/assets/docker-compose.yml +33 -33
- package/lib/assets/docs/adr/index.md +10 -10
- package/lib/assets/docs/article/functional-desgin-ppp/all/01-immutability-and-data-transformation.md +475 -475
- package/lib/assets/docs/article/functional-desgin-ppp/all/02-function-composition.md +519 -519
- package/lib/assets/docs/article/functional-desgin-ppp/all/03-polymorphism.md +537 -537
- package/lib/assets/docs/article/functional-desgin-ppp/all/04-data-validation.md +300 -300
- package/lib/assets/docs/article/functional-desgin-ppp/all/05-property-based-testing.md +320 -320
- package/lib/assets/docs/article/functional-desgin-ppp/all/06-tdd-and-functional.md +498 -498
- package/lib/assets/docs/article/functional-desgin-ppp/all/07-composite-pattern.md +298 -298
- package/lib/assets/docs/article/functional-desgin-ppp/all/08-decorator-pattern.md +291 -291
- package/lib/assets/docs/article/functional-desgin-ppp/all/09-adapter-pattern.md +336 -336
- package/lib/assets/docs/article/functional-desgin-ppp/all/10-strategy-pattern.md +303 -303
- package/lib/assets/docs/article/functional-desgin-ppp/all/11-command-pattern.md +286 -286
- package/lib/assets/docs/article/functional-desgin-ppp/all/12-visitor-pattern.md +322 -322
- package/lib/assets/docs/article/functional-desgin-ppp/all/13-abstract-factory-pattern.md +319 -319
- package/lib/assets/docs/article/functional-desgin-ppp/all/14-abstract-server-pattern.md +365 -365
- package/lib/assets/docs/article/functional-desgin-ppp/all/15-gossiping-bus-drivers.md +156 -156
- package/lib/assets/docs/article/functional-desgin-ppp/all/16-payroll-system.md +178 -178
- package/lib/assets/docs/article/functional-desgin-ppp/all/17-video-rental-system.md +312 -312
- package/lib/assets/docs/article/functional-desgin-ppp/all/18-concurrency-system.md +287 -287
- package/lib/assets/docs/article/functional-desgin-ppp/all/19-wa-tor-simulation.md +286 -286
- package/lib/assets/docs/article/functional-desgin-ppp/all/20-pattern-interactions.md +274 -274
- package/lib/assets/docs/article/functional-desgin-ppp/all/21-best-practices.md +294 -294
- package/lib/assets/docs/article/functional-desgin-ppp/all/22-oo-to-fp-migration.md +337 -337
- package/lib/assets/docs/article/functional-desgin-ppp/all/index.md +388 -388
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/01-immutability-and-data-transformation.md +273 -273
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/02-function-composition.md +380 -380
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/03-polymorphism.md +384 -384
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/04-clojure-spec.md +350 -350
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/05-property-based-testing.md +352 -352
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/06-tdd-in-functional.md +383 -383
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/07-composite-pattern.md +529 -529
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/08-decorator-pattern.md +395 -395
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/09-adapter-pattern.md +399 -399
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/10-strategy-pattern.md +485 -485
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/11-command-pattern.md +566 -566
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/12-visitor-pattern.md +567 -567
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/13-abstract-factory-pattern.md +475 -475
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/14-abstract-server-pattern.md +462 -462
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/15-gossiping-bus-drivers.md +325 -325
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/16-payroll-system.md +401 -401
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/17-video-rental-system.md +450 -450
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/18-concurrency-system.md +475 -475
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/19-wator-simulation.md +739 -739
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/20-pattern-interactions.md +567 -567
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/21-best-practices.md +518 -518
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/22-oo-to-fp-migration.md +532 -532
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/index.md +241 -241
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/01-immutability-and-data-transformation.md +383 -383
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/02-function-composition.md +374 -374
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/03-polymorphism.md +375 -375
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/04-data-validation.md +195 -195
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/05-property-based-testing.md +268 -268
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/06-tdd-and-fp.md +294 -294
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/07-effects-and-pure-functions.md +164 -164
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/08-error-handling-strategies.md +168 -168
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/09-io-and-external-systems.md +254 -254
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/10-concurrency-patterns.md +269 -269
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/11-command-pattern.md +148 -148
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/12-visitor-pattern.md +176 -176
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/13-abstract-factory-pattern.md +604 -604
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/14-abstract-server-pattern.md +729 -729
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/15-gossiping-bus-drivers.md +291 -291
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/16-payroll-system.md +420 -420
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/17-video-rental-system.md +319 -319
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/18-concurrency-system.md +466 -466
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/19-wator-simulation.md +523 -523
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/20-pattern-interactions.md +287 -287
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/21-best-practices.md +340 -340
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/22-oo-to-fp-migration.md +395 -395
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/index.md +248 -248
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/01-immutability-and-data-transformation.md +384 -384
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/02-function-composition.md +452 -452
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/03-polymorphism.md +495 -495
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/04-data-validation.md +416 -416
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/05-property-based-testing.md +382 -382
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/06-tdd-functional.md +687 -687
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/07-composite-pattern.md +442 -442
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/08-decorator-pattern.md +479 -479
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/09-adapter-pattern.md +479 -479
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/10-strategy-pattern.md +427 -427
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/11-command-pattern.md +428 -428
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/12-visitor-pattern.md +339 -339
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/13-abstract-factory-pattern.md +309 -309
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/14-abstract-server-pattern.md +596 -596
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/15-gossiping-bus-drivers.md +355 -355
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/16-payroll-system.md +350 -350
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/17-video-rental-system.md +414 -414
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/18-concurrency-system.md +367 -367
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/19-wator-simulation.md +403 -403
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/20-pattern-interactions.md +291 -291
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/21-best-practices.md +324 -324
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/22-oo-to-fp-migration.md +332 -332
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/index.md +274 -274
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/01-immutability-and-data-transformation.md +298 -298
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/02-function-composition.md +304 -304
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/03-polymorphism.md +362 -362
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/04-data-validation.md +257 -257
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/05-property-based-testing.md +254 -254
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/06-tdd-functional.md +283 -283
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/07-composite-pattern.md +395 -395
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/08-decorator-pattern.md +319 -319
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/09-adapter-pattern.md +382 -382
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/10-strategy-pattern.md +287 -287
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/11-command-pattern.md +303 -303
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/12-visitor-pattern.md +326 -326
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/13-abstract-factory-pattern.md +332 -332
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/14-abstract-server-pattern.md +379 -379
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/15-gossiping-bus-drivers.md +177 -177
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/16-payroll-system.md +219 -219
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/17-video-rental-system.md +244 -244
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/18-concurrency-system.md +363 -363
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/19-wator-simulation.md +438 -438
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/20-pattern-interactions.md +325 -325
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/21-best-practices.md +403 -403
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/22-oo-to-fp-migration.md +469 -469
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/index.md +174 -174
- package/lib/assets/docs/article/functional-desgin-ppp/index.md +90 -90
- package/lib/assets/docs/article/functional-desgin-ppp/rust/01-immutability-and-data-transformation.md +450 -450
- package/lib/assets/docs/article/functional-desgin-ppp/rust/02-function-composition.md +463 -463
- package/lib/assets/docs/article/functional-desgin-ppp/rust/03-polymorphism.md +425 -425
- package/lib/assets/docs/article/functional-desgin-ppp/rust/04-data-validation.md +273 -273
- package/lib/assets/docs/article/functional-desgin-ppp/rust/05-property-based-testing.md +247 -247
- package/lib/assets/docs/article/functional-desgin-ppp/rust/06-tdd-and-functional.md +841 -841
- package/lib/assets/docs/article/functional-desgin-ppp/rust/07-composite-pattern.md +384 -384
- package/lib/assets/docs/article/functional-desgin-ppp/rust/08-decorator-pattern.md +383 -383
- package/lib/assets/docs/article/functional-desgin-ppp/rust/09-adapter-pattern.md +339 -339
- package/lib/assets/docs/article/functional-desgin-ppp/rust/10-strategy-pattern.md +331 -331
- package/lib/assets/docs/article/functional-desgin-ppp/rust/11-command-pattern.md +356 -356
- package/lib/assets/docs/article/functional-desgin-ppp/rust/12-visitor-pattern.md +379 -379
- package/lib/assets/docs/article/functional-desgin-ppp/rust/13-abstract-factory-pattern.md +361 -361
- package/lib/assets/docs/article/functional-desgin-ppp/rust/14-abstract-server-pattern.md +392 -392
- package/lib/assets/docs/article/functional-desgin-ppp/rust/15-gossiping-bus-drivers.md +300 -300
- package/lib/assets/docs/article/functional-desgin-ppp/rust/16-payroll-system.md +297 -297
- package/lib/assets/docs/article/functional-desgin-ppp/rust/17-video-rental-system.md +304 -304
- package/lib/assets/docs/article/functional-desgin-ppp/rust/18-concurrency-system.md +315 -315
- package/lib/assets/docs/article/functional-desgin-ppp/rust/19-wator-simulation.md +311 -311
- package/lib/assets/docs/article/functional-desgin-ppp/rust/20-pattern-interactions.md +304 -304
- package/lib/assets/docs/article/functional-desgin-ppp/rust/21-best-practices.md +336 -336
- package/lib/assets/docs/article/functional-desgin-ppp/rust/22-oo-to-fp-migration.md +349 -349
- package/lib/assets/docs/article/functional-desgin-ppp/rust/index.md +243 -243
- package/lib/assets/docs/article/functional-desgin-ppp/scala/01-immutability-and-data-transformation.md +328 -328
- package/lib/assets/docs/article/functional-desgin-ppp/scala/02-function-composition.md +348 -348
- package/lib/assets/docs/article/functional-desgin-ppp/scala/03-polymorphism.md +357 -357
- package/lib/assets/docs/article/functional-desgin-ppp/scala/04-data-validation.md +364 -364
- package/lib/assets/docs/article/functional-desgin-ppp/scala/05-property-based-testing.md +515 -515
- package/lib/assets/docs/article/functional-desgin-ppp/scala/06-tdd-functional.md +557 -557
- package/lib/assets/docs/article/functional-desgin-ppp/scala/07-composite-pattern.md +363 -363
- package/lib/assets/docs/article/functional-desgin-ppp/scala/08-decorator-pattern.md +327 -327
- package/lib/assets/docs/article/functional-desgin-ppp/scala/09-adapter-pattern.md +517 -517
- package/lib/assets/docs/article/functional-desgin-ppp/scala/10-strategy-pattern.md +441 -441
- package/lib/assets/docs/article/functional-desgin-ppp/scala/11-command-pattern.md +407 -407
- package/lib/assets/docs/article/functional-desgin-ppp/scala/12-visitor-pattern.md +379 -379
- package/lib/assets/docs/article/functional-desgin-ppp/scala/13-abstract-factory-pattern.md +398 -398
- package/lib/assets/docs/article/functional-desgin-ppp/scala/14-abstract-server-pattern.md +476 -476
- package/lib/assets/docs/article/functional-desgin-ppp/scala/15-gossiping-bus-drivers.md +391 -391
- package/lib/assets/docs/article/functional-desgin-ppp/scala/16-payroll-system.md +342 -342
- package/lib/assets/docs/article/functional-desgin-ppp/scala/17-video-rental-system.md +324 -324
- package/lib/assets/docs/article/functional-desgin-ppp/scala/18-concurrency-system.md +730 -730
- package/lib/assets/docs/article/functional-desgin-ppp/scala/19-wator-simulation.md +624 -624
- package/lib/assets/docs/article/functional-desgin-ppp/scala/20-pattern-interactions.md +512 -512
- package/lib/assets/docs/article/functional-desgin-ppp/scala/21-best-practices.md +433 -433
- package/lib/assets/docs/article/functional-desgin-ppp/scala/22-oo-to-fp-migration.md +688 -688
- package/lib/assets/docs/article/functional-desgin-ppp/scala/index.md +243 -243
- package/lib/assets/docs/article/getting-start-tdd/clojure/01-todo-list-and-first-test.md +166 -166
- package/lib/assets/docs/article/getting-start-tdd/clojure/02-fake-it-and-triangulation.md +162 -162
- package/lib/assets/docs/article/getting-start-tdd/clojure/03-obvious-implementation-and-refactoring.md +135 -135
- package/lib/assets/docs/article/getting-start-tdd/clojure/04-version-control-and-conventional-commits.md +88 -88
- package/lib/assets/docs/article/getting-start-tdd/clojure/05-package-management-and-static-analysis.md +299 -299
- package/lib/assets/docs/article/getting-start-tdd/clojure/06-task-runner-and-ci-cd.md +241 -241
- package/lib/assets/docs/article/getting-start-tdd/clojure/07-protocols-and-records.md +131 -131
- package/lib/assets/docs/article/getting-start-tdd/clojure/08-multimethods-and-design-patterns.md +130 -130
- package/lib/assets/docs/article/getting-start-tdd/clojure/09-namespaces-and-module-design.md +127 -127
- package/lib/assets/docs/article/getting-start-tdd/clojure/10-higher-order-functions-and-composition.md +114 -114
- package/lib/assets/docs/article/getting-start-tdd/clojure/11-persistent-data-and-pipeline.md +138 -138
- package/lib/assets/docs/article/getting-start-tdd/clojure/12-error-handling-and-spec.md +161 -161
- package/lib/assets/docs/article/getting-start-tdd/clojure/index.md +65 -65
- package/lib/assets/docs/article/getting-start-tdd/csharp/chapter01.md +232 -232
- package/lib/assets/docs/article/getting-start-tdd/csharp/chapter02.md +244 -244
- package/lib/assets/docs/article/getting-start-tdd/csharp/chapter03.md +202 -202
- package/lib/assets/docs/article/getting-start-tdd/csharp/chapter04.md +92 -92
- package/lib/assets/docs/article/getting-start-tdd/csharp/chapter05.md +256 -256
- package/lib/assets/docs/article/getting-start-tdd/csharp/chapter06.md +195 -195
- package/lib/assets/docs/article/getting-start-tdd/csharp/chapter07.md +214 -214
- package/lib/assets/docs/article/getting-start-tdd/csharp/chapter08.md +249 -249
- package/lib/assets/docs/article/getting-start-tdd/csharp/chapter09.md +174 -174
- package/lib/assets/docs/article/getting-start-tdd/csharp/chapter10.md +166 -166
- package/lib/assets/docs/article/getting-start-tdd/csharp/chapter11.md +192 -192
- package/lib/assets/docs/article/getting-start-tdd/csharp/chapter12.md +211 -211
- package/lib/assets/docs/article/getting-start-tdd/csharp/index.md +83 -83
- package/lib/assets/docs/article/getting-start-tdd/elixir/01-todo-list-and-first-test.md +87 -87
- package/lib/assets/docs/article/getting-start-tdd/elixir/02-fake-it-and-triangulation.md +95 -95
- package/lib/assets/docs/article/getting-start-tdd/elixir/03-obvious-implementation-and-refactoring.md +109 -109
- package/lib/assets/docs/article/getting-start-tdd/elixir/04-version-control-and-conventional-commits.md +96 -96
- package/lib/assets/docs/article/getting-start-tdd/elixir/05-package-management-and-static-analysis.md +88 -88
- package/lib/assets/docs/article/getting-start-tdd/elixir/06-task-runner-and-ci-cd.md +71 -71
- package/lib/assets/docs/article/getting-start-tdd/elixir/07-structs-and-protocols.md +110 -110
- package/lib/assets/docs/article/getting-start-tdd/elixir/08-pattern-matching-and-guards.md +108 -108
- package/lib/assets/docs/article/getting-start-tdd/elixir/09-module-design-and-behaviours.md +104 -104
- package/lib/assets/docs/article/getting-start-tdd/elixir/10-higher-order-functions-and-pipeline.md +178 -178
- package/lib/assets/docs/article/getting-start-tdd/elixir/11-stream-and-lazy-evaluation.md +142 -142
- package/lib/assets/docs/article/getting-start-tdd/elixir/12-error-handling-and-with.md +145 -145
- package/lib/assets/docs/article/getting-start-tdd/elixir/index.md +35 -35
- package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter01.md +202 -202
- package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter02.md +246 -246
- package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter03.md +218 -218
- package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter04.md +179 -179
- package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter05.md +267 -267
- package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter06.md +190 -190
- package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter07.md +161 -161
- package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter08.md +175 -175
- package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter09.md +222 -222
- package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter10.md +189 -189
- package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter11.md +212 -212
- package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter12.md +215 -215
- package/lib/assets/docs/article/getting-start-tdd/fsharp/index.md +71 -71
- package/lib/assets/docs/article/getting-start-tdd/go/01-todo-list-and-first-test.md +213 -213
- package/lib/assets/docs/article/getting-start-tdd/go/02-fake-it-and-triangulation.md +302 -302
- package/lib/assets/docs/article/getting-start-tdd/go/03-obvious-implementation-and-refactoring.md +339 -339
- package/lib/assets/docs/article/getting-start-tdd/go/04-version-control-and-conventional-commits.md +112 -112
- package/lib/assets/docs/article/getting-start-tdd/go/05-package-management-and-static-analysis.md +272 -272
- package/lib/assets/docs/article/getting-start-tdd/go/06-task-runner-and-ci-cd.md +233 -233
- package/lib/assets/docs/article/getting-start-tdd/go/07-encapsulation-and-polymorphism.md +394 -394
- package/lib/assets/docs/article/getting-start-tdd/go/08-design-patterns.md +422 -422
- package/lib/assets/docs/article/getting-start-tdd/go/09-solid-principles-and-module-design.md +400 -400
- package/lib/assets/docs/article/getting-start-tdd/go/10-higher-order-functions-and-composition.md +226 -226
- package/lib/assets/docs/article/getting-start-tdd/go/11-immutable-data-and-pipeline.md +296 -296
- package/lib/assets/docs/article/getting-start-tdd/go/12-error-handling-and-type-safety.md +411 -411
- package/lib/assets/docs/article/getting-start-tdd/go/index.md +83 -83
- package/lib/assets/docs/article/getting-start-tdd/haskell/01-todo-list-and-first-test.md +279 -279
- package/lib/assets/docs/article/getting-start-tdd/haskell/02-fake-it-and-triangulation.md +337 -337
- package/lib/assets/docs/article/getting-start-tdd/haskell/03-obvious-implementation-and-refactoring.md +257 -257
- package/lib/assets/docs/article/getting-start-tdd/haskell/04-version-control-and-conventional-commits.md +182 -182
- package/lib/assets/docs/article/getting-start-tdd/haskell/05-package-management-and-static-analysis.md +313 -313
- package/lib/assets/docs/article/getting-start-tdd/haskell/06-task-runner-and-ci-cd.md +309 -309
- package/lib/assets/docs/article/getting-start-tdd/haskell/07-algebraic-data-types-and-type-classes.md +412 -412
- package/lib/assets/docs/article/getting-start-tdd/haskell/08-pattern-matching-and-guards.md +390 -390
- package/lib/assets/docs/article/getting-start-tdd/haskell/09-module-design-and-smart-constructors.md +461 -461
- package/lib/assets/docs/article/getting-start-tdd/haskell/10-higher-order-functions-and-currying.md +434 -434
- package/lib/assets/docs/article/getting-start-tdd/haskell/11-function-composition-and-point-free.md +392 -392
- package/lib/assets/docs/article/getting-start-tdd/haskell/12-monad-and-error-handling.md +631 -631
- package/lib/assets/docs/article/getting-start-tdd/haskell/index.md +49 -49
- package/lib/assets/docs/article/getting-start-tdd/index.md +93 -93
- package/lib/assets/docs/article/getting-start-tdd/integration/01-language-overview.md +375 -375
- package/lib/assets/docs/article/getting-start-tdd/integration/02-test-framework-comparison.md +349 -349
- package/lib/assets/docs/article/getting-start-tdd/integration/03-tdd-pattern-comparison.md +445 -445
- package/lib/assets/docs/article/getting-start-tdd/integration/04-type-system-comparison.md +409 -409
- package/lib/assets/docs/article/getting-start-tdd/integration/05-dev-environment-comparison.md +330 -330
- package/lib/assets/docs/article/getting-start-tdd/integration/06-learning-roadmap.md +290 -290
- package/lib/assets/docs/article/getting-start-tdd/integration/index.md +69 -69
- package/lib/assets/docs/article/getting-start-tdd/java/01-todo-list-and-first-test.md +234 -234
- package/lib/assets/docs/article/getting-start-tdd/java/02-fake-it-and-triangulation.md +261 -261
- package/lib/assets/docs/article/getting-start-tdd/java/03-obvious-implementation-and-refactoring.md +185 -185
- package/lib/assets/docs/article/getting-start-tdd/java/04-version-control-and-conventional-commits.md +115 -115
- package/lib/assets/docs/article/getting-start-tdd/java/05-package-management-and-static-analysis.md +382 -382
- package/lib/assets/docs/article/getting-start-tdd/java/06-task-runner-and-ci-cd.md +272 -272
- package/lib/assets/docs/article/getting-start-tdd/java/07-encapsulation-and-polymorphism.md +626 -626
- package/lib/assets/docs/article/getting-start-tdd/java/08-design-patterns.md +393 -393
- package/lib/assets/docs/article/getting-start-tdd/java/09-solid-principles-and-module-design.md +310 -310
- package/lib/assets/docs/article/getting-start-tdd/java/10-higher-order-functions-and-composition.md +188 -188
- package/lib/assets/docs/article/getting-start-tdd/java/11-immutable-data-and-pipeline.md +167 -167
- package/lib/assets/docs/article/getting-start-tdd/java/12-error-handling-and-type-safety.md +205 -205
- package/lib/assets/docs/article/getting-start-tdd/java/index.md +61 -61
- package/lib/assets/docs/article/getting-start-tdd/node/01-todo-list-and-first-test.md +244 -244
- package/lib/assets/docs/article/getting-start-tdd/node/02-fake-it-and-triangulation.md +262 -262
- package/lib/assets/docs/article/getting-start-tdd/node/03-obvious-implementation-and-refactoring.md +169 -169
- package/lib/assets/docs/article/getting-start-tdd/node/04-version-control-and-conventional-commits.md +112 -112
- package/lib/assets/docs/article/getting-start-tdd/node/05-package-management-and-static-analysis.md +314 -314
- package/lib/assets/docs/article/getting-start-tdd/node/06-task-runner-and-ci-cd.md +235 -235
- package/lib/assets/docs/article/getting-start-tdd/node/07-encapsulation-and-polymorphism.md +327 -327
- package/lib/assets/docs/article/getting-start-tdd/node/08-design-patterns.md +322 -322
- package/lib/assets/docs/article/getting-start-tdd/node/09-solid-principles-and-module-design.md +285 -285
- package/lib/assets/docs/article/getting-start-tdd/node/10-higher-order-functions-and-composition.md +199 -199
- package/lib/assets/docs/article/getting-start-tdd/node/11-immutable-data-and-pipeline.md +207 -207
- package/lib/assets/docs/article/getting-start-tdd/node/12-error-handling-and-type-safety.md +295 -295
- package/lib/assets/docs/article/getting-start-tdd/node/index.md +56 -56
- package/lib/assets/docs/article/getting-start-tdd/php/01-todo-list-and-first-test.md +259 -259
- package/lib/assets/docs/article/getting-start-tdd/php/02-fake-it-and-triangulation.md +200 -200
- package/lib/assets/docs/article/getting-start-tdd/php/03-obvious-implementation-and-refactoring.md +248 -248
- package/lib/assets/docs/article/getting-start-tdd/php/04-version-control-and-conventional-commits.md +141 -141
- package/lib/assets/docs/article/getting-start-tdd/php/05-package-management-and-static-analysis.md +410 -410
- package/lib/assets/docs/article/getting-start-tdd/php/06-task-runner-and-ci-cd.md +321 -321
- package/lib/assets/docs/article/getting-start-tdd/php/07-encapsulation-and-polymorphism.md +372 -372
- package/lib/assets/docs/article/getting-start-tdd/php/08-design-patterns.md +453 -453
- package/lib/assets/docs/article/getting-start-tdd/php/09-solid-principles-and-module-design.md +460 -460
- package/lib/assets/docs/article/getting-start-tdd/php/10-higher-order-functions-and-composition.md +182 -182
- package/lib/assets/docs/article/getting-start-tdd/php/11-immutable-data-and-pipeline.md +266 -266
- package/lib/assets/docs/article/getting-start-tdd/php/12-error-handling-and-type-safety.md +308 -308
- package/lib/assets/docs/article/getting-start-tdd/php/index.md +84 -84
- package/lib/assets/docs/article/getting-start-tdd/python/01-todo-list-and-first-test.md +201 -201
- package/lib/assets/docs/article/getting-start-tdd/python/02-fake-it-and-triangulation.md +247 -247
- package/lib/assets/docs/article/getting-start-tdd/python/03-obvious-implementation-and-refactoring.md +199 -199
- package/lib/assets/docs/article/getting-start-tdd/python/04-version-control-and-conventional-commits.md +87 -87
- package/lib/assets/docs/article/getting-start-tdd/python/05-package-management-and-static-analysis.md +274 -274
- package/lib/assets/docs/article/getting-start-tdd/python/06-task-runner-and-ci-cd.md +190 -190
- package/lib/assets/docs/article/getting-start-tdd/python/07-encapsulation-and-polymorphism.md +208 -208
- package/lib/assets/docs/article/getting-start-tdd/python/08-design-patterns.md +172 -172
- package/lib/assets/docs/article/getting-start-tdd/python/09-solid-principles-and-module-design.md +130 -130
- package/lib/assets/docs/article/getting-start-tdd/python/10-higher-order-functions-and-composition.md +122 -122
- package/lib/assets/docs/article/getting-start-tdd/python/11-immutable-data-and-pipeline.md +116 -116
- package/lib/assets/docs/article/getting-start-tdd/python/12-error-handling-and-type-safety.md +126 -126
- package/lib/assets/docs/article/getting-start-tdd/python/index.md +55 -55
- package/lib/assets/docs/article/getting-start-tdd/ruby/01-todo-list-and-first-test.md +231 -231
- package/lib/assets/docs/article/getting-start-tdd/ruby/02-fake-it-and-triangulation.md +238 -238
- package/lib/assets/docs/article/getting-start-tdd/ruby/03-obvious-implementation-and-refactoring.md +228 -228
- package/lib/assets/docs/article/getting-start-tdd/ruby/04-version-control-and-conventional-commits.md +112 -112
- package/lib/assets/docs/article/getting-start-tdd/ruby/05-package-management-and-static-analysis.md +287 -287
- package/lib/assets/docs/article/getting-start-tdd/ruby/06-task-runner-and-ci-cd.md +248 -248
- package/lib/assets/docs/article/getting-start-tdd/ruby/07-encapsulation-and-polymorphism.md +279 -279
- package/lib/assets/docs/article/getting-start-tdd/ruby/08-design-patterns.md +329 -329
- package/lib/assets/docs/article/getting-start-tdd/ruby/09-solid-principles-and-module-design.md +196 -196
- package/lib/assets/docs/article/getting-start-tdd/ruby/10-higher-order-functions-and-composition.md +175 -175
- package/lib/assets/docs/article/getting-start-tdd/ruby/11-immutable-data-and-pipeline.md +237 -237
- package/lib/assets/docs/article/getting-start-tdd/ruby/12-error-handling-and-type-safety.md +398 -398
- package/lib/assets/docs/article/getting-start-tdd/ruby/index.md +83 -83
- package/lib/assets/docs/article/getting-start-tdd/rust/01-todo-list-and-first-test.md +211 -211
- package/lib/assets/docs/article/getting-start-tdd/rust/02-fake-it-and-triangulation.md +264 -264
- package/lib/assets/docs/article/getting-start-tdd/rust/03-obvious-implementation-and-refactoring.md +233 -233
- package/lib/assets/docs/article/getting-start-tdd/rust/04-version-control-and-conventional-commits.md +92 -92
- package/lib/assets/docs/article/getting-start-tdd/rust/05-package-management-and-static-analysis.md +212 -212
- package/lib/assets/docs/article/getting-start-tdd/rust/06-task-runner-and-ci-cd.md +164 -164
- package/lib/assets/docs/article/getting-start-tdd/rust/07-encapsulation-and-polymorphism.md +142 -142
- package/lib/assets/docs/article/getting-start-tdd/rust/08-design-patterns.md +145 -145
- package/lib/assets/docs/article/getting-start-tdd/rust/09-solid-principles-and-module-design.md +110 -110
- package/lib/assets/docs/article/getting-start-tdd/rust/10-higher-order-functions-and-composition.md +94 -94
- package/lib/assets/docs/article/getting-start-tdd/rust/11-immutable-data-and-pipeline.md +105 -105
- package/lib/assets/docs/article/getting-start-tdd/rust/12-error-handling-and-type-safety.md +112 -112
- package/lib/assets/docs/article/getting-start-tdd/rust/index.md +83 -83
- package/lib/assets/docs/article/getting-start-tdd/scala/01-todo-list-and-first-test.md +111 -111
- package/lib/assets/docs/article/getting-start-tdd/scala/02-fake-it-and-triangulation.md +107 -107
- package/lib/assets/docs/article/getting-start-tdd/scala/03-obvious-implementation-and-refactoring.md +99 -99
- package/lib/assets/docs/article/getting-start-tdd/scala/04-version-control-and-conventional-commits.md +123 -123
- package/lib/assets/docs/article/getting-start-tdd/scala/05-package-management-and-static-analysis.md +196 -196
- package/lib/assets/docs/article/getting-start-tdd/scala/06-task-runner-and-ci-cd.md +186 -186
- package/lib/assets/docs/article/getting-start-tdd/scala/07-case-classes-and-traits.md +139 -139
- package/lib/assets/docs/article/getting-start-tdd/scala/08-pattern-matching-and-sealed-traits.md +106 -106
- package/lib/assets/docs/article/getting-start-tdd/scala/09-packages-and-module-design.md +75 -75
- package/lib/assets/docs/article/getting-start-tdd/scala/10-higher-order-functions-and-composition.md +104 -104
- package/lib/assets/docs/article/getting-start-tdd/scala/11-collections-and-lazy-evaluation.md +94 -94
- package/lib/assets/docs/article/getting-start-tdd/scala/12-error-handling-and-type-safety.md +92 -92
- package/lib/assets/docs/article/getting-start-tdd/scala/index.md +65 -65
- package/lib/assets/docs/article/grokking-concurrency/all/index.md +404 -404
- package/lib/assets/docs/article/grokking-concurrency/all/part-1-ch02-sequential.md +554 -554
- package/lib/assets/docs/article/grokking-concurrency/all/part-2-ch04-05-threads.md +469 -469
- package/lib/assets/docs/article/grokking-concurrency/all/part-3-ch06-multitasking.md +520 -520
- package/lib/assets/docs/article/grokking-concurrency/all/part-4-ch07-parallel-patterns.md +420 -420
- package/lib/assets/docs/article/grokking-concurrency/all/part-5-ch08-09-synchronization.md +510 -510
- package/lib/assets/docs/article/grokking-concurrency/all/part-6-ch10-11-nonblocking-io.md +435 -435
- package/lib/assets/docs/article/grokking-concurrency/all/part-7-ch12-async.md +465 -465
- package/lib/assets/docs/article/grokking-concurrency/all/part-8-ch13-mapreduce.md +377 -377
- package/lib/assets/docs/article/grokking-concurrency/clojure/index.md +116 -116
- package/lib/assets/docs/article/grokking-concurrency/clojure/part-1.md +108 -108
- package/lib/assets/docs/article/grokking-concurrency/clojure/part-2.md +101 -101
- package/lib/assets/docs/article/grokking-concurrency/clojure/part-3.md +122 -122
- package/lib/assets/docs/article/grokking-concurrency/clojure/part-4.md +123 -123
- package/lib/assets/docs/article/grokking-concurrency/clojure/part-5.md +118 -118
- package/lib/assets/docs/article/grokking-concurrency/clojure/part-6.md +89 -89
- package/lib/assets/docs/article/grokking-concurrency/clojure/part-7.md +100 -100
- package/lib/assets/docs/article/grokking-concurrency/clojure/part-8.md +120 -120
- package/lib/assets/docs/article/grokking-concurrency/csharp/index.md +101 -101
- package/lib/assets/docs/article/grokking-concurrency/csharp/part-1.md +97 -97
- package/lib/assets/docs/article/grokking-concurrency/csharp/part-2.md +123 -123
- package/lib/assets/docs/article/grokking-concurrency/csharp/part-3.md +101 -101
- package/lib/assets/docs/article/grokking-concurrency/csharp/part-4.md +112 -112
- package/lib/assets/docs/article/grokking-concurrency/csharp/part-5.md +99 -99
- package/lib/assets/docs/article/grokking-concurrency/csharp/part-6.md +61 -61
- package/lib/assets/docs/article/grokking-concurrency/csharp/part-7.md +84 -84
- package/lib/assets/docs/article/grokking-concurrency/csharp/part-8.md +92 -92
- package/lib/assets/docs/article/grokking-concurrency/fsharp/index.md +65 -65
- package/lib/assets/docs/article/grokking-concurrency/fsharp/part-1.md +80 -80
- package/lib/assets/docs/article/grokking-concurrency/fsharp/part-2.md +103 -103
- package/lib/assets/docs/article/grokking-concurrency/fsharp/part-3.md +94 -94
- package/lib/assets/docs/article/grokking-concurrency/fsharp/part-4.md +110 -110
- package/lib/assets/docs/article/grokking-concurrency/fsharp/part-5.md +104 -104
- package/lib/assets/docs/article/grokking-concurrency/fsharp/part-6.md +93 -93
- package/lib/assets/docs/article/grokking-concurrency/fsharp/part-7.md +121 -121
- package/lib/assets/docs/article/grokking-concurrency/fsharp/part-8.md +107 -107
- package/lib/assets/docs/article/grokking-concurrency/haskell/index.md +248 -248
- package/lib/assets/docs/article/grokking-concurrency/haskell/part-1.md +96 -96
- package/lib/assets/docs/article/grokking-concurrency/haskell/part-2.md +96 -96
- package/lib/assets/docs/article/grokking-concurrency/haskell/part-3.md +91 -91
- package/lib/assets/docs/article/grokking-concurrency/haskell/part-4.md +106 -106
- package/lib/assets/docs/article/grokking-concurrency/haskell/part-5.md +99 -99
- package/lib/assets/docs/article/grokking-concurrency/haskell/part-6.md +95 -95
- package/lib/assets/docs/article/grokking-concurrency/haskell/part-7.md +111 -111
- package/lib/assets/docs/article/grokking-concurrency/haskell/part-8.md +118 -118
- package/lib/assets/docs/article/grokking-concurrency/index.md +66 -66
- package/lib/assets/docs/article/grokking-concurrency/java/index.md +102 -102
- package/lib/assets/docs/article/grokking-concurrency/java/part-1.md +308 -308
- package/lib/assets/docs/article/grokking-concurrency/java/part-2.md +334 -334
- package/lib/assets/docs/article/grokking-concurrency/java/part-3.md +221 -221
- package/lib/assets/docs/article/grokking-concurrency/java/part-4.md +213 -213
- package/lib/assets/docs/article/grokking-concurrency/java/part-5.md +112 -112
- package/lib/assets/docs/article/grokking-concurrency/java/part-6.md +69 -69
- package/lib/assets/docs/article/grokking-concurrency/java/part-7.md +101 -101
- package/lib/assets/docs/article/grokking-concurrency/java/part-8.md +101 -101
- package/lib/assets/docs/article/grokking-concurrency/python/index.md +313 -313
- package/lib/assets/docs/article/grokking-concurrency/python/part-1.md +239 -239
- package/lib/assets/docs/article/grokking-concurrency/python/part-2.md +418 -418
- package/lib/assets/docs/article/grokking-concurrency/python/part-3.md +227 -227
- package/lib/assets/docs/article/grokking-concurrency/python/part-4.md +299 -299
- package/lib/assets/docs/article/grokking-concurrency/python/part-5.md +315 -315
- package/lib/assets/docs/article/grokking-concurrency/python/part-6.md +297 -297
- package/lib/assets/docs/article/grokking-concurrency/python/part-7.md +314 -314
- package/lib/assets/docs/article/grokking-concurrency/python/part-8.md +360 -360
- package/lib/assets/docs/article/grokking-concurrency/rust/index.md +270 -270
- package/lib/assets/docs/article/grokking-concurrency/rust/part-1.md +108 -108
- package/lib/assets/docs/article/grokking-concurrency/rust/part-2.md +120 -120
- package/lib/assets/docs/article/grokking-concurrency/rust/part-3.md +126 -126
- package/lib/assets/docs/article/grokking-concurrency/rust/part-4.md +175 -175
- package/lib/assets/docs/article/grokking-concurrency/rust/part-5.md +158 -158
- package/lib/assets/docs/article/grokking-concurrency/rust/part-6.md +94 -94
- package/lib/assets/docs/article/grokking-concurrency/rust/part-7.md +133 -133
- package/lib/assets/docs/article/grokking-concurrency/rust/part-8.md +155 -155
- package/lib/assets/docs/article/grokking-concurrency/scala/index.md +69 -69
- package/lib/assets/docs/article/grokking-concurrency/scala/part-1.md +78 -78
- package/lib/assets/docs/article/grokking-concurrency/scala/part-2.md +112 -112
- package/lib/assets/docs/article/grokking-concurrency/scala/part-3.md +93 -93
- package/lib/assets/docs/article/grokking-concurrency/scala/part-4.md +110 -110
- package/lib/assets/docs/article/grokking-concurrency/scala/part-5.md +119 -119
- package/lib/assets/docs/article/grokking-concurrency/scala/part-6.md +83 -83
- package/lib/assets/docs/article/grokking-concurrency/scala/part-7.md +131 -131
- package/lib/assets/docs/article/grokking-concurrency/scala/part-8.md +129 -129
- package/lib/assets/docs/article/grokkingfp/all/index.md +368 -368
- package/lib/assets/docs/article/grokkingfp/all/part-1-ch01-fp-introduction.md +530 -530
- package/lib/assets/docs/article/grokkingfp/all/part-1-ch02-pure-functions.md +923 -923
- package/lib/assets/docs/article/grokkingfp/all/part-2-ch03-immutable-data.md +1128 -1128
- package/lib/assets/docs/article/grokkingfp/all/part-2-ch04-higher-order-functions.md +1104 -1104
- package/lib/assets/docs/article/grokkingfp/all/part-2-ch05-flatmap.md +1026 -1026
- package/lib/assets/docs/article/grokkingfp/all/part-3-ch06-option.md +785 -785
- package/lib/assets/docs/article/grokkingfp/all/part-3-ch07-either-adt.md +871 -871
- package/lib/assets/docs/article/grokkingfp/all/part-4-ch08-io-monad.md +972 -972
- package/lib/assets/docs/article/grokkingfp/all/part-4-ch09-streams.md +926 -926
- package/lib/assets/docs/article/grokkingfp/all/part-5-ch10-concurrency.md +870 -870
- package/lib/assets/docs/article/grokkingfp/all/part-6-ch11-application.md +715 -715
- package/lib/assets/docs/article/grokkingfp/all/part-6-ch12-testing.md +626 -626
- package/lib/assets/docs/article/grokkingfp/all/writing-plan.md +712 -712
- package/lib/assets/docs/article/grokkingfp/clojure/index.md +276 -276
- package/lib/assets/docs/article/grokkingfp/clojure/part-1.md +667 -667
- package/lib/assets/docs/article/grokkingfp/clojure/part-2.md +643 -643
- package/lib/assets/docs/article/grokkingfp/clojure/part-3.md +620 -620
- package/lib/assets/docs/article/grokkingfp/clojure/part-4.md +697 -697
- package/lib/assets/docs/article/grokkingfp/clojure/part-5.md +751 -751
- package/lib/assets/docs/article/grokkingfp/clojure/part-6.md +721 -721
- package/lib/assets/docs/article/grokkingfp/csharp/index.md +246 -246
- package/lib/assets/docs/article/grokkingfp/csharp/part-1.md +811 -811
- package/lib/assets/docs/article/grokkingfp/csharp/part-2.md +971 -971
- package/lib/assets/docs/article/grokkingfp/csharp/part-3.md +981 -981
- package/lib/assets/docs/article/grokkingfp/csharp/part-4.md +949 -949
- package/lib/assets/docs/article/grokkingfp/csharp/part-5.md +947 -947
- package/lib/assets/docs/article/grokkingfp/csharp/part-6.md +739 -739
- package/lib/assets/docs/article/grokkingfp/elixir/index.md +203 -203
- package/lib/assets/docs/article/grokkingfp/elixir/part-1.md +712 -712
- package/lib/assets/docs/article/grokkingfp/elixir/part-2.md +838 -838
- package/lib/assets/docs/article/grokkingfp/elixir/part-3.md +985 -985
- package/lib/assets/docs/article/grokkingfp/elixir/part-4.md +974 -974
- package/lib/assets/docs/article/grokkingfp/elixir/part-5.md +1286 -1286
- package/lib/assets/docs/article/grokkingfp/elixir/part-6.md +1049 -1049
- package/lib/assets/docs/article/grokkingfp/fsharp/index.md +210 -210
- package/lib/assets/docs/article/grokkingfp/fsharp/part-1.md +714 -714
- package/lib/assets/docs/article/grokkingfp/fsharp/part-2.md +961 -961
- package/lib/assets/docs/article/grokkingfp/fsharp/part-3.md +972 -972
- package/lib/assets/docs/article/grokkingfp/fsharp/part-4.md +832 -832
- package/lib/assets/docs/article/grokkingfp/fsharp/part-5.md +911 -911
- package/lib/assets/docs/article/grokkingfp/fsharp/part-6.md +922 -922
- package/lib/assets/docs/article/grokkingfp/haskell/index.md +234 -234
- package/lib/assets/docs/article/grokkingfp/haskell/part-1.md +591 -591
- package/lib/assets/docs/article/grokkingfp/haskell/part-2.md +866 -866
- package/lib/assets/docs/article/grokkingfp/haskell/part-3.md +915 -915
- package/lib/assets/docs/article/grokkingfp/haskell/part-4.md +878 -878
- package/lib/assets/docs/article/grokkingfp/haskell/part-5.md +845 -845
- package/lib/assets/docs/article/grokkingfp/haskell/part-6.md +844 -844
- package/lib/assets/docs/article/grokkingfp/index.md +143 -143
- package/lib/assets/docs/article/grokkingfp/java/index.md +211 -211
- package/lib/assets/docs/article/grokkingfp/java/part-1.md +648 -648
- package/lib/assets/docs/article/grokkingfp/java/part-2.md +675 -675
- package/lib/assets/docs/article/grokkingfp/java/part-3.md +672 -672
- package/lib/assets/docs/article/grokkingfp/java/part-4.md +771 -771
- package/lib/assets/docs/article/grokkingfp/java/part-5.md +959 -959
- package/lib/assets/docs/article/grokkingfp/java/part-6.md +1328 -1328
- package/lib/assets/docs/article/grokkingfp/python/index.md +258 -258
- package/lib/assets/docs/article/grokkingfp/python/part-1.md +443 -443
- package/lib/assets/docs/article/grokkingfp/python/part-2.md +958 -958
- package/lib/assets/docs/article/grokkingfp/python/part-3.md +1004 -1004
- package/lib/assets/docs/article/grokkingfp/python/part-4.md +765 -765
- package/lib/assets/docs/article/grokkingfp/python/part-5.md +747 -747
- package/lib/assets/docs/article/grokkingfp/python/part-6.md +861 -861
- package/lib/assets/docs/article/grokkingfp/ruby/index.md +330 -330
- package/lib/assets/docs/article/grokkingfp/ruby/part-1.md +755 -755
- package/lib/assets/docs/article/grokkingfp/ruby/part-2.md +938 -938
- package/lib/assets/docs/article/grokkingfp/ruby/part-3.md +946 -946
- package/lib/assets/docs/article/grokkingfp/ruby/part-4.md +921 -921
- package/lib/assets/docs/article/grokkingfp/ruby/part-5.md +908 -908
- package/lib/assets/docs/article/grokkingfp/ruby/part-6.md +1412 -1412
- package/lib/assets/docs/article/grokkingfp/rust/index.md +242 -242
- package/lib/assets/docs/article/grokkingfp/rust/part-1.md +634 -634
- package/lib/assets/docs/article/grokkingfp/rust/part-2.md +1060 -1060
- package/lib/assets/docs/article/grokkingfp/rust/part-3.md +994 -994
- package/lib/assets/docs/article/grokkingfp/rust/part-4.md +573 -573
- package/lib/assets/docs/article/grokkingfp/rust/part-5.md +705 -705
- package/lib/assets/docs/article/grokkingfp/rust/part-6.md +508 -508
- package/lib/assets/docs/article/grokkingfp/scala/index.md +171 -171
- package/lib/assets/docs/article/grokkingfp/scala/part-1.md +543 -543
- package/lib/assets/docs/article/grokkingfp/scala/part-2.md +946 -946
- package/lib/assets/docs/article/grokkingfp/scala/part-3.md +919 -919
- package/lib/assets/docs/article/grokkingfp/scala/part-4.md +742 -742
- package/lib/assets/docs/article/grokkingfp/scala/part-5.md +722 -722
- package/lib/assets/docs/article/grokkingfp/scala/part-6.md +867 -867
- package/lib/assets/docs/article/grokkingfp/typescript/index.md +273 -273
- package/lib/assets/docs/article/grokkingfp/typescript/part-1.md +561 -561
- package/lib/assets/docs/article/grokkingfp/typescript/part-2.md +1129 -1129
- package/lib/assets/docs/article/grokkingfp/typescript/part-3.md +842 -842
- package/lib/assets/docs/article/grokkingfp/typescript/part-4.md +1087 -1087
- package/lib/assets/docs/article/grokkingfp/typescript/part-5.md +717 -717
- package/lib/assets/docs/article/grokkingfp/typescript/part-6.md +982 -982
- package/lib/assets/docs/article/index.md +41 -41
- package/lib/assets/docs/article/practical-database-design/index.md +121 -121
- package/lib/assets/docs/article/practical-database-design/part1/chapter01.md +288 -288
- package/lib/assets/docs/article/practical-database-design/part1/chapter02.md +518 -518
- package/lib/assets/docs/article/practical-database-design/part1/chapter03.md +557 -557
- package/lib/assets/docs/article/practical-database-design/part2/chapter04.md +924 -924
- package/lib/assets/docs/article/practical-database-design/part2/chapter05.md +1627 -1627
- package/lib/assets/docs/article/practical-database-design/part2/chapter06.md +2716 -2716
- package/lib/assets/docs/article/practical-database-design/part2/chapter07.md +2082 -2082
- package/lib/assets/docs/article/practical-database-design/part2/chapter08.md +2105 -2105
- package/lib/assets/docs/article/practical-database-design/part2/chapter09.md +2031 -2031
- package/lib/assets/docs/article/practical-database-design/part2/chapter10.md +1387 -1387
- package/lib/assets/docs/article/practical-database-design/part2/chapter11.md +1677 -1677
- package/lib/assets/docs/article/practical-database-design/part2/chapter12.md +1417 -1417
- package/lib/assets/docs/article/practical-database-design/part2/chapter13.md +1434 -1434
- package/lib/assets/docs/article/practical-database-design/part3/chapter14.md +667 -667
- package/lib/assets/docs/article/practical-database-design/part3/chapter15.md +1625 -1625
- package/lib/assets/docs/article/practical-database-design/part3/chapter16.md +1915 -1915
- package/lib/assets/docs/article/practical-database-design/part3/chapter17.md +1708 -1708
- package/lib/assets/docs/article/practical-database-design/part3/chapter18.md +2095 -2095
- package/lib/assets/docs/article/practical-database-design/part3/chapter19.md +1123 -1123
- package/lib/assets/docs/article/practical-database-design/part3/chapter20.md +1031 -1031
- package/lib/assets/docs/article/practical-database-design/part3/chapter21.md +1382 -1382
- package/lib/assets/docs/article/practical-database-design/part3-orm/chapter14-orm.md +991 -991
- package/lib/assets/docs/article/practical-database-design/part3-orm/chapter15-orm.md +1300 -1300
- package/lib/assets/docs/article/practical-database-design/part3-orm/chapter16-orm.md +1166 -1166
- package/lib/assets/docs/article/practical-database-design/part3-orm/chapter17-orm.md +1584 -1584
- package/lib/assets/docs/article/practical-database-design/part3-orm/chapter18-orm.md +1183 -1183
- package/lib/assets/docs/article/practical-database-design/part3-orm/chapter19-orm.md +1016 -1016
- package/lib/assets/docs/article/practical-database-design/part3-orm/chapter20-orm.md +1753 -1753
- package/lib/assets/docs/article/practical-database-design/part3-orm/chapter21-orm.md +1447 -1447
- package/lib/assets/docs/article/practical-database-design/part3-orm/chapter22-orm.md +1878 -1878
- package/lib/assets/docs/article/practical-database-design/part4/chapter22.md +965 -965
- package/lib/assets/docs/article/practical-database-design/part4/chapter23.md +2069 -2069
- package/lib/assets/docs/article/practical-database-design/part4/chapter24.md +2439 -2439
- package/lib/assets/docs/article/practical-database-design/part4/chapter25.md +3661 -3661
- package/lib/assets/docs/article/practical-database-design/part4/chapter26.md +2916 -2916
- package/lib/assets/docs/article/practical-database-design/part4/chapter27.md +3105 -3105
- package/lib/assets/docs/article/practical-database-design/part4/chapter28.md +2697 -2697
- package/lib/assets/docs/article/practical-database-design/part4/chapter29.md +2544 -2544
- package/lib/assets/docs/article/practical-database-design/part4/chapter30.md +2180 -2180
- package/lib/assets/docs/article/practical-database-design/part4/chapter31.md +1192 -1192
- package/lib/assets/docs/article/practical-database-design/part4/chapter32.md +2101 -2101
- package/lib/assets/docs/article/practical-database-design/part5/chapter33.md +1032 -1032
- package/lib/assets/docs/article/practical-database-design/part5/chapter34.md +1609 -1609
- package/lib/assets/docs/article/practical-database-design/part5/chapter35.md +1453 -1453
- package/lib/assets/docs/article/practical-database-design/part5/chapter36.md +1292 -1292
- package/lib/assets/docs/article/practical-database-design/part5/chapter37.md +1470 -1470
- package/lib/assets/docs/article/practical-database-design/part5/chapter38.md +1698 -1698
- package/lib/assets/docs/article/practical-database-design/part5/chapter39.md +2334 -2334
- package/lib/assets/docs/article/practical-database-design/study/study2-1.md +1693 -1693
- package/lib/assets/docs/article/practical-database-design/study/study2-2.md +1347 -1347
- package/lib/assets/docs/article/practical-database-design/study/study2-3.md +2044 -2044
- package/lib/assets/docs/article/practical-database-design/study/study2-4.md +2229 -2229
- package/lib/assets/docs/article/practical-database-design/study/study2-5.md +2418 -2418
- package/lib/assets/docs/article/practical-database-design/study/study3-1.md +2205 -2205
- package/lib/assets/docs/article/practical-database-design/study/study3-2.md +2221 -2221
- package/lib/assets/docs/article/practical-database-design/study/study3-3.md +2253 -2253
- package/lib/assets/docs/article/practical-database-design/study/study3-4.md +2106 -2106
- package/lib/assets/docs/article/practical-database-design/study/study3-5.md +2507 -2507
- package/lib/assets/docs/article/practical-database-design/study/study4-1.md +2587 -2587
- package/lib/assets/docs/article/practical-database-design/study/study4-2.md +2075 -2075
- package/lib/assets/docs/article/practical-database-design/study/study4-3.md +1805 -1805
- package/lib/assets/docs/article/practical-database-design/study/study4-4.md +1895 -1895
- package/lib/assets/docs/article/practical-database-design/study/study4-5.md +2878 -2878
- package/lib/assets/docs/assets/css/extra.css +29 -29
- package/lib/assets/docs/assets/js/extra.js +44 -44
- package/lib/assets/docs/design/index.md +44 -44
- package/lib/assets/docs/development/index.md +39 -39
- package/lib/assets/docs/index.md +33 -33
- package/lib/assets/docs/operation/index.md +27 -27
- package/lib/assets/docs/reference/CodexCLIMCP/343/202/242/343/203/227/343/203/252/343/202/261/343/203/274/343/202/267/343/203/247/343/203/263/351/226/213/347/231/272/343/203/225/343/203/255/343/203/274.md +546 -546
- package/lib/assets/docs/reference/CodexCLIMCP/343/202/265/343/203/274/343/203/220/343/203/274/350/250/255/345/256/232/346/211/213/351/240/206.md +341 -341
- package/lib/assets/docs/reference/Java/343/202/242/343/203/227/343/203/252/343/202/261/343/203/274/343/202/267/343/203/247/343/203/263/347/222/260/345/242/203/346/247/213/347/257/211/343/202/254/343/202/244/343/203/211.md +581 -581
- package/lib/assets/docs/reference/SonarQube/343/203/255/343/203/274/343/202/253/343/203/253/347/222/260/345/242/203/343/202/273/343/203/203/343/203/210/343/202/242/343/203/203/343/203/227/346/211/213/351/240/206/346/233/270.md +642 -642
- package/lib/assets/docs/reference/TypeScript/343/202/242/343/203/227/343/203/252/343/202/261/343/203/274/343/202/267/343/203/247/343/203/263/347/222/260/345/242/203/346/247/213/347/257/211/343/202/254/343/202/244/343/203/211.md +465 -465
- package/lib/assets/docs/reference/UI/350/250/255/350/250/210/343/202/254/343/202/244/343/203/211.md +450 -450
- package/lib/assets/docs/reference/images/Ansoff.drawio.svg +3 -3
- package/lib/assets/docs/reference/images/BMC.drawio.svg +3 -3
- package/lib/assets/docs/reference/images/BrandBasicStrategy.drawio.svg +3 -3
- package/lib/assets/docs/reference/images/BrandCategorization.drawio.svg +3 -3
- package/lib/assets/docs/reference/images/BrandRecurutementStrategy.drawio.svg +3 -3
- package/lib/assets/docs/reference/images/BrandValue.drawio.svg +3 -3
- package/lib/assets/docs/reference/images/BusinessActivitiy.svg +3 -3
- package/lib/assets/docs/reference/images/HRM.drawio.svg +3 -3
- package/lib/assets/docs/reference/images/MarketingStructure.drawio.svg +3 -3
- package/lib/assets/docs/reference/images/OrganizationElemnts.svg +3 -3
- package/lib/assets/docs/reference/images/PPM.drawio.svg +3 -3
- package/lib/assets/docs/reference/images/PositioningMap.drawio.svg +3 -3
- package/lib/assets/docs/reference/images/ProductLayer.drawio.svg +3 -3
- package/lib/assets/docs/reference/images/ProductMix.drawio.svg +3 -3
- package/lib/assets/docs/reference/images/SWOT.drawio.svg +3 -3
- package/lib/assets/docs/reference/images/TargetMarket.drawio.svg +3 -3
- package/lib/assets/docs/reference/images/ThreeGenericStrategies.drawio.svg +3 -3
- package/lib/assets/docs/reference/images/VRIO.drawio.svg +3 -3
- package/lib/assets/docs/reference/images/ValueChain.drawio.svg +3 -3
- package/lib/assets/docs/reference/index.md +53 -53
- package/lib/assets/docs/reference//343/202/210/343/201/204/343/202/275/343/203/225/343/203/210/343/202/246/343/202/247/343/202/242/343/201/250/343/201/257.md +250 -250
- package/lib/assets/docs/reference//343/202/242/343/203/274/343/202/255/343/203/206/343/202/257/343/203/201/343/203/243/350/250/255/350/250/210/343/202/254/343/202/244/343/203/211.md +2216 -2216
- package/lib/assets/docs/reference//343/202/244/343/203/263/343/203/225/343/203/251/350/250/255/350/250/210/343/202/254/343/202/244/343/203/211.md +1878 -1878
- package/lib/assets/docs/reference//343/202/250/343/202/257/343/202/271/343/203/210/343/203/252/343/203/274/343/203/240/343/203/227/343/203/255/343/202/260/343/203/251/343/203/237/343/203/263/343/202/260.md +550 -550
- package/lib/assets/docs/reference//343/202/263/343/203/274/343/203/207/343/202/243/343/203/263/343/202/260/343/201/250/343/203/206/343/202/271/343/203/210/343/202/254/343/202/244/343/203/211.md +705 -705
- package/lib/assets/docs/reference//343/203/206/343/202/271/343/203/210/346/210/246/347/225/245/343/202/254/343/202/244/343/203/211.md +1313 -1313
- package/lib/assets/docs/reference//343/203/207/343/203/274/343/202/277/343/203/242/343/203/207/343/203/253/350/250/255/350/250/210/343/202/254/343/202/244/343/203/211.md +311 -311
- package/lib/assets/docs/reference//343/203/211/343/203/241/343/202/244/343/203/263/343/203/242/343/203/207/343/203/253/350/250/255/350/250/210/343/202/254/343/202/244/343/203/211.md +599 -599
- package/lib/assets/docs/reference//343/203/223/343/202/270/343/203/215/343/202/271/343/202/242/343/203/274/343/202/255/343/203/206/343/202/257/343/203/201/343/203/243/345/210/206/346/236/220/343/202/254/343/202/244/343/203/211.md +528 -528
- package/lib/assets/docs/reference//343/203/246/343/203/274/343/202/271/343/202/261/343/203/274/343/202/271/344/275/234/346/210/220/343/202/254/343/202/244/343/203/211.md +689 -689
- package/lib/assets/docs/reference//343/203/252/343/203/252/343/203/274/343/202/271/343/202/254/343/202/244/343/203/211.md +461 -461
- package/lib/assets/docs/reference//343/203/252/343/203/252/343/203/274/343/202/271/343/203/273/343/202/244/343/203/206/343/203/254/343/203/274/343/202/267/343/203/247/343/203/263/350/250/210/347/224/273/343/202/254/343/202/244/343/203/211.md +580 -580
- package/lib/assets/docs/reference//343/203/255/343/202/270/343/202/253/343/203/253/343/202/267/343/203/263/343/202/255/343/203/263/343/202/260.md +1367 -1367
- package/lib/assets/docs/reference//344/274/201/346/245/255/347/265/214/345/226/266/350/253/226.md +2637 -2637
- package/lib/assets/docs/reference//347/222/260/345/242/203/345/244/211/346/225/260/347/256/241/347/220/206/343/202/254/343/202/244/343/203/211.md +665 -665
- package/lib/assets/docs/reference//347/265/214/345/226/266/346/210/246/347/225/245/345/210/206/346/236/220/343/202/254/343/202/244/343/203/211.md +566 -566
- package/lib/assets/docs/reference//350/246/201/344/273/266/345/256/232/347/276/251/343/202/254/343/202/244/343/203/211.md +1248 -1248
- package/lib/assets/docs/reference//350/250/200/350/252/236/345/210/245/351/226/213/347/231/272/343/202/254/343/202/244/343/203/211.md +518 -518
- package/lib/assets/docs/reference//351/201/213/345/226/266/347/256/241/347/220/206.md +1482 -1482
- package/lib/assets/docs/reference//351/201/213/347/224/250/343/202/271/343/202/257/343/203/252/343/203/227/343/203/210/344/275/234/346/210/220/343/202/254/343/202/244/343/203/211.md +421 -421
- package/lib/assets/docs/reference//351/201/213/347/224/250/350/246/201/344/273/266/345/256/232/347/276/251/343/202/254/343/202/244/343/203/211.md +392 -392
- package/lib/assets/docs/reference//351/226/213/347/231/272/343/202/254/343/202/244/343/203/211.md +305 -305
- package/lib/assets/docs/reference//351/235/236/346/251/237/350/203/275/350/246/201/344/273/266/345/256/232/347/276/251/343/202/254/343/202/244/343/203/211.md +1236 -1236
- package/lib/assets/docs/requirements/index.md +17 -17
- package/lib/assets/docs/review/index.md +5 -5
- package/lib/assets/docs/strategy/index.md +17 -17
- package/lib/assets/docs/template/ADR.md +30 -30
- package/lib/assets/docs/template/AWS/343/202/271/343/203/206/343/203/274/343/202/270/343/203/263/343/202/260/347/222/260/345/242/203/343/202/273/343/203/203/343/203/210/343/202/242/343/203/203/343/203/227/346/211/213/351/240/206/346/233/270.md +1366 -1366
- package/lib/assets/docs/template/AWS/343/203/227/343/203/255/343/203/200/343/202/257/343/202/267/343/203/247/343/203/263/347/222/260/345/242/203/343/202/273/343/203/203/343/203/210/343/202/242/343/203/203/343/203/227/346/211/213/351/240/206/346/233/270.md +634 -634
- package/lib/assets/docs/template/README.md +50 -50
- package/lib/assets/docs/template/index.md +24 -24
- package/lib/assets/docs/template//343/201/276/343/201/232/343/201/223/343/202/214/343/202/222/350/252/255/343/202/202/343/201/206/343/203/252/343/202/271/343/203/210.md +12 -12
- package/lib/assets/docs/template//343/202/242/343/203/227/343/203/252/343/202/261/343/203/274/343/202/267/343/203/247/343/203/263/351/226/213/347/231/272/347/222/260/345/242/203/343/202/273/343/203/203/343/203/210/343/202/242/343/203/203/343/203/227/346/211/213/351/240/206/346/233/270.md +547 -547
- package/lib/assets/docs/template//343/202/244/343/203/206/343/203/254/343/203/274/343/202/267/343/203/247/343/203/263/345/256/214/344/272/206/345/240/261/345/221/212/346/233/270.md +58 -58
- package/lib/assets/docs/template//343/202/244/343/203/206/343/203/254/343/203/274/343/202/267/343/203/247/343/203/263/350/250/210/347/224/273.md +327 -327
- package/lib/assets/docs/template//343/202/244/343/203/263/343/202/273/343/203/227/343/202/267/343/203/247/343/203/263/343/203/207/343/203/203/343/202/255.md +13 -13
- package/lib/assets/docs/template//343/203/223/343/202/270/343/203/215/343/202/271/343/202/242/343/203/274/343/202/255/343/203/206/343/202/257/343/203/201/343/203/243.md +379 -379
- package/lib/assets/docs/template//343/203/252/343/203/252/343/203/274/343/202/271/345/256/214/344/272/206/345/240/261/345/221/212/346/233/270.md +275 -275
- package/lib/assets/docs/template//344/272/213/344/276/213/345/210/206/346/236/220.md +513 -513
- package/lib/assets/docs/template//344/274/201/346/245/255/345/210/206/346/236/220.md +573 -573
- package/lib/assets/docs/template//345/256/214/345/205/250/345/275/242/345/274/217/343/201/256/343/203/246/343/203/274/343/202/271/343/202/261/343/203/274/343/202/271.md +69 -69
- package/lib/assets/docs/template//350/246/201/344/273/266/345/256/232/347/276/251.md +669 -669
- package/lib/assets/docs/template//350/250/255/350/250/210.md +173 -173
- package/lib/assets/docs/template//351/226/213/347/231/272/347/222/260/345/242/203/343/202/273/343/203/203/343/203/210/343/202/242/343/203/203/343/203/227/346/211/213/351/240/206/346/233/270.md +688 -688
- package/lib/assets/gulpfile.js +25 -25
- package/lib/assets/mkdocs.yml +139 -139
- package/lib/assets/ops/docker/mkdoc/Dockerfile +19 -19
- package/lib/assets/ops/docker/sonarqube-local/docker-compose.yml +57 -57
- package/lib/assets/ops/scripts/journal.js +180 -180
- package/lib/assets/ops/scripts/mkdocs.js +82 -82
- package/lib/assets/ops/scripts/release.js +431 -431
- package/lib/assets/ops/scripts/sonar_local.js +726 -726
- package/lib/assets/ops/scripts/ssh.js +190 -190
- package/lib/assets/ops/scripts/vault.js +299 -299
- package/lib/assets/package-lock.json +1653 -1653
- package/lib/assets/package.json +40 -40
- package/lib/gulpfile.js +37 -37
- package/package.json +41 -41
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: creating-journal
|
|
3
|
+
description: その日の Skill 実行と意思決定を物語形式で `docs/journal/YYYYMMDD.md` に保存する。git log や diff から自動生成する `gulp journal:generate` とは別物で、こちらは「なぜそうしたか」「どこで詰まったか」「次回どう活かすか」といったコミットメッセージには載らない**判断と学びを残す**ためのスキル。「今日の作業をジャーナルに保存」「ここまでの作業の流れをジャーナルに」「skill の使用記録を残したい」「今日の振り返りを書く」「開発ジャーナルを作成」「セッション内容を記録」のような依頼で必ず発動する。一日の終わり、長いセッションの区切り、リリース直後、IT 完了時など「ここまでをまとめておきたい」場面でも積極的に提案する。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 開発ジャーナル作成
|
|
7
|
+
|
|
8
|
+
その日のセッションで実行した Skill、対応した指摘、踏んだ落とし穴、得られた学びを `docs/journal/YYYYMMDD.md` として保存する。
|
|
9
|
+
|
|
10
|
+
ジャーナルの価値は、**git log と CHANGELOG には残らない「判断の経緯」を残す**ことにある。「なぜ lts-24 に上げたか」「HLint の `within` をなぜ撤回したか」「Sprint 0 指摘 42 件をどう優先順位付けしたか」といった、コミットメッセージでは収まらない物語が、未来の自分とチームの意思決定速度を高める。
|
|
11
|
+
|
|
12
|
+
## ファイル命名
|
|
13
|
+
|
|
14
|
+
`docs/journal/<YYYYMMDD>.md` (例: `docs/journal/20260626.md`)
|
|
15
|
+
|
|
16
|
+
セッションをまたぐ場合でも 1 日 1 ファイル。同じ日に追記が発生したら既存ファイルに追記する (上書きしない)。
|
|
17
|
+
|
|
18
|
+
## 必須セクション (この順序)
|
|
19
|
+
|
|
20
|
+
```markdown
|
|
21
|
+
# YYYY-MM-DD 開発ジャーナル
|
|
22
|
+
|
|
23
|
+
(1〜2 文のリード文。今日何をしたかを 1 段落で要約)
|
|
24
|
+
|
|
25
|
+
## ハイライト
|
|
26
|
+
|
|
27
|
+
- (最重要の成果 3〜5 個を箇条書き)
|
|
28
|
+
|
|
29
|
+
## Skill 実行の時系列
|
|
30
|
+
|
|
31
|
+
### 1. `<skill-name>` — <短い見出し>
|
|
32
|
+
(何を入力し、何を出力したか。主要成果物の表)
|
|
33
|
+
|
|
34
|
+
### 2. `<skill-name>` — <短い見出し>
|
|
35
|
+
...
|
|
36
|
+
|
|
37
|
+
## 学び
|
|
38
|
+
|
|
39
|
+
- (次回再発させたくない発見、再利用したい知見)
|
|
40
|
+
|
|
41
|
+
## 主要コミット
|
|
42
|
+
|
|
43
|
+
| ハッシュ | コミット |
|
|
44
|
+
| :--- | :--- |
|
|
45
|
+
| `xxxxxxxx` | <メッセージ 1 行目> |
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
フェーズが長い場合は「Skill 実行の時系列」を **「分析フェーズ Skill 実行の時系列」「運用フェーズ Skill 実行の時系列」** のように分割する。今回 (2026-06-26) はこの形を採用した。
|
|
49
|
+
|
|
50
|
+
## 作成手順
|
|
51
|
+
|
|
52
|
+
### 1. 既存ジャーナルを確認
|
|
53
|
+
|
|
54
|
+
`docs/journal/<today>.md` が既にあるか確認する。あれば**追記**する (上書き禁止)。なければ新規作成。
|
|
55
|
+
|
|
56
|
+
### 2. このセッションで使った Skill を時系列で抽出
|
|
57
|
+
|
|
58
|
+
会話履歴を遡り、`/<skill>` 形式の起動、`Skill` ツール呼び出し、Skill のオーケストレーションを抽出する。連続する関連 Skill は 1 つの節にまとめてよい。
|
|
59
|
+
|
|
60
|
+
抽出すべきメタ情報:
|
|
61
|
+
|
|
62
|
+
- 入力 (どの手順書/ドキュメント/与件を参照したか)
|
|
63
|
+
- 主要成果物 (生成 or 更新したファイルパス)
|
|
64
|
+
- 重要な意思決定 (技術選定、優先順位、撤回したルール等)
|
|
65
|
+
- ハマったポイントと対処 (これが将来の検索キーになる)
|
|
66
|
+
|
|
67
|
+
### 3. ハイライトを抽出
|
|
68
|
+
|
|
69
|
+
その日の成果のうち **3〜5 個** だけ選ぶ。「重要な決定」「新規導入」「指標の達成」を優先する。コミット数や行数といったプロセス指標ではなく、**読者にとっての意味**で選ぶ。
|
|
70
|
+
|
|
71
|
+
### 4. 学びを書く
|
|
72
|
+
|
|
73
|
+
「次回再発させたくない発見」「再利用したい知見」を 3〜7 個。汎化して書く (このプロジェクト固有の話だけにならないように)。
|
|
74
|
+
|
|
75
|
+
例として今日のジャーナル (`20260626.md`) には以下が記録されている:
|
|
76
|
+
|
|
77
|
+
- HLint の `within` は直感に反するホワイトリストなので、アーキテクチャ規約は専用ツールに乗せる
|
|
78
|
+
- macOS の BSD `ar` + GHC 9.8 の組み合わせは地雷
|
|
79
|
+
- `stack build --pedantic` はスタブ期間中は不適合
|
|
80
|
+
|
|
81
|
+
### 5. 主要コミットを git log から抽出
|
|
82
|
+
|
|
83
|
+
このセッション中のコミットを `git log --oneline` で抽出し、テーブル化する。フェーズ別に分けるとさらに読みやすい。
|
|
84
|
+
|
|
85
|
+
### 6. コミット
|
|
86
|
+
|
|
87
|
+
```text
|
|
88
|
+
docs(journal): YYYY-MM-DD のセッション記録を追加
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
または既存ファイルへの追記の場合は:
|
|
92
|
+
|
|
93
|
+
```text
|
|
94
|
+
docs(journal): YYYY-MM-DD のジャーナルに <セクション名> を追記
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
`creating-iteration-report` / `creating-release-report` 等の他レポート系 Skill とは別系統 (それらはフォーマル文書、ジャーナルは作業ログ) なので、コミットスコープも分けて運用する。
|
|
98
|
+
|
|
99
|
+
## 書き方の指針
|
|
100
|
+
|
|
101
|
+
### 「物語」として書く
|
|
102
|
+
|
|
103
|
+
時系列・因果関係を保つ。「指摘 42 件を対応 → ハマった YAML 構文 → 撤回 → IT1 に委譲」のように **何が起きて何をしたか**の流れがわかるようにする。単なる箇条書きの羅列にしない。
|
|
104
|
+
|
|
105
|
+
### 証拠として残す
|
|
106
|
+
|
|
107
|
+
ファイルパス・コミットハッシュ・バージョン番号・件数を具体的に書く。「いっぱい修正した」ではなく「16 + 16 + 10 = 42 件対応」と書く。これが将来のジャーナル検索性を決める。
|
|
108
|
+
|
|
109
|
+
### 「ハマったポイント」を恥ずかしがらずに書く
|
|
110
|
+
|
|
111
|
+
ジャーナルの価値の半分は失敗の記録にある。「3 回目の修正でようやく CI が安定した」「YAML 構文を間違えていた」を**省略しない**。同じ罠に二度落ちないために残す。
|
|
112
|
+
|
|
113
|
+
### コミットメッセージとの違いを意識する
|
|
114
|
+
|
|
115
|
+
コミットメッセージは「この変更は何を達成したか」を書く。ジャーナルは「**なぜそうしたか、何を諦めたか、次回どう活かすか**」を書く。両者は補完関係。
|
|
116
|
+
|
|
117
|
+
## やらないこと
|
|
118
|
+
|
|
119
|
+
- **`gulp journal:generate` の置き換えではない** — あちらは git の diff/log から自動生成する補助。こちらは判断の物語を残す手動の作業。両方共存する
|
|
120
|
+
- **CHANGELOG ではない** — ユーザー向けの変更点リストは `CHANGELOG.md` で別管理
|
|
121
|
+
- **イテレーション報告書ではない** — フォーマルな完了報告書は `creating-iteration-report` で別管理
|
|
122
|
+
- **アーカイブのために書かない** — 「未来の誰か (主に自分) が読み返して役立つか」を判定基準にする。役立たない記録は省く
|
|
123
|
+
|
|
124
|
+
## 関連スキル
|
|
125
|
+
|
|
126
|
+
- `creating-iteration-report` — イテレーション完了時のフォーマル報告書 (ジャーナルとは別)
|
|
127
|
+
- `creating-release-report` — リリース完了時のフォーマル報告書
|
|
128
|
+
- `tracking-progress` — 進捗の定量分析
|
|
129
|
+
- `operating-docs` — ジャーナル追加後のインデックス更新 (`--update` で `docs/index.md` 同期)
|
|
@@ -1,161 +1,161 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: creating-release-report
|
|
3
|
-
description: リリース完了報告書を作成。release_plan.md・iteration_report・git log・CHANGELOG・journal からデータを収集し、テンプレートに基づいて報告書を生成する。「リリース完了報告書を作りたい」「リリースレポートを作成して」「v0.1.0 の報告書を作成」「リリースの振り返りをまとめたい」「プロジェクト完了報告書を書きたい」といった場面で発動する。リリースごとの成果を定量的に可視化し、プロジェクトの透明性と説明責任を確保する。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# リリース完了報告書の作成
|
|
7
|
-
|
|
8
|
-
リリース計画と開発ドキュメント群からデータを収集し、テンプレートに基づいてリリース完了報告書を作成する。
|
|
9
|
-
|
|
10
|
-
報告書の価値は「何を達成したか」を定量的に示すこと。計画と実績の差異分析、品質メトリクス、コミットログ分析を通じて、プロジェクトの透明性を確保し、次のリリースへの知見を蓄積する。
|
|
11
|
-
|
|
12
|
-
## テンプレート
|
|
13
|
-
|
|
14
|
-
@docs/template/リリース完了報告書.md
|
|
15
|
-
|
|
16
|
-
## オプション
|
|
17
|
-
|
|
18
|
-
| オプション | 説明 |
|
|
19
|
-
|-----------|------|
|
|
20
|
-
| なし | 対話的にリリースバージョンを確認して報告書を作成 |
|
|
21
|
-
| `--version <バージョン>` | 指定バージョンのリリース完了報告書を作成 |
|
|
22
|
-
| `--all` | 未作成の全リリースの報告書を一括作成 |
|
|
23
|
-
|
|
24
|
-
## 前提条件
|
|
25
|
-
|
|
26
|
-
以下のファイルが存在すること:
|
|
27
|
-
|
|
28
|
-
- `docs/development/release_plan.md` — リリース計画(Single Source of Truth)
|
|
29
|
-
- `docs/development/iteration_report-{N}.md` — 対象イテレーションの完了報告書
|
|
30
|
-
- `CHANGELOG.md` — 対象バージョンのエントリ
|
|
31
|
-
- git タグ(`v{バージョン}`)が打たれていること
|
|
32
|
-
|
|
33
|
-
## 作成フロー
|
|
34
|
-
|
|
35
|
-
```mermaid
|
|
36
|
-
graph TD
|
|
37
|
-
A[バージョン特定] --> B[データ収集]
|
|
38
|
-
B --> C[ジャーナル生成]
|
|
39
|
-
C --> D[報告書作成]
|
|
40
|
-
D --> E[インデックス更新]
|
|
41
|
-
E --> F[完了]
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
### Step 1: バージョン特定
|
|
45
|
-
|
|
46
|
-
release_plan.md のリリース履歴と git タグから対象バージョンを特定する。
|
|
47
|
-
|
|
48
|
-
- リリースに含まれるイテレーション範囲を確認
|
|
49
|
-
- 対象ストーリーとフェーズを確認
|
|
50
|
-
|
|
51
|
-
### Step 2: データ収集
|
|
52
|
-
|
|
53
|
-
5 つのデータソースから報告書に必要な情報を収集する。
|
|
54
|
-
|
|
55
|
-
#### 2.1 リリース計画(`docs/development/release_plan.md`)
|
|
56
|
-
|
|
57
|
-
- プロジェクト情報(名称・目的・チーム規模)
|
|
58
|
-
- フェーズ別ストーリー一覧と SP
|
|
59
|
-
- イテレーション別の計画 SP・実績 SP・達成率
|
|
60
|
-
- 計画スケジュール(ガントチャート用の日付)
|
|
61
|
-
- リリース条件の達成状況
|
|
62
|
-
|
|
63
|
-
#### 2.2 イテレーション完了報告書(`docs/development/iteration_report-{N}.md`)
|
|
64
|
-
|
|
65
|
-
- 各イテレーションの日程(計画期間・実績期間・実績日数)
|
|
66
|
-
- テスト結果(Backend / Frontend / E2E のテスト数)
|
|
67
|
-
- テストカバレッジ
|
|
68
|
-
- SonarQube Quality Gate 結果
|
|
69
|
-
- ストーリー別の完了状況
|
|
70
|
-
|
|
71
|
-
#### 2.3 コミットログ(git)
|
|
72
|
-
|
|
73
|
-
```bash
|
|
74
|
-
# 対象リリースまでのコミット数
|
|
75
|
-
git log --oneline --no-merges <TAG> | wc -l
|
|
76
|
-
|
|
77
|
-
# プリフィックス別内訳
|
|
78
|
-
git log --oneline --no-merges <TAG> --format="%s" | sed 's/(.*//' | sed 's/:.*//' | sort | uniq -c | sort -rn
|
|
79
|
-
|
|
80
|
-
# 開発期間
|
|
81
|
-
git log --oneline --no-merges <TAG> --format="%ai" | tail -1 # 最初のコミット
|
|
82
|
-
git log --oneline --no-merges <TAG> --format="%ai" | head -1 # 最後のコミット
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
#### 2.4 CHANGELOG(`CHANGELOG.md`)
|
|
86
|
-
|
|
87
|
-
- 対象バージョンの Features / Bug Fixes / Documentation / Tests の内訳
|
|
88
|
-
|
|
89
|
-
#### 2.5 ジャーナル(`docs/journal/YYYYMMDD.md`)
|
|
90
|
-
|
|
91
|
-
- 日付ごとの詳細な作業内容
|
|
92
|
-
|
|
93
|
-
ジャーナルが未生成の場合は `npm run journal` を実行して生成する。
|
|
94
|
-
|
|
95
|
-
### Step 3: 報告書作成
|
|
96
|
-
|
|
97
|
-
テンプレート(`docs/template/リリース完了報告書.md`)を基に、収集データでプレースホルダーを埋める。
|
|
98
|
-
|
|
99
|
-
**出力ファイル命名規則**:
|
|
100
|
-
|
|
101
|
-
```
|
|
102
|
-
docs/development/release_report-{バージョン(ドットをアンダースコアに置換)}.md
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
例: `release_report-0_1_0.md`、`release_report-0_2_0.md`
|
|
106
|
-
|
|
107
|
-
**各セクションの作成ポイント**:
|
|
108
|
-
|
|
109
|
-
| セクション | データソース | ポイント |
|
|
110
|
-
|-----------|------------|---------|
|
|
111
|
-
| プロジェクトサマリー | release_plan.md + git log | 総コミット数・テスト数は実測値を使用 |
|
|
112
|
-
| イテレーション別達成状況 | release_plan.md 進捗状況テーブル | 計画 SP と実績 SP をそのまま転記 |
|
|
113
|
-
| 計画日程 vs 実績日数 | iteration_report-*.md | 計画期間と実績期間から短縮率を算出 |
|
|
114
|
-
| コミットログ分析 | git log | プリフィックス別の件数と割合を算出 |
|
|
115
|
-
| 品質メトリクス | iteration_report-*.md | リリース時点(最終 IT)のカバレッジを使用 |
|
|
116
|
-
| ベロシティ | release_plan.md | 平均・最大・最小を算出 |
|
|
117
|
-
| 主要な成果物 | CHANGELOG.md + user_story.md | ストーリー単位で実装内容をまとめる |
|
|
118
|
-
| 作業履歴 | docs/journal/ | 日付ごとの主要な作業を要約 |
|
|
119
|
-
|
|
120
|
-
**Mermaid チャート**:
|
|
121
|
-
|
|
122
|
-
- バーンダウンチャート: `xychart-beta` で計画 vs 実績の折れ線
|
|
123
|
-
- ガントチャート: `gantt` で計画 vs 実績のスケジュール比較
|
|
124
|
-
- ベロシティ: `xychart-beta` で棒グラフ + 平均線
|
|
125
|
-
- コミット内訳: `pie showData` でパイチャート
|
|
126
|
-
- テスト推移: `xychart-beta` で棒グラフ
|
|
127
|
-
|
|
128
|
-
### Step 4: インデックス更新
|
|
129
|
-
|
|
130
|
-
作成した報告書を以下の 3 ファイルに登録する:
|
|
131
|
-
|
|
132
|
-
1. `docs/development/index.md` — リリース完了報告書セクションにエントリ追加
|
|
133
|
-
2. `docs/index.md` — 開発セクションにエントリ追加
|
|
134
|
-
3. `mkdocs.yml` — nav の開発セクションにエントリ追加
|
|
135
|
-
|
|
136
|
-
## 途中から再開
|
|
137
|
-
|
|
138
|
-
報告書作成の途中から再開する場合は、既存の報告書ファイルを確認する。
|
|
139
|
-
|
|
140
|
-
**Example:**
|
|
141
|
-
|
|
142
|
-
```
|
|
143
|
-
ユーザー: 「v0.2.0 のリリース完了報告書を作って」
|
|
144
|
-
回答: docs/development/release_report-0_2_0.md の存在を確認し、
|
|
145
|
-
なければ release_plan.md から IT4-5 のデータを収集して作成する。
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
## 注意事項
|
|
149
|
-
|
|
150
|
-
- release_plan.md を Single Source of Truth として扱い、データの不整合がある場合は release_plan.md を優先する
|
|
151
|
-
- コミット数・テスト数は git log や iteration_report の実測値を使用し、推測値を使わない
|
|
152
|
-
- Mermaid チャートの数値は必ずデータソースと照合する
|
|
153
|
-
- 工期短縮率の算出は「(計画日数 - 実績日数) / 計画日数 × 100」で統一する
|
|
154
|
-
|
|
155
|
-
## 関連スキル
|
|
156
|
-
|
|
157
|
-
- `planning-releases` — リリース計画の作成と管理
|
|
158
|
-
- `tracking-progress` — 進捗分析・レポート生成
|
|
159
|
-
- `developing-release` — リリースワークフロー(品質ゲート→バージョンバンプ→タグ)
|
|
160
|
-
- `operating-docs` — ドキュメントインデックス更新
|
|
161
|
-
- `orchestrating-project` — 計画・進捗管理フェーズ全体のオーケストレーション
|
|
1
|
+
---
|
|
2
|
+
name: creating-release-report
|
|
3
|
+
description: リリース完了報告書を作成。release_plan.md・iteration_report・git log・CHANGELOG・journal からデータを収集し、テンプレートに基づいて報告書を生成する。「リリース完了報告書を作りたい」「リリースレポートを作成して」「v0.1.0 の報告書を作成」「リリースの振り返りをまとめたい」「プロジェクト完了報告書を書きたい」といった場面で発動する。リリースごとの成果を定量的に可視化し、プロジェクトの透明性と説明責任を確保する。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# リリース完了報告書の作成
|
|
7
|
+
|
|
8
|
+
リリース計画と開発ドキュメント群からデータを収集し、テンプレートに基づいてリリース完了報告書を作成する。
|
|
9
|
+
|
|
10
|
+
報告書の価値は「何を達成したか」を定量的に示すこと。計画と実績の差異分析、品質メトリクス、コミットログ分析を通じて、プロジェクトの透明性を確保し、次のリリースへの知見を蓄積する。
|
|
11
|
+
|
|
12
|
+
## テンプレート
|
|
13
|
+
|
|
14
|
+
@docs/template/リリース完了報告書.md
|
|
15
|
+
|
|
16
|
+
## オプション
|
|
17
|
+
|
|
18
|
+
| オプション | 説明 |
|
|
19
|
+
|-----------|------|
|
|
20
|
+
| なし | 対話的にリリースバージョンを確認して報告書を作成 |
|
|
21
|
+
| `--version <バージョン>` | 指定バージョンのリリース完了報告書を作成 |
|
|
22
|
+
| `--all` | 未作成の全リリースの報告書を一括作成 |
|
|
23
|
+
|
|
24
|
+
## 前提条件
|
|
25
|
+
|
|
26
|
+
以下のファイルが存在すること:
|
|
27
|
+
|
|
28
|
+
- `docs/development/release_plan.md` — リリース計画(Single Source of Truth)
|
|
29
|
+
- `docs/development/iteration_report-{N}.md` — 対象イテレーションの完了報告書
|
|
30
|
+
- `CHANGELOG.md` — 対象バージョンのエントリ
|
|
31
|
+
- git タグ(`v{バージョン}`)が打たれていること
|
|
32
|
+
|
|
33
|
+
## 作成フロー
|
|
34
|
+
|
|
35
|
+
```mermaid
|
|
36
|
+
graph TD
|
|
37
|
+
A[バージョン特定] --> B[データ収集]
|
|
38
|
+
B --> C[ジャーナル生成]
|
|
39
|
+
C --> D[報告書作成]
|
|
40
|
+
D --> E[インデックス更新]
|
|
41
|
+
E --> F[完了]
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Step 1: バージョン特定
|
|
45
|
+
|
|
46
|
+
release_plan.md のリリース履歴と git タグから対象バージョンを特定する。
|
|
47
|
+
|
|
48
|
+
- リリースに含まれるイテレーション範囲を確認
|
|
49
|
+
- 対象ストーリーとフェーズを確認
|
|
50
|
+
|
|
51
|
+
### Step 2: データ収集
|
|
52
|
+
|
|
53
|
+
5 つのデータソースから報告書に必要な情報を収集する。
|
|
54
|
+
|
|
55
|
+
#### 2.1 リリース計画(`docs/development/release_plan.md`)
|
|
56
|
+
|
|
57
|
+
- プロジェクト情報(名称・目的・チーム規模)
|
|
58
|
+
- フェーズ別ストーリー一覧と SP
|
|
59
|
+
- イテレーション別の計画 SP・実績 SP・達成率
|
|
60
|
+
- 計画スケジュール(ガントチャート用の日付)
|
|
61
|
+
- リリース条件の達成状況
|
|
62
|
+
|
|
63
|
+
#### 2.2 イテレーション完了報告書(`docs/development/iteration_report-{N}.md`)
|
|
64
|
+
|
|
65
|
+
- 各イテレーションの日程(計画期間・実績期間・実績日数)
|
|
66
|
+
- テスト結果(Backend / Frontend / E2E のテスト数)
|
|
67
|
+
- テストカバレッジ
|
|
68
|
+
- SonarQube Quality Gate 結果
|
|
69
|
+
- ストーリー別の完了状況
|
|
70
|
+
|
|
71
|
+
#### 2.3 コミットログ(git)
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
# 対象リリースまでのコミット数
|
|
75
|
+
git log --oneline --no-merges <TAG> | wc -l
|
|
76
|
+
|
|
77
|
+
# プリフィックス別内訳
|
|
78
|
+
git log --oneline --no-merges <TAG> --format="%s" | sed 's/(.*//' | sed 's/:.*//' | sort | uniq -c | sort -rn
|
|
79
|
+
|
|
80
|
+
# 開発期間
|
|
81
|
+
git log --oneline --no-merges <TAG> --format="%ai" | tail -1 # 最初のコミット
|
|
82
|
+
git log --oneline --no-merges <TAG> --format="%ai" | head -1 # 最後のコミット
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
#### 2.4 CHANGELOG(`CHANGELOG.md`)
|
|
86
|
+
|
|
87
|
+
- 対象バージョンの Features / Bug Fixes / Documentation / Tests の内訳
|
|
88
|
+
|
|
89
|
+
#### 2.5 ジャーナル(`docs/journal/YYYYMMDD.md`)
|
|
90
|
+
|
|
91
|
+
- 日付ごとの詳細な作業内容
|
|
92
|
+
|
|
93
|
+
ジャーナルが未生成の場合は `npm run journal` を実行して生成する。
|
|
94
|
+
|
|
95
|
+
### Step 3: 報告書作成
|
|
96
|
+
|
|
97
|
+
テンプレート(`docs/template/リリース完了報告書.md`)を基に、収集データでプレースホルダーを埋める。
|
|
98
|
+
|
|
99
|
+
**出力ファイル命名規則**:
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
docs/development/release_report-{バージョン(ドットをアンダースコアに置換)}.md
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
例: `release_report-0_1_0.md`、`release_report-0_2_0.md`
|
|
106
|
+
|
|
107
|
+
**各セクションの作成ポイント**:
|
|
108
|
+
|
|
109
|
+
| セクション | データソース | ポイント |
|
|
110
|
+
|-----------|------------|---------|
|
|
111
|
+
| プロジェクトサマリー | release_plan.md + git log | 総コミット数・テスト数は実測値を使用 |
|
|
112
|
+
| イテレーション別達成状況 | release_plan.md 進捗状況テーブル | 計画 SP と実績 SP をそのまま転記 |
|
|
113
|
+
| 計画日程 vs 実績日数 | iteration_report-*.md | 計画期間と実績期間から短縮率を算出 |
|
|
114
|
+
| コミットログ分析 | git log | プリフィックス別の件数と割合を算出 |
|
|
115
|
+
| 品質メトリクス | iteration_report-*.md | リリース時点(最終 IT)のカバレッジを使用 |
|
|
116
|
+
| ベロシティ | release_plan.md | 平均・最大・最小を算出 |
|
|
117
|
+
| 主要な成果物 | CHANGELOG.md + user_story.md | ストーリー単位で実装内容をまとめる |
|
|
118
|
+
| 作業履歴 | docs/journal/ | 日付ごとの主要な作業を要約 |
|
|
119
|
+
|
|
120
|
+
**Mermaid チャート**:
|
|
121
|
+
|
|
122
|
+
- バーンダウンチャート: `xychart-beta` で計画 vs 実績の折れ線
|
|
123
|
+
- ガントチャート: `gantt` で計画 vs 実績のスケジュール比較
|
|
124
|
+
- ベロシティ: `xychart-beta` で棒グラフ + 平均線
|
|
125
|
+
- コミット内訳: `pie showData` でパイチャート
|
|
126
|
+
- テスト推移: `xychart-beta` で棒グラフ
|
|
127
|
+
|
|
128
|
+
### Step 4: インデックス更新
|
|
129
|
+
|
|
130
|
+
作成した報告書を以下の 3 ファイルに登録する:
|
|
131
|
+
|
|
132
|
+
1. `docs/development/index.md` — リリース完了報告書セクションにエントリ追加
|
|
133
|
+
2. `docs/index.md` — 開発セクションにエントリ追加
|
|
134
|
+
3. `mkdocs.yml` — nav の開発セクションにエントリ追加
|
|
135
|
+
|
|
136
|
+
## 途中から再開
|
|
137
|
+
|
|
138
|
+
報告書作成の途中から再開する場合は、既存の報告書ファイルを確認する。
|
|
139
|
+
|
|
140
|
+
**Example:**
|
|
141
|
+
|
|
142
|
+
```
|
|
143
|
+
ユーザー: 「v0.2.0 のリリース完了報告書を作って」
|
|
144
|
+
回答: docs/development/release_report-0_2_0.md の存在を確認し、
|
|
145
|
+
なければ release_plan.md から IT4-5 のデータを収集して作成する。
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
## 注意事項
|
|
149
|
+
|
|
150
|
+
- release_plan.md を Single Source of Truth として扱い、データの不整合がある場合は release_plan.md を優先する
|
|
151
|
+
- コミット数・テスト数は git log や iteration_report の実測値を使用し、推測値を使わない
|
|
152
|
+
- Mermaid チャートの数値は必ずデータソースと照合する
|
|
153
|
+
- 工期短縮率の算出は「(計画日数 - 実績日数) / 計画日数 × 100」で統一する
|
|
154
|
+
|
|
155
|
+
## 関連スキル
|
|
156
|
+
|
|
157
|
+
- `planning-releases` — リリース計画の作成と管理
|
|
158
|
+
- `tracking-progress` — 進捗分析・レポート生成
|
|
159
|
+
- `developing-release` — リリースワークフロー(品質ゲート→バージョンバンプ→タグ)
|
|
160
|
+
- `operating-docs` — ドキュメントインデックス更新
|
|
161
|
+
- `orchestrating-project` — 計画・進捗管理フェーズ全体のオーケストレーション
|
|
@@ -1,86 +1,86 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: creating-slides
|
|
3
|
-
description: Marp Markdown スライドデッキの作成・拡張・再生成を支援。PlantUML 図表、AI 画像バリアント、漫画画像バリアント、PPTX/HTML 出力に対応。`tmp/k2works-wiki/スライド/YYYYMMDD` などの日本語技術スライドフォルダの構築・更新、コードサンプル追加、ビジュアル要約スライド追加、`スライド.images.md` / `スライド.images.ai.md` / `スライド.images.ai.manga.md` の生成、Marp HTML/PPTX デッキの再生成時に使用。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Creating Slides
|
|
7
|
-
|
|
8
|
-
## Core Workflow
|
|
9
|
-
|
|
10
|
-
1. Read the target slide folder and the reference slide Markdown first.
|
|
11
|
-
- Check `スライド.md`, `スライド.images.md`, `スライド.images.ai.md`, and any manga variant if present.
|
|
12
|
-
- Use `rg` for headings, image references, code sample lists, and reference links.
|
|
13
|
-
2. Gather source material before editing.
|
|
14
|
-
- Prefer `docs/article` for conceptual content.
|
|
15
|
-
- Use `apps` or language-specific app folders for concrete code samples.
|
|
16
|
-
- Browse only when the user requests current external references or a live website.
|
|
17
|
-
3. Edit `スライド.md` as the canonical source.
|
|
18
|
-
- Keep Japanese prose concise.
|
|
19
|
-
- Keep Japanese and ASCII terms separated by a half-width space.
|
|
20
|
-
- Add code slides near related language groups.
|
|
21
|
-
- Update structure, comparison tables, and references when adding samples.
|
|
22
|
-
4. Regenerate derived Markdown and outputs.
|
|
23
|
-
- Run `scripts/slide_tools.py build <slide-dir>`.
|
|
24
|
-
- For AI image variants, ensure generated Markdown references `images-ai/diagram-ai-NN.png`.
|
|
25
|
-
- For manga variants, ensure generated Markdown references `images-manga/*.png`.
|
|
26
|
-
5. Verify outputs.
|
|
27
|
-
- Count PPTX slides with `unzip -Z1 '<deck>.pptx' 'ppt/slides/slide*.xml' | wc -l`.
|
|
28
|
-
- Open rendered HTML with Playwright when visual layout matters.
|
|
29
|
-
- Check representative slide screenshots, especially image-heavy and code-heavy slides.
|
|
30
|
-
- Remove temporary `render-check-*.png` files before finishing.
|
|
31
|
-
|
|
32
|
-
## Commands
|
|
33
|
-
|
|
34
|
-
Use the bundled script from this skill directory:
|
|
35
|
-
|
|
36
|
-
```bash
|
|
37
|
-
python ~/.codex/skills/creating-slides/scripts/slide_tools.py build tmp/k2works-wiki/スライド/20260602
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
Useful subcommands:
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
python ~/.codex/skills/creating-slides/scripts/slide_tools.py extract <slide-dir>
|
|
44
|
-
python ~/.codex/skills/creating-slides/scripts/slide_tools.py make-ai <slide-dir>
|
|
45
|
-
python ~/.codex/skills/creating-slides/scripts/slide_tools.py make-manga <slide-dir>
|
|
46
|
-
python ~/.codex/skills/creating-slides/scripts/slide_tools.py marp <slide-dir>
|
|
47
|
-
python ~/.codex/skills/creating-slides/scripts/slide_tools.py count <slide-dir>
|
|
48
|
-
python ~/.codex/skills/creating-slides/scripts/slide_tools.py split-summary <slide-dir> images-manga/summary-manga.png
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
## Image Variants
|
|
52
|
-
|
|
53
|
-
Use the `imagegen` skill when creating new AI or manga bitmap assets.
|
|
54
|
-
|
|
55
|
-
Project-bound generated images must be copied into the slide folder, normally:
|
|
56
|
-
|
|
57
|
-
- `images-ai/diagram-ai-NN.png` for AI diagram replacements.
|
|
58
|
-
- `images-manga/manga-*.png` for manga story panels.
|
|
59
|
-
- `images-manga/summary-manga.png` and split files for tall summary comics.
|
|
60
|
-
|
|
61
|
-
For tall manga summaries, do not place the full vertical image on one 16:9 slide. Split it into section images and use multiple slides so text remains readable:
|
|
62
|
-
|
|
63
|
-
```bash
|
|
64
|
-
python ~/.codex/skills/creating-slides/scripts/slide_tools.py split-summary <slide-dir> images-manga/summary-manga.png --parts 5
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
Then replace a single summary image slide with numbered slides that reference the split files.
|
|
68
|
-
|
|
69
|
-
## Manga Markdown Pattern
|
|
70
|
-
|
|
71
|
-
When converting AI Markdown to a manga variant, preserve prose and replace only diagram image references with `figure.diagram` blocks:
|
|
72
|
-
|
|
73
|
-
```html
|
|
74
|
-
<figure class="diagram wide">
|
|
75
|
-
<img src="images-manga/manga-01-overview.png" alt="...">
|
|
76
|
-
</figure>
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
Read `references/manga-css.md` when a manga variant needs CSS or layout tuning.
|
|
80
|
-
|
|
81
|
-
## Validation Notes
|
|
82
|
-
|
|
83
|
-
- Marp PPTX generation needs `--allow-local-files` when local images are referenced.
|
|
84
|
-
- `npx --yes @marp-team/marp-cli` is the expected renderer unless the project has a local renderer.
|
|
85
|
-
- PlantUML must be available for diagram rendering; if missing, report that diagram PNG generation could not be completed.
|
|
86
|
-
- If HTML keyboard navigation jumps unexpectedly during Playwright checks, inspect the DOM for `section` elements and image sizes directly.
|
|
1
|
+
---
|
|
2
|
+
name: creating-slides
|
|
3
|
+
description: Marp Markdown スライドデッキの作成・拡張・再生成を支援。PlantUML 図表、AI 画像バリアント、漫画画像バリアント、PPTX/HTML 出力に対応。`tmp/k2works-wiki/スライド/YYYYMMDD` などの日本語技術スライドフォルダの構築・更新、コードサンプル追加、ビジュアル要約スライド追加、`スライド.images.md` / `スライド.images.ai.md` / `スライド.images.ai.manga.md` の生成、Marp HTML/PPTX デッキの再生成時に使用。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Creating Slides
|
|
7
|
+
|
|
8
|
+
## Core Workflow
|
|
9
|
+
|
|
10
|
+
1. Read the target slide folder and the reference slide Markdown first.
|
|
11
|
+
- Check `スライド.md`, `スライド.images.md`, `スライド.images.ai.md`, and any manga variant if present.
|
|
12
|
+
- Use `rg` for headings, image references, code sample lists, and reference links.
|
|
13
|
+
2. Gather source material before editing.
|
|
14
|
+
- Prefer `docs/article` for conceptual content.
|
|
15
|
+
- Use `apps` or language-specific app folders for concrete code samples.
|
|
16
|
+
- Browse only when the user requests current external references or a live website.
|
|
17
|
+
3. Edit `スライド.md` as the canonical source.
|
|
18
|
+
- Keep Japanese prose concise.
|
|
19
|
+
- Keep Japanese and ASCII terms separated by a half-width space.
|
|
20
|
+
- Add code slides near related language groups.
|
|
21
|
+
- Update structure, comparison tables, and references when adding samples.
|
|
22
|
+
4. Regenerate derived Markdown and outputs.
|
|
23
|
+
- Run `scripts/slide_tools.py build <slide-dir>`.
|
|
24
|
+
- For AI image variants, ensure generated Markdown references `images-ai/diagram-ai-NN.png`.
|
|
25
|
+
- For manga variants, ensure generated Markdown references `images-manga/*.png`.
|
|
26
|
+
5. Verify outputs.
|
|
27
|
+
- Count PPTX slides with `unzip -Z1 '<deck>.pptx' 'ppt/slides/slide*.xml' | wc -l`.
|
|
28
|
+
- Open rendered HTML with Playwright when visual layout matters.
|
|
29
|
+
- Check representative slide screenshots, especially image-heavy and code-heavy slides.
|
|
30
|
+
- Remove temporary `render-check-*.png` files before finishing.
|
|
31
|
+
|
|
32
|
+
## Commands
|
|
33
|
+
|
|
34
|
+
Use the bundled script from this skill directory:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
python ~/.codex/skills/creating-slides/scripts/slide_tools.py build tmp/k2works-wiki/スライド/20260602
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Useful subcommands:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
python ~/.codex/skills/creating-slides/scripts/slide_tools.py extract <slide-dir>
|
|
44
|
+
python ~/.codex/skills/creating-slides/scripts/slide_tools.py make-ai <slide-dir>
|
|
45
|
+
python ~/.codex/skills/creating-slides/scripts/slide_tools.py make-manga <slide-dir>
|
|
46
|
+
python ~/.codex/skills/creating-slides/scripts/slide_tools.py marp <slide-dir>
|
|
47
|
+
python ~/.codex/skills/creating-slides/scripts/slide_tools.py count <slide-dir>
|
|
48
|
+
python ~/.codex/skills/creating-slides/scripts/slide_tools.py split-summary <slide-dir> images-manga/summary-manga.png
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Image Variants
|
|
52
|
+
|
|
53
|
+
Use the `imagegen` skill when creating new AI or manga bitmap assets.
|
|
54
|
+
|
|
55
|
+
Project-bound generated images must be copied into the slide folder, normally:
|
|
56
|
+
|
|
57
|
+
- `images-ai/diagram-ai-NN.png` for AI diagram replacements.
|
|
58
|
+
- `images-manga/manga-*.png` for manga story panels.
|
|
59
|
+
- `images-manga/summary-manga.png` and split files for tall summary comics.
|
|
60
|
+
|
|
61
|
+
For tall manga summaries, do not place the full vertical image on one 16:9 slide. Split it into section images and use multiple slides so text remains readable:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
python ~/.codex/skills/creating-slides/scripts/slide_tools.py split-summary <slide-dir> images-manga/summary-manga.png --parts 5
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Then replace a single summary image slide with numbered slides that reference the split files.
|
|
68
|
+
|
|
69
|
+
## Manga Markdown Pattern
|
|
70
|
+
|
|
71
|
+
When converting AI Markdown to a manga variant, preserve prose and replace only diagram image references with `figure.diagram` blocks:
|
|
72
|
+
|
|
73
|
+
```html
|
|
74
|
+
<figure class="diagram wide">
|
|
75
|
+
<img src="images-manga/manga-01-overview.png" alt="...">
|
|
76
|
+
</figure>
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Read `references/manga-css.md` when a manga variant needs CSS or layout tuning.
|
|
80
|
+
|
|
81
|
+
## Validation Notes
|
|
82
|
+
|
|
83
|
+
- Marp PPTX generation needs `--allow-local-files` when local images are referenced.
|
|
84
|
+
- `npx --yes @marp-team/marp-cli` is the expected renderer unless the project has a local renderer.
|
|
85
|
+
- PlantUML must be available for diagram rendering; if missing, report that diagram PNG generation could not be completed.
|
|
86
|
+
- If HTML keyboard navigation jumps unexpectedly during Playwright checks, inspect the DOM for `section` elements and image sizes directly.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
interface:
|
|
2
|
-
display_name: "Create Slides"
|
|
3
|
-
short_description: "Create Marp slide decks with visual variants"
|
|
4
|
-
default_prompt: "Use $creating-slides to create a Marp slide deck with image and manga variants."
|
|
1
|
+
interface:
|
|
2
|
+
display_name: "Create Slides"
|
|
3
|
+
short_description: "Create Marp slide decks with visual variants"
|
|
4
|
+
default_prompt: "Use $creating-slides to create a Marp slide deck with image and manga variants."
|