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,89 +0,0 @@
1
- export default function HomePage() {
2
- return (
3
- <div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
4
- <div className="text-center">
5
- <h2 className="text-3xl font-extrabold tracking-tight text-gray-900 dark:text-white sm:text-4xl">
6
- {{projectName}}์— ์˜ค์‹  ๊ฒƒ์„ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค
7
- </h2>
8
- <p className="mt-4 max-w-2xl mx-auto text-xl text-gray-500 dark:text-gray-400">
9
- AIWF๊ฐ€ ํ†ตํ•ฉ๋œ React + TypeScript ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ž…๋‹ˆ๋‹ค.
10
- </p>
11
- </div>
12
-
13
- <div className="mt-10">
14
- <dl className="space-y-10 md:space-y-0 md:grid md:grid-cols-2 md:gap-x-8 md:gap-y-10">
15
- <div className="relative">
16
- <dt>
17
- <div className="absolute flex items-center justify-center h-12 w-12 rounded-md bg-primary text-white">
18
- <svg className="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
19
- <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M13 10V3L4 14h7v7l9-11h-7z" />
20
- </svg>
21
- </div>
22
- <p className="ml-16 text-lg leading-6 font-medium text-gray-900 dark:text-white">
23
- ๋น ๋ฅธ ๊ฐœ๋ฐœ
24
- </p>
25
- </dt>
26
- <dd className="mt-2 ml-16 text-base text-gray-500 dark:text-gray-400">
27
- Vite๋ฅผ ์‚ฌ์šฉํ•œ ๋น ๋ฅธ HMR๊ณผ ๋นŒ๋“œ ์†๋„
28
- </dd>
29
- </div>
30
-
31
- <div className="relative">
32
- <dt>
33
- <div className="absolute flex items-center justify-center h-12 w-12 rounded-md bg-primary text-white">
34
- <svg className="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
35
- <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M3 6l3 1m0 0l-3 9a5.002 5.002 0 006.001 0M6 7l3 9M6 7l6-2m6 2l3-1m-3 1l-3 9a5.002 5.002 0 006.001 0M18 7l3 9m-3-9l-6-2m0-2v2m0 16V5m0 16H9m3 0h3" />
36
- </svg>
37
- </div>
38
- <p className="ml-16 text-lg leading-6 font-medium text-gray-900 dark:text-white">
39
- ํƒ€์ž… ์•ˆ์ •์„ฑ
40
- </p>
41
- </dt>
42
- <dd className="mt-2 ml-16 text-base text-gray-500 dark:text-gray-400">
43
- TypeScript๋กœ ๊ฒฌ๊ณ ํ•œ ํƒ€์ž… ์‹œ์Šคํ…œ ๊ตฌ์ถ•
44
- </dd>
45
- </div>
46
-
47
- <div className="relative">
48
- <dt>
49
- <div className="absolute flex items-center justify-center h-12 w-12 rounded-md bg-primary text-white">
50
- <svg className="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
51
- <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M7 8h10M7 12h4m1 8l-4-4H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v8a2 2 0 01-2 2h-3l-4 4z" />
52
- </svg>
53
- </div>
54
- <p className="ml-16 text-lg leading-6 font-medium text-gray-900 dark:text-white">
55
- AIWF ํ†ตํ•ฉ
56
- </p>
57
- </dt>
58
- <dd className="mt-2 ml-16 text-base text-gray-500 dark:text-gray-400">
59
- AI ์ง€์› ๊ฐœ๋ฐœ ์›Œํฌํ”Œ๋กœ์šฐ ๋‚ด์žฅ
60
- </dd>
61
- </div>
62
-
63
- <div className="relative">
64
- <dt>
65
- <div className="absolute flex items-center justify-center h-12 w-12 rounded-md bg-primary text-white">
66
- <svg className="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
67
- <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M5 3v4M3 5h4M6 17v4m-2-2h4m5-16l2.286 6.857L21 12l-5.714 2.143L13 21l-2.286-6.857L5 12l5.714-2.143L13 3z" />
68
- </svg>
69
- </div>
70
- <p className="ml-16 text-lg leading-6 font-medium text-gray-900 dark:text-white">
71
- ๋ชจ๋˜ ์Šคํƒ€์ผ๋ง
72
- </p>
73
- </dt>
74
- <dd className="mt-2 ml-16 text-base text-gray-500 dark:text-gray-400">
75
- Tailwind CSS๋กœ ๋น ๋ฅธ UI ๊ฐœ๋ฐœ
76
- </dd>
77
- </div>
78
- </dl>
79
- </div>
80
-
81
- <div className="mt-10 text-center">
82
- <h3 className="text-lg font-medium text-gray-900 dark:text-white">์‹œ์ž‘ํ•˜๊ธฐ</h3>
83
- <div className="mt-3 text-base text-gray-500 dark:text-gray-400">
84
- <code className="bg-gray-100 dark:bg-gray-800 px-2 py-1 rounded">npm run dev</code>๋กœ ๊ฐœ๋ฐœ ์„œ๋ฒ„๋ฅผ ์‹œ์ž‘ํ•˜์„ธ์š”.
85
- </div>
86
- </div>
87
- </div>
88
- )
89
- }
@@ -1,25 +0,0 @@
1
- import { Link } from 'react-router-dom'
2
-
3
- export default function NotFound() {
4
- return (
5
- <div className="min-h-[60vh] flex items-center justify-center px-4 sm:px-6 lg:px-8">
6
- <div className="text-center">
7
- <p className="text-base font-semibold text-primary">404</p>
8
- <h1 className="mt-2 text-4xl font-bold text-gray-900 dark:text-white tracking-tight sm:text-5xl">
9
- ํŽ˜์ด์ง€๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค
10
- </h1>
11
- <p className="mt-2 text-base text-gray-500 dark:text-gray-400">
12
- ์š”์ฒญํ•˜์‹  ํŽ˜์ด์ง€๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
13
- </p>
14
- <div className="mt-6">
15
- <Link
16
- to="/"
17
- className="text-base font-medium text-primary hover:text-primary/80"
18
- >
19
- ํ™ˆ์œผ๋กœ ๋Œ์•„๊ฐ€๊ธฐ<span aria-hidden="true"> &rarr;</span>
20
- </Link>
21
- </div>
22
- </div>
23
- </div>
24
- )
25
- }
@@ -1,126 +0,0 @@
1
- import { create } from 'zustand'
2
-
3
- interface Feature {
4
- id: string
5
- name: string
6
- description: string
7
- status: 'completed' | 'in_progress' | 'planned'
8
- type: string
9
- created_at: string
10
- completed_at?: string
11
- tags: string[]
12
- }
13
-
14
- interface TokenUsageData {
15
- total: number
16
- used: number
17
- remaining: number
18
- percentage: number
19
- history: Array<{
20
- date: string
21
- tokens: number
22
- action: string
23
- }>
24
- }
25
-
26
- interface ContextStatusData {
27
- compressionLevel: 'none' | 'balanced' | 'aggressive'
28
- cacheEnabled: boolean
29
- cacheSize: number
30
- maxCacheSize: number
31
- lastCompression: string
32
- savedTokens: number
33
- activePersona: string
34
- }
35
-
36
- interface AiwfStore {
37
- features: Feature[]
38
- tokenUsage: TokenUsageData
39
- contextStatus: ContextStatusData
40
- loadDashboardData: () => Promise<void>
41
- updateFeature: (featureId: string, updates: Partial<Feature>) => void
42
- addFeature: (feature: Feature) => void
43
- }
44
-
45
- export const useAiwfStore = create<AiwfStore>((set) => ({
46
- features: [],
47
- tokenUsage: {
48
- total: 100000,
49
- used: 45000,
50
- remaining: 55000,
51
- percentage: 45,
52
- history: []
53
- },
54
- contextStatus: {
55
- compressionLevel: 'balanced',
56
- cacheEnabled: true,
57
- cacheSize: 5242880, // 5MB
58
- maxCacheSize: 52428800, // 50MB
59
- lastCompression: new Date().toISOString(),
60
- savedTokens: 15000,
61
- activePersona: 'fullstack-developer'
62
- },
63
-
64
- loadDashboardData: async () => {
65
- try {
66
- // ์‹ค์ œ ๊ตฌํ˜„์—์„œ๋Š” API๋ฅผ ํ˜ธ์ถœํ•˜๊ฑฐ๋‚˜ ๋กœ์ปฌ ํŒŒ์ผ์„ ์ฝ์Šต๋‹ˆ๋‹ค
67
- const mockFeatures: Feature[] = [
68
- {
69
- id: 'F001',
70
- name: 'ํ”„๋กœ์ ํŠธ ์ดˆ๊ธฐ ์„ค์ •',
71
- description: 'React + TypeScript + Vite ๊ธฐ๋ฐ˜ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ดˆ๊ธฐ ์„ค์ •',
72
- type: 'setup',
73
- status: 'completed',
74
- created_at: new Date().toISOString(),
75
- completed_at: new Date().toISOString(),
76
- tags: ['์ดˆ๊ธฐ์„ค์ •', '์ธํ”„๋ผ', '์„ค์ •']
77
- }
78
- ]
79
-
80
- const mockHistory = [
81
- {
82
- date: new Date().toISOString(),
83
- tokens: 1500,
84
- action: '์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ'
85
- },
86
- {
87
- date: new Date(Date.now() - 3600000).toISOString(),
88
- tokens: 2300,
89
- action: 'API ํ†ตํ•ฉ'
90
- },
91
- {
92
- date: new Date(Date.now() - 7200000).toISOString(),
93
- tokens: 800,
94
- action: '์ฝ”๋“œ ๋ฆฌ๋ทฐ'
95
- }
96
- ]
97
-
98
- set({
99
- features: mockFeatures,
100
- tokenUsage: {
101
- total: 100000,
102
- used: 45000,
103
- remaining: 55000,
104
- percentage: 45,
105
- history: mockHistory
106
- }
107
- })
108
- } catch (error) {
109
- console.error('Failed to load AIWF dashboard data:', error)
110
- }
111
- },
112
-
113
- updateFeature: (featureId, updates) => {
114
- set((state) => ({
115
- features: state.features.map((feature) =>
116
- feature.id === featureId ? { ...feature, ...updates } : feature
117
- )
118
- }))
119
- },
120
-
121
- addFeature: (feature) => {
122
- set((state) => ({
123
- features: [...state.features, feature]
124
- }))
125
- }
126
- }))
@@ -1,9 +0,0 @@
1
- interface Window {
2
- aiwf: {
3
- trackPage: (path: string) => void
4
- trackEvent: (event: string, data?: any) => void
5
- getFeatures: () => Promise<any[]>
6
- getTokenUsage: () => Promise<any>
7
- getContextStatus: () => Promise<any>
8
- }
9
- }
@@ -1 +0,0 @@
1
- /// <reference types="vite/client" />
@@ -1,30 +0,0 @@
1
- /** @type {import('tailwindcss').Config} */
2
- export default {
3
- content: [
4
- "./index.html",
5
- "./src/**/*.{js,ts,jsx,tsx}",
6
- ],
7
- theme: {
8
- extend: {
9
- colors: {
10
- primary: {
11
- 50: '#eff6ff',
12
- 100: '#dbeafe',
13
- 200: '#bfdbfe',
14
- 300: '#93bbfd',
15
- 400: '#60a5fa',
16
- 500: '#3b82f6',
17
- 600: '#2563eb',
18
- 700: '#1d4ed8',
19
- 800: '#1e40af',
20
- 900: '#1e3a8a',
21
- 950: '#172554',
22
- }
23
- },
24
- fontFamily: {
25
- sans: ['Pretendard', 'Inter', 'system-ui', 'sans-serif'],
26
- }
27
- },
28
- },
29
- plugins: [],
30
- }
@@ -1,37 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ES2020",
4
- "useDefineForClassFields": true,
5
- "lib": ["ES2020", "DOM", "DOM.Iterable"],
6
- "module": "ESNext",
7
- "skipLibCheck": true,
8
-
9
- /* Bundler mode */
10
- "moduleResolution": "bundler",
11
- "allowImportingTsExtensions": true,
12
- "resolveJsonModule": true,
13
- "isolatedModules": true,
14
- "noEmit": true,
15
- "jsx": "react-jsx",
16
-
17
- /* Linting */
18
- "strict": true,
19
- "noUnusedLocals": true,
20
- "noUnusedParameters": true,
21
- "noFallthroughCasesInSwitch": true,
22
-
23
- /* Path Aliases */
24
- "baseUrl": ".",
25
- "paths": {
26
- "@/*": ["src/*"],
27
- "@components/*": ["src/components/*"],
28
- "@pages/*": ["src/pages/*"],
29
- "@hooks/*": ["src/hooks/*"],
30
- "@utils/*": ["src/utils/*"],
31
- "@stores/*": ["src/stores/*"],
32
- "@types/*": ["src/types/*"]
33
- }
34
- },
35
- "include": ["src"],
36
- "references": [{ "path": "./tsconfig.node.json" }]
37
- }
@@ -1,10 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "composite": true,
4
- "skipLibCheck": true,
5
- "module": "ESNext",
6
- "moduleResolution": "bundler",
7
- "allowSyntheticDefaultImports": true
8
- },
9
- "include": ["vite.config.ts"]
10
- }
@@ -1,23 +0,0 @@
1
- import { defineConfig } from 'vite'
2
- import react from '@vitejs/plugin-react'
3
- import path from 'path'
4
-
5
- // https://vitejs.dev/config/
6
- export default defineConfig({
7
- plugins: [react()],
8
- resolve: {
9
- alias: {
10
- '@': path.resolve(__dirname, './src'),
11
- '@components': path.resolve(__dirname, './src/components'),
12
- '@pages': path.resolve(__dirname, './src/pages'),
13
- '@hooks': path.resolve(__dirname, './src/hooks'),
14
- '@utils': path.resolve(__dirname, './src/utils'),
15
- '@stores': path.resolve(__dirname, './src/stores'),
16
- '@types': path.resolve(__dirname, './src/types'),
17
- }
18
- },
19
- server: {
20
- port: 3000,
21
- host: true
22
- }
23
- })
@@ -1,223 +0,0 @@
1
- /**
2
- * ๋ฐฑ๊ทธ๋ผ์šด๋“œ ํ‰๊ฐ€ ๋ชจ๋‹ˆํ„ฐ
3
- * ์‚ฌ์šฉ์ž ์ž‘์—…์„ ๋ฐฉํ•ดํ•˜์ง€ ์•Š๊ณ  ํ’ˆ์งˆ ๋ชจ๋‹ˆํ„ฐ๋ง
4
- */
5
-
6
- import { SimplifiedEvaluator } from './simplified-evaluator.js';
7
- import fs from 'fs/promises';
8
- import path from 'path';
9
-
10
- export class BackgroundMonitor {
11
- constructor() {
12
- this.evaluator = new SimplifiedEvaluator();
13
- this.recentEvaluations = [];
14
- this.maxHistorySize = 100;
15
- this.statsFile = null;
16
- this.initialized = false;
17
- }
18
-
19
- /**
20
- * ๋ชจ๋‹ˆํ„ฐ ์ดˆ๊ธฐํ™”
21
- */
22
- async initialize() {
23
- if (this.initialized) return;
24
-
25
- try {
26
- // ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ์˜ .aiwf ๋””๋ ‰ํ† ๋ฆฌ ์ฐพ๊ธฐ
27
- const projectRoot = await this.findProjectRoot();
28
- if (projectRoot) {
29
- this.statsFile = path.join(projectRoot, '.aiwf', '.evaluation-stats.json');
30
- await this.loadStats();
31
- }
32
- this.initialized = true;
33
- } catch (error) {
34
- // ์ดˆ๊ธฐํ™” ์‹คํŒจํ•ด๋„ ๊ธฐ๋ณธ ๊ธฐ๋Šฅ์€ ์ž‘๋™
35
- this.initialized = true;
36
- }
37
- }
38
-
39
- /**
40
- * ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ ์ฐพ๊ธฐ
41
- */
42
- async findProjectRoot() {
43
- let currentDir = process.cwd();
44
-
45
- while (currentDir !== path.dirname(currentDir)) {
46
- try {
47
- await fs.access(path.join(currentDir, '.aiwf'));
48
- return currentDir;
49
- } catch {
50
- currentDir = path.dirname(currentDir);
51
- }
52
- }
53
-
54
- return null;
55
- }
56
-
57
- /**
58
- * ํ†ต๊ณ„ ๋กœ๋“œ
59
- */
60
- async loadStats() {
61
- if (!this.statsFile) return;
62
-
63
- try {
64
- const data = await fs.readFile(this.statsFile, 'utf8');
65
- const stats = JSON.parse(data);
66
- this.recentEvaluations = stats.recentEvaluations || [];
67
- } catch {
68
- // ํŒŒ์ผ์ด ์—†์œผ๋ฉด ์ƒˆ๋กœ ์‹œ์ž‘
69
- this.recentEvaluations = [];
70
- }
71
- }
72
-
73
- /**
74
- * ํ†ต๊ณ„ ์ €์žฅ (๋น„๋™๊ธฐ, ์—๋Ÿฌ ๋ฌด์‹œ)
75
- */
76
- async saveStats() {
77
- if (!this.statsFile) return;
78
-
79
- try {
80
- const stats = {
81
- recentEvaluations: this.recentEvaluations.slice(-this.maxHistorySize),
82
- lastUpdated: new Date().toISOString()
83
- };
84
-
85
- await fs.writeFile(this.statsFile, JSON.stringify(stats, null, 2));
86
- } catch {
87
- // ์ €์žฅ ์‹คํŒจํ•ด๋„ ๋ฌด์‹œ
88
- }
89
- }
90
-
91
- /**
92
- * ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์‘๋‹ต ๋ชจ๋‹ˆํ„ฐ๋ง
93
- */
94
- async monitorResponse(response, persona, options = {}) {
95
- // ์ดˆ๊ธฐํ™” ํ™•์ธ
96
- if (!this.initialized) {
97
- await this.initialize();
98
- }
99
-
100
- // ๋น ๋ฅธ ํ‰๊ฐ€ ์ˆ˜ํ–‰
101
- const evaluation = this.evaluator.quickEvaluate(response, persona);
102
-
103
- // ๊ธฐ๋ก ์ถ”๊ฐ€
104
- this.recentEvaluations.push({
105
- persona,
106
- score: evaluation.score,
107
- timestamp: new Date().toISOString(),
108
- responseLength: response.length
109
- });
110
-
111
- // ํฌ๊ธฐ ์ œํ•œ
112
- if (this.recentEvaluations.length > this.maxHistorySize) {
113
- this.recentEvaluations = this.recentEvaluations.slice(-this.maxHistorySize);
114
- }
115
-
116
- // ๋น„๋™๊ธฐ ์ €์žฅ (์ฐจ๋‹จํ•˜์ง€ ์•Š์Œ)
117
- this.saveStats().catch(() => {});
118
-
119
- // ํ”ผ๋“œ๋ฐฑ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ๋งŒ ๋ฐ˜ํ™˜
120
- if (evaluation.needsFeedback && !options.silent) {
121
- return {
122
- feedback: evaluation.feedback,
123
- score: evaluation.score
124
- };
125
- }
126
-
127
- return null;
128
- }
129
-
130
- /**
131
- * ์ตœ๊ทผ ํ†ต๊ณ„ ์š”์•ฝ
132
- */
133
- getRecentStats(persona = null) {
134
- let evaluations = this.recentEvaluations;
135
-
136
- if (persona) {
137
- evaluations = evaluations.filter(e => e.persona === persona);
138
- }
139
-
140
- if (evaluations.length === 0) {
141
- return { message: '์•„์ง ํ‰๊ฐ€ ๊ธฐ๋ก์ด ์—†์Šต๋‹ˆ๋‹ค.' };
142
- }
143
-
144
- const scores = evaluations.map(e => e.score);
145
- const avgScore = scores.reduce((sum, s) => sum + s, 0) / scores.length;
146
-
147
- // ํŽ˜๋ฅด์†Œ๋‚˜๋ณ„ ํ†ต๊ณ„
148
- const personaStats = {};
149
- evaluations.forEach(e => {
150
- if (!personaStats[e.persona]) {
151
- personaStats[e.persona] = { count: 0, totalScore: 0 };
152
- }
153
- personaStats[e.persona].count++;
154
- personaStats[e.persona].totalScore += e.score;
155
- });
156
-
157
- Object.keys(personaStats).forEach(p => {
158
- const stats = personaStats[p];
159
- stats.avgScore = (stats.totalScore / stats.count).toFixed(2);
160
- delete stats.totalScore;
161
- });
162
-
163
- return {
164
- totalEvaluations: evaluations.length,
165
- averageScore: avgScore.toFixed(2),
166
- personaStats,
167
- trend: this.calculateTrend(scores)
168
- };
169
- }
170
-
171
- /**
172
- * ์ ์ˆ˜ ์ถ”์„ธ ๊ณ„์‚ฐ
173
- */
174
- calculateTrend(scores) {
175
- if (scores.length < 2) return 'stable';
176
-
177
- const recent = scores.slice(-10);
178
- const older = scores.slice(-20, -10);
179
-
180
- if (older.length === 0) return 'stable';
181
-
182
- const recentAvg = recent.reduce((sum, s) => sum + s, 0) / recent.length;
183
- const olderAvg = older.reduce((sum, s) => sum + s, 0) / older.length;
184
-
185
- if (recentAvg > olderAvg + 0.1) return 'improving';
186
- if (recentAvg < olderAvg - 0.1) return 'declining';
187
- return 'stable';
188
- }
189
-
190
- /**
191
- * ์ฃผ๊ฐ„ ์š”์•ฝ ์ƒ์„ฑ
192
- */
193
- getWeeklySummary() {
194
- const oneWeekAgo = new Date();
195
- oneWeekAgo.setDate(oneWeekAgo.getDate() - 7);
196
-
197
- const weeklyEvals = this.recentEvaluations.filter(e =>
198
- new Date(e.timestamp) > oneWeekAgo
199
- );
200
-
201
- if (weeklyEvals.length === 0) {
202
- return { message: '์ตœ๊ทผ ์ผ์ฃผ์ผ๊ฐ„ ํ‰๊ฐ€ ๊ธฐ๋ก์ด ์—†์Šต๋‹ˆ๋‹ค.' };
203
- }
204
-
205
- const summary = this.getRecentStats();
206
- summary.period = 'weekly';
207
- summary.evaluationCount = weeklyEvals.length;
208
-
209
- return summary;
210
- }
211
- }
212
-
213
- // ์‹ฑ๊ธ€ํ†ค ์ธ์Šคํ„ด์Šค
214
- let monitorInstance = null;
215
-
216
- export function getBackgroundMonitor() {
217
- if (!monitorInstance) {
218
- monitorInstance = new BackgroundMonitor();
219
- }
220
- return monitorInstance;
221
- }
222
-
223
- export default BackgroundMonitor;