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.
- package/.claude-plugin/marketplace.json +146 -0
- package/CHANGELOG.md +49 -1
- package/README.ko.md +118 -309
- package/README.md +68 -254
- package/docs/modernization/BROWNFIELD-GREENFIELD.ko.md +105 -0
- package/docs/modernization/CLAUDE-PLAN-REVIEW-2026-10-03.ko.md +77 -0
- package/docs/modernization/CLI-PRODUCTIVITY-REVIEWED-2026-10-03.ko.md +177 -0
- package/docs/modernization/CLI-PRODUCTIVITY.ko.md +193 -0
- package/docs/modernization/CORE-PACKAGE-PLAN.md +7 -0
- package/docs/modernization/DEEP-REVERSE-ENGINEERING.ko.md +88 -0
- package/docs/modernization/DELEGATION-OPTIONAL.ko.md +57 -0
- package/docs/modernization/DIRECTION.ko.md +56 -0
- package/docs/modernization/FULL-TEST-2026-10-03.md +49 -0
- package/docs/modernization/LEGACY-REMOVAL-PLAN.md +9 -0
- package/docs/modernization/PILOT-RESULT-2026-10-03.ko.md +85 -0
- package/docs/modernization/PILOT-UC-001.ko.md +79 -0
- package/docs/modernization/PLAN.md +28 -0
- package/docs/modernization/SKILLS.ko.md +105 -0
- package/docs/modernization/SPRINTABLE.ko.md +47 -0
- package/docs/modernization/SYNC-DOCS-VALIDATION-2026-10-04.ko.md +38 -0
- package/docs/modernization/VALIDATION.md +79 -0
- package/docs/modernization/evidence/example-review-packet.json +115 -0
- package/docs/modernization/evidence/example-spec-pin.json +48 -0
- package/docs/modernization/evidence/full-test-20261003/claude-lint.md +22 -0
- package/docs/modernization/evidence/full-test-20261003/claude-review-retry.md +56 -0
- package/docs/modernization/evidence/full-test-20261003/codex-review-packet.json +159 -0
- package/docs/modernization/evidence/full-test-20261003/src/expense.mjs +40 -0
- package/docs/modernization/evidence/full-test-20261003/summary.json +106 -0
- package/docs/modernization/evidence/full-test-20261003/tests/expense.test.mjs +61 -0
- package/docs/modernization/evidence/local-pilot-20261003/README.ko.md +40 -0
- package/docs/modernization/evidence/local-pilot-20261003/execution.json +1055 -0
- package/docs/modernization/evidence/local-pilot-20261003/maintenance/dependencies.json +24 -0
- package/docs/modernization/evidence/local-pilot-20261003/maintenance/dependencies.stderr.txt +0 -0
- package/docs/modernization/evidence/local-pilot-20261003/maintenance/dependencies.stdout.txt +5 -0
- package/docs/modernization/evidence/local-pilot-20261003/maintenance/docs.json +24 -0
- package/docs/modernization/evidence/local-pilot-20261003/maintenance/docs.stderr.txt +0 -0
- package/docs/modernization/evidence/local-pilot-20261003/maintenance/docs.stdout.txt +6 -0
- package/docs/modernization/evidence/local-pilot-20261003/maintenance/example.json +24 -0
- package/docs/modernization/evidence/local-pilot-20261003/maintenance/example.stderr.txt +0 -0
- package/docs/modernization/evidence/local-pilot-20261003/maintenance/example.stdout.txt +5 -0
- package/docs/modernization/evidence/local-pilot-20261003/maintenance/local-docs.json +24 -0
- package/docs/modernization/evidence/local-pilot-20261003/maintenance/local-docs.stderr.txt +0 -0
- package/docs/modernization/evidence/local-pilot-20261003/maintenance/local-docs.stdout.txt +6 -0
- package/docs/modernization/evidence/local-pilot-20261003/maintenance/node.json +23 -0
- package/docs/modernization/evidence/local-pilot-20261003/maintenance/node.stderr.txt +0 -0
- package/docs/modernization/evidence/local-pilot-20261003/maintenance/node.stdout.txt +535 -0
- package/docs/modernization/evidence/local-pilot-20261003/maintenance/provenance.json +24 -0
- package/docs/modernization/evidence/local-pilot-20261003/maintenance/provenance.stderr.txt +0 -0
- package/docs/modernization/evidence/local-pilot-20261003/maintenance/provenance.stdout.txt +5 -0
- package/docs/modernization/evidence/local-pilot-20261003/maintenance/readme-replay.json +24 -0
- package/docs/modernization/evidence/local-pilot-20261003/maintenance/readme-replay.stderr.txt +0 -0
- package/docs/modernization/evidence/local-pilot-20261003/maintenance/readme-replay.stdout.txt +273 -0
- package/docs/modernization/evidence/local-pilot-20261003/maintenance/upstream.json +24 -0
- package/docs/modernization/evidence/local-pilot-20261003/maintenance/upstream.stderr.txt +0 -0
- package/docs/modernization/evidence/local-pilot-20261003/maintenance/upstream.stdout.txt +7 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/archive-service.stderr.txt +0 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/archive-service.stdout.txt +148 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/archive-structure.stderr.txt +0 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/archive-structure.stdout.txt +9 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/baseline-check.stderr.txt +0 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/baseline-check.stdout.txt +67 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/baseline-evidence.json +34 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/baseline-packet.json +128 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/baseline-packet.stderr.txt +0 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/baseline-packet.stdout.txt +128 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/baseline-pin.json +54 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/baseline-pin.stderr.txt +0 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/baseline-pin.stdout.txt +60 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/baseline-readback.json +15 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/baseline-service.stderr.txt +0 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/baseline-service.stdout.txt +82 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/baseline-structure.stderr.txt +0 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/baseline-structure.stdout.txt +9 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/changed-check.stderr.txt +0 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/changed-check.stdout.txt +79 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/changed-packet-refused.stderr.txt +0 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/changed-packet-refused.stdout.txt +7 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/changed-pin-refresh.stderr.txt +0 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/changed-pin-refresh.stdout.txt +66 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/changed-pin.json +60 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/changed-structure.stderr.txt +0 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/changed-structure.stdout.txt +9 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/final-check.stderr.txt +0 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/final-check.stdout.txt +73 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/final-evidence.json +34 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/final-packet.json +134 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/final-packet.stderr.txt +0 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/final-packet.stdout.txt +134 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/final-readback.json +15 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/final-service.stderr.txt +0 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/final-service.stdout.txt +148 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/final-structure.stderr.txt +0 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/final-structure.stdout.txt +9 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/node-version.stderr.txt +0 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/node-version.stdout.txt +1 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/python-version.stderr.txt +0 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/python-version.stdout.txt +1 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/red-evidence.json +34 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/red-packet.json +134 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/red-packet.stderr.txt +0 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/red-packet.stdout.txt +134 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/red-readback.json +15 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/red-service.stderr.txt +0 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/red-service.stdout.txt +266 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/red-structure.stderr.txt +0 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/artifacts/red-structure.stdout.txt +9 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/docs/entity_model.md +33 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/docs/glossary.md +9 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/docs/plans/UC-001.md +20 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/docs/requirements.md +10 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/docs/test_cases/TC-001-submit-expense.md +37 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/docs/test_cases/TC-002-description-limit.md +42 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/docs/use_cases/UC-001-submit-expense.md +76 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/docs/use_cases.puml +12 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/docs/vision.md +21 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/src/expense.mjs +48 -0
- package/docs/modernization/evidence/local-pilot-20261003/project/tests/expense.test.mjs +116 -0
- package/docs/modernization/evidence/local-pilot-20261003/scope.json +31 -0
- package/docs/modernization/reviews/2026-10-03-claude-cli/CONTRACTS.ko.md +122 -0
- package/docs/modernization/reviews/2026-10-03-claude-cli/DIRECTION.ko.md +84 -0
- package/examples/spec-workflow/README.md +54 -0
- package/examples/spec-workflow/docs/entity_model.md +33 -0
- package/examples/spec-workflow/docs/glossary.md +9 -0
- package/examples/spec-workflow/docs/requirements.md +10 -0
- package/examples/spec-workflow/docs/test_cases/TC-001-submit-expense.md +37 -0
- package/examples/spec-workflow/docs/use_cases/UC-001-submit-expense.md +63 -0
- package/examples/spec-workflow/docs/use_cases.puml +12 -0
- package/examples/spec-workflow/docs/vision.md +21 -0
- package/package.json +37 -104
- package/plugins/aiwf-angular-jpa/.claude-plugin/plugin.json +11 -0
- package/plugins/aiwf-angular-jpa/LICENSE +201 -0
- package/plugins/aiwf-angular-jpa/NOTICE +16 -0
- package/plugins/aiwf-angular-jpa/README.md +54 -0
- package/plugins/aiwf-angular-jpa/UPSTREAM.json +35 -0
- package/plugins/aiwf-angular-jpa/agents/uc-coverage.md +263 -0
- package/plugins/aiwf-angular-jpa/rules/mcp-servers.md +64 -0
- package/plugins/aiwf-angular-jpa/skills/coverage-check/SKILL.md +190 -0
- package/plugins/aiwf-angular-jpa/skills/flyway-migration/SKILL.md +119 -0
- package/plugins/aiwf-angular-jpa/skills/implement/SKILL.md +528 -0
- package/plugins/aiwf-angular-jpa/skills/implement/references/module-layout.md +95 -0
- package/plugins/aiwf-angular-jpa/skills/playwright-test/SKILL.md +360 -0
- package/plugins/aiwf-angular-jpa/skills/spring-boot-test/SKILL.md +504 -0
- package/plugins/aiwf-angular-jpa/skills/vitest-test/SKILL.md +309 -0
- package/plugins/aiwf-blazor-dotnet/.claude-plugin/plugin.json +11 -0
- package/plugins/aiwf-blazor-dotnet/LICENSE +201 -0
- package/plugins/aiwf-blazor-dotnet/NOTICE +16 -0
- package/plugins/aiwf-blazor-dotnet/README.md +53 -0
- package/plugins/aiwf-blazor-dotnet/UPSTREAM.json +31 -0
- package/plugins/aiwf-blazor-dotnet/rules/mcp-servers.md +25 -0
- package/plugins/aiwf-blazor-dotnet/skills/bunit-test/SKILL.md +110 -0
- package/plugins/aiwf-blazor-dotnet/skills/dotnet-test/SKILL.md +108 -0
- package/plugins/aiwf-blazor-dotnet/skills/ef-migration/SKILL.md +43 -0
- package/plugins/aiwf-blazor-dotnet/skills/implement/SKILL.md +149 -0
- package/plugins/aiwf-blazor-dotnet/skills/playwright-test/SKILL.md +130 -0
- package/plugins/aiwf-core/.claude-plugin/plugin.json +11 -0
- package/plugins/aiwf-core/LICENSE +201 -0
- package/plugins/aiwf-core/NOTICE +20 -0
- package/plugins/aiwf-core/README.md +38 -0
- package/plugins/aiwf-core/UPSTREAM.json +50 -0
- package/plugins/aiwf-core/skills/entity-model/SKILL.md +160 -0
- package/plugins/aiwf-core/skills/entity-model/references/REFERENCE.md +36 -0
- package/plugins/aiwf-core/skills/requirements/SKILL.md +157 -0
- package/plugins/aiwf-core/skills/requirements/references/REFERENCE.md +70 -0
- package/plugins/aiwf-core/skills/requirements/references/glossary.md +7 -0
- package/plugins/aiwf-core/skills/reverse-engineer/SKILL.md +509 -0
- package/plugins/aiwf-core/skills/reverse-engineer/references/stack-signals.md +210 -0
- package/plugins/aiwf-core/skills/spec-review/SKILL.md +197 -0
- package/plugins/aiwf-core/skills/spec-review/references/lint-codes.md +63 -0
- package/plugins/aiwf-core/skills/spec-review/references/review-checklist.md +189 -0
- package/plugins/aiwf-core/skills/spec-review/scripts/spec_lint.py +1216 -0
- package/plugins/aiwf-core/skills/test-case/SKILL.md +138 -0
- package/plugins/aiwf-core/skills/test-case/references/example-process.bpmn +118 -0
- package/plugins/aiwf-core/skills/test-case/references/example.md +38 -0
- package/plugins/aiwf-core/skills/test-case/references/test-case.md +35 -0
- package/plugins/aiwf-core/skills/test-case/scripts/bpmn_paths.py +542 -0
- package/plugins/aiwf-core/skills/use-case-diagram/SKILL.md +99 -0
- package/plugins/aiwf-core/skills/use-case-spec/SKILL.md +257 -0
- package/plugins/aiwf-core/skills/use-case-spec/references/clarify-checklist.md +70 -0
- package/plugins/aiwf-core/skills/use-case-spec/references/example.md +88 -0
- package/plugins/aiwf-core/skills/use-case-spec/references/format-spec.md +246 -0
- package/plugins/aiwf-core/skills/use-case-spec/references/use-case.md +50 -0
- package/plugins/aiwf-core/skills/use-case-spec/scripts/validate_use_case.py +941 -0
- package/plugins/aiwf-delegate-claude/.claude-plugin/plugin.json +9 -0
- package/{src/lib/resources/templates/npm-library/template → plugins/aiwf-delegate-claude}/LICENSE +2 -2
- package/plugins/aiwf-delegate-claude/NOTICE +4 -0
- package/plugins/aiwf-delegate-claude/README.md +10 -0
- package/plugins/aiwf-delegate-claude/plugin.json +13 -0
- package/plugins/aiwf-delegate-claude/skills/delegate-claude/LICENSE +21 -0
- package/plugins/aiwf-delegate-claude/skills/delegate-claude/NOTICE +4 -0
- package/plugins/aiwf-delegate-claude/skills/delegate-claude/SKILL.md +49 -0
- package/plugins/aiwf-delegate-claude/skills/delegate-claude/agents/openai.yaml +2 -0
- package/plugins/aiwf-delegate-codex/.claude-plugin/plugin.json +9 -0
- package/plugins/aiwf-delegate-codex/LICENSE +21 -0
- package/plugins/aiwf-delegate-codex/NOTICE +4 -0
- package/plugins/aiwf-delegate-codex/README.md +10 -0
- package/plugins/aiwf-delegate-codex/plugin.json +13 -0
- package/plugins/aiwf-delegate-codex/skills/delegate-codex/LICENSE +21 -0
- package/plugins/aiwf-delegate-codex/skills/delegate-codex/NOTICE +4 -0
- package/plugins/aiwf-delegate-codex/skills/delegate-codex/SKILL.md +47 -0
- package/plugins/aiwf-delegate-codex/skills/delegate-codex/agents/openai.yaml +2 -0
- package/plugins/aiwf-nestjs-nextjs/.claude-plugin/plugin.json +11 -0
- package/plugins/aiwf-nestjs-nextjs/LICENSE +201 -0
- package/plugins/aiwf-nestjs-nextjs/NOTICE +16 -0
- package/plugins/aiwf-nestjs-nextjs/README.md +53 -0
- package/plugins/aiwf-nestjs-nextjs/UPSTREAM.json +32 -0
- package/plugins/aiwf-nestjs-nextjs/rules/mcp-servers.md +59 -0
- package/plugins/aiwf-nestjs-nextjs/skills/drizzle-migration/SKILL.md +222 -0
- package/plugins/aiwf-nestjs-nextjs/skills/implement/SKILL.md +393 -0
- package/plugins/aiwf-nestjs-nextjs/skills/implement/references/project-layout.md +158 -0
- package/plugins/aiwf-nestjs-nextjs/skills/nest-test/SKILL.md +300 -0
- package/plugins/aiwf-nestjs-nextjs/skills/playwright-test/SKILL.md +245 -0
- package/plugins/aiwf-nestjs-nextjs/skills/react-test/SKILL.md +217 -0
- package/plugins/aiwf-spec/.claude-plugin/plugin.json +9 -0
- package/plugins/aiwf-spec/LICENSE +201 -0
- package/plugins/aiwf-spec/NOTICE +20 -0
- package/plugins/aiwf-spec/README.md +36 -0
- package/plugins/aiwf-spec/skills/sync-docs/SKILL.md +47 -0
- package/plugins/aiwf-spec/skills/workflow/SKILL.md +42 -0
- package/plugins/aiwf-vaadin-jooq/.claude-plugin/plugin.json +11 -0
- package/plugins/aiwf-vaadin-jooq/LICENSE +201 -0
- package/plugins/aiwf-vaadin-jooq/NOTICE +16 -0
- package/plugins/aiwf-vaadin-jooq/README.md +56 -0
- package/plugins/aiwf-vaadin-jooq/UPSTREAM.json +43 -0
- package/plugins/aiwf-vaadin-jooq/agents/uc-coverage.md +260 -0
- package/plugins/aiwf-vaadin-jooq/rules/mcp-servers.md +44 -0
- package/plugins/aiwf-vaadin-jooq/skills/browserless-test/SKILL.md +407 -0
- package/plugins/aiwf-vaadin-jooq/skills/browserless-test/references/UC001ManagePersonsTest.java +111 -0
- package/plugins/aiwf-vaadin-jooq/skills/coverage-check/SKILL.md +190 -0
- package/plugins/aiwf-vaadin-jooq/skills/flyway-migration/SKILL.md +70 -0
- package/plugins/aiwf-vaadin-jooq/skills/hilla-test/SKILL.md +350 -0
- package/plugins/aiwf-vaadin-jooq/skills/hilla-test/references/UC001ManagePersonsServiceTest.java +81 -0
- package/plugins/aiwf-vaadin-jooq/skills/hilla-test/references/UC001ManagePersonsViewTest.tsx +87 -0
- package/plugins/aiwf-vaadin-jooq/skills/implement/SKILL.md +196 -0
- package/plugins/aiwf-vaadin-jooq/skills/implement-hilla/SKILL.md +216 -0
- package/plugins/aiwf-vaadin-jooq/skills/karibu-test/SKILL.md +298 -0
- package/plugins/aiwf-vaadin-jooq/skills/karibu-test/references/UC001ManagePersonsTest.java +93 -0
- package/plugins/aiwf-vaadin-jooq/skills/playwright-test/SKILL.md +237 -0
- package/plugins/aiwf-vaadin-jooq/skills/playwright-test/references/ExampleViewIT.java +143 -0
- package/plugins/aiwf-vaadin-jooq/skills/playwright-test/references/TC001CustomerOnboardingIT.java +144 -0
- package/plugins/aiwf-vaadin-jooq/skills/playwright-test/references/dramafinder-api.md +190 -0
- package/scripts/check-dependencies.js +26 -96
- package/scripts/install-spec-skills.mjs +126 -0
- package/scripts/validate-spec-plugin.mjs +145 -0
- package/src/cli/spec-cli.js +292 -0
- package/src/lib/spec-workflow.js +982 -0
- package/docs/ADR_MANAGEMENT_GUIDE.ko.md +0 -602
- package/docs/ADR_MANAGEMENT_GUIDE.md +0 -602
- package/docs/AI-WORKFLOW.ko.md +0 -299
- package/docs/AI-WORKFLOW.md +0 -401
- package/docs/API_REFERENCE_FULL.ko.md +0 -1135
- package/docs/API_REFERENCE_FULL.md +0 -1135
- package/docs/ARCHITECTURE.ko.md +0 -314
- package/docs/ARCHITECTURE.md +0 -314
- package/docs/CLI_USAGE_GUIDE.ko.md +0 -634
- package/docs/CLI_USAGE_GUIDE.md +0 -640
- package/docs/CODE_CLEANUP_GUIDE.ko.md +0 -415
- package/docs/CODE_CLEANUP_GUIDE.md +0 -415
- package/docs/COMMANDS_GUIDE.ko.md +0 -1037
- package/docs/COMMANDS_GUIDE.md +0 -1037
- package/docs/CONTRIBUTING.ko.md +0 -408
- package/docs/CONTRIBUTING.md +0 -408
- package/docs/DEVELOPMENT_GUIDE.ko.md +0 -440
- package/docs/DEVELOPMENT_GUIDE.md +0 -727
- package/docs/EXAMPLES.ko.md +0 -695
- package/docs/EXAMPLES.md +0 -693
- package/docs/GETTING_STARTED.ko.md +0 -219
- package/docs/GETTING_STARTED.md +0 -476
- package/docs/MODULE_MANAGEMENT_GUIDE.ko.md +0 -289
- package/docs/MODULE_MANAGEMENT_GUIDE.md +0 -289
- package/docs/PERFORMANCE_ARCHITECTURE.md +0 -494
- package/docs/PERFORMANCE_GUIDELINES.ko.md +0 -388
- package/docs/PERFORMANCE_GUIDELINES.md +0 -553
- package/docs/PRD.ko.md +0 -148
- package/docs/PRD.md +0 -150
- package/docs/ROADMAP_v0.4.0.md +0 -286
- package/docs/STATE_MANAGEMENT_GUIDE.ko.md +0 -278
- package/docs/STATE_MANAGEMENT_GUIDE.md +0 -278
- package/docs/TROUBLESHOOTING.ko.md +0 -366
- package/docs/TROUBLESHOOTING.md +0 -722
- package/docs/VALIDATOR_API.ko.md +0 -324
- package/docs/VALIDATOR_API.md +0 -324
- package/docs/YOLO_SYSTEM_GUIDE.ko.md +0 -542
- package/docs/YOLO_SYSTEM_GUIDE.md +0 -542
- package/docs/designs/AI_PERSONA_SYSTEM_DESIGN.md +0 -516
- package/docs/designs/API_DOCUMENTATION.md +0 -932
- package/docs/designs/API_REFERENCE.md +0 -979
- package/docs/designs/Enhanced_Installation_Flow_Design.md +0 -498
- package/docs/designs/aiwf-metadata-system-prd.md +0 -127
- package/docs/designs/offline-template-cache.md +0 -323
- package/docs/designs/persona-aware-compression.md +0 -168
- package/docs/guides/ai-personas-guide-ko.md +0 -239
- package/docs/guides/ai-personas-guide.md +0 -239
- package/docs/guides/checkpoint-system-guide-ko.md +0 -356
- package/docs/guides/checkpoint-system-guide.md +0 -356
- package/docs/guides/context-compression-guide-ko.md +0 -313
- package/docs/guides/context-compression-guide.md +0 -313
- package/docs/guides/independent-sprint-guide-ko.md +0 -321
- package/docs/guides/independent-sprint-guide.md +0 -321
- package/rules/global/aiwf-code-style-guide.md +0 -30
- package/rules/global/aiwf-coding-principles.md +0 -33
- package/rules/global/aiwf-development-process.md +0 -41
- package/rules/global/aiwf-global-rules.md +0 -84
- package/rules/manual/aiwf-generate-plan-docs.md +0 -280
- package/scripts/run-integration-tests.js +0 -317
- package/scripts/update-file-lists.js +0 -267
- package/scripts/validate-commands.js +0 -254
- package/src/DEPENDENCY_MAP.md +0 -90
- package/src/cli/cache-cli.js +0 -459
- package/src/cli/checkpoint-cli.js +0 -417
- package/src/cli/index.js +0 -481
- package/src/cli/language-cli.js +0 -286
- package/src/cli/sprint-cli.js +0 -287
- package/src/commands/ai-tool.js +0 -383
- package/src/commands/compress.js +0 -60
- package/src/commands/create-project.js +0 -160
- package/src/commands/evaluate.js +0 -459
- package/src/commands/persona.js +0 -309
- package/src/commands/sprint-independent.js +0 -393
- package/src/commands/sprint-task.js +0 -262
- package/src/commands/state.js +0 -1164
- package/src/commands/token.js +0 -312
- package/src/commands/yolo-config.js +0 -502
- package/src/config/file-lists.js +0 -147
- package/src/config/yolo-config-template.yaml +0 -168
- package/src/lib/ai-persona-manager.js +0 -711
- package/src/lib/backup-manager.js +0 -271
- package/src/lib/cache-system.js +0 -332
- package/src/lib/context-engine.js +0 -568
- package/src/lib/file-downloader.js +0 -304
- package/src/lib/github-integration.js +0 -402
- package/src/lib/installer.js +0 -1066
- package/src/lib/memory-profiler.js +0 -471
- package/src/lib/metrics-collector.js +0 -885
- package/src/lib/offline-detector.js +0 -386
- package/src/lib/resource-loader-enhanced.js +0 -399
- package/src/lib/resource-loader.js +0 -250
- package/src/lib/resources/commands/ai-persona.js +0 -602
- package/src/lib/resources/commands/compress-context.js +0 -389
- package/src/lib/resources/commands/evaluate.js +0 -246
- package/src/lib/resources/commands/persona-context-apply.js +0 -562
- package/src/lib/resources/commands/token-tracking.js +0 -443
- package/src/lib/resources/config/commit-patterns.js +0 -103
- package/src/lib/resources/config/language.json +0 -6
- package/src/lib/resources/personas/PERSONA_INDEX.md +0 -57
- package/src/lib/resources/personas/analyst.json +0 -44
- package/src/lib/resources/personas/architect/best_practices.md +0 -136
- package/src/lib/resources/personas/architect/knowledge_base.md +0 -377
- package/src/lib/resources/personas/architect.json +0 -44
- package/src/lib/resources/personas/backend/best_practices.md +0 -766
- package/src/lib/resources/personas/backend/knowledge_base.md +0 -1070
- package/src/lib/resources/personas/data_analyst/best_practices.md +0 -594
- package/src/lib/resources/personas/data_analyst/knowledge_base.md +0 -1057
- package/src/lib/resources/personas/developer.json +0 -44
- package/src/lib/resources/personas/developer.md +0 -37
- package/src/lib/resources/personas/evaluation_criteria.json +0 -137
- package/src/lib/resources/personas/frontend/best_practices.md +0 -445
- package/src/lib/resources/personas/frontend/knowledge_base.md +0 -729
- package/src/lib/resources/personas/persona-index.json +0 -31
- package/src/lib/resources/personas/reviewer.json +0 -44
- package/src/lib/resources/personas/security/best_practices.md +0 -307
- package/src/lib/resources/personas/security/knowledge_base.md +0 -498
- package/src/lib/resources/personas/tester.json +0 -44
- package/src/lib/resources/templates/README.md +0 -78
- package/src/lib/resources/templates/api-server/config.json +0 -64
- package/src/lib/resources/templates/api-server/template/.aiwf/config.json +0 -56
- package/src/lib/resources/templates/api-server/template/.aiwf/feature-ledger.json +0 -42
- package/src/lib/resources/templates/api-server/template/.aiwf/personas/backend-engineer.json +0 -40
- package/src/lib/resources/templates/api-server/template/.aiwf/scripts/cli.js +0 -111
- package/src/lib/resources/templates/api-server/template/.env.example +0 -29
- package/src/lib/resources/templates/api-server/template/.eslintrc.json +0 -23
- package/src/lib/resources/templates/api-server/template/README.md +0 -171
- package/src/lib/resources/templates/api-server/template/jest.config.js +0 -26
- package/src/lib/resources/templates/api-server/template/nodemon.json +0 -9
- package/src/lib/resources/templates/api-server/template/package.json +0 -61
- package/src/lib/resources/templates/api-server/template/src/app.ts +0 -60
- package/src/lib/resources/templates/api-server/template/src/config/swagger.ts +0 -38
- package/src/lib/resources/templates/api-server/template/src/controllers/aiwfController.ts +0 -54
- package/src/lib/resources/templates/api-server/template/src/controllers/authController.ts +0 -128
- package/src/lib/resources/templates/api-server/template/src/controllers/statusController.ts +0 -28
- package/src/lib/resources/templates/api-server/template/src/index.ts +0 -28
- package/src/lib/resources/templates/api-server/template/src/middleware/aiwfMiddleware.ts +0 -50
- package/src/lib/resources/templates/api-server/template/src/middleware/authMiddleware.ts +0 -41
- package/src/lib/resources/templates/api-server/template/src/middleware/errorHandler.ts +0 -42
- package/src/lib/resources/templates/api-server/template/src/middleware/notFoundHandler.ts +0 -14
- package/src/lib/resources/templates/api-server/template/src/middleware/requestLogger.ts +0 -20
- package/src/lib/resources/templates/api-server/template/src/routes/aiwf.ts +0 -31
- package/src/lib/resources/templates/api-server/template/src/routes/index.ts +0 -13
- package/src/lib/resources/templates/api-server/template/src/routes/v1/index.ts +0 -67
- package/src/lib/resources/templates/api-server/template/src/utils/logger.ts +0 -37
- package/src/lib/resources/templates/api-server/template/tests/app.test.ts +0 -40
- package/src/lib/resources/templates/api-server/template/tsconfig.json +0 -43
- package/src/lib/resources/templates/npm-library/config.json +0 -61
- package/src/lib/resources/templates/npm-library/template/README.md +0 -201
- package/src/lib/resources/templates/npm-library/template/package.json +0 -78
- package/src/lib/resources/templates/web-app/config.json +0 -53
- package/src/lib/resources/templates/web-app/template/.aiwf/config.json +0 -54
- package/src/lib/resources/templates/web-app/template/.aiwf/feature-ledger.json +0 -37
- package/src/lib/resources/templates/web-app/template/.aiwf/personas/fullstack-developer.json +0 -40
- package/src/lib/resources/templates/web-app/template/.aiwf/scripts/cli.js +0 -110
- package/src/lib/resources/templates/web-app/template/.eslintrc.cjs +0 -20
- package/src/lib/resources/templates/web-app/template/README.md +0 -151
- package/src/lib/resources/templates/web-app/template/index.html +0 -14
- package/src/lib/resources/templates/web-app/template/package.json +0 -44
- package/src/lib/resources/templates/web-app/template/postcss.config.js +0 -6
- package/src/lib/resources/templates/web-app/template/public/vite.svg +0 -1
- package/src/lib/resources/templates/web-app/template/src/App.tsx +0 -21
- package/src/lib/resources/templates/web-app/template/src/components/Layout.tsx +0 -57
- package/src/lib/resources/templates/web-app/template/src/components/aiwf/ContextStatus.tsx +0 -107
- package/src/lib/resources/templates/web-app/template/src/components/aiwf/TokenUsage.tsx +0 -71
- package/src/lib/resources/templates/web-app/template/src/index.css +0 -60
- package/src/lib/resources/templates/web-app/template/src/main.tsx +0 -10
- package/src/lib/resources/templates/web-app/template/src/pages/AiwfDashboard.tsx +0 -57
- package/src/lib/resources/templates/web-app/template/src/pages/HomePage.tsx +0 -89
- package/src/lib/resources/templates/web-app/template/src/pages/NotFound.tsx +0 -25
- package/src/lib/resources/templates/web-app/template/src/stores/aiwfStore.ts +0 -126
- package/src/lib/resources/templates/web-app/template/src/types/global.d.ts +0 -9
- package/src/lib/resources/templates/web-app/template/src/vite-env.d.ts +0 -1
- package/src/lib/resources/templates/web-app/template/tailwind.config.js +0 -30
- package/src/lib/resources/templates/web-app/template/tsconfig.json +0 -37
- package/src/lib/resources/templates/web-app/template/tsconfig.node.json +0 -10
- package/src/lib/resources/templates/web-app/template/vite.config.ts +0 -23
- package/src/lib/resources/utils/background-monitor.js +0 -223
- package/src/lib/resources/utils/compression-metrics.js +0 -1031
- package/src/lib/resources/utils/compression-strategies.js +0 -557
- package/src/lib/resources/utils/content-normalizer.js +0 -455
- package/src/lib/resources/utils/context-compressor.js +0 -583
- package/src/lib/resources/utils/context-rule-parser.js +0 -180
- package/src/lib/resources/utils/context-token-monitor.js +0 -463
- package/src/lib/resources/utils/context-update-manager.js +0 -502
- package/src/lib/resources/utils/git-utils.js +0 -220
- package/src/lib/resources/utils/importance-classifier.js +0 -645
- package/src/lib/resources/utils/information-filter.js +0 -710
- package/src/lib/resources/utils/persona-aware-compressor.js +0 -598
- package/src/lib/resources/utils/prompt-injector.js +0 -242
- package/src/lib/resources/utils/simplified-evaluator.js +0 -119
- package/src/lib/resources/utils/text-summarizer.js +0 -492
- package/src/lib/resources/utils/token-counter.js +0 -177
- package/src/lib/resources/utils/token-monitor.js +0 -484
- package/src/lib/resources/utils/token-reporter.js +0 -452
- package/src/lib/resources/utils/token-storage.js +0 -433
- package/src/lib/resources/utils/token-tracker.js +0 -283
- package/src/lib/rollback-manager.js +0 -418
- package/src/lib/state/priority-calculator.js +0 -217
- package/src/lib/state/state-index.js +0 -155
- package/src/lib/state/task-scanner.js +0 -328
- package/src/lib/task-analyzer.js +0 -599
- package/src/lib/template-cache-system.js +0 -559
- package/src/lib/template-downloader.js +0 -467
- package/src/lib/template-version-manager.js +0 -491
- package/src/lib/token-optimizer.js +0 -517
- package/src/lib/validator.js +0 -376
- package/src/utils/checkpoint-manager.js +0 -435
- package/src/utils/engineering-guard.js +0 -399
- package/src/utils/language-utils.js +0 -331
- package/src/utils/messages.js +0 -166
- package/src/utils/paths.js +0 -112
package/README.ko.md
CHANGED
|
@@ -1,352 +1,161 @@
|
|
|
1
|
-
# AIWF
|
|
1
|
+
# AIWF — 명세에서 구현과 검증까지
|
|
2
2
|
|
|
3
|
-
[
|
|
3
|
+
[English](README.md)
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
[](https://github.com/moonklabs/aiwf/blob/main/LICENSE)
|
|
7
|
-
[](https://www.npmjs.com/package/aiwf)
|
|
5
|
+
AIWF는 유스케이스 명세를 Git에 유지하면서 기존 Claude Code/Codex로 구현하고, 실제 검증 결과를 검토 가능한 형태로 남기는 개발 워크플로우다.
|
|
8
6
|
|
|
9
|
-
|
|
7
|
+
2026-10-02부터 개선 중이다. 명세 워크플로는 두 플러그인으로 나뉜다. **`aiwf-core`**는 AIUP에서 가져온 방법론 core로 요구사항·유스케이스·엔티티·명세 검토용 upstream 스킬 7개를 담는다. **`aiwf-spec`**는 AIWF가 추가한 `workflow`와 개발 후 문서 정리용 `sync-docs` 스킬을 담고, 저장소 CLI를 사용해 비파괴 초기화·명세 버전 고정·변경 감지·검증 로그 묶기를 연결한다. Claude/Codex 위임 애드온 두 개는 별도 선택 사항이다. Sprintable 연동과 무인 반복 실행은 후속 범위다. 아래 기능은 이 저장소의 개발 버전 기준이며 기존 npm 배포판에 포함됐다고 가정하면 안 된다.
|
|
10
8
|
|
|
11
|
-
|
|
12
|
-
이 프로젝트는 [Simone](https://github.com/Helmi/claude-simone)의 업데이트된 버전입니다.
|
|
9
|
+
## 가장 먼저 읽을 것
|
|
13
10
|
|
|
14
|
-
|
|
11
|
+
- [스킬 한글 휴먼 리뷰본과 문서 관리 절차](docs/ko-skills/README.md) — 모든 작업에서 먼저 확인하고 관련 원문·번역을 함께 갱신한다.
|
|
12
|
+
- [Claude·Codex 위임 스킬 선택 설치·실행 명세](docs/modernization/DELEGATION-OPTIONAL.ko.md)
|
|
13
|
+
- [개선 방향과 단계](docs/modernization/DIRECTION.ko.md)
|
|
14
|
+
- [CLI 생산성 분석과 권고안](docs/modernization/CLI-PRODUCTIVITY.ko.md) — 실제 UC 파일럿 후 읽기 전용 검증과 선택 검사를 확장하는 제안. 원문·한글본 갱신은 모든 단계의 품질 조건이다.
|
|
15
|
+
- [Claude 두 세션의 계획 리뷰](docs/modernization/CLAUDE-PLAN-REVIEW-2026-10-03.ko.md) — 조건부 적합, 검토 당시 고정본과 지적 사항 보존.
|
|
16
|
+
- [파일럿 계획](docs/modernization/PILOT-UC-001.ko.md)과 [로컬 실행 결과](docs/modernization/PILOT-RESULT-2026-10-03.ko.md) — 완료 기준과 검사 연결표, drift 거부, 실패→수정→23개 테스트 통과. 실제 제품 적용·휴먼 수용·생산성 효과는 미검증이며 새 CLI 명령은 추가하지 않았다.
|
|
17
|
+
- [검증 기록과 한계](docs/modernization/VALIDATION.md)
|
|
18
|
+
- [Sprintable 연결 계약 초안](docs/modernization/SPRINTABLE.ko.md)
|
|
19
|
+
- [한국어 지출 제출 예제](examples/spec-workflow/README.md)
|
|
15
20
|
|
|
16
|
-
|
|
21
|
+
## 개발 버전으로 시작하기
|
|
17
22
|
|
|
18
|
-
|
|
19
|
-
npm install -g aiwf
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
### 최초 설정
|
|
23
|
-
|
|
24
|
-
전역 설치 후, 프로젝트 디렉토리에서 실행:
|
|
23
|
+
Node.js 20 이상. 명세 구조 검사에는 Python 3.9 이상이 필요하다. 새 CLI는 외부 Node 패키지 없이 실행된다.
|
|
25
24
|
|
|
26
25
|
```bash
|
|
27
|
-
|
|
26
|
+
# 실제 대상 프로젝트 폴더는 먼저 존재해야 한다.
|
|
27
|
+
node src/cli/spec-cli.js init --root /path/to/project --name "우리 서비스"
|
|
28
|
+
|
|
29
|
+
# Codex용 스킬 설치: 기존 스킬은 덮어쓰지 않는다.
|
|
30
|
+
node scripts/install-spec-skills.mjs --project /path/to/project --dry-run
|
|
31
|
+
node scripts/install-spec-skills.mjs --project /path/to/project --stack nestjs-nextjs --dry-run
|
|
32
|
+
node scripts/install-spec-skills.mjs --project /path/to/project --stack nestjs-nextjs
|
|
33
|
+
node scripts/install-spec-skills.mjs --project /path/to/project --delegate codex --dry-run
|
|
28
34
|
```
|
|
29
35
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
1. **언어 선택**: 한국어와 영어 중 선택
|
|
33
|
-
2. **프로젝트 설정**: 현재 디렉토리에 AIWF 초기화
|
|
34
|
-
3. **Claude 명령어**: 언어별 명령어 설치
|
|
35
|
-
4. **문서화**: 가이드 및 템플릿 다운로드
|
|
36
|
-
5. **검증**: 포괄적인 설치 검증 및 문제 해결
|
|
37
|
-
|
|
38
|
-
## 🚀 사용법
|
|
39
|
-
|
|
40
|
-
### 기본 명령어
|
|
36
|
+
Codex는 기본적으로 `aiwf-core` 스킬 7개와 `aiwf-spec`의 `workflow`, `sync-docs`를 `aiwf-requirements`, `aiwf-use-case-spec`, ..., `aiwf-workflow`, `aiwf-sync-docs`로 함께 설치하며 참조 문서·검사기·출처도 포함한다. `--stack`은 `vaadin-jooq`, `angular-jpa`, `blazor-dotnet`, `nestjs-nextjs` 중 하나를 골라 해당 stack을 추가한다. 기존 스킬은 덮어쓰지 않고 강제 플래그도 없다. 실제 호스트의 스킬 자동 선택과 모델 실행은 별도 파일럿에서 검증할 예정이다.
|
|
41
37
|
|
|
42
|
-
|
|
43
|
-
# 현재 프로젝트에 AIWF 설치
|
|
44
|
-
aiwf install
|
|
45
|
-
|
|
46
|
-
# 완전 재설치 강제 실행 (프롬프트 건너뛰고 모든 내용 덮어쓰기)
|
|
47
|
-
aiwf install --force
|
|
38
|
+
개발 후에는 Codex의 `aiwf-sync-docs` 또는 Claude Code의 `/aiwf-spec:sync-docs`에 변경 의도, 비교 범위와 UC ID를 전달한다. workflow는 완료 전에 이 절차로 관련 문서를 갱신하고 구현 누락·미검증 동작을 보존한다. [단독 skills CLI 설치와 사용 안내](docs/ko-skills/aiwf-spec/README.ko.md#개발-후-문서-동기화), [한글 검토본](docs/ko-skills/aiwf-spec/skills/sync-docs/SKILL.ko.md)을 참고한다. 새 `aiwf-spec` CLI 명령을 추가한 것은 아니다.
|
|
48
39
|
|
|
49
|
-
|
|
50
|
-
aiwf --help
|
|
51
|
-
|
|
52
|
-
# 버전 확인
|
|
53
|
-
aiwf --version
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
### 언어 관리
|
|
40
|
+
Claude/Codex 위임 스킬은 기본 설치에서 빠져 있다. `--delegate claude` 또는 `--delegate codex`로 하나를 고르며, 두 옵션을 함께 주면 둘 다 설치한다. Claude Code marketplace에서도 각 애드온을 따로 설치할 수 있다. 아래 GitHub 기반 skills.sh 명령은 이 변경을 저장소에 게시한 뒤 사용할 수 있다. 대상 스킬과 호스트를 함께 지정한다.
|
|
57
41
|
|
|
58
42
|
```bash
|
|
59
|
-
|
|
60
|
-
aiwf-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
aiwf-lang set ko # 한국어
|
|
64
|
-
aiwf-lang set en # 영어
|
|
65
|
-
|
|
66
|
-
# 자동 감지로 리셋
|
|
67
|
-
aiwf-lang reset
|
|
43
|
+
npx skills add https://github.com/moonklabs/aiwf --skill delegate-claude --agent codex
|
|
44
|
+
npx skills add https://github.com/moonklabs/aiwf --skill delegate-codex --agent codex
|
|
45
|
+
npx skills add https://github.com/moonklabs/aiwf --skill delegate-claude --agent claude-code
|
|
46
|
+
npx skills add https://github.com/moonklabs/aiwf --skill delegate-codex --agent claude-code
|
|
68
47
|
```
|
|
69
48
|
|
|
70
|
-
|
|
49
|
+
위임은 스킬을 직접 호출해야 시작한다. 현재 호스트와 대상이 같으면 네이티브 위임을 사용한다. 다른 CLI를 시작하려면 현재 요청에 `--cross-cli` 토큰이 있어야 한다. 대상 지명만으로는 별도 프로세스 실행 동의가 되지 않는다. 교차 CLI는 기본 읽기 전용이며, 쓰기는 같은 요청에 변경 지시와 정확한 범위가 있을 때만 허용한다. 별도 CLI는 같은 OS 계정·작업 디렉터리·환경으로 실행되고 자체 권한 정책을 따르며 현재 호스트의 샌드박스나 승인을 상속하지 않는다. 자세한 내용은 [위임 명세](docs/modernization/DELEGATION-OPTIONAL.ko.md)를 참고한다.
|
|
71
50
|
|
|
72
|
-
|
|
51
|
+
## 플러그인 구성
|
|
73
52
|
|
|
74
|
-
|
|
75
|
-
1. **업데이트**: 명령어와 문서만 업데이트하고 작업 내용은 보존
|
|
76
|
-
2. **완전 재설치**: 새로 설치, 기존 프로젝트 덮어쓰기
|
|
77
|
-
3. **건너뛰기**: 설치 취소
|
|
53
|
+
upstream AIUP 스킬 31개를 바이트 그대로 가져오고 AIWF 자체 `workflow`, `sync-docs`와 선택 위임 스킬 2개를 더해 총 35개를 제공한다. `aiwf-core`가 upstream 7개를, `aiwf-spec`가 AIWF `workflow`와 `sync-docs` 담는다.
|
|
78
54
|
|
|
79
|
-
|
|
80
|
-
|
|
55
|
+
| 플러그인 | 역할 | 내용 |
|
|
56
|
+
|---|---|---|
|
|
57
|
+
| `aiwf-core` | 방법론 core (필수) | upstream 스킬 7개 바이트 그대로 (2.19.0) |
|
|
58
|
+
| `aiwf-spec` | AIWF 래퍼 (선택) | AIWF `workflow`와 `sync-docs` |
|
|
59
|
+
| `aiwf-delegate-claude` | 선택 위임 애드온 | `delegate-claude` |
|
|
60
|
+
| `aiwf-delegate-codex` | 선택 위임 애드온 | `delegate-codex` |
|
|
61
|
+
| `aiwf-vaadin-jooq` | stack | upstream 스킬 8개 (2.20.0) |
|
|
62
|
+
| `aiwf-angular-jpa` | stack | upstream 스킬 6개 (0.7.0) |
|
|
63
|
+
| `aiwf-blazor-dotnet` | stack | upstream 스킬 5개 (0.7.0) |
|
|
64
|
+
| `aiwf-nestjs-nextjs` | stack | upstream 스킬 5개 (0.4.0) |
|
|
81
65
|
|
|
82
|
-
|
|
83
|
-
- **항상 보존**: 작업 파일, 스프린트, 태스크, 프로젝트 내용
|
|
84
|
-
- **항상 업데이트**: Claude 명령어, 문서, 템플릿, 규칙
|
|
85
|
-
- **백업 생성**: 업데이트된 파일의 자동 백업 (*.bak)
|
|
66
|
+
각 플러그인은 가져온 upstream 파일(`skills/`, stack은 `rules/`와 있는 경우 `agents/`, `LICENSE`, `NOTICE`)과 플러그인별 `UPSTREAM.json`을 둔다. 유일한 upstream 소스 수정은 `aiwf-core` NOTICE에 덧붙인 AIWF 출처 문구이며, 그 밖의 vendored 파일은 upstream 바이트와 동일하다. `aiwf-spec`는 자체 upstream이 없어 core의 [UPSTREAM.json](plugins/aiwf-core/UPSTREAM.json)을 가리킨다. 설치는 파일 복사이며 네이티브 Codex 서브에이전트를 등록하지 않고 MCP도 자동 구성하지 않는다. `agents/uc-coverage.md` 같은 에이전트 프롬프트는 리소스로만 복사되고, 호스트 매핑은 `workflow` 스킬이 설명한다. 이름·개수·pin 갱신 절차는 [SKILLS.ko.md](docs/modernization/SKILLS.ko.md)에 정리했다.
|
|
86
67
|
|
|
87
|
-
|
|
68
|
+
Claude Code에서는 이 저장소를 marketplace로 등록하고 필요한 플러그인(`aiwf-core`, `aiwf-spec`, `aiwf-<stack>`)을 설치한 뒤 `/aiwf-core:use-case-spec`, `/aiwf-spec:workflow`, `/aiwf-nestjs-nextjs:implement`처럼 플러그인 이름으로 한정해 호출한다.
|
|
88
69
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
│ ├── 00_PROJECT_MANIFEST.md # 중앙 추적 문서
|
|
95
|
-
│ ├── 01_PROJECT_DOCS/ # 프로젝트 문서
|
|
96
|
-
│ ├── 02_REQUIREMENTS/ # 마일스톤 요구사항
|
|
97
|
-
│ ├── 03_SPRINTS/ # 스프린트 실행 추적
|
|
98
|
-
│ ├── 04_GENERAL_TASKS/ # 독립 작업
|
|
99
|
-
│ ├── 05_ARCHITECTURAL_DECISIONS/ # ADR 문서
|
|
100
|
-
│ ├── 10_STATE_OF_PROJECT/ # 프로젝트 상태 스냅샷
|
|
101
|
-
│ ├── 98_PROMPTS/ # 유용한 AI 프롬프트
|
|
102
|
-
│ └── 99_TEMPLATES/ # 문서 템플릿
|
|
103
|
-
├── .claude/commands/aiwf/ # 언어별 Claude 명령어
|
|
104
|
-
├── .cursor/rules/ # Cursor IDE 개발 규칙
|
|
105
|
-
└── .windsurf/rules/ # Windsurf IDE 개발 규칙
|
|
70
|
+
```text
|
|
71
|
+
/plugin marketplace add moonklabs/aiwf
|
|
72
|
+
/plugin install aiwf-spec@aiwf-plugins
|
|
73
|
+
/plugin install aiwf-nestjs-nextjs@aiwf-plugins
|
|
74
|
+
/aiwf-nestjs-nextjs:implement
|
|
106
75
|
```
|
|
107
76
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
선택한 언어에 따라 다음이 설치됩니다:
|
|
111
|
-
|
|
112
|
-
**한국어 버전 (`ko/`)** (기본값):
|
|
113
|
-
|
|
114
|
-
- 한국어 Claude 명령어 (`_kr` 접미사 포함)
|
|
115
|
-
- 한국어 문서 및 템플릿
|
|
116
|
-
- 현지화된 프로젝트 관리 콘텐츠
|
|
117
|
-
|
|
118
|
-
**English Version (`en/`)**:
|
|
119
|
-
|
|
120
|
-
- English Claude commands
|
|
121
|
-
- English documentation and templates
|
|
122
|
-
- Standard project management content
|
|
123
|
-
|
|
124
|
-
## 🛠️ CLI 도구
|
|
125
|
-
|
|
126
|
-
AIWF는 프로젝트 관리의 다양한 측면을 위한 여러 전문 CLI 도구를 제공합니다:
|
|
127
|
-
|
|
128
|
-
### 주요 CLI 명령어
|
|
129
|
-
- `aiwf install` - 현재 프로젝트에 AIWF 프레임워크 설치
|
|
130
|
-
- `aiwf create-project` - 템플릿에서 새 프로젝트 생성
|
|
131
|
-
- `aiwf compress` - 토큰 최적화를 위한 컨텍스트 압축
|
|
132
|
-
- `aiwf token` - 토큰 사용량 모니터링 및 관리
|
|
133
|
-
- `aiwf persona` - AI 페르소나 관리
|
|
134
|
-
- `aiwf evaluate` - AI 응답 및 코드 품질 평가
|
|
135
|
-
|
|
136
|
-
### 스프린트 관리 (`aiwf-sprint`)
|
|
137
|
-
- `aiwf-sprint create` - 새로운 독립 스프린트 생성
|
|
138
|
-
- `aiwf-sprint list` - 모든 스프린트 목록 조회
|
|
139
|
-
- `aiwf-sprint status` - 스프린트 상태 및 진행상황 표시
|
|
140
|
-
- `aiwf-sprint task create` - 스프린트에 작업 추가
|
|
141
|
-
- `aiwf-sprint task execute` - 스프린트 작업 실행
|
|
142
|
-
|
|
143
|
-
### 체크포인트 시스템 (`aiwf-checkpoint`)
|
|
144
|
-
- `aiwf-checkpoint create` - 롤백을 위한 프로젝트 체크포인트 생성
|
|
145
|
-
- `aiwf-checkpoint list` - 사용 가능한 모든 체크포인트 목록
|
|
146
|
-
- `aiwf-checkpoint restore` - 이전 체크포인트로 프로젝트 복원
|
|
147
|
-
|
|
148
|
-
### 언어 관리 (`aiwf-lang`)
|
|
149
|
-
- `aiwf-lang status` - 현재 언어 설정 확인
|
|
150
|
-
- `aiwf-lang set ko` - 한국어로 전환
|
|
151
|
-
- `aiwf-lang set en` - 영어로 전환
|
|
77
|
+
원격 설치는 해당 변경이 저장소에 반영된 후 사용할 수 있다. 로컬 개발 중에는 현재 checkout의 절대 경로로 marketplace를 등록한다.
|
|
152
78
|
|
|
153
|
-
|
|
154
|
-
- `aiwf-cache download` - 템플릿을 로컬 캐시에 다운로드
|
|
155
|
-
- `aiwf-cache list` - 캐시된 모든 템플릿 목록
|
|
156
|
-
- `aiwf-cache clean` - 캐시 저장소 정리
|
|
157
|
-
- `aiwf-cache update` - 캐시된 템플릿 업데이트
|
|
158
|
-
- `aiwf-cache status` - 캐시 상태 및 사용량 확인
|
|
79
|
+
## 개발 흐름
|
|
159
80
|
|
|
160
|
-
|
|
81
|
+
1. 사용자 목표와 범위 밖의 일을 `docs/vision.md`에 작성한다.
|
|
82
|
+
2. 요구사항·엔티티·유스케이스·테스트 정의를 작성한다. 예전 시스템은 reverse-engineer로 실제 동작부터 조사한다.
|
|
83
|
+
3. 명세 구조와 참조를 검사하고, 의미 검토를 별도로 한다.
|
|
84
|
+
4. 구현 계획까지 포함한 명세 버전을 고정한다.
|
|
85
|
+
5. 현재 에이전트와 프로젝트 도구로 구현하고 실제 테스트를 실행한다.
|
|
86
|
+
6. `sync-docs`로 영향받는 UC·규칙·테스트 정의·모델·사용 안내를 정리하고 불일치를 보고한다. 문서 검토와 명세 변경 확인 후 실행 로그와 미검증 사항을 packet으로 남긴다.
|
|
161
87
|
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
3. `/project:aiwf:initialize` 명령어로 프로젝트 설정을 시작합니다
|
|
167
|
-
|
|
168
|
-
### 주요 명령어
|
|
169
|
-
|
|
170
|
-
- **초기화**: `/project:aiwf:initialize` - 프로젝트 초기 설정
|
|
171
|
-
- **계획**: `/project:aiwf:aiwf_create_milestone_plan` - 마일스톤 계획 수립
|
|
172
|
-
- **스프린트**: `/project:aiwf:create_sprints_from_milestone` - 스프린트 생성
|
|
173
|
-
- **작업**: `/project:aiwf:do_task` - 작업 실행
|
|
174
|
-
- **리뷰**: `/project:aiwf:code_review` - 코드 리뷰
|
|
175
|
-
- **GitHub 연동**: `/project:aiwf:issue_create`, `/project:aiwf:pr_create`
|
|
176
|
-
|
|
177
|
-
## 🏗️ 코드 아키텍처
|
|
178
|
-
|
|
179
|
-
### 최적화된 검증 시스템
|
|
180
|
-
|
|
181
|
-
AIWF는 안정적인 설치와 운영을 보장하는 크게 개선된 검증 시스템을 특징으로 합니다:
|
|
88
|
+
```bash
|
|
89
|
+
# 저장소 checkout 기준 경로. 대상 프로젝트의 docs를 검사한다.
|
|
90
|
+
python3 plugins/aiwf-core/skills/spec-review/scripts/spec_lint.py \
|
|
91
|
+
--docs /path/to/project/docs --strict --no-baseline
|
|
182
92
|
|
|
183
|
-
|
|
184
|
-
-
|
|
185
|
-
|
|
186
|
-
- **상수 기반 구성**: 모든 검증 매개변수가 `VALIDATION_CONSTANTS`에 중앙화됨
|
|
187
|
-
- **향상된 오류 보고**: 상세한 진단을 포함한 구체적이고 실행 가능한 오류 메시지
|
|
93
|
+
node src/cli/spec-cli.js pin --root /path/to/project
|
|
94
|
+
node src/cli/spec-cli.js check --root /path/to/project --json
|
|
95
|
+
```
|
|
188
96
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
97
|
+
초기화 문서는 Draft 템플릿이다. TODO를 채우고 UC/TC 문서를 작성한 후 pin한다. pin은 SHA256으로 파일 버전을 기록하며 승인을 부여하지 않는다. 명세를 수정했다면 변경 내용을 검토하고 `pin --refresh`로 명시적으로 갱신한다.
|
|
98
|
+
|
|
99
|
+
```text
|
|
100
|
+
project/
|
|
101
|
+
├── docs/
|
|
102
|
+
│ ├── vision.md
|
|
103
|
+
│ ├── requirements.md
|
|
104
|
+
│ ├── glossary.md
|
|
105
|
+
│ ├── entity_model.md
|
|
106
|
+
│ ├── use_cases.puml
|
|
107
|
+
│ ├── use_cases/UC-001-*.md
|
|
108
|
+
│ ├── test_cases/TC-001-*.md
|
|
109
|
+
│ ├── architecture/ # 선택
|
|
110
|
+
│ ├── plans/ # 선택
|
|
111
|
+
│ └── processes/*.bpmn # 선택
|
|
112
|
+
└── .aiwf/
|
|
113
|
+
├── spec-pin.json
|
|
114
|
+
└── review-packet.json
|
|
200
115
|
```
|
|
201
116
|
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
- [CLI 사용 가이드](docs/CLI_USAGE_GUIDE.ko.md) - 상세한 CLI 도구 문서
|
|
227
|
-
- [시작하기](docs/GETTING_STARTED.md) - 새 사용자를 위한 빠른 시작 가이드
|
|
228
|
-
- [개발 가이드](docs/DEVELOPMENT_GUIDE.ko.md) - AIWF에 기여하기
|
|
229
|
-
|
|
230
|
-
### 기능 가이드
|
|
231
|
-
- [독립 스프린트 가이드](docs/guides/independent-sprint-guide-ko.md) - YOLO 중심 스프린트 생성
|
|
232
|
-
- [체크포인트 시스템 가이드](docs/guides/checkpoint-system-guide-ko.md) - 복구 및 진행 상황 추적
|
|
233
|
-
- [AI 페르소나 가이드](docs/guides/ai-personas-guide-ko.md) - 전문 AI 페르소나 사용
|
|
234
|
-
- [컨텍스트 압축 가이드](docs/guides/context-compression-guide-ko.md) - 토큰 최적화 전략
|
|
235
|
-
- [기능 Git 통합 가이드](docs/guides/feature-git-integration-guide-ko.md) - Git hooks 및 추적
|
|
236
|
-
|
|
237
|
-
### 기술 문서
|
|
238
|
-
- [아키텍처](docs/ARCHITECTURE.ko.md) - 시스템 아키텍처 및 설계
|
|
239
|
-
- [상태 관리 가이드](docs/STATE_MANAGEMENT_GUIDE.ko.md) - 워크플로우 기반 상태 시스템
|
|
240
|
-
- [AI 워크플로우](docs/AI-WORKFLOW.ko.md) - AI 통합 패턴
|
|
241
|
-
- [API 참조](docs/API_REFERENCE.md) - 프로그래머틱 사용
|
|
242
|
-
- [전체 API 참조](docs/API_REFERENCE_FULL.ko.md) - 포괄적인 API 문서
|
|
243
|
-
- [Validator API 참조](docs/VALIDATOR_API.ko.md) - 검증 시스템 API 문서
|
|
244
|
-
- [코드 정리 가이드](docs/CODE_CLEANUP_GUIDE.ko.md) - 코드 정리 원칙과 패턴
|
|
245
|
-
- [문제 해결](docs/TROUBLESHOOTING.md) - 일반적인 문제 및 해결책
|
|
246
|
-
|
|
247
|
-
## ✨ 주요 기능
|
|
248
|
-
|
|
249
|
-
- 🌍 **다국어 지원** - 한국어와 영어 완전 지원
|
|
250
|
-
- 🎨 **아름다운 CLI** - 컬러와 진행 표시기가 있는 사용자 친화적 인터페이스
|
|
251
|
-
- 🔄 **스마트 업데이트** - 자동 백업과 함께 지능형 업데이트 감지
|
|
252
|
-
- 📦 **직접 다운로드** - 공식 GitHub 저장소에서 직접 다운로드
|
|
253
|
-
- 🚀 **간편한 사용** - `npx` 사용으로 전역 설치 불필요
|
|
254
|
-
- 💾 **안전한 백업** - 업데이트 시 타임스탬프 백업 생성
|
|
255
|
-
- 🎯 **언어별 맞춤** - 언어별 명령어와 문서
|
|
256
|
-
- 🔧 **IDE 통합** - Cursor와 Windsurf 개발 규칙 지원
|
|
257
|
-
- 🔗 **GitHub 연동** - 이슈 및 PR 생성 자동화
|
|
258
|
-
- 📊 **프로젝트 추적** - 마일스톤, 스프린트, 작업 체계적 관리
|
|
259
|
-
- 🎭 **AI 페르소나** - 5가지 전문 페르소나 (Architect, Security, Frontend, Backend, Data Analyst)
|
|
260
|
-
- 🧠 **페르소나 인식 압축** - 활성 페르소나에 최적화된 지능형 컨텍스트 압축
|
|
261
|
-
- 📈 **경량 평가 시스템** - 최소한의 부담으로 자동 백그라운드 품질 모니터링
|
|
262
|
-
- 🔍 **AI 도구 템플릿** - GitHub Copilot, Cursor, Windsurf, Augment 지원
|
|
263
|
-
- 🪝 **Git Hooks 통합** - git 커밋과 함께 자동 기능 추적
|
|
264
|
-
- 🤖 **워크플로우 기반 상태 관리** - 지능적 작업 우선순위 지정 및 의존성 추적
|
|
265
|
-
- 🎯 **스마트 작업 추천** - 프로젝트 상태 기반 AI 구동 다음 행동 제안
|
|
266
|
-
- 🔄 **적응적 스프린트 관리** - 80% 완료 시 자동 스프린트 생성
|
|
267
|
-
- 🔍 **의존성 분석** - 순환 의존성 감지 및 차단 작업 식별
|
|
268
|
-
|
|
269
|
-
## 🤖 워크플로우 기반 상태 관리 (신규!)
|
|
270
|
-
|
|
271
|
-
AIWF는 이제 AI가 프로젝트 컨텍스트를 유지하는 데 도움이 되는 고급 상태 관리 시스템을 포함합니다:
|
|
272
|
-
|
|
273
|
-
### 상태 관리 명령어
|
|
117
|
+
헤딩·상태·ID는 파서 호환을 위해 영어 형식을 유지한다. 한국어 본문을 사용할 수 있지만 검사 통과가 한국어 의미의 완전성을 보장하지는 않는다.
|
|
118
|
+
|
|
119
|
+
## 검증 결과 묶기
|
|
120
|
+
|
|
121
|
+
테스트는 프로젝트의 도구로 실제 실행하고 로그를 저장한다. 다음 파일은 입력 형식 예시이며 테스트 성공을 증명하는 결과 자체가 아니다. `log`는 대상 프로젝트 안의 경로다.
|
|
122
|
+
|
|
123
|
+
```json
|
|
124
|
+
{
|
|
125
|
+
"checks": [
|
|
126
|
+
{
|
|
127
|
+
"name": "UC-001 regression",
|
|
128
|
+
"command": "npm test -- --runInBand",
|
|
129
|
+
"status": "passed",
|
|
130
|
+
"log": "artifacts/test.log"
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"name": "Business acceptance",
|
|
134
|
+
"command": "stakeholder review",
|
|
135
|
+
"status": "not_run"
|
|
136
|
+
}
|
|
137
|
+
],
|
|
138
|
+
"unverified": ["실제 사용자 업무 수용은 아직 확인하지 않음"]
|
|
139
|
+
}
|
|
140
|
+
```
|
|
274
141
|
|
|
275
142
|
```bash
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
# 현재 상태 및 추천사항 표시
|
|
280
|
-
aiwf state show
|
|
281
|
-
|
|
282
|
-
# AI 기반 다음 작업 추천 받기
|
|
283
|
-
aiwf state next
|
|
284
|
-
|
|
285
|
-
# 워크플로우 일관성 검증
|
|
286
|
-
aiwf state validate
|
|
287
|
-
|
|
288
|
-
# 작업 시작으로 표시
|
|
289
|
-
aiwf state start <task-id>
|
|
290
|
-
|
|
291
|
-
# 작업 완료로 표시
|
|
292
|
-
aiwf state complete <task-id>
|
|
143
|
+
node src/cli/spec-cli.js packet \
|
|
144
|
+
--root /path/to/project --evidence /path/to/project/evidence.json
|
|
293
145
|
```
|
|
294
146
|
|
|
295
|
-
|
|
147
|
+
packet은 로그 본문과 SHA256, 명세 digest, 보고된 검사 결과를 보관한다. `failed`/`not_run`을 보존하며 결과는 `awaiting_review`로 남는다. CLI는 입력된 명령을 실행하지 않고 검사 결과를 독립적으로 인증하지 않는다. 기존 packet은 기본적으로 덮어쓰지 않으며 재생성에는 `--force`가 필요하다.
|
|
296
148
|
|
|
297
|
-
|
|
298
|
-
- **의존성 추적**: 차단 작업 및 순환 의존성 자동 식별
|
|
299
|
-
- **80% 규칙**: 현재 스프린트가 80% 완료 시 다음 스프린트 준비 권장
|
|
300
|
-
- **워크플로우 검증**: 마일스톤, 스프린트, 작업 전반의 상태 일관성 보장
|
|
301
|
-
- **스마트 추천**: 프로젝트 상태 기반 최적 다음 행동 AI 제안
|
|
302
|
-
|
|
303
|
-
### YOLO 모드와의 통합
|
|
304
|
-
|
|
305
|
-
향상된 YOLO 모드는 이제 워크플로우 인텔리전스를 사용합니다:
|
|
149
|
+
## 개발 검증
|
|
306
150
|
|
|
307
151
|
```bash
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
# 워크플로우 최적화를 통한 스프린트별 실행
|
|
312
|
-
/project:aiwf:yolo S03
|
|
313
|
-
|
|
314
|
-
# 적응적 스프린트 관리
|
|
315
|
-
/project:aiwf:yolo sprint-all
|
|
316
|
-
```
|
|
317
|
-
|
|
318
|
-
## 📁 프로젝트 구조
|
|
319
|
-
|
|
152
|
+
npm run test:spec
|
|
153
|
+
npm run validate:spec-plugin
|
|
154
|
+
npm run test:spec-upstream
|
|
320
155
|
```
|
|
321
|
-
aiwf/
|
|
322
|
-
├── ai-tools/ # AI 도구별 구성
|
|
323
|
-
├── commands/ # AIWF 명령어 구현
|
|
324
|
-
├── config/ # 설정 파일
|
|
325
|
-
├── docs/ # 프로젝트 문서
|
|
326
|
-
├── hooks/ # 자동화된 워크플로우를 위한 Git hooks
|
|
327
|
-
├── lib/ # 핵심 라이브러리 모듈
|
|
328
|
-
├── personas/ # AI 페르소나 정의
|
|
329
|
-
├── rules/ # 개발 규칙 및 가이드라인
|
|
330
|
-
├── scripts/ # 빌드 및 유틸리티 스크립트
|
|
331
|
-
├── templates/ # 프로젝트 템플릿 (api-server, npm-library, web-app)
|
|
332
|
-
├── tests/ # 테스트 스위트
|
|
333
|
-
└── utils/ # 유틸리티 모듈
|
|
334
|
-
```
|
|
335
|
-
|
|
336
|
-
### 주요 디렉토리
|
|
337
|
-
|
|
338
|
-
- **hooks/**: 자동화 워크플로우를 위한 git hooks (post-commit) 포함
|
|
339
|
-
|
|
340
|
-
## 🔧 요구사항
|
|
341
|
-
|
|
342
|
-
- Node.js 14.0.0 이상
|
|
343
|
-
- GitHub에서 다운로드하기 위한 인터넷 연결
|
|
344
|
-
|
|
345
|
-
## 📖 소스
|
|
346
156
|
|
|
347
|
-
|
|
348
|
-
https://github.com/moonklabs/aiwf
|
|
157
|
+
예전 설치기·언어/스프린트/페르소나/YOLO 명령·중복 스킬·레거시 플러그인과 문서는 제거했다. npm 패키지는 외부 Node 의존성 없이 `aiwf-spec`만 제공하며 `npm test`는 현재 회귀 검사를 실행한다. 예전 프레임워크와의 호환성은 종료했다. 이미 설치된 프로젝트의 파일이나 사용자 데이터는 변경하지 않는다.
|
|
349
158
|
|
|
350
|
-
##
|
|
159
|
+
## 출처와 라이선스
|
|
351
160
|
|
|
352
|
-
MIT
|
|
161
|
+
`aiwf-core` 방법론 플러그인과 4개 stack 플러그인은 [AI Unified Process marketplace](https://github.com/AI-Unified-Process/marketplace) 커밋 `065dadda0f696c29ff2bacbda31b38152082e6fa`에서 가져왔다. `aiwf-core`와 `aiwf-vaadin-jooq`는 Simon Martinelli, `aiwf-angular-jpa`는 Marc Affolter, `aiwf-blazor-dotnet`은 Carl J. Mosca, `aiwf-nestjs-nextjs`는 Swift Ugandan의 작업이다. 각 플러그인의 `UPSTREAM.json`에 원본 커밋·파일 hash·수정 내역을 기록했다. 기존 AIWF 코드는 [MIT](LICENSE), 가져온 플러그인은 [Apache-2.0](plugins/aiwf-core/LICENSE)와 [NOTICE](plugins/aiwf-core/NOTICE)를 따른다.
|