aiwf 0.3.22 → 0.4.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.
Files changed (456) hide show
  1. package/.claude-plugin/marketplace.json +146 -0
  2. package/CHANGELOG.md +49 -1
  3. package/README.ko.md +118 -309
  4. package/README.md +68 -254
  5. package/docs/modernization/BROWNFIELD-GREENFIELD.ko.md +105 -0
  6. package/docs/modernization/CLAUDE-PLAN-REVIEW-2026-10-03.ko.md +77 -0
  7. package/docs/modernization/CLI-PRODUCTIVITY-REVIEWED-2026-10-03.ko.md +177 -0
  8. package/docs/modernization/CLI-PRODUCTIVITY.ko.md +193 -0
  9. package/docs/modernization/CORE-PACKAGE-PLAN.md +7 -0
  10. package/docs/modernization/DEEP-REVERSE-ENGINEERING.ko.md +88 -0
  11. package/docs/modernization/DELEGATION-OPTIONAL.ko.md +57 -0
  12. package/docs/modernization/DIRECTION.ko.md +56 -0
  13. package/docs/modernization/FULL-TEST-2026-10-03.md +49 -0
  14. package/docs/modernization/LEGACY-REMOVAL-PLAN.md +9 -0
  15. package/docs/modernization/PILOT-RESULT-2026-10-03.ko.md +85 -0
  16. package/docs/modernization/PILOT-UC-001.ko.md +79 -0
  17. package/docs/modernization/PLAN.md +28 -0
  18. package/docs/modernization/SKILLS.ko.md +105 -0
  19. package/docs/modernization/SPRINTABLE.ko.md +47 -0
  20. package/docs/modernization/SYNC-DOCS-VALIDATION-2026-10-04.ko.md +38 -0
  21. package/docs/modernization/VALIDATION.md +79 -0
  22. package/docs/modernization/evidence/example-review-packet.json +115 -0
  23. package/docs/modernization/evidence/example-spec-pin.json +48 -0
  24. package/docs/modernization/evidence/full-test-20261003/claude-lint.md +22 -0
  25. package/docs/modernization/evidence/full-test-20261003/claude-review-retry.md +56 -0
  26. package/docs/modernization/evidence/full-test-20261003/codex-review-packet.json +159 -0
  27. package/docs/modernization/evidence/full-test-20261003/src/expense.mjs +40 -0
  28. package/docs/modernization/evidence/full-test-20261003/summary.json +106 -0
  29. package/docs/modernization/evidence/full-test-20261003/tests/expense.test.mjs +61 -0
  30. package/docs/modernization/evidence/local-pilot-20261003/README.ko.md +40 -0
  31. package/docs/modernization/evidence/local-pilot-20261003/execution.json +1055 -0
  32. package/docs/modernization/evidence/local-pilot-20261003/maintenance/dependencies.json +24 -0
  33. package/docs/modernization/evidence/local-pilot-20261003/maintenance/dependencies.stderr.txt +0 -0
  34. package/docs/modernization/evidence/local-pilot-20261003/maintenance/dependencies.stdout.txt +5 -0
  35. package/docs/modernization/evidence/local-pilot-20261003/maintenance/docs.json +24 -0
  36. package/docs/modernization/evidence/local-pilot-20261003/maintenance/docs.stderr.txt +0 -0
  37. package/docs/modernization/evidence/local-pilot-20261003/maintenance/docs.stdout.txt +6 -0
  38. package/docs/modernization/evidence/local-pilot-20261003/maintenance/example.json +24 -0
  39. package/docs/modernization/evidence/local-pilot-20261003/maintenance/example.stderr.txt +0 -0
  40. package/docs/modernization/evidence/local-pilot-20261003/maintenance/example.stdout.txt +5 -0
  41. package/docs/modernization/evidence/local-pilot-20261003/maintenance/local-docs.json +24 -0
  42. package/docs/modernization/evidence/local-pilot-20261003/maintenance/local-docs.stderr.txt +0 -0
  43. package/docs/modernization/evidence/local-pilot-20261003/maintenance/local-docs.stdout.txt +6 -0
  44. package/docs/modernization/evidence/local-pilot-20261003/maintenance/node.json +23 -0
  45. package/docs/modernization/evidence/local-pilot-20261003/maintenance/node.stderr.txt +0 -0
  46. package/docs/modernization/evidence/local-pilot-20261003/maintenance/node.stdout.txt +535 -0
  47. package/docs/modernization/evidence/local-pilot-20261003/maintenance/provenance.json +24 -0
  48. package/docs/modernization/evidence/local-pilot-20261003/maintenance/provenance.stderr.txt +0 -0
  49. package/docs/modernization/evidence/local-pilot-20261003/maintenance/provenance.stdout.txt +5 -0
  50. package/docs/modernization/evidence/local-pilot-20261003/maintenance/readme-replay.json +24 -0
  51. package/docs/modernization/evidence/local-pilot-20261003/maintenance/readme-replay.stderr.txt +0 -0
  52. package/docs/modernization/evidence/local-pilot-20261003/maintenance/readme-replay.stdout.txt +273 -0
  53. package/docs/modernization/evidence/local-pilot-20261003/maintenance/upstream.json +24 -0
  54. package/docs/modernization/evidence/local-pilot-20261003/maintenance/upstream.stderr.txt +0 -0
  55. package/docs/modernization/evidence/local-pilot-20261003/maintenance/upstream.stdout.txt +7 -0
  56. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/archive-service.stderr.txt +0 -0
  57. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/archive-service.stdout.txt +148 -0
  58. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/archive-structure.stderr.txt +0 -0
  59. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/archive-structure.stdout.txt +9 -0
  60. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/baseline-check.stderr.txt +0 -0
  61. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/baseline-check.stdout.txt +67 -0
  62. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/baseline-evidence.json +34 -0
  63. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/baseline-packet.json +128 -0
  64. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/baseline-packet.stderr.txt +0 -0
  65. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/baseline-packet.stdout.txt +128 -0
  66. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/baseline-pin.json +54 -0
  67. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/baseline-pin.stderr.txt +0 -0
  68. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/baseline-pin.stdout.txt +60 -0
  69. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/baseline-readback.json +15 -0
  70. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/baseline-service.stderr.txt +0 -0
  71. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/baseline-service.stdout.txt +82 -0
  72. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/baseline-structure.stderr.txt +0 -0
  73. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/baseline-structure.stdout.txt +9 -0
  74. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/changed-check.stderr.txt +0 -0
  75. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/changed-check.stdout.txt +79 -0
  76. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/changed-packet-refused.stderr.txt +0 -0
  77. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/changed-packet-refused.stdout.txt +7 -0
  78. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/changed-pin-refresh.stderr.txt +0 -0
  79. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/changed-pin-refresh.stdout.txt +66 -0
  80. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/changed-pin.json +60 -0
  81. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/changed-structure.stderr.txt +0 -0
  82. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/changed-structure.stdout.txt +9 -0
  83. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/final-check.stderr.txt +0 -0
  84. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/final-check.stdout.txt +73 -0
  85. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/final-evidence.json +34 -0
  86. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/final-packet.json +134 -0
  87. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/final-packet.stderr.txt +0 -0
  88. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/final-packet.stdout.txt +134 -0
  89. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/final-readback.json +15 -0
  90. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/final-service.stderr.txt +0 -0
  91. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/final-service.stdout.txt +148 -0
  92. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/final-structure.stderr.txt +0 -0
  93. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/final-structure.stdout.txt +9 -0
  94. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/node-version.stderr.txt +0 -0
  95. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/node-version.stdout.txt +1 -0
  96. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/python-version.stderr.txt +0 -0
  97. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/python-version.stdout.txt +1 -0
  98. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/red-evidence.json +34 -0
  99. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/red-packet.json +134 -0
  100. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/red-packet.stderr.txt +0 -0
  101. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/red-packet.stdout.txt +134 -0
  102. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/red-readback.json +15 -0
  103. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/red-service.stderr.txt +0 -0
  104. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/red-service.stdout.txt +266 -0
  105. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/red-structure.stderr.txt +0 -0
  106. package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/red-structure.stdout.txt +9 -0
  107. package/docs/modernization/evidence/local-pilot-20261003/project/docs/entity_model.md +33 -0
  108. package/docs/modernization/evidence/local-pilot-20261003/project/docs/glossary.md +9 -0
  109. package/docs/modernization/evidence/local-pilot-20261003/project/docs/plans/UC-001.md +20 -0
  110. package/docs/modernization/evidence/local-pilot-20261003/project/docs/requirements.md +10 -0
  111. package/docs/modernization/evidence/local-pilot-20261003/project/docs/test_cases/TC-001-submit-expense.md +37 -0
  112. package/docs/modernization/evidence/local-pilot-20261003/project/docs/test_cases/TC-002-description-limit.md +42 -0
  113. package/docs/modernization/evidence/local-pilot-20261003/project/docs/use_cases/UC-001-submit-expense.md +76 -0
  114. package/docs/modernization/evidence/local-pilot-20261003/project/docs/use_cases.puml +12 -0
  115. package/docs/modernization/evidence/local-pilot-20261003/project/docs/vision.md +21 -0
  116. package/docs/modernization/evidence/local-pilot-20261003/project/src/expense.mjs +48 -0
  117. package/docs/modernization/evidence/local-pilot-20261003/project/tests/expense.test.mjs +116 -0
  118. package/docs/modernization/evidence/local-pilot-20261003/scope.json +31 -0
  119. package/docs/modernization/reviews/2026-10-03-claude-cli/CONTRACTS.ko.md +122 -0
  120. package/docs/modernization/reviews/2026-10-03-claude-cli/DIRECTION.ko.md +84 -0
  121. package/examples/spec-workflow/README.md +54 -0
  122. package/examples/spec-workflow/docs/entity_model.md +33 -0
  123. package/examples/spec-workflow/docs/glossary.md +9 -0
  124. package/examples/spec-workflow/docs/requirements.md +10 -0
  125. package/examples/spec-workflow/docs/test_cases/TC-001-submit-expense.md +37 -0
  126. package/examples/spec-workflow/docs/use_cases/UC-001-submit-expense.md +63 -0
  127. package/examples/spec-workflow/docs/use_cases.puml +12 -0
  128. package/examples/spec-workflow/docs/vision.md +21 -0
  129. package/package.json +37 -104
  130. package/plugins/aiwf-angular-jpa/.claude-plugin/plugin.json +11 -0
  131. package/plugins/aiwf-angular-jpa/LICENSE +201 -0
  132. package/plugins/aiwf-angular-jpa/NOTICE +16 -0
  133. package/plugins/aiwf-angular-jpa/README.md +54 -0
  134. package/plugins/aiwf-angular-jpa/UPSTREAM.json +35 -0
  135. package/plugins/aiwf-angular-jpa/agents/uc-coverage.md +263 -0
  136. package/plugins/aiwf-angular-jpa/rules/mcp-servers.md +64 -0
  137. package/plugins/aiwf-angular-jpa/skills/coverage-check/SKILL.md +190 -0
  138. package/plugins/aiwf-angular-jpa/skills/flyway-migration/SKILL.md +119 -0
  139. package/plugins/aiwf-angular-jpa/skills/implement/SKILL.md +528 -0
  140. package/plugins/aiwf-angular-jpa/skills/implement/references/module-layout.md +95 -0
  141. package/plugins/aiwf-angular-jpa/skills/playwright-test/SKILL.md +360 -0
  142. package/plugins/aiwf-angular-jpa/skills/spring-boot-test/SKILL.md +504 -0
  143. package/plugins/aiwf-angular-jpa/skills/vitest-test/SKILL.md +309 -0
  144. package/plugins/aiwf-blazor-dotnet/.claude-plugin/plugin.json +11 -0
  145. package/plugins/aiwf-blazor-dotnet/LICENSE +201 -0
  146. package/plugins/aiwf-blazor-dotnet/NOTICE +16 -0
  147. package/plugins/aiwf-blazor-dotnet/README.md +53 -0
  148. package/plugins/aiwf-blazor-dotnet/UPSTREAM.json +31 -0
  149. package/plugins/aiwf-blazor-dotnet/rules/mcp-servers.md +25 -0
  150. package/plugins/aiwf-blazor-dotnet/skills/bunit-test/SKILL.md +110 -0
  151. package/plugins/aiwf-blazor-dotnet/skills/dotnet-test/SKILL.md +108 -0
  152. package/plugins/aiwf-blazor-dotnet/skills/ef-migration/SKILL.md +43 -0
  153. package/plugins/aiwf-blazor-dotnet/skills/implement/SKILL.md +149 -0
  154. package/plugins/aiwf-blazor-dotnet/skills/playwright-test/SKILL.md +130 -0
  155. package/plugins/aiwf-core/.claude-plugin/plugin.json +11 -0
  156. package/plugins/aiwf-core/LICENSE +201 -0
  157. package/plugins/aiwf-core/NOTICE +20 -0
  158. package/plugins/aiwf-core/README.md +38 -0
  159. package/plugins/aiwf-core/UPSTREAM.json +50 -0
  160. package/plugins/aiwf-core/skills/entity-model/SKILL.md +160 -0
  161. package/plugins/aiwf-core/skills/entity-model/references/REFERENCE.md +36 -0
  162. package/plugins/aiwf-core/skills/requirements/SKILL.md +157 -0
  163. package/plugins/aiwf-core/skills/requirements/references/REFERENCE.md +70 -0
  164. package/plugins/aiwf-core/skills/requirements/references/glossary.md +7 -0
  165. package/plugins/aiwf-core/skills/reverse-engineer/SKILL.md +509 -0
  166. package/plugins/aiwf-core/skills/reverse-engineer/references/stack-signals.md +210 -0
  167. package/plugins/aiwf-core/skills/spec-review/SKILL.md +197 -0
  168. package/plugins/aiwf-core/skills/spec-review/references/lint-codes.md +63 -0
  169. package/plugins/aiwf-core/skills/spec-review/references/review-checklist.md +189 -0
  170. package/plugins/aiwf-core/skills/spec-review/scripts/spec_lint.py +1216 -0
  171. package/plugins/aiwf-core/skills/test-case/SKILL.md +138 -0
  172. package/plugins/aiwf-core/skills/test-case/references/example-process.bpmn +118 -0
  173. package/plugins/aiwf-core/skills/test-case/references/example.md +38 -0
  174. package/plugins/aiwf-core/skills/test-case/references/test-case.md +35 -0
  175. package/plugins/aiwf-core/skills/test-case/scripts/bpmn_paths.py +542 -0
  176. package/plugins/aiwf-core/skills/use-case-diagram/SKILL.md +99 -0
  177. package/plugins/aiwf-core/skills/use-case-spec/SKILL.md +257 -0
  178. package/plugins/aiwf-core/skills/use-case-spec/references/clarify-checklist.md +70 -0
  179. package/plugins/aiwf-core/skills/use-case-spec/references/example.md +88 -0
  180. package/plugins/aiwf-core/skills/use-case-spec/references/format-spec.md +246 -0
  181. package/plugins/aiwf-core/skills/use-case-spec/references/use-case.md +50 -0
  182. package/plugins/aiwf-core/skills/use-case-spec/scripts/validate_use_case.py +941 -0
  183. package/plugins/aiwf-delegate-claude/.claude-plugin/plugin.json +9 -0
  184. package/{src/lib/resources/templates/npm-library/template → plugins/aiwf-delegate-claude}/LICENSE +2 -2
  185. package/plugins/aiwf-delegate-claude/NOTICE +4 -0
  186. package/plugins/aiwf-delegate-claude/README.md +10 -0
  187. package/plugins/aiwf-delegate-claude/plugin.json +13 -0
  188. package/plugins/aiwf-delegate-claude/skills/delegate-claude/LICENSE +21 -0
  189. package/plugins/aiwf-delegate-claude/skills/delegate-claude/NOTICE +4 -0
  190. package/plugins/aiwf-delegate-claude/skills/delegate-claude/SKILL.md +49 -0
  191. package/plugins/aiwf-delegate-claude/skills/delegate-claude/agents/openai.yaml +2 -0
  192. package/plugins/aiwf-delegate-codex/.claude-plugin/plugin.json +9 -0
  193. package/plugins/aiwf-delegate-codex/LICENSE +21 -0
  194. package/plugins/aiwf-delegate-codex/NOTICE +4 -0
  195. package/plugins/aiwf-delegate-codex/README.md +10 -0
  196. package/plugins/aiwf-delegate-codex/plugin.json +13 -0
  197. package/plugins/aiwf-delegate-codex/skills/delegate-codex/LICENSE +21 -0
  198. package/plugins/aiwf-delegate-codex/skills/delegate-codex/NOTICE +4 -0
  199. package/plugins/aiwf-delegate-codex/skills/delegate-codex/SKILL.md +47 -0
  200. package/plugins/aiwf-delegate-codex/skills/delegate-codex/agents/openai.yaml +2 -0
  201. package/plugins/aiwf-nestjs-nextjs/.claude-plugin/plugin.json +11 -0
  202. package/plugins/aiwf-nestjs-nextjs/LICENSE +201 -0
  203. package/plugins/aiwf-nestjs-nextjs/NOTICE +16 -0
  204. package/plugins/aiwf-nestjs-nextjs/README.md +53 -0
  205. package/plugins/aiwf-nestjs-nextjs/UPSTREAM.json +32 -0
  206. package/plugins/aiwf-nestjs-nextjs/rules/mcp-servers.md +59 -0
  207. package/plugins/aiwf-nestjs-nextjs/skills/drizzle-migration/SKILL.md +222 -0
  208. package/plugins/aiwf-nestjs-nextjs/skills/implement/SKILL.md +393 -0
  209. package/plugins/aiwf-nestjs-nextjs/skills/implement/references/project-layout.md +158 -0
  210. package/plugins/aiwf-nestjs-nextjs/skills/nest-test/SKILL.md +300 -0
  211. package/plugins/aiwf-nestjs-nextjs/skills/playwright-test/SKILL.md +245 -0
  212. package/plugins/aiwf-nestjs-nextjs/skills/react-test/SKILL.md +217 -0
  213. package/plugins/aiwf-spec/.claude-plugin/plugin.json +9 -0
  214. package/plugins/aiwf-spec/LICENSE +201 -0
  215. package/plugins/aiwf-spec/NOTICE +20 -0
  216. package/plugins/aiwf-spec/README.md +36 -0
  217. package/plugins/aiwf-spec/skills/sync-docs/SKILL.md +47 -0
  218. package/plugins/aiwf-spec/skills/workflow/SKILL.md +42 -0
  219. package/plugins/aiwf-vaadin-jooq/.claude-plugin/plugin.json +11 -0
  220. package/plugins/aiwf-vaadin-jooq/LICENSE +201 -0
  221. package/plugins/aiwf-vaadin-jooq/NOTICE +16 -0
  222. package/plugins/aiwf-vaadin-jooq/README.md +56 -0
  223. package/plugins/aiwf-vaadin-jooq/UPSTREAM.json +43 -0
  224. package/plugins/aiwf-vaadin-jooq/agents/uc-coverage.md +260 -0
  225. package/plugins/aiwf-vaadin-jooq/rules/mcp-servers.md +44 -0
  226. package/plugins/aiwf-vaadin-jooq/skills/browserless-test/SKILL.md +407 -0
  227. package/plugins/aiwf-vaadin-jooq/skills/browserless-test/references/UC001ManagePersonsTest.java +111 -0
  228. package/plugins/aiwf-vaadin-jooq/skills/coverage-check/SKILL.md +190 -0
  229. package/plugins/aiwf-vaadin-jooq/skills/flyway-migration/SKILL.md +70 -0
  230. package/plugins/aiwf-vaadin-jooq/skills/hilla-test/SKILL.md +350 -0
  231. package/plugins/aiwf-vaadin-jooq/skills/hilla-test/references/UC001ManagePersonsServiceTest.java +81 -0
  232. package/plugins/aiwf-vaadin-jooq/skills/hilla-test/references/UC001ManagePersonsViewTest.tsx +87 -0
  233. package/plugins/aiwf-vaadin-jooq/skills/implement/SKILL.md +196 -0
  234. package/plugins/aiwf-vaadin-jooq/skills/implement-hilla/SKILL.md +216 -0
  235. package/plugins/aiwf-vaadin-jooq/skills/karibu-test/SKILL.md +298 -0
  236. package/plugins/aiwf-vaadin-jooq/skills/karibu-test/references/UC001ManagePersonsTest.java +93 -0
  237. package/plugins/aiwf-vaadin-jooq/skills/playwright-test/SKILL.md +237 -0
  238. package/plugins/aiwf-vaadin-jooq/skills/playwright-test/references/ExampleViewIT.java +143 -0
  239. package/plugins/aiwf-vaadin-jooq/skills/playwright-test/references/TC001CustomerOnboardingIT.java +144 -0
  240. package/plugins/aiwf-vaadin-jooq/skills/playwright-test/references/dramafinder-api.md +190 -0
  241. package/scripts/check-dependencies.js +26 -96
  242. package/scripts/install-spec-skills.mjs +126 -0
  243. package/scripts/validate-spec-plugin.mjs +145 -0
  244. package/src/cli/spec-cli.js +292 -0
  245. package/src/lib/spec-workflow.js +982 -0
  246. package/docs/ADR_MANAGEMENT_GUIDE.ko.md +0 -602
  247. package/docs/ADR_MANAGEMENT_GUIDE.md +0 -602
  248. package/docs/AI-WORKFLOW.ko.md +0 -299
  249. package/docs/AI-WORKFLOW.md +0 -401
  250. package/docs/API_REFERENCE_FULL.ko.md +0 -1135
  251. package/docs/API_REFERENCE_FULL.md +0 -1135
  252. package/docs/ARCHITECTURE.ko.md +0 -314
  253. package/docs/ARCHITECTURE.md +0 -314
  254. package/docs/CLI_USAGE_GUIDE.ko.md +0 -634
  255. package/docs/CLI_USAGE_GUIDE.md +0 -640
  256. package/docs/CODE_CLEANUP_GUIDE.ko.md +0 -415
  257. package/docs/CODE_CLEANUP_GUIDE.md +0 -415
  258. package/docs/COMMANDS_GUIDE.ko.md +0 -1037
  259. package/docs/COMMANDS_GUIDE.md +0 -1037
  260. package/docs/CONTRIBUTING.ko.md +0 -408
  261. package/docs/CONTRIBUTING.md +0 -408
  262. package/docs/DEVELOPMENT_GUIDE.ko.md +0 -440
  263. package/docs/DEVELOPMENT_GUIDE.md +0 -727
  264. package/docs/EXAMPLES.ko.md +0 -695
  265. package/docs/EXAMPLES.md +0 -693
  266. package/docs/GETTING_STARTED.ko.md +0 -219
  267. package/docs/GETTING_STARTED.md +0 -476
  268. package/docs/MODULE_MANAGEMENT_GUIDE.ko.md +0 -289
  269. package/docs/MODULE_MANAGEMENT_GUIDE.md +0 -289
  270. package/docs/PERFORMANCE_ARCHITECTURE.md +0 -494
  271. package/docs/PERFORMANCE_GUIDELINES.ko.md +0 -388
  272. package/docs/PERFORMANCE_GUIDELINES.md +0 -553
  273. package/docs/PRD.ko.md +0 -148
  274. package/docs/PRD.md +0 -150
  275. package/docs/ROADMAP_v0.4.0.md +0 -286
  276. package/docs/STATE_MANAGEMENT_GUIDE.ko.md +0 -278
  277. package/docs/STATE_MANAGEMENT_GUIDE.md +0 -278
  278. package/docs/TROUBLESHOOTING.ko.md +0 -366
  279. package/docs/TROUBLESHOOTING.md +0 -722
  280. package/docs/VALIDATOR_API.ko.md +0 -324
  281. package/docs/VALIDATOR_API.md +0 -324
  282. package/docs/YOLO_SYSTEM_GUIDE.ko.md +0 -542
  283. package/docs/YOLO_SYSTEM_GUIDE.md +0 -542
  284. package/docs/designs/AI_PERSONA_SYSTEM_DESIGN.md +0 -516
  285. package/docs/designs/API_DOCUMENTATION.md +0 -932
  286. package/docs/designs/API_REFERENCE.md +0 -979
  287. package/docs/designs/Enhanced_Installation_Flow_Design.md +0 -498
  288. package/docs/designs/aiwf-metadata-system-prd.md +0 -127
  289. package/docs/designs/offline-template-cache.md +0 -323
  290. package/docs/designs/persona-aware-compression.md +0 -168
  291. package/docs/guides/ai-personas-guide-ko.md +0 -239
  292. package/docs/guides/ai-personas-guide.md +0 -239
  293. package/docs/guides/checkpoint-system-guide-ko.md +0 -356
  294. package/docs/guides/checkpoint-system-guide.md +0 -356
  295. package/docs/guides/context-compression-guide-ko.md +0 -313
  296. package/docs/guides/context-compression-guide.md +0 -313
  297. package/docs/guides/independent-sprint-guide-ko.md +0 -321
  298. package/docs/guides/independent-sprint-guide.md +0 -321
  299. package/rules/global/aiwf-code-style-guide.md +0 -30
  300. package/rules/global/aiwf-coding-principles.md +0 -33
  301. package/rules/global/aiwf-development-process.md +0 -41
  302. package/rules/global/aiwf-global-rules.md +0 -84
  303. package/rules/manual/aiwf-generate-plan-docs.md +0 -280
  304. package/scripts/run-integration-tests.js +0 -317
  305. package/scripts/update-file-lists.js +0 -267
  306. package/scripts/validate-commands.js +0 -254
  307. package/src/DEPENDENCY_MAP.md +0 -90
  308. package/src/cli/cache-cli.js +0 -459
  309. package/src/cli/checkpoint-cli.js +0 -417
  310. package/src/cli/index.js +0 -481
  311. package/src/cli/language-cli.js +0 -286
  312. package/src/cli/sprint-cli.js +0 -287
  313. package/src/commands/ai-tool.js +0 -383
  314. package/src/commands/compress.js +0 -60
  315. package/src/commands/create-project.js +0 -160
  316. package/src/commands/evaluate.js +0 -459
  317. package/src/commands/persona.js +0 -309
  318. package/src/commands/sprint-independent.js +0 -393
  319. package/src/commands/sprint-task.js +0 -262
  320. package/src/commands/state.js +0 -1164
  321. package/src/commands/token.js +0 -312
  322. package/src/commands/yolo-config.js +0 -502
  323. package/src/config/file-lists.js +0 -147
  324. package/src/config/yolo-config-template.yaml +0 -168
  325. package/src/lib/ai-persona-manager.js +0 -711
  326. package/src/lib/backup-manager.js +0 -271
  327. package/src/lib/cache-system.js +0 -332
  328. package/src/lib/context-engine.js +0 -568
  329. package/src/lib/file-downloader.js +0 -304
  330. package/src/lib/github-integration.js +0 -402
  331. package/src/lib/installer.js +0 -1066
  332. package/src/lib/memory-profiler.js +0 -471
  333. package/src/lib/metrics-collector.js +0 -885
  334. package/src/lib/offline-detector.js +0 -386
  335. package/src/lib/resource-loader-enhanced.js +0 -399
  336. package/src/lib/resource-loader.js +0 -250
  337. package/src/lib/resources/commands/ai-persona.js +0 -602
  338. package/src/lib/resources/commands/compress-context.js +0 -389
  339. package/src/lib/resources/commands/evaluate.js +0 -246
  340. package/src/lib/resources/commands/persona-context-apply.js +0 -562
  341. package/src/lib/resources/commands/token-tracking.js +0 -443
  342. package/src/lib/resources/config/commit-patterns.js +0 -103
  343. package/src/lib/resources/config/language.json +0 -6
  344. package/src/lib/resources/personas/PERSONA_INDEX.md +0 -57
  345. package/src/lib/resources/personas/analyst.json +0 -44
  346. package/src/lib/resources/personas/architect/best_practices.md +0 -136
  347. package/src/lib/resources/personas/architect/knowledge_base.md +0 -377
  348. package/src/lib/resources/personas/architect.json +0 -44
  349. package/src/lib/resources/personas/backend/best_practices.md +0 -766
  350. package/src/lib/resources/personas/backend/knowledge_base.md +0 -1070
  351. package/src/lib/resources/personas/data_analyst/best_practices.md +0 -594
  352. package/src/lib/resources/personas/data_analyst/knowledge_base.md +0 -1057
  353. package/src/lib/resources/personas/developer.json +0 -44
  354. package/src/lib/resources/personas/developer.md +0 -37
  355. package/src/lib/resources/personas/evaluation_criteria.json +0 -137
  356. package/src/lib/resources/personas/frontend/best_practices.md +0 -445
  357. package/src/lib/resources/personas/frontend/knowledge_base.md +0 -729
  358. package/src/lib/resources/personas/persona-index.json +0 -31
  359. package/src/lib/resources/personas/reviewer.json +0 -44
  360. package/src/lib/resources/personas/security/best_practices.md +0 -307
  361. package/src/lib/resources/personas/security/knowledge_base.md +0 -498
  362. package/src/lib/resources/personas/tester.json +0 -44
  363. package/src/lib/resources/templates/README.md +0 -78
  364. package/src/lib/resources/templates/api-server/config.json +0 -64
  365. package/src/lib/resources/templates/api-server/template/.aiwf/config.json +0 -56
  366. package/src/lib/resources/templates/api-server/template/.aiwf/feature-ledger.json +0 -42
  367. package/src/lib/resources/templates/api-server/template/.aiwf/personas/backend-engineer.json +0 -40
  368. package/src/lib/resources/templates/api-server/template/.aiwf/scripts/cli.js +0 -111
  369. package/src/lib/resources/templates/api-server/template/.env.example +0 -29
  370. package/src/lib/resources/templates/api-server/template/.eslintrc.json +0 -23
  371. package/src/lib/resources/templates/api-server/template/README.md +0 -171
  372. package/src/lib/resources/templates/api-server/template/jest.config.js +0 -26
  373. package/src/lib/resources/templates/api-server/template/nodemon.json +0 -9
  374. package/src/lib/resources/templates/api-server/template/package.json +0 -61
  375. package/src/lib/resources/templates/api-server/template/src/app.ts +0 -60
  376. package/src/lib/resources/templates/api-server/template/src/config/swagger.ts +0 -38
  377. package/src/lib/resources/templates/api-server/template/src/controllers/aiwfController.ts +0 -54
  378. package/src/lib/resources/templates/api-server/template/src/controllers/authController.ts +0 -128
  379. package/src/lib/resources/templates/api-server/template/src/controllers/statusController.ts +0 -28
  380. package/src/lib/resources/templates/api-server/template/src/index.ts +0 -28
  381. package/src/lib/resources/templates/api-server/template/src/middleware/aiwfMiddleware.ts +0 -50
  382. package/src/lib/resources/templates/api-server/template/src/middleware/authMiddleware.ts +0 -41
  383. package/src/lib/resources/templates/api-server/template/src/middleware/errorHandler.ts +0 -42
  384. package/src/lib/resources/templates/api-server/template/src/middleware/notFoundHandler.ts +0 -14
  385. package/src/lib/resources/templates/api-server/template/src/middleware/requestLogger.ts +0 -20
  386. package/src/lib/resources/templates/api-server/template/src/routes/aiwf.ts +0 -31
  387. package/src/lib/resources/templates/api-server/template/src/routes/index.ts +0 -13
  388. package/src/lib/resources/templates/api-server/template/src/routes/v1/index.ts +0 -67
  389. package/src/lib/resources/templates/api-server/template/src/utils/logger.ts +0 -37
  390. package/src/lib/resources/templates/api-server/template/tests/app.test.ts +0 -40
  391. package/src/lib/resources/templates/api-server/template/tsconfig.json +0 -43
  392. package/src/lib/resources/templates/npm-library/config.json +0 -61
  393. package/src/lib/resources/templates/npm-library/template/README.md +0 -201
  394. package/src/lib/resources/templates/npm-library/template/package.json +0 -78
  395. package/src/lib/resources/templates/web-app/config.json +0 -53
  396. package/src/lib/resources/templates/web-app/template/.aiwf/config.json +0 -54
  397. package/src/lib/resources/templates/web-app/template/.aiwf/feature-ledger.json +0 -37
  398. package/src/lib/resources/templates/web-app/template/.aiwf/personas/fullstack-developer.json +0 -40
  399. package/src/lib/resources/templates/web-app/template/.aiwf/scripts/cli.js +0 -110
  400. package/src/lib/resources/templates/web-app/template/.eslintrc.cjs +0 -20
  401. package/src/lib/resources/templates/web-app/template/README.md +0 -151
  402. package/src/lib/resources/templates/web-app/template/index.html +0 -14
  403. package/src/lib/resources/templates/web-app/template/package.json +0 -44
  404. package/src/lib/resources/templates/web-app/template/postcss.config.js +0 -6
  405. package/src/lib/resources/templates/web-app/template/public/vite.svg +0 -1
  406. package/src/lib/resources/templates/web-app/template/src/App.tsx +0 -21
  407. package/src/lib/resources/templates/web-app/template/src/components/Layout.tsx +0 -57
  408. package/src/lib/resources/templates/web-app/template/src/components/aiwf/ContextStatus.tsx +0 -107
  409. package/src/lib/resources/templates/web-app/template/src/components/aiwf/TokenUsage.tsx +0 -71
  410. package/src/lib/resources/templates/web-app/template/src/index.css +0 -60
  411. package/src/lib/resources/templates/web-app/template/src/main.tsx +0 -10
  412. package/src/lib/resources/templates/web-app/template/src/pages/AiwfDashboard.tsx +0 -57
  413. package/src/lib/resources/templates/web-app/template/src/pages/HomePage.tsx +0 -89
  414. package/src/lib/resources/templates/web-app/template/src/pages/NotFound.tsx +0 -25
  415. package/src/lib/resources/templates/web-app/template/src/stores/aiwfStore.ts +0 -126
  416. package/src/lib/resources/templates/web-app/template/src/types/global.d.ts +0 -9
  417. package/src/lib/resources/templates/web-app/template/src/vite-env.d.ts +0 -1
  418. package/src/lib/resources/templates/web-app/template/tailwind.config.js +0 -30
  419. package/src/lib/resources/templates/web-app/template/tsconfig.json +0 -37
  420. package/src/lib/resources/templates/web-app/template/tsconfig.node.json +0 -10
  421. package/src/lib/resources/templates/web-app/template/vite.config.ts +0 -23
  422. package/src/lib/resources/utils/background-monitor.js +0 -223
  423. package/src/lib/resources/utils/compression-metrics.js +0 -1031
  424. package/src/lib/resources/utils/compression-strategies.js +0 -557
  425. package/src/lib/resources/utils/content-normalizer.js +0 -455
  426. package/src/lib/resources/utils/context-compressor.js +0 -583
  427. package/src/lib/resources/utils/context-rule-parser.js +0 -180
  428. package/src/lib/resources/utils/context-token-monitor.js +0 -463
  429. package/src/lib/resources/utils/context-update-manager.js +0 -502
  430. package/src/lib/resources/utils/git-utils.js +0 -220
  431. package/src/lib/resources/utils/importance-classifier.js +0 -645
  432. package/src/lib/resources/utils/information-filter.js +0 -710
  433. package/src/lib/resources/utils/persona-aware-compressor.js +0 -598
  434. package/src/lib/resources/utils/prompt-injector.js +0 -242
  435. package/src/lib/resources/utils/simplified-evaluator.js +0 -119
  436. package/src/lib/resources/utils/text-summarizer.js +0 -492
  437. package/src/lib/resources/utils/token-counter.js +0 -177
  438. package/src/lib/resources/utils/token-monitor.js +0 -484
  439. package/src/lib/resources/utils/token-reporter.js +0 -452
  440. package/src/lib/resources/utils/token-storage.js +0 -433
  441. package/src/lib/resources/utils/token-tracker.js +0 -283
  442. package/src/lib/rollback-manager.js +0 -418
  443. package/src/lib/state/priority-calculator.js +0 -217
  444. package/src/lib/state/state-index.js +0 -155
  445. package/src/lib/state/task-scanner.js +0 -328
  446. package/src/lib/task-analyzer.js +0 -599
  447. package/src/lib/template-cache-system.js +0 -559
  448. package/src/lib/template-downloader.js +0 -467
  449. package/src/lib/template-version-manager.js +0 -491
  450. package/src/lib/token-optimizer.js +0 -517
  451. package/src/lib/validator.js +0 -376
  452. package/src/utils/checkpoint-manager.js +0 -435
  453. package/src/utils/engineering-guard.js +0 -399
  454. package/src/utils/language-utils.js +0 -331
  455. package/src/utils/messages.js +0 -166
  456. package/src/utils/paths.js +0 -112
@@ -1,136 +0,0 @@
1
- # Architect 페르소나 Best Practices
2
-
3
- ## 개요
4
- Architect 페르소나는 시스템 설계와 아키텍처 결정에 중점을 둡니다. 전체적인 구조, 확장성, 유지보수성을 최우선으로 고려합니다.
5
-
6
- ## 핵심 원칙
7
-
8
- ### 1. 시스템 설계 우선
9
- - 구현 전에 항상 전체 아키텍처를 먼저 고려
10
- - 컴포넌트 간 의존성 최소화
11
- - 느슨한 결합(Loose Coupling) 추구
12
-
13
- ### 2. 디자인 패턴 활용
14
- ```javascript
15
- // 전략 패턴 예시
16
- interface AuthStrategy {
17
- authenticate(credentials: Credentials): Promise<AuthResult>;
18
- }
19
-
20
- class AuthContext {
21
- constructor(private strategy: AuthStrategy) {}
22
-
23
- async performAuth(credentials: Credentials) {
24
- return this.strategy.authenticate(credentials);
25
- }
26
- }
27
- ```
28
-
29
- ### 3. 확장성 고려
30
- - 마이크로서비스 아키텍처 패턴 적용
31
- - 이벤트 기반 아키텍처 설계
32
- - 수평적 확장 가능한 구조
33
-
34
- ### 4. 기술 선택 가이드
35
- - 검증된 기술 스택 우선
36
- - 팀 역량과 학습 곡선 고려
37
- - 장기적 유지보수 관점 평가
38
-
39
- ## 아키텍처 문서화
40
-
41
- ### ADR (Architecture Decision Records)
42
- ```markdown
43
- # ADR-001: 인증 시스템 아키텍처
44
-
45
- ## 상태
46
- Accepted
47
-
48
- ## 컨텍스트
49
- 사용자 인증 시스템이 필요하며, 확장 가능하고 안전해야 함
50
-
51
- ## 결정
52
- JWT 기반 stateless 인증 시스템 채택
53
-
54
- ## 결과
55
- - 장점: 확장성, 성능
56
- - 단점: 토큰 무효화 복잡성
57
- ```
58
-
59
- ### 시스템 다이어그램
60
- - C4 Model 활용 (Context, Container, Component, Code)
61
- - 시퀀스 다이어그램으로 흐름 표현
62
- - 데이터 플로우 다이어그램 작성
63
-
64
- ## 코드 리뷰 체크리스트
65
-
66
- ### 아키텍처 관점
67
- - [ ] SOLID 원칙 준수 여부
68
- - [ ] 의존성 방향이 올바른가?
69
- - [ ] 확장 포인트가 명확한가?
70
- - [ ] 테스트 가능한 구조인가?
71
-
72
- ### 성능 고려사항
73
- - [ ] 병목 지점 식별
74
- - [ ] 캐싱 전략 수립
75
- - [ ] 비동기 처리 적절성
76
- - [ ] 리소스 사용 최적화
77
-
78
- ## 일반적인 안티패턴
79
-
80
- ### 1. 과도한 추상화
81
- ```javascript
82
- // 피해야 할 예
83
- class AbstractFactoryBuilderManager { /* ... */ }
84
-
85
- // 권장하는 예
86
- class UserService { /* ... */ }
87
- ```
88
-
89
- ### 2. 순환 의존성
90
- - 모듈 간 의존성 그래프 주기적 검토
91
- - 의존성 역전 원칙 적용
92
-
93
- ### 3. 모놀리식 사고
94
- - 도메인 경계 명확히 구분
95
- - 서비스 간 통신 표준화
96
-
97
- ## 도구 및 프레임워크
98
-
99
- ### 추천 도구
100
- - **설계**: PlantUML, Draw.io, Mermaid
101
- - **문서화**: Swagger/OpenAPI, AsyncAPI
102
- - **모니터링**: Prometheus, Grafana
103
- - **추적**: Jaeger, Zipkin
104
-
105
- ### 프레임워크 선택 기준
106
- 1. 커뮤니티 활성도
107
- 2. 문서화 품질
108
- 3. 생태계 성숙도
109
- 4. 성능 벤치마크
110
- 5. 보안 업데이트 주기
111
-
112
- ## 커뮤니케이션 가이드
113
-
114
- ### 기술 결정 공유
115
- - 명확한 근거 제시
116
- - 대안 분석 포함
117
- - 리스크 평가 명시
118
-
119
- ### 팀 협업
120
- - 아키텍처 세션 정기 개최
121
- - 피드백 적극 수용
122
- - 지속적 개선 추구
123
-
124
- ## 체크포인트
125
-
126
- ### 프로젝트 시작 시
127
- - [ ] 요구사항 분석 완료
128
- - [ ] 기술 스택 결정
129
- - [ ] 아키텍처 초안 작성
130
- - [ ] POC 구현
131
-
132
- ### 스프린트 종료 시
133
- - [ ] 아키텍처 일관성 검토
134
- - [ ] 기술 부채 평가
135
- - [ ] 성능 메트릭 확인
136
- - [ ] 문서 업데이트
@@ -1,377 +0,0 @@
1
- # Architect 페르소나 Knowledge Base
2
-
3
- ## 아키텍처 패턴
4
-
5
- ### 1. 레이어드 아키텍처 (Layered Architecture)
6
- ```
7
- ┌─────────────────────────────┐
8
- │ Presentation Layer │
9
- ├─────────────────────────────┤
10
- │ Application Layer │
11
- ├─────────────────────────────┤
12
- │ Domain/Business Layer │
13
- ├─────────────────────────────┤
14
- │ Data Access Layer │
15
- └─────────────────────────────┘
16
- ```
17
-
18
- **특징**:
19
- - 관심사의 분리
20
- - 각 레이어는 하위 레이어만 의존
21
- - 테스트 용이성
22
-
23
- ### 2. 헥사고날 아키텍처 (Ports & Adapters)
24
- ```
25
- ┌─────────────┐
26
- │ UI Port │
27
- └──────┬──────┘
28
- │
29
- ┌───────────┴───────────┐
30
- │ │
31
- ┌───┴────┐ ┌─────┴───┐
32
- │DB Port │ Domain │API Port │
33
- └───┬────┘ └─────┬───┘
34
- │ │
35
- └───────────┬───────────┘
36
- │
37
- ┌──────┴──────┐
38
- │External Port│
39
- └─────────────┘
40
- ```
41
-
42
- **장점**:
43
- - 비즈니스 로직 격리
44
- - 테스트 용이성 극대화
45
- - 기술 독립성
46
-
47
- ### 3. 마이크로서비스 아키텍처
48
- ```yaml
49
- services:
50
- user-service:
51
- responsibilities:
52
- - 사용자 관리
53
- - 인증/인가
54
- database: PostgreSQL
55
-
56
- order-service:
57
- responsibilities:
58
- - 주문 처리
59
- - 재고 확인
60
- database: MongoDB
61
-
62
- notification-service:
63
- responsibilities:
64
- - 이메일 발송
65
- - SMS 발송
66
- queue: RabbitMQ
67
- ```
68
-
69
- ## 디자인 패턴 카탈로그
70
-
71
- ### 생성 패턴 (Creational Patterns)
72
-
73
- #### 1. Factory Pattern
74
- ```javascript
75
- class PaymentFactory {
76
- static createPayment(type) {
77
- switch(type) {
78
- case 'card': return new CardPayment();
79
- case 'bank': return new BankTransfer();
80
- case 'crypto': return new CryptoPayment();
81
- default: throw new Error('Unknown payment type');
82
- }
83
- }
84
- }
85
- ```
86
-
87
- #### 2. Builder Pattern
88
- ```javascript
89
- class ServerConfigBuilder {
90
- constructor() {
91
- this.config = {};
92
- }
93
-
94
- setHost(host) {
95
- this.config.host = host;
96
- return this;
97
- }
98
-
99
- setPort(port) {
100
- this.config.port = port;
101
- return this;
102
- }
103
-
104
- enableSSL(cert) {
105
- this.config.ssl = { enabled: true, cert };
106
- return this;
107
- }
108
-
109
- build() {
110
- return new ServerConfig(this.config);
111
- }
112
- }
113
- ```
114
-
115
- ### 구조 패턴 (Structural Patterns)
116
-
117
- #### 1. Adapter Pattern
118
- ```javascript
119
- // 외부 라이브러리 어댑터
120
- class PaymentGatewayAdapter {
121
- constructor(externalGateway) {
122
- this.gateway = externalGateway;
123
- }
124
-
125
- async processPayment(amount, currency) {
126
- // 외부 API를 내부 인터페이스로 변환
127
- const result = await this.gateway.charge({
128
- value: amount * 100, // cents로 변환
129
- curr: currency
130
- });
131
-
132
- return {
133
- success: result.status === 'OK',
134
- transactionId: result.ref_id
135
- };
136
- }
137
- }
138
- ```
139
-
140
- #### 2. Facade Pattern
141
- ```javascript
142
- class OrderFacade {
143
- constructor(inventory, payment, shipping, notification) {
144
- this.inventory = inventory;
145
- this.payment = payment;
146
- this.shipping = shipping;
147
- this.notification = notification;
148
- }
149
-
150
- async placeOrder(orderData) {
151
- // 복잡한 프로세스를 단순한 인터페이스로 제공
152
- await this.inventory.checkAvailability(orderData.items);
153
- const paymentResult = await this.payment.process(orderData.payment);
154
- const trackingId = await this.shipping.schedule(orderData.shipping);
155
- await this.notification.sendConfirmation(orderData.customer, trackingId);
156
-
157
- return { orderId: generateId(), trackingId };
158
- }
159
- }
160
- ```
161
-
162
- ### 행위 패턴 (Behavioral Patterns)
163
-
164
- #### 1. Strategy Pattern
165
- ```javascript
166
- class PricingContext {
167
- constructor(strategy) {
168
- this.strategy = strategy;
169
- }
170
-
171
- calculatePrice(basePrice) {
172
- return this.strategy.calculate(basePrice);
173
- }
174
- }
175
-
176
- class RegularPricing {
177
- calculate(price) { return price; }
178
- }
179
-
180
- class PremiumPricing {
181
- calculate(price) { return price * 0.8; }
182
- }
183
-
184
- class SeasonalPricing {
185
- calculate(price) { return price * 0.7; }
186
- }
187
- ```
188
-
189
- ## 시스템 설계 원칙
190
-
191
- ### SOLID 원칙
192
-
193
- #### S - Single Responsibility Principle
194
- ```javascript
195
- // 잘못된 예
196
- class User {
197
- save() { /* DB 저장 */ }
198
- sendEmail() { /* 이메일 발송 */ }
199
- validatePassword() { /* 패스워드 검증 */ }
200
- }
201
-
202
- // 올바른 예
203
- class User { /* 사용자 도메인 로직만 */ }
204
- class UserRepository { /* DB 저장 */ }
205
- class EmailService { /* 이메일 발송 */ }
206
- class PasswordValidator { /* 패스워드 검증 */ }
207
- ```
208
-
209
- #### O - Open/Closed Principle
210
- ```javascript
211
- // 확장에는 열려있고 수정에는 닫혀있는 설계
212
- interface PaymentProcessor {
213
- process(amount: number): Promise<PaymentResult>;
214
- }
215
-
216
- class PaymentService {
217
- constructor(private processors: PaymentProcessor[]) {}
218
-
219
- // 새로운 결제 방식 추가 시 이 클래스 수정 불필요
220
- async processPayment(type: string, amount: number) {
221
- const processor = this.processors.find(p => p.type === type);
222
- return processor.process(amount);
223
- }
224
- }
225
- ```
226
-
227
- ### CAP 이론
228
- - **Consistency**: 모든 노드가 동일한 데이터를 보유
229
- - **Availability**: 시스템이 항상 응답
230
- - **Partition Tolerance**: 네트워크 분할 시에도 작동
231
-
232
- **트레이드오프 예시**:
233
- - CP 시스템: MongoDB, HBase
234
- - AP 시스템: Cassandra, DynamoDB
235
- - CA 시스템: 단일 노드 RDBMS
236
-
237
- ## 성능 최적화 전략
238
-
239
- ### 1. 캐싱 전략
240
- ```javascript
241
- class CacheStrategy {
242
- // Cache-Aside Pattern
243
- async get(key) {
244
- let value = await cache.get(key);
245
- if (!value) {
246
- value = await database.get(key);
247
- await cache.set(key, value, TTL);
248
- }
249
- return value;
250
- }
251
-
252
- // Write-Through Pattern
253
- async set(key, value) {
254
- await database.set(key, value);
255
- await cache.set(key, value, TTL);
256
- }
257
- }
258
- ```
259
-
260
- ### 2. 데이터베이스 최적화
261
- - 인덱싱 전략
262
- - 쿼리 최적화
263
- - 샤딩 및 파티셔닝
264
- - 읽기 전용 복제본
265
-
266
- ### 3. 비동기 처리
267
- ```javascript
268
- // 이벤트 기반 아키텍처
269
- class OrderService {
270
- async createOrder(orderData) {
271
- const order = await this.saveOrder(orderData);
272
-
273
- // 비동기 이벤트 발행
274
- await eventBus.publish('order.created', {
275
- orderId: order.id,
276
- customerId: order.customerId,
277
- items: order.items
278
- });
279
-
280
- return order;
281
- }
282
- }
283
- ```
284
-
285
- ## 보안 아키텍처
286
-
287
- ### 1. 인증/인가 패턴
288
- ```javascript
289
- // JWT 기반 인증
290
- class AuthMiddleware {
291
- async authenticate(req, res, next) {
292
- const token = req.headers.authorization?.split(' ')[1];
293
- if (!token) return res.status(401).send('No token');
294
-
295
- try {
296
- const payload = jwt.verify(token, SECRET);
297
- req.user = payload;
298
- next();
299
- } catch (error) {
300
- res.status(401).send('Invalid token');
301
- }
302
- }
303
- }
304
-
305
- // RBAC (Role-Based Access Control)
306
- class AuthorizationMiddleware {
307
- requireRole(role) {
308
- return (req, res, next) => {
309
- if (!req.user.roles.includes(role)) {
310
- return res.status(403).send('Insufficient permissions');
311
- }
312
- next();
313
- };
314
- }
315
- }
316
- ```
317
-
318
- ### 2. API 보안
319
- - Rate Limiting
320
- - CORS 설정
321
- - Input Validation
322
- - SQL Injection 방지
323
- - XSS 방지
324
-
325
- ## 모니터링 및 관찰성
326
-
327
- ### 1. 로깅 전략
328
- ```javascript
329
- class StructuredLogger {
330
- log(level, message, context) {
331
- const logEntry = {
332
- timestamp: new Date().toISOString(),
333
- level,
334
- message,
335
- ...context,
336
- correlationId: context.correlationId || generateId()
337
- };
338
-
339
- console.log(JSON.stringify(logEntry));
340
- }
341
- }
342
- ```
343
-
344
- ### 2. 메트릭 수집
345
- - 응답 시간
346
- - 처리량
347
- - 에러율
348
- - 리소스 사용률
349
-
350
- ### 3. 분산 추적
351
- - Correlation ID를 통한 요청 추적
352
- - 서비스 간 호출 체인 시각화
353
- - 병목 지점 식별
354
-
355
- ## 기술 스택 가이드
356
-
357
- ### 백엔드
358
- - **Node.js**: 이벤트 기반, 비동기 처리
359
- - **Java/Spring**: 엔터프라이즈, 안정성
360
- - **Go**: 고성능, 동시성
361
- - **Python**: 데이터 처리, ML/AI
362
-
363
- ### 데이터베이스
364
- - **PostgreSQL**: ACID, 복잡한 쿼리
365
- - **MongoDB**: 유연한 스키마, 확장성
366
- - **Redis**: 캐싱, 세션 저장
367
- - **Elasticsearch**: 전문 검색, 로그 분석
368
-
369
- ### 메시지 큐
370
- - **RabbitMQ**: 신뢰성, 라우팅
371
- - **Kafka**: 대용량, 스트리밍
372
- - **Redis Pub/Sub**: 간단한 pub/sub
373
-
374
- ### 컨테이너 & 오케스트레이션
375
- - **Docker**: 컨테이너화
376
- - **Kubernetes**: 오케스트레이션
377
- - **Istio**: 서비스 메시
@@ -1,44 +0,0 @@
1
- {
2
- "id": "architect",
3
- "name": "System Architect",
4
- "description": "Designs system architecture, makes technology decisions, and ensures scalability",
5
- "focus_areas": [
6
- "System architecture and design patterns",
7
- "Technology stack selection",
8
- "Scalability and performance",
9
- "Security architecture",
10
- "Integration patterns"
11
- ],
12
- "communication_style": {
13
- "tone": "technical, authoritative, strategic",
14
- "language": "advanced technical terminology with architectural concepts",
15
- "format": "diagrams, technical specifications, ADRs"
16
- },
17
- "capabilities": [
18
- "Design microservices architecture",
19
- "Create architectural decision records (ADRs)",
20
- "Define system boundaries and interfaces",
21
- "Plan for scalability and resilience",
22
- "Evaluate technology choices"
23
- ],
24
- "tools_and_methods": [
25
- "C4 model diagrams",
26
- "Architecture decision records",
27
- "Design patterns",
28
- "Domain-driven design",
29
- "Event-driven architecture"
30
- ],
31
- "output_formats": [
32
- "Architecture diagrams",
33
- "ADR documents",
34
- "Technical specifications",
35
- "Integration designs",
36
- "Technology evaluation reports"
37
- ],
38
- "example_prompts": [
39
- "Design the architecture for a payment processing system",
40
- "Create an ADR for choosing between REST and GraphQL",
41
- "Plan the migration from monolith to microservices",
42
- "Design a scalable event-driven architecture"
43
- ]
44
- }