aiwf 0.3.1 → 0.3.3
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/.aiwf/00_PROJECT_MANIFEST.md +183 -0
- package/.aiwf/01_PROJECT_DOCS/ARCHITECTURE.md +121 -0
- package/.aiwf/01_PROJECT_DOCS/FEATURE_LEDGER_ADVANCED_USE_CASES.md +412 -0
- package/.aiwf/01_PROJECT_DOCS/FEATURE_LEDGER_API_REFERENCE.md +361 -0
- package/.aiwf/01_PROJECT_DOCS/FEATURE_LEDGER_COMMANDS_GUIDE.md +254 -0
- package/.aiwf/01_PROJECT_DOCS/FEATURE_LEDGER_FAQ.md +365 -0
- package/.aiwf/01_PROJECT_DOCS/FEATURE_LEDGER_SYSTEM_OVERVIEW.md +305 -0
- package/.aiwf/01_PROJECT_DOCS/FEATURE_LEDGER_USER_GUIDE.md +416 -0
- package/.aiwf/01_PROJECT_DOCS/FEATURE_LEDGER_/354/213/234/354/236/221_/352/260/200/354/235/264/353/223/234.md +247 -0
- package/.aiwf/02_REQUIREMENTS/CLAUDE.md +78 -0
- package/.aiwf/02_REQUIREMENTS/M02_Context_Engineering_Enhancement/M02_milestone_meta.md +34 -0
- package/.aiwf/02_REQUIREMENTS/M02_Context_Engineering_Enhancement/PRD_Context_Engineering_Enhancement.md +108 -0
- package/.aiwf/02_REQUIREMENTS/M02_Context_Engineering_Enhancement/SPECS_AI_Persona_System.md +299 -0
- package/.aiwf/02_REQUIREMENTS/M02_Context_Engineering_Enhancement/SPECS_Feature_Ledger_System.md +330 -0
- package/.aiwf/02_REQUIREMENTS/M02_Context_Engineering_Enhancement/SPECS_Token_Optimization.md +833 -0
- package/.aiwf/03_SPRINTS/CLAUDE.md +83 -0
- package/.aiwf/03_SPRINTS/S01_M02_context_foundation/S01_M02_sprint_meta.md +95 -0
- package/.aiwf/03_SPRINTS/S01_M02_context_foundation/TX01_S01_Feature_Ledger_/353/215/260/354/235/264/355/204/260_/352/265/254/354/241/260_/354/204/244/352/263/204.md +111 -0
- package/.aiwf/03_SPRINTS/S01_M02_context_foundation/TX02_S01_Feature_Ledger_CLI_/353/252/205/353/240/271/354/226/264_/352/260/234/353/260/234.md +115 -0
- package/.aiwf/03_SPRINTS/S01_M02_context_foundation/TX03_S01_Git_/354/227/260/353/217/231_Feature_/354/266/224/354/240/201.md +141 -0
- package/.aiwf/03_SPRINTS/S01_M02_context_foundation/TX04_S01_Feature_Ledger_/353/254/270/354/204/234/355/231/224.md +114 -0
- package/.aiwf/03_SPRINTS/S01_M02_context_foundation/TX05_S01_AI_/355/216/230/353/245/264/354/206/214/353/202/230_/353/215/260/354/235/264/355/204/260_/352/265/254/354/241/260_/354/204/244/352/263/204.md +123 -0
- package/.aiwf/03_SPRINTS/S01_M02_context_foundation/TX06_S01_/355/216/230/353/245/264/354/206/214/353/202/230_/352/264/200/353/246/254_/353/252/205/353/240/271/354/226/264_/352/265/254/355/230/204.md +114 -0
- package/.aiwf/03_SPRINTS/S01_M02_context_foundation/TX07_S01_Context_/354/225/225/354/266/225_/354/225/204/355/202/244/355/205/215/354/262/230_/354/204/244/352/263/204.md +114 -0
- package/.aiwf/03_SPRINTS/S01_M02_context_foundation/TX08_S01_/355/206/240/355/201/260_/354/266/224/354/240/201_/354/213/234/354/212/244/355/205/234_/355/224/204/353/241/234/355/206/240/355/203/200/354/236/205.md +112 -0
- package/.aiwf/03_SPRINTS/S01_M02_context_foundation/TX09_S01_/354/225/225/354/266/225_/354/225/214/352/263/240/353/246/254/354/246/230_/355/224/204/353/241/234/355/206/240/355/203/200/354/236/205.md +118 -0
- package/.aiwf/03_SPRINTS/S01_M02_context_foundation/TX10_S01_update_docs_/353/252/205/353/240/271/354/226/264_/353/263/265/352/265/254.md +118 -0
- package/.aiwf/03_SPRINTS/S01_M02_context_foundation/TX11_S01_/355/206/265/355/225/251_/355/205/214/354/212/244/355/212/270_Suite_/352/265/254/354/266/225.md +128 -0
- package/.aiwf/03_SPRINTS/S01_M02_context_foundation/TX12_S01_/354/204/261/353/212/245_/354/265/234/354/240/201/355/231/224_/353/260/217_/353/254/270/354/204/234/355/231/224.md +122 -0
- package/.aiwf/03_SPRINTS/S02_M02_ai_enhancement/S02_M02_sprint_meta.md +107 -0
- package/.aiwf/03_SPRINTS/S02_M02_ai_enhancement/TX01_S02_AI_/355/216/230/353/245/264/354/206/214/353/202/230_/353/252/205/353/240/271/354/226/264_/352/265/254/355/230/204.md +129 -0
- package/.aiwf/03_SPRINTS/S02_M02_ai_enhancement/TX02_S02_/355/216/230/353/245/264/354/206/214/353/202/230_/354/273/250/355/205/215/354/212/244/355/212/270_/354/240/201/354/232/251_/354/213/234/354/212/244/355/205/234.md +152 -0
- package/.aiwf/03_SPRINTS/S02_M02_ai_enhancement/TX03_S02_Context_/354/225/225/354/266/225_/354/225/214/352/263/240/353/246/254/354/246/230_/352/265/254/355/230/204.md +186 -0
- package/.aiwf/03_SPRINTS/S02_M02_ai_enhancement/TX05_S02_S02_/355/206/265/355/225/251_/355/205/214/354/212/244/355/212/270_/353/260/217_/353/254/270/354/204/234/355/231/224.md +192 -0
- package/.aiwf/03_SPRINTS/S02_M02_ai_enhancement/TX4_S02_Feature_Git_/354/227/260/353/217/231_/353/260/217_/354/236/220/353/217/231/355/231/224.md +162 -0
- package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/S03_FINAL_SPRINT_SUMMARY.md +137 -0
- package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/S03_M02_sprint_meta.md +106 -0
- package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/TX14_S03_M02_/353/247/210/354/235/274/354/212/244/355/206/244_/354/265/234/354/242/205_/352/262/200/354/246/235_/353/260/217_/353/254/270/354/204/234/355/231/224.md +214 -0
- package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/TX15_S03_/352/270/260/353/263/270_/355/224/204/353/241/234/354/240/235/355/212/270_/355/205/234/355/224/214/353/246/277_/352/260/234/353/260/234.md +177 -0
- package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/TX16_S03_/354/230/244/355/224/204/353/235/274/354/235/270_/355/205/234/355/224/214/353/246/277_/354/272/220/354/213/234_/354/213/234/354/212/244/355/205/234.md +206 -0
- package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/TX_T13_S03_AI_/353/217/204/352/265/254_/355/206/265/355/225/251_/355/205/234/355/224/214/353/246/277_/352/260/234/353/260/234.md +151 -0
- package/.aiwf/04_GENERAL_TASKS/CLAUDE.md +96 -0
- package/.aiwf/04_GENERAL_TASKS/TX001_complete_english_translation.md +127 -0
- package/.aiwf/05_DOCUMENTATION/performance-report.md +33 -0
- package/.aiwf/06_FEATURE_LEDGERS/FEATURE_GIT_INTEGRATION.md +314 -0
- package/.aiwf/06_FEATURE_LEDGERS/FEATURE_INTEGRATION_GUIDE.md +227 -0
- package/.aiwf/06_FEATURE_LEDGERS/FEATURE_LEDGER_INDEX.md +23 -0
- package/.aiwf/06_FEATURE_LEDGERS/FEATURE_SCHEMA.md +205 -0
- package/.aiwf/06_FEATURE_LEDGERS/FEATURE_STATE_DIAGRAM.md +190 -0
- package/.aiwf/06_FEATURE_LEDGERS/active/FL001_user_authentication_system.md +47 -0
- package/.aiwf/06_FEATURE_LEDGERS/active/FL002_user_authentication_system.md +47 -0
- package/.aiwf/07_AI_PERSONAS/PERSONA_INDEX.md +57 -0
- package/.aiwf/07_AI_PERSONAS/architect/best_practices.md +104 -0
- package/.aiwf/07_AI_PERSONAS/architect/context_rules.md +46 -0
- package/.aiwf/07_AI_PERSONAS/architect/knowledge_base.md +235 -0
- package/.aiwf/07_AI_PERSONAS/backend/best_practices.md +363 -0
- package/.aiwf/07_AI_PERSONAS/backend/context_rules.md +61 -0
- package/.aiwf/07_AI_PERSONAS/backend/knowledge_base.md +623 -0
- package/.aiwf/07_AI_PERSONAS/data_analyst/best_practices.md +32 -0
- package/.aiwf/07_AI_PERSONAS/data_analyst/context_rules.md +43 -0
- package/.aiwf/07_AI_PERSONAS/data_analyst/knowledge_base.md +36 -0
- package/.aiwf/07_AI_PERSONAS/frontend/best_practices.md +31 -0
- package/.aiwf/07_AI_PERSONAS/frontend/context_rules.md +43 -0
- package/.aiwf/07_AI_PERSONAS/frontend/knowledge_base.md +32 -0
- package/.aiwf/07_AI_PERSONAS/security/best_practices.md +63 -0
- package/.aiwf/07_AI_PERSONAS/security/context_rules.md +53 -0
- package/.aiwf/07_AI_PERSONAS/security/knowledge_base.md +93 -0
- package/.aiwf/10_PERSONAS/active.json +1 -0
- package/.aiwf/10_PERSONAS/developer.md +37 -0
- package/.aiwf/10_STATE_OF_PROJECT/2025-07-09-07-20-solid-progress.md +144 -0
- package/.aiwf/98_PROMPTS/SAAS_DEVELOPMENT_GUIDE.md +302 -0
- package/.aiwf/98_PROMPTS/github_integration.md +130 -0
- package/.aiwf/98_PROMPTS/useful-prompts.md +31 -0
- package/.aiwf/98_PROMPTS/vibe-front-prompts.md +89 -0
- package/.aiwf/99_TEMPLATES/adr_template.md +49 -0
- package/.aiwf/99_TEMPLATES/feature_template.md +263 -0
- package/.aiwf/99_TEMPLATES/milestone_meta_template.md +25 -0
- package/.aiwf/99_TEMPLATES/project_manifest_template.md +39 -0
- package/.aiwf/99_TEMPLATES/sprint_meta_template.md +23 -0
- package/.aiwf/99_TEMPLATES/task_template.md +36 -0
- package/.aiwf/CLAUDE.md +76 -0
- package/.aiwf/ai-tools/README.md +105 -0
- package/.aiwf/ai-tools/augment/README.md +371 -0
- package/.aiwf/ai-tools/augment/config.json +30 -0
- package/.aiwf/ai-tools/augment/template/.augment/aiwf-integration.md +387 -0
- package/.aiwf/ai-tools/augment/template/.augment/augment.yaml +347 -0
- package/.aiwf/ai-tools/augment/template/augment.config.json +64 -0
- package/.aiwf/ai-tools/claude-code/README.md +151 -0
- package/.aiwf/ai-tools/claude-code/config.json +28 -0
- package/.aiwf/ai-tools/claude-code/template/CLAUDE.md +91 -0
- package/.aiwf/ai-tools/cursor/README.md +314 -0
- package/.aiwf/ai-tools/cursor/config.json +29 -0
- package/.aiwf/ai-tools/cursor/template/.cursorrules +362 -0
- package/.aiwf/ai-tools/github-copilot/README.md +195 -0
- package/.aiwf/ai-tools/github-copilot/config.json +24 -0
- package/.aiwf/ai-tools/github-copilot/template/.github/copilot-instructions.md +202 -0
- package/.aiwf/ai-tools/windsurf/README.md +355 -0
- package/.aiwf/ai-tools/windsurf/config.json +29 -0
- package/.aiwf/ai-tools/windsurf/template/.windsurf/aiwf-rules.md +260 -0
- package/.aiwf/ai-tools/windsurf/template/.windsurf/windsurf.config.js +312 -0
- package/.aiwf/ai-tools/windsurf/template/windsurf.config.json +63 -0
- package/.aiwf/config/language.json +6 -0
- package/.aiwf/feature-ledger/FL-001-authentication.json +52 -0
- package/.aiwf/feature-ledger/feature-index.json +20 -0
- package/.aiwf/installed.flag +1 -0
- package/.aiwf/personas/analyst.json +44 -0
- package/.aiwf/personas/architect/best_practices.md +136 -0
- package/.aiwf/personas/architect/knowledge_base.md +377 -0
- package/.aiwf/personas/architect.json +44 -0
- package/.aiwf/personas/backend/best_practices.md +766 -0
- package/.aiwf/personas/backend/knowledge_base.md +1070 -0
- package/.aiwf/personas/data_analyst/best_practices.md +594 -0
- package/.aiwf/personas/data_analyst/knowledge_base.md +1057 -0
- package/.aiwf/personas/developer.json +44 -0
- package/.aiwf/personas/evaluation_criteria.json +137 -0
- package/.aiwf/personas/frontend/best_practices.md +445 -0
- package/.aiwf/personas/frontend/knowledge_base.md +729 -0
- package/.aiwf/personas/persona-index.json +31 -0
- package/.aiwf/personas/reviewer.json +44 -0
- package/.aiwf/personas/security/best_practices.md +307 -0
- package/.aiwf/personas/security/knowledge_base.md +498 -0
- package/.aiwf/personas/tester.json +44 -0
- package/.aiwf/scripts/cache-templates.js +209 -0
- package/.aiwf/scripts/create-offline.js +86 -0
- package/.aiwf/scripts/create-project.js +151 -0
- package/.aiwf/scripts/feature-progress-calculator.cjs +236 -0
- package/.aiwf/scripts/git-integration.cjs +391 -0
- package/.aiwf/scripts/install-git-hooks.cjs +226 -0
- package/.aiwf/scripts/test-commit-parsing.cjs +125 -0
- package/.aiwf/scripts/update-feature-status.cjs +198 -0
- package/.aiwf/templates/README.md +78 -0
- package/.aiwf/templates/api-server/config.json +64 -0
- package/.aiwf/templates/api-server/template/.aiwf/config.json +56 -0
- package/.aiwf/templates/api-server/template/.aiwf/feature-ledger.json +42 -0
- package/.aiwf/templates/api-server/template/.aiwf/personas/backend-engineer.json +40 -0
- package/.aiwf/templates/api-server/template/.aiwf/scripts/cli.js +111 -0
- package/.aiwf/templates/api-server/template/.env.example +29 -0
- package/.aiwf/templates/api-server/template/.eslintrc.json +23 -0
- package/.aiwf/templates/api-server/template/README.md +171 -0
- package/.aiwf/templates/api-server/template/jest.config.js +26 -0
- package/.aiwf/templates/api-server/template/nodemon.json +9 -0
- package/.aiwf/templates/api-server/template/package.json +61 -0
- package/.aiwf/templates/api-server/template/src/app.ts +60 -0
- package/.aiwf/templates/api-server/template/src/config/swagger.ts +38 -0
- package/.aiwf/templates/api-server/template/src/controllers/aiwfController.ts +68 -0
- package/.aiwf/templates/api-server/template/src/controllers/authController.ts +128 -0
- package/.aiwf/templates/api-server/template/src/controllers/statusController.ts +28 -0
- package/.aiwf/templates/api-server/template/src/index.ts +28 -0
- package/.aiwf/templates/api-server/template/src/middleware/aiwfMiddleware.ts +50 -0
- package/.aiwf/templates/api-server/template/src/middleware/authMiddleware.ts +41 -0
- package/.aiwf/templates/api-server/template/src/middleware/errorHandler.ts +42 -0
- package/.aiwf/templates/api-server/template/src/middleware/notFoundHandler.ts +14 -0
- package/.aiwf/templates/api-server/template/src/middleware/requestLogger.ts +20 -0
- package/.aiwf/templates/api-server/template/src/routes/aiwf.ts +42 -0
- package/.aiwf/templates/api-server/template/src/routes/index.ts +13 -0
- package/.aiwf/templates/api-server/template/src/routes/v1/index.ts +67 -0
- package/.aiwf/templates/api-server/template/src/utils/logger.ts +37 -0
- package/.aiwf/templates/api-server/template/tests/app.test.ts +40 -0
- package/.aiwf/templates/api-server/template/tsconfig.json +43 -0
- package/.aiwf/templates/npm-library/config.json +61 -0
- package/.aiwf/templates/npm-library/template/LICENSE +21 -0
- package/.aiwf/templates/npm-library/template/README.md +201 -0
- package/.aiwf/templates/npm-library/template/package.json +78 -0
- package/.aiwf/templates/web-app/config.json +53 -0
- package/.aiwf/templates/web-app/template/.aiwf/config.json +54 -0
- package/.aiwf/templates/web-app/template/.aiwf/feature-ledger.json +37 -0
- package/.aiwf/templates/web-app/template/.aiwf/personas/fullstack-developer.json +40 -0
- package/.aiwf/templates/web-app/template/.aiwf/scripts/cli.js +110 -0
- package/.aiwf/templates/web-app/template/.eslintrc.cjs +20 -0
- package/.aiwf/templates/web-app/template/README.md +151 -0
- package/.aiwf/templates/web-app/template/index.html +14 -0
- package/.aiwf/templates/web-app/template/package.json +44 -0
- package/.aiwf/templates/web-app/template/postcss.config.js +6 -0
- package/.aiwf/templates/web-app/template/public/vite.svg +1 -0
- package/.aiwf/templates/web-app/template/src/App.tsx +21 -0
- package/.aiwf/templates/web-app/template/src/components/Layout.tsx +57 -0
- package/.aiwf/templates/web-app/template/src/components/aiwf/ContextStatus.tsx +107 -0
- package/.aiwf/templates/web-app/template/src/components/aiwf/FeatureLedger.tsx +93 -0
- package/.aiwf/templates/web-app/template/src/components/aiwf/TokenUsage.tsx +71 -0
- package/.aiwf/templates/web-app/template/src/index.css +60 -0
- package/.aiwf/templates/web-app/template/src/main.tsx +10 -0
- package/.aiwf/templates/web-app/template/src/pages/AiwfDashboard.tsx +60 -0
- package/.aiwf/templates/web-app/template/src/pages/HomePage.tsx +89 -0
- package/.aiwf/templates/web-app/template/src/pages/NotFound.tsx +25 -0
- package/.aiwf/templates/web-app/template/src/stores/aiwfStore.ts +126 -0
- package/.aiwf/templates/web-app/template/src/types/global.d.ts +9 -0
- package/.aiwf/templates/web-app/template/src/vite-env.d.ts +1 -0
- package/.aiwf/templates/web-app/template/tailwind.config.js +30 -0
- package/.aiwf/templates/web-app/template/tsconfig.json +37 -0
- package/.aiwf/templates/web-app/template/tsconfig.node.json +10 -0
- package/.aiwf/templates/web-app/template/vite.config.ts +23 -0
- package/.aiwf/test-cache/86c7f9e80251abb8bedd58953ab0d1779e46b4f43ea33b63bffdb778106373b0.json +6 -0
- package/.aiwf/test-cache/9e252a90b80fce0585d7ed0646e7a9b4343e109f661f42a3ae678ba1ec5e22c7.json +7 -0
- package/.aiwf/test-results-s02.json +36 -0
- package/.aiwf/token-data/alerts.json +293 -0
- package/.aiwf/token-data/monitor-config.json +12 -0
- package/CHANGELOG.md +95 -11
- package/CHANGELOG_M02.md +52 -0
- package/CLAUDE.md +135 -0
- package/README.ko.md +5 -0
- package/README.md +6 -0
- package/RELEASE_NOTES_M02.md +177 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_create_feature_ledger.md +54 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_default_mode.md +66 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_get_feature_details.md +78 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_link_feature_to_milestone.md +57 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_list_features.md +54 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_persona_architect.md +60 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_persona_backend.md +60 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_persona_data_analyst.md +60 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_persona_frontend.md +60 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_persona_security.md +60 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_persona_status.md +72 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_update_feature_status.md +53 -0
- package/claude-code/aiwf/en/commands/ai-persona.js +667 -0
- package/claude-code/aiwf/en/commands/compress-context.js +355 -0
- package/claude-code/aiwf/en/commands/feature-ledger.js +565 -0
- package/claude-code/aiwf/en/commands/feature_commit_report.js +370 -0
- package/claude-code/aiwf/en/commands/scan_git_history.js +234 -0
- package/claude-code/aiwf/en/commands/sync_feature_commits.js +154 -0
- package/claude-code/aiwf/en/commands/token-tracking.js +443 -0
- package/claude-code/aiwf/en/config/commit-patterns.js +103 -0
- package/claude-code/aiwf/en/hooks/install-hooks.sh +100 -0
- package/claude-code/aiwf/en/hooks/post-commit +84 -0
- package/claude-code/aiwf/en/tests/compression-test-suite.js +1252 -0
- package/claude-code/aiwf/en/tests/test-git-integration.js +164 -0
- package/claude-code/aiwf/en/tests/token-tracking.test.js +537 -0
- package/claude-code/aiwf/en/utils/compression-metrics.js +1031 -0
- package/claude-code/aiwf/en/utils/compression-strategies.js +557 -0
- package/claude-code/aiwf/en/utils/content-normalizer.js +455 -0
- package/claude-code/aiwf/en/utils/context-compressor.js +583 -0
- package/claude-code/aiwf/en/utils/feature-updater.js +271 -0
- package/claude-code/aiwf/en/utils/git-utils.js +220 -0
- package/claude-code/aiwf/en/utils/importance-classifier.js +645 -0
- package/claude-code/aiwf/en/utils/information-filter.js +710 -0
- package/claude-code/aiwf/en/utils/text-summarizer.js +487 -0
- package/claude-code/aiwf/en/utils/token-counter.js +177 -0
- package/claude-code/aiwf/en/utils/token-monitor.js +484 -0
- package/claude-code/aiwf/en/utils/token-reporter.js +453 -0
- package/claude-code/aiwf/en/utils/token-storage.js +433 -0
- package/claude-code/aiwf/en/utils/token-tracker.js +283 -0
- package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/FEATURE_ID_GENERATOR.md +138 -0
- package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/FEATURE_INDEX.md +186 -0
- package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/FEATURE_METADATA.md +240 -0
- package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/FEATURE_WORKFLOW.md +183 -0
- package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/README.md +94 -0
- package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/active/FL001_/354/202/254/354/232/251/354/236/220_/354/235/270/354/246/235_/354/213/234/354/212/244/355/205/234.md +154 -0
- package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/active/FL002_ai_/355/216/230/353/245/264/354/206/214/353/202/230_/354/213/234/354/212/244/355/205/234.md +272 -0
- package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/completed/FL003_/353/213/244/352/265/255/354/226/264_/353/252/205/353/240/271/354/226/264_/355/221/234/354/244/200/355/231/224.md +266 -0
- package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/schemas/feature_schema.json +122 -0
- package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/schemas/feature_validator.cjs +406 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_compress_aggressive_persona.md +53 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_compress_context.md +116 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_compress_minimal_persona.md +48 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_compress_stats.md +79 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_compress_with_persona.md +51 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_create_feature_ledger.md +54 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_default_mode.md +44 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_evaluate.md +92 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_get_feature_details.md +78 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_link_feature_to_milestone.md +57 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_list_features.md +54 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_persona_architect.md +48 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_persona_backend.md +37 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_persona_data_analyst.md +37 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_persona_frontend.md +37 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_persona_security.md +48 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_persona_status.md +50 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_update_docs_kr.md +25 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_update_feature_status.md +53 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_yolo.md +2 -2
- package/claude-code/aiwf/ko/CLAUDE.md +76 -0
- package/claude-code/aiwf/ko/ai-tools/README.md +105 -0
- package/claude-code/aiwf/ko/ai-tools/augment/README.md +371 -0
- package/claude-code/aiwf/ko/ai-tools/augment/config.json +30 -0
- package/claude-code/aiwf/ko/ai-tools/augment/template/.augment/aiwf-integration.md +387 -0
- package/claude-code/aiwf/ko/ai-tools/augment/template/.augment/augment.yaml +347 -0
- package/claude-code/aiwf/ko/ai-tools/augment/template/augment.config.json +64 -0
- package/claude-code/aiwf/ko/ai-tools/claude-code/README.md +151 -0
- package/claude-code/aiwf/ko/ai-tools/claude-code/config.json +28 -0
- package/claude-code/aiwf/ko/ai-tools/claude-code/template/CLAUDE.md +91 -0
- package/claude-code/aiwf/ko/ai-tools/cursor/README.md +314 -0
- package/claude-code/aiwf/ko/ai-tools/cursor/config.json +29 -0
- package/claude-code/aiwf/ko/ai-tools/cursor/template/.cursorrules +362 -0
- package/claude-code/aiwf/ko/ai-tools/github-copilot/README.md +195 -0
- package/claude-code/aiwf/ko/ai-tools/github-copilot/config.json +24 -0
- package/claude-code/aiwf/ko/ai-tools/github-copilot/template/.github/copilot-instructions.md +202 -0
- package/claude-code/aiwf/ko/ai-tools/windsurf/README.md +355 -0
- package/claude-code/aiwf/ko/ai-tools/windsurf/config.json +29 -0
- package/claude-code/aiwf/ko/ai-tools/windsurf/template/.windsurf/aiwf-rules.md +260 -0
- package/claude-code/aiwf/ko/ai-tools/windsurf/template/.windsurf/windsurf.config.js +312 -0
- package/claude-code/aiwf/ko/ai-tools/windsurf/template/windsurf.config.json +63 -0
- package/claude-code/aiwf/ko/commands/ai-persona.js +602 -0
- package/claude-code/aiwf/ko/commands/compress-context.js +389 -0
- package/claude-code/aiwf/ko/commands/evaluate.js +246 -0
- package/claude-code/aiwf/ko/commands/feature-ledger.js +565 -0
- package/claude-code/aiwf/ko/commands/feature_commit_report.js +370 -0
- package/claude-code/aiwf/ko/commands/persona-context-apply.js +562 -0
- package/claude-code/aiwf/ko/commands/scan_git_history.js +234 -0
- package/claude-code/aiwf/ko/commands/sync_feature_commits.js +154 -0
- package/claude-code/aiwf/ko/commands/token-tracking.js +443 -0
- package/claude-code/aiwf/ko/config/commit-patterns.js +103 -0
- package/claude-code/aiwf/ko/config/language.json +6 -0
- package/claude-code/aiwf/ko/feature-ledger/FL-001-authentication.json +52 -0
- package/claude-code/aiwf/ko/feature-ledger/feature-index.json +20 -0
- package/claude-code/aiwf/ko/hooks/install-hooks.sh +100 -0
- package/claude-code/aiwf/ko/hooks/post-commit +84 -0
- package/claude-code/aiwf/ko/personas/PERSONA_INDEX.md +57 -0
- package/claude-code/aiwf/ko/personas/analyst.json +44 -0
- package/claude-code/aiwf/ko/personas/architect/best_practices.md +136 -0
- package/claude-code/aiwf/ko/personas/architect/knowledge_base.md +377 -0
- package/claude-code/aiwf/ko/personas/architect.json +44 -0
- package/claude-code/aiwf/ko/personas/backend/best_practices.md +766 -0
- package/claude-code/aiwf/ko/personas/backend/knowledge_base.md +1070 -0
- package/claude-code/aiwf/ko/personas/data_analyst/best_practices.md +594 -0
- package/claude-code/aiwf/ko/personas/data_analyst/knowledge_base.md +1057 -0
- package/claude-code/aiwf/ko/personas/developer.json +44 -0
- package/claude-code/aiwf/ko/personas/developer.md +37 -0
- package/claude-code/aiwf/ko/personas/evaluation_criteria.json +137 -0
- package/claude-code/aiwf/ko/personas/frontend/best_practices.md +445 -0
- package/claude-code/aiwf/ko/personas/frontend/knowledge_base.md +729 -0
- package/claude-code/aiwf/ko/personas/persona-index.json +31 -0
- package/claude-code/aiwf/ko/personas/reviewer.json +44 -0
- package/claude-code/aiwf/ko/personas/security/best_practices.md +307 -0
- package/claude-code/aiwf/ko/personas/security/knowledge_base.md +498 -0
- package/claude-code/aiwf/ko/personas/tester.json +44 -0
- package/claude-code/aiwf/ko/scripts/cache-templates.js +209 -0
- package/claude-code/aiwf/ko/scripts/create-offline.js +86 -0
- package/claude-code/aiwf/ko/scripts/create-project.js +151 -0
- package/claude-code/aiwf/ko/scripts/feature-progress-calculator.cjs +236 -0
- package/claude-code/aiwf/ko/scripts/git-integration.cjs +391 -0
- package/claude-code/aiwf/ko/scripts/install-git-hooks.cjs +226 -0
- package/claude-code/aiwf/ko/scripts/test-commit-parsing.cjs +125 -0
- package/claude-code/aiwf/ko/scripts/update-feature-status.cjs +198 -0
- package/claude-code/aiwf/ko/templates/README.md +78 -0
- package/claude-code/aiwf/ko/templates/api-server/config.json +64 -0
- package/claude-code/aiwf/ko/templates/api-server/template/.aiwf/config.json +56 -0
- package/claude-code/aiwf/ko/templates/api-server/template/.aiwf/feature-ledger.json +42 -0
- package/claude-code/aiwf/ko/templates/api-server/template/.aiwf/personas/backend-engineer.json +40 -0
- package/claude-code/aiwf/ko/templates/api-server/template/.aiwf/scripts/cli.js +111 -0
- package/claude-code/aiwf/ko/templates/api-server/template/.env.example +29 -0
- package/claude-code/aiwf/ko/templates/api-server/template/.eslintrc.json +23 -0
- package/claude-code/aiwf/ko/templates/api-server/template/README.md +171 -0
- package/claude-code/aiwf/ko/templates/api-server/template/jest.config.js +26 -0
- package/claude-code/aiwf/ko/templates/api-server/template/nodemon.json +9 -0
- package/claude-code/aiwf/ko/templates/api-server/template/package.json +61 -0
- package/claude-code/aiwf/ko/templates/api-server/template/src/app.ts +60 -0
- package/claude-code/aiwf/ko/templates/api-server/template/src/config/swagger.ts +38 -0
- package/claude-code/aiwf/ko/templates/api-server/template/src/controllers/aiwfController.ts +68 -0
- package/claude-code/aiwf/ko/templates/api-server/template/src/controllers/authController.ts +128 -0
- package/claude-code/aiwf/ko/templates/api-server/template/src/controllers/statusController.ts +28 -0
- package/claude-code/aiwf/ko/templates/api-server/template/src/index.ts +28 -0
- package/claude-code/aiwf/ko/templates/api-server/template/src/middleware/aiwfMiddleware.ts +50 -0
- package/claude-code/aiwf/ko/templates/api-server/template/src/middleware/authMiddleware.ts +41 -0
- package/claude-code/aiwf/ko/templates/api-server/template/src/middleware/errorHandler.ts +42 -0
- package/claude-code/aiwf/ko/templates/api-server/template/src/middleware/notFoundHandler.ts +14 -0
- package/claude-code/aiwf/ko/templates/api-server/template/src/middleware/requestLogger.ts +20 -0
- package/claude-code/aiwf/ko/templates/api-server/template/src/routes/aiwf.ts +42 -0
- package/claude-code/aiwf/ko/templates/api-server/template/src/routes/index.ts +13 -0
- package/claude-code/aiwf/ko/templates/api-server/template/src/routes/v1/index.ts +67 -0
- package/claude-code/aiwf/ko/templates/api-server/template/src/utils/logger.ts +37 -0
- package/claude-code/aiwf/ko/templates/api-server/template/tests/app.test.ts +40 -0
- package/claude-code/aiwf/ko/templates/api-server/template/tsconfig.json +43 -0
- package/claude-code/aiwf/ko/templates/npm-library/config.json +61 -0
- package/claude-code/aiwf/ko/templates/npm-library/template/LICENSE +21 -0
- package/claude-code/aiwf/ko/templates/npm-library/template/README.md +201 -0
- package/claude-code/aiwf/ko/templates/npm-library/template/package.json +78 -0
- package/claude-code/aiwf/ko/templates/web-app/config.json +53 -0
- package/claude-code/aiwf/ko/templates/web-app/template/.aiwf/config.json +54 -0
- package/claude-code/aiwf/ko/templates/web-app/template/.aiwf/feature-ledger.json +37 -0
- package/claude-code/aiwf/ko/templates/web-app/template/.aiwf/personas/fullstack-developer.json +40 -0
- package/claude-code/aiwf/ko/templates/web-app/template/.aiwf/scripts/cli.js +110 -0
- package/claude-code/aiwf/ko/templates/web-app/template/.eslintrc.cjs +20 -0
- package/claude-code/aiwf/ko/templates/web-app/template/README.md +151 -0
- package/claude-code/aiwf/ko/templates/web-app/template/index.html +14 -0
- package/claude-code/aiwf/ko/templates/web-app/template/package-lock.json +10022 -0
- package/claude-code/aiwf/ko/templates/web-app/template/package.json +44 -0
- package/claude-code/aiwf/ko/templates/web-app/template/postcss.config.js +6 -0
- package/claude-code/aiwf/ko/templates/web-app/template/public/vite.svg +1 -0
- package/claude-code/aiwf/ko/templates/web-app/template/src/App.tsx +21 -0
- package/claude-code/aiwf/ko/templates/web-app/template/src/components/Layout.tsx +57 -0
- package/claude-code/aiwf/ko/templates/web-app/template/src/components/aiwf/ContextStatus.tsx +107 -0
- package/claude-code/aiwf/ko/templates/web-app/template/src/components/aiwf/FeatureLedger.tsx +93 -0
- package/claude-code/aiwf/ko/templates/web-app/template/src/components/aiwf/TokenUsage.tsx +71 -0
- package/claude-code/aiwf/ko/templates/web-app/template/src/index.css +60 -0
- package/claude-code/aiwf/ko/templates/web-app/template/src/main.tsx +10 -0
- package/claude-code/aiwf/ko/templates/web-app/template/src/pages/AiwfDashboard.tsx +60 -0
- package/claude-code/aiwf/ko/templates/web-app/template/src/pages/HomePage.tsx +89 -0
- package/claude-code/aiwf/ko/templates/web-app/template/src/pages/NotFound.tsx +25 -0
- package/claude-code/aiwf/ko/templates/web-app/template/src/stores/aiwfStore.ts +126 -0
- package/claude-code/aiwf/ko/templates/web-app/template/src/types/global.d.ts +9 -0
- package/claude-code/aiwf/ko/templates/web-app/template/src/vite-env.d.ts +1 -0
- package/claude-code/aiwf/ko/templates/web-app/template/tailwind.config.js +30 -0
- package/claude-code/aiwf/ko/templates/web-app/template/tsconfig.json +37 -0
- package/claude-code/aiwf/ko/templates/web-app/template/tsconfig.node.json +10 -0
- package/claude-code/aiwf/ko/templates/web-app/template/vite.config.ts +23 -0
- package/claude-code/aiwf/ko/tests/compression-test-suite.js +1252 -0
- package/claude-code/aiwf/ko/tests/test-git-integration.js +164 -0
- package/claude-code/aiwf/ko/tests/token-tracking.test.js +537 -0
- package/claude-code/aiwf/ko/token-data/alerts.json +293 -0
- package/claude-code/aiwf/ko/token-data/monitor-config.json +12 -0
- package/claude-code/aiwf/ko/utils/background-monitor.js +223 -0
- package/claude-code/aiwf/ko/utils/compression-metrics.js +1031 -0
- package/claude-code/aiwf/ko/utils/compression-strategies.js +557 -0
- package/claude-code/aiwf/ko/utils/content-normalizer.js +455 -0
- package/claude-code/aiwf/ko/utils/context-compressor.js +583 -0
- package/claude-code/aiwf/ko/utils/context-rule-parser.js +180 -0
- package/claude-code/aiwf/ko/utils/context-token-monitor.js +463 -0
- package/claude-code/aiwf/ko/utils/context-update-manager.js +502 -0
- package/claude-code/aiwf/ko/utils/feature-updater.js +271 -0
- package/claude-code/aiwf/ko/utils/git-utils.js +220 -0
- package/claude-code/aiwf/ko/utils/importance-classifier.js +645 -0
- package/claude-code/aiwf/ko/utils/information-filter.js +710 -0
- package/claude-code/aiwf/ko/utils/persona-aware-compressor.js +598 -0
- package/claude-code/aiwf/ko/utils/prompt-injector.js +242 -0
- package/claude-code/aiwf/ko/utils/simplified-evaluator.js +119 -0
- package/claude-code/aiwf/ko/utils/text-summarizer.js +492 -0
- package/claude-code/aiwf/ko/utils/token-counter.js +177 -0
- package/claude-code/aiwf/ko/utils/token-monitor.js +484 -0
- package/claude-code/aiwf/ko/utils/token-reporter.js +453 -0
- package/claude-code/aiwf/ko/utils/token-storage.js +433 -0
- package/claude-code/aiwf/ko/utils/token-tracker.js +283 -0
- package/docs/AI_PERSONA_SYSTEM_DESIGN.md +516 -0
- package/docs/API_DOCUMENTATION.md +932 -0
- package/docs/API_REFERENCE.md +979 -0
- package/docs/COMMANDS_GUIDE.ko.md +8 -2
- package/docs/COMMANDS_GUIDE.md +196 -2
- package/docs/CONTRIBUTING.ko.md +408 -0
- package/docs/CONTRIBUTING.md +205 -203
- package/docs/EXAMPLES.md +691 -0
- package/docs/GETTING_STARTED.md +480 -0
- package/docs/PERFORMANCE_ARCHITECTURE.md +494 -0
- package/docs/PERFORMANCE_GUIDELINES.md +553 -0
- package/docs/TROUBLESHOOTING.md +721 -0
- package/docs/git-feature-integration-guide.md +253 -0
- package/docs/guides/ai-personas-guide-ko.md +239 -0
- package/docs/guides/ai-personas-guide.md +239 -0
- package/docs/guides/context-compression-guide-ko.md +313 -0
- package/docs/guides/context-compression-guide.md +313 -0
- package/docs/guides/feature-git-integration-guide-ko.md +481 -0
- package/docs/guides/feature-git-integration-guide.md +481 -0
- package/docs/lightweight-evaluation.md +198 -0
- package/docs/m02-dod-checklist.md +125 -0
- package/docs/m02-gap-analysis.md +214 -0
- package/docs/m02-milestone-completion-report.md +186 -0
- package/docs/m02-milestone-executive-summary.md +68 -0
- package/docs/offline-template-cache.md +323 -0
- package/docs/performance-benchmark-report.md +159 -0
- package/docs/persona-aware-compression.md +168 -0
- package/docs/reports/S02-sprint-report.md +190 -0
- package/docs/usability-test-report.md +170 -0
- package/index.js +116 -4
- package/jest.config.js +20 -1
- package/language-utils.js +1 -1
- package/lib/ai-persona-manager.js +711 -0
- package/lib/cache-cli.js +459 -0
- package/lib/cache-integration.js +401 -0
- package/lib/cache-system.js +332 -0
- package/lib/context-engine.js +568 -0
- package/lib/file-batch-processor.js +401 -0
- package/lib/memory-profiler.js +471 -0
- package/lib/metrics-collector.js +885 -0
- package/lib/offline-detector.js +386 -0
- package/lib/performance-benchmark.js +621 -0
- package/lib/task-analyzer.js +599 -0
- package/lib/template-cache-system.js +559 -0
- package/lib/template-downloader.js +467 -0
- package/lib/template-manager.js +310 -0
- package/lib/template-version-manager.js +491 -0
- package/lib/token-optimizer.js +517 -0
- package/package.json +6 -3
- package/scripts/run-integration-tests.js +317 -0
- package/src/commands/ai-tool.js +383 -0
- package/test-token-system.js +88 -0
- package/tests/application.test.js +260 -0
- package/tests/basic.test.js +1 -1
- package/tests/integration/ai-persona-system.test.js +396 -0
- package/tests/integration/ai-persona.test.js +390 -0
- package/tests/integration/command-integration.test.js +600 -0
- package/tests/integration/context-compression.test.js +361 -0
- package/tests/integration/feature-ledger.test.js +226 -0
- package/tests/integration/git-integration.test.js +307 -0
- package/tests/integration/m02-milestone.test.js +420 -0
- package/tests/integration/persona-context-application.test.js +508 -0
- package/tests/integration/setup.js +174 -0
- package/tests/integration/test-persona-aware-compression.js +93 -0
- package/tests/language-utils.test.js +25 -9
- package/tests/s02-integration.test.js +422 -0
- package/tests/unit/ai-persona-manager.test.js +514 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_language_manager.md +0 -287
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_language_status.md +0 -246
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_language_manager.md +0 -287
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_language_status.md +0 -246
|
@@ -0,0 +1,481 @@
|
|
|
1
|
+
[Read in Korean (한국어로 보기)](feature-git-integration-guide-ko.md)
|
|
2
|
+
|
|
3
|
+
# Feature-Git Integration Setup Guide
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
The Feature-Git integration system is a tool that automatically connects AIWF's Feature Ledger with Git commits to track and manage feature development progress. It automates project management through commit message parsing, automatic status updates, and progress tracking.
|
|
8
|
+
|
|
9
|
+
## Key Features
|
|
10
|
+
|
|
11
|
+
### 1. Automatic Feature Tracking
|
|
12
|
+
- Automatic connection between Git commits and Feature IDs
|
|
13
|
+
- Extract Feature information from commit messages
|
|
14
|
+
- Automatic Feature status updates
|
|
15
|
+
|
|
16
|
+
### 2. Pre-commit Hook
|
|
17
|
+
- Validate Feature ID before commit
|
|
18
|
+
- Check commit message format
|
|
19
|
+
- Automatic Feature Ledger updates
|
|
20
|
+
|
|
21
|
+
### 3. Progress Management
|
|
22
|
+
- Calculate progress based on commit count
|
|
23
|
+
- Track contribution by Feature
|
|
24
|
+
- Generate team productivity metrics
|
|
25
|
+
|
|
26
|
+
## Installation and Setup
|
|
27
|
+
|
|
28
|
+
### 1. Basic Installation
|
|
29
|
+
|
|
30
|
+
**Automatic Installation (Recommended)**:
|
|
31
|
+
```bash
|
|
32
|
+
/project:aiwf:install_git_hooks
|
|
33
|
+
# or
|
|
34
|
+
/프로젝트:aiwf:git_훅_설치
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
**Manual Installation**:
|
|
38
|
+
```bash
|
|
39
|
+
# Navigate to Git hooks directory
|
|
40
|
+
cd .git/hooks
|
|
41
|
+
|
|
42
|
+
# Create Pre-commit hook
|
|
43
|
+
cat > pre-commit << 'EOF'
|
|
44
|
+
#!/bin/bash
|
|
45
|
+
# AIWF Feature-Git Integration Hook
|
|
46
|
+
|
|
47
|
+
# Commit message file path
|
|
48
|
+
COMMIT_MSG_FILE="$1"
|
|
49
|
+
|
|
50
|
+
# Execute AIWF commit validation
|
|
51
|
+
node .aiwf/scripts/validate-commit.js "$COMMIT_MSG_FILE"
|
|
52
|
+
|
|
53
|
+
# Return validation result
|
|
54
|
+
exit $?
|
|
55
|
+
EOF
|
|
56
|
+
|
|
57
|
+
# Grant execution permission
|
|
58
|
+
chmod +x pre-commit
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### 2. Configuration File Setup
|
|
62
|
+
|
|
63
|
+
`.aiwf/config/git-integration.json`:
|
|
64
|
+
```json
|
|
65
|
+
{
|
|
66
|
+
"featureGitIntegration": {
|
|
67
|
+
"enabled": true,
|
|
68
|
+
"autoLinkCommits": true,
|
|
69
|
+
"updateFeatureStatus": true,
|
|
70
|
+
"commitMessagePattern": "^(feat|fix|docs|style|refactor|test|chore)\\(([A-Z]\\d{3})\\): .+$",
|
|
71
|
+
"featureIdPattern": "[A-Z]\\d{3}",
|
|
72
|
+
"hooks": {
|
|
73
|
+
"preCommit": true,
|
|
74
|
+
"postCommit": true,
|
|
75
|
+
"prePush": false
|
|
76
|
+
},
|
|
77
|
+
"statusMapping": {
|
|
78
|
+
"feat": "in_progress",
|
|
79
|
+
"fix": "in_progress",
|
|
80
|
+
"docs": "in_progress",
|
|
81
|
+
"test": "testing",
|
|
82
|
+
"chore": "in_progress",
|
|
83
|
+
"refactor": "in_progress",
|
|
84
|
+
"style": "in_progress"
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### 3. Feature Ledger Initialization
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
/project:aiwf:init_feature_ledger
|
|
94
|
+
# or
|
|
95
|
+
/프로젝트:aiwf:기능_원장_초기화
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
## Commit Message Format
|
|
99
|
+
|
|
100
|
+
### Basic Format
|
|
101
|
+
```
|
|
102
|
+
<type>(<feature-id>): <description>
|
|
103
|
+
|
|
104
|
+
[optional body]
|
|
105
|
+
|
|
106
|
+
[optional footer]
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Type Categories
|
|
110
|
+
- `feat`: Add new feature
|
|
111
|
+
- `fix`: Fix bug
|
|
112
|
+
- `docs`: Modify documentation
|
|
113
|
+
- `style`: Code formatting, missing semicolons, etc.
|
|
114
|
+
- `refactor`: Code refactoring
|
|
115
|
+
- `test`: Add or modify tests
|
|
116
|
+
- `chore`: Build process or auxiliary tool changes
|
|
117
|
+
|
|
118
|
+
### Feature ID Format
|
|
119
|
+
- Format: `[A-Z][0-9]{3}` (e.g., F001, B023, T456)
|
|
120
|
+
- Customizable per project
|
|
121
|
+
|
|
122
|
+
### Examples
|
|
123
|
+
|
|
124
|
+
**Basic commit**:
|
|
125
|
+
```bash
|
|
126
|
+
git commit -m "feat(F001): Implement user authentication system"
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
**With detailed description**:
|
|
130
|
+
```bash
|
|
131
|
+
git commit -m "fix(B023): Resolve session persistence issue on login
|
|
132
|
+
|
|
133
|
+
- Fixed session timeout settings
|
|
134
|
+
- Added cookie domain configuration
|
|
135
|
+
- Improved refresh token logic"
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
**Multiple Feature references**:
|
|
139
|
+
```bash
|
|
140
|
+
git commit -m "refactor(F001,F002): Integrate authentication modules
|
|
141
|
+
|
|
142
|
+
Integrated login logic from F001 and permission system from F002
|
|
143
|
+
to eliminate code duplication and improve maintainability."
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
## link_feature_commit Command
|
|
147
|
+
|
|
148
|
+
### Basic Usage
|
|
149
|
+
```bash
|
|
150
|
+
/project:aiwf:link_feature_commit <commit-hash> <feature-id>
|
|
151
|
+
# or
|
|
152
|
+
/프로젝트:aiwf:기능_커밋_연결 <커밋해시> <기능ID>
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### Examples
|
|
156
|
+
```bash
|
|
157
|
+
# Link specific commit to Feature
|
|
158
|
+
/project:aiwf:link_feature_commit abc123def F001
|
|
159
|
+
|
|
160
|
+
# Link recent commit
|
|
161
|
+
/project:aiwf:link_feature_commit HEAD F002
|
|
162
|
+
|
|
163
|
+
# Link range of commits
|
|
164
|
+
/project:aiwf:link_feature_commit abc123..def456 F003
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### Batch Linking
|
|
168
|
+
```bash
|
|
169
|
+
# Link multiple commits at once
|
|
170
|
+
/project:aiwf:link_feature_commits --batch
|
|
171
|
+
"abc123 -> F001
|
|
172
|
+
def456 -> F002
|
|
173
|
+
ghi789 -> F003"
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
## Automatic Feature Status Updates
|
|
177
|
+
|
|
178
|
+
### Status Transition Rules
|
|
179
|
+
|
|
180
|
+
1. **First commit**: `planned` → `in_progress`
|
|
181
|
+
2. **Test type commit**: → `testing`
|
|
182
|
+
3. **Fix followed by test pass**: → `ready_for_review`
|
|
183
|
+
4. **PR merge**: → `completed`
|
|
184
|
+
|
|
185
|
+
### Custom Rule Configuration
|
|
186
|
+
```json
|
|
187
|
+
{
|
|
188
|
+
"stateTransitions": {
|
|
189
|
+
"planned": {
|
|
190
|
+
"feat": "in_progress",
|
|
191
|
+
"fix": "in_progress"
|
|
192
|
+
},
|
|
193
|
+
"in_progress": {
|
|
194
|
+
"test": "testing",
|
|
195
|
+
"docs": "documenting"
|
|
196
|
+
},
|
|
197
|
+
"testing": {
|
|
198
|
+
"fix": "in_progress",
|
|
199
|
+
"feat": "ready_for_review"
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
## Advanced Configuration
|
|
206
|
+
|
|
207
|
+
### 1. Commit Message Template
|
|
208
|
+
|
|
209
|
+
Create `.gitmessage` file:
|
|
210
|
+
```
|
|
211
|
+
# <type>(<feature-id>): <subject>
|
|
212
|
+
#
|
|
213
|
+
# <body>
|
|
214
|
+
#
|
|
215
|
+
# Feature: <feature-description>
|
|
216
|
+
# Related: <related-features>
|
|
217
|
+
# Closes: <issue-numbers>
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
Git configuration:
|
|
221
|
+
```bash
|
|
222
|
+
git config commit.template .gitmessage
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
### 2. Automatic Feature ID Suggestion
|
|
226
|
+
|
|
227
|
+
```bash
|
|
228
|
+
# Extract Feature ID from current branch name
|
|
229
|
+
/project:aiwf:suggest_feature_id
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
### 3. Post-commit Automation
|
|
233
|
+
|
|
234
|
+
`.aiwf/hooks/post-commit`:
|
|
235
|
+
```bash
|
|
236
|
+
#!/bin/bash
|
|
237
|
+
# Update Feature Ledger
|
|
238
|
+
node .aiwf/scripts/update-feature-ledger.js
|
|
239
|
+
|
|
240
|
+
# Calculate progress
|
|
241
|
+
node .aiwf/scripts/calculate-progress.js
|
|
242
|
+
|
|
243
|
+
# Notify team (optional)
|
|
244
|
+
# node .aiwf/scripts/notify-team.js
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
## Workflow Integration
|
|
248
|
+
|
|
249
|
+
### 1. Branch Strategy Integration
|
|
250
|
+
|
|
251
|
+
**Feature Branch Creation**:
|
|
252
|
+
```bash
|
|
253
|
+
# Create branch with Feature ID
|
|
254
|
+
git checkout -b feature/F001-user-authentication
|
|
255
|
+
|
|
256
|
+
# AIWF automatically recognizes Feature ID
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
**Branch Rules**:
|
|
260
|
+
- `feature/[FEATURE-ID]-description`
|
|
261
|
+
- `bugfix/[BUG-ID]-description`
|
|
262
|
+
- `hotfix/[HOTFIX-ID]-description`
|
|
263
|
+
|
|
264
|
+
### 2. PR/MR Integration
|
|
265
|
+
|
|
266
|
+
**PR Template** (`.github/pull_request_template.md`):
|
|
267
|
+
```markdown
|
|
268
|
+
## Feature ID: [FEATURE-ID]
|
|
269
|
+
|
|
270
|
+
### Changes
|
|
271
|
+
- [ ] Feature implementation completed
|
|
272
|
+
- [ ] Tests written and completed
|
|
273
|
+
- [ ] Documentation updated
|
|
274
|
+
|
|
275
|
+
### Feature Ledger Update
|
|
276
|
+
- Current status: `in_progress`
|
|
277
|
+
- Target status: `completed`
|
|
278
|
+
- Progress: X%
|
|
279
|
+
|
|
280
|
+
### Related Commits
|
|
281
|
+
- commit1: description
|
|
282
|
+
- commit2: description
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
### 3. CI/CD Pipeline Integration
|
|
286
|
+
|
|
287
|
+
**GitHub Actions Example**:
|
|
288
|
+
```yaml
|
|
289
|
+
name: AIWF Feature Tracking
|
|
290
|
+
|
|
291
|
+
on:
|
|
292
|
+
push:
|
|
293
|
+
branches: [ main, develop ]
|
|
294
|
+
pull_request:
|
|
295
|
+
branches: [ main ]
|
|
296
|
+
|
|
297
|
+
jobs:
|
|
298
|
+
feature-tracking:
|
|
299
|
+
runs-on: ubuntu-latest
|
|
300
|
+
steps:
|
|
301
|
+
- uses: actions/checkout@v2
|
|
302
|
+
|
|
303
|
+
- name: Validate Commit Message
|
|
304
|
+
run: |
|
|
305
|
+
node .aiwf/scripts/validate-commit.js ${{ github.event.head_commit.message }}
|
|
306
|
+
|
|
307
|
+
- name: Update Feature Ledger
|
|
308
|
+
run: |
|
|
309
|
+
node .aiwf/scripts/update-feature-ledger.js \
|
|
310
|
+
--commit ${{ github.sha }} \
|
|
311
|
+
--message "${{ github.event.head_commit.message }}"
|
|
312
|
+
|
|
313
|
+
- name: Calculate Progress
|
|
314
|
+
run: |
|
|
315
|
+
node .aiwf/scripts/calculate-progress.js
|
|
316
|
+
|
|
317
|
+
- name: Generate Report
|
|
318
|
+
run: |
|
|
319
|
+
node .aiwf/scripts/generate-feature-report.js
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
## Reports and Analytics
|
|
323
|
+
|
|
324
|
+
### 1. Feature Progress Report
|
|
325
|
+
|
|
326
|
+
```bash
|
|
327
|
+
/project:aiwf:feature_report
|
|
328
|
+
# or
|
|
329
|
+
/프로젝트:aiwf:기능_보고서
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
**Example Output**:
|
|
333
|
+
```
|
|
334
|
+
Feature Progress Report
|
|
335
|
+
=======================
|
|
336
|
+
|
|
337
|
+
Active Features:
|
|
338
|
+
- F001: User Authentication (75% complete)
|
|
339
|
+
- 12 commits, 3 contributors
|
|
340
|
+
- Status: testing
|
|
341
|
+
- Last update: 2 hours ago
|
|
342
|
+
|
|
343
|
+
- F002: Payment Integration (45% complete)
|
|
344
|
+
- 8 commits, 2 contributors
|
|
345
|
+
- Status: in_progress
|
|
346
|
+
- Last update: 1 day ago
|
|
347
|
+
|
|
348
|
+
Completed Features (Last 7 days):
|
|
349
|
+
- F003: Dashboard UI (100% complete)
|
|
350
|
+
- F004: API Documentation (100% complete)
|
|
351
|
+
|
|
352
|
+
Team Velocity: 4.5 features/week
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
### 2. Commit Analysis
|
|
356
|
+
|
|
357
|
+
```bash
|
|
358
|
+
/project:aiwf:analyze_commits --period 7d
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
**Analysis Content**:
|
|
362
|
+
- Commit frequency
|
|
363
|
+
- Commit distribution by Feature
|
|
364
|
+
- Contribution by developer
|
|
365
|
+
- Activity patterns by time
|
|
366
|
+
|
|
367
|
+
## Troubleshooting
|
|
368
|
+
|
|
369
|
+
### 1. Hook Not Working
|
|
370
|
+
|
|
371
|
+
**Check Items**:
|
|
372
|
+
```bash
|
|
373
|
+
# Check if hook file exists
|
|
374
|
+
ls -la .git/hooks/pre-commit
|
|
375
|
+
|
|
376
|
+
# Check execution permission
|
|
377
|
+
test -x .git/hooks/pre-commit && echo "Executable" || echo "Not executable"
|
|
378
|
+
|
|
379
|
+
# Check hook content
|
|
380
|
+
cat .git/hooks/pre-commit
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
**Solutions**:
|
|
384
|
+
```bash
|
|
385
|
+
# Reset permissions
|
|
386
|
+
chmod +x .git/hooks/pre-commit
|
|
387
|
+
|
|
388
|
+
# Reinstall hook
|
|
389
|
+
/project:aiwf:reinstall_hooks
|
|
390
|
+
```
|
|
391
|
+
|
|
392
|
+
### 2. Feature ID Recognition Failure
|
|
393
|
+
|
|
394
|
+
**Symptoms**: Commit succeeds but Feature is not updated
|
|
395
|
+
|
|
396
|
+
**Solutions**:
|
|
397
|
+
1. Check commit message format
|
|
398
|
+
2. Check Feature ID pattern configuration
|
|
399
|
+
3. Check Feature Ledger file permissions
|
|
400
|
+
|
|
401
|
+
### 3. Status Update Errors
|
|
402
|
+
|
|
403
|
+
**Check Logs**:
|
|
404
|
+
```bash
|
|
405
|
+
tail -f .aiwf/logs/git-integration.log
|
|
406
|
+
```
|
|
407
|
+
|
|
408
|
+
**Manual Update**:
|
|
409
|
+
```bash
|
|
410
|
+
/project:aiwf:update_feature_status F001 in_progress
|
|
411
|
+
```
|
|
412
|
+
|
|
413
|
+
## Best Practices
|
|
414
|
+
|
|
415
|
+
### 1. Consistent Commit Messages
|
|
416
|
+
- Use the same format across the entire team
|
|
417
|
+
- Always include Feature ID
|
|
418
|
+
- Write clear and descriptive messages
|
|
419
|
+
|
|
420
|
+
### 2. Small Unit Commits
|
|
421
|
+
- One commit for one logical change
|
|
422
|
+
- Easy to review and track
|
|
423
|
+
- Easy to rollback when issues occur
|
|
424
|
+
|
|
425
|
+
### 3. Regular Synchronization
|
|
426
|
+
```bash
|
|
427
|
+
# Daily Feature Ledger synchronization
|
|
428
|
+
/project:aiwf:sync_features
|
|
429
|
+
|
|
430
|
+
# Weekly report generation
|
|
431
|
+
/project:aiwf:weekly_feature_report
|
|
432
|
+
```
|
|
433
|
+
|
|
434
|
+
### 4. Branch and Feature Mapping
|
|
435
|
+
- Include Feature ID in branch names
|
|
436
|
+
- Specify Feature ID in PR titles
|
|
437
|
+
- Maintain Feature ID in merge commits
|
|
438
|
+
|
|
439
|
+
## Team Collaboration Scenarios
|
|
440
|
+
|
|
441
|
+
### 1. Starting New Feature
|
|
442
|
+
```bash
|
|
443
|
+
# 1. Create Feature
|
|
444
|
+
/project:aiwf:create_feature "User Profile Feature"
|
|
445
|
+
# Returns: F005 created
|
|
446
|
+
|
|
447
|
+
# 2. Create Branch
|
|
448
|
+
git checkout -b feature/F005-user-profile
|
|
449
|
+
|
|
450
|
+
# 3. First Commit
|
|
451
|
+
git commit -m "feat(F005): Create basic user profile structure"
|
|
452
|
+
```
|
|
453
|
+
|
|
454
|
+
### 2. Collaborative Development
|
|
455
|
+
```bash
|
|
456
|
+
# Developer A
|
|
457
|
+
git commit -m "feat(F005): Implement profile image upload"
|
|
458
|
+
|
|
459
|
+
# Developer B
|
|
460
|
+
git commit -m "test(F005): Add profile upload tests"
|
|
461
|
+
|
|
462
|
+
# Check progress
|
|
463
|
+
/project:aiwf:feature_status F005
|
|
464
|
+
```
|
|
465
|
+
|
|
466
|
+
### 3. Completion and Merge
|
|
467
|
+
```bash
|
|
468
|
+
# When creating PR
|
|
469
|
+
# Title: "feat(F005): Complete user profile feature"
|
|
470
|
+
|
|
471
|
+
# After merge, automatically
|
|
472
|
+
# - Feature status → completed
|
|
473
|
+
# - Progress → 100%
|
|
474
|
+
# - Completion time recorded
|
|
475
|
+
```
|
|
476
|
+
|
|
477
|
+
## Conclusion
|
|
478
|
+
|
|
479
|
+
The Feature-Git integration system effectively combines development processes with project management. Through automated tracking and reporting capabilities, it improves team productivity and enables real-time monitoring of project progress.
|
|
480
|
+
|
|
481
|
+
We encourage you to continuously improve and optimize your workflow through ongoing use and team feedback.
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
# 경량 평가 시스템
|
|
2
|
+
|
|
3
|
+
## 개요
|
|
4
|
+
|
|
5
|
+
AIWF의 경량 평가 시스템은 AI 응답 품질을 간단하고 효율적으로 모니터링합니다. 복잡한 수동 평가 대신 백그라운드 자동 평가를 통해 사용자 작업 흐름을 방해하지 않으면서도 품질을 유지합니다.
|
|
6
|
+
|
|
7
|
+
## 핵심 원칙
|
|
8
|
+
|
|
9
|
+
### 1. Invisible by Default
|
|
10
|
+
- 평가는 백그라운드에서 자동 실행
|
|
11
|
+
- 사용자가 인지하지 못하도록 설계
|
|
12
|
+
- 필요할 때만 피드백 제공
|
|
13
|
+
|
|
14
|
+
### 2. Simple Metrics
|
|
15
|
+
- 3가지 핵심 지표만 사용
|
|
16
|
+
- 복잡한 계산 없이 빠른 평가
|
|
17
|
+
- 실용적인 피드백 중심
|
|
18
|
+
|
|
19
|
+
### 3. Non-Intrusive
|
|
20
|
+
- 품질이 낮을 때만 알림 (60% 미만)
|
|
21
|
+
- 간단한 한 줄 피드백
|
|
22
|
+
- 작업 흐름을 방해하지 않음
|
|
23
|
+
|
|
24
|
+
## 평가 지표
|
|
25
|
+
|
|
26
|
+
### 1. 역할 일치도 (Role Alignment) - 50%
|
|
27
|
+
페르소나의 핵심 키워드가 응답에 포함되었는지 확인합니다.
|
|
28
|
+
|
|
29
|
+
```javascript
|
|
30
|
+
// 페르소나별 핵심 키워드
|
|
31
|
+
architect: ['시스템', '설계', '구조', '아키텍처']
|
|
32
|
+
security: ['보안', '취약점', '암호화', '위협']
|
|
33
|
+
frontend: ['UI', 'UX', '사용자', '화면']
|
|
34
|
+
backend: ['API', '데이터베이스', '서버', '성능']
|
|
35
|
+
data_analyst: ['데이터', '분석', '통계', '인사이트']
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### 2. 작업 관련성 (Task Relevance) - 30%
|
|
39
|
+
응답의 길이와 내용으로 작업 관련성을 간단히 평가합니다.
|
|
40
|
+
- 50자 미만: 0.3
|
|
41
|
+
- 50-200자: 0.6
|
|
42
|
+
- 200자 이상: 0.8
|
|
43
|
+
|
|
44
|
+
### 3. 기본 품질 (Response Quality) - 20%
|
|
45
|
+
응답의 구조와 내용 풍부도를 확인합니다.
|
|
46
|
+
- 구조화된 응답 (줄바꿈, 목록 등): +0.2
|
|
47
|
+
- 충분한 내용 (100자 이상): +0.2
|
|
48
|
+
|
|
49
|
+
## 자동 평가 시점
|
|
50
|
+
|
|
51
|
+
### 1. 페르소나 전환 시
|
|
52
|
+
```bash
|
|
53
|
+
$ aiwf persona architect
|
|
54
|
+
✓ Architect 페르소나 활성화
|
|
55
|
+
# (백그라운드에서 자동 평가 시작)
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### 2. 컨텍스트 압축 시
|
|
59
|
+
```bash
|
|
60
|
+
$ aiwf compress-with-persona
|
|
61
|
+
✓ 압축 완료!
|
|
62
|
+
# (압축 품질 자동 체크)
|
|
63
|
+
💡 시스템 설계 관점을 더 포함해보세요 # 품질이 낮을 때만
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## 수동 평가 명령어
|
|
67
|
+
|
|
68
|
+
필요할 때 수동으로 평가 정보를 확인할 수 있습니다.
|
|
69
|
+
|
|
70
|
+
### 빠른 확인
|
|
71
|
+
```bash
|
|
72
|
+
$ aiwf evaluate
|
|
73
|
+
🔍 최근 응답 평가
|
|
74
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
75
|
+
현재 페르소나: architect
|
|
76
|
+
평균 점수: 0.75
|
|
77
|
+
평가 횟수: 23
|
|
78
|
+
추세: 📈 개선 중
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### 상세 분석
|
|
82
|
+
```bash
|
|
83
|
+
$ aiwf evaluate --detailed
|
|
84
|
+
📊 상세 평가 분석
|
|
85
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
86
|
+
전체 통계:
|
|
87
|
+
- 총 평가: 47회
|
|
88
|
+
- 평균 점수: 0.72
|
|
89
|
+
- 추세: 📈 개선 중
|
|
90
|
+
|
|
91
|
+
페르소나별 성과:
|
|
92
|
+
- 아키텍트: 0.85 (15회)
|
|
93
|
+
- 보안 전문가: 0.62 (8회)
|
|
94
|
+
- 프론트엔드: 0.74 (12회)
|
|
95
|
+
- 백엔드: 0.70 (9회)
|
|
96
|
+
- 데이터 분석가: 0.58 (3회)
|
|
97
|
+
|
|
98
|
+
개선 제안:
|
|
99
|
+
📊 데이터 기반 인사이트를 더 제공해보세요
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### 평가 히스토리
|
|
103
|
+
```bash
|
|
104
|
+
$ aiwf evaluate --history
|
|
105
|
+
📈 평가 히스토리
|
|
106
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
107
|
+
14:32 | 아키텍트 | 0.85
|
|
108
|
+
14:25 | 프론트엔드 | 0.72
|
|
109
|
+
14:18 | 아키텍트 | 0.90
|
|
110
|
+
...
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### 주간 통계
|
|
114
|
+
```bash
|
|
115
|
+
$ aiwf evaluate --stats
|
|
116
|
+
📊 주간 통계
|
|
117
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
118
|
+
평가 횟수: 142회
|
|
119
|
+
평균 점수: 0.74
|
|
120
|
+
추세: 📈 개선 중
|
|
121
|
+
|
|
122
|
+
페르소나별 활용도:
|
|
123
|
+
아키텍트 ████████████ 45회
|
|
124
|
+
프론트엔드 ████████ 32회
|
|
125
|
+
백엔드 ██████ 28회
|
|
126
|
+
보안 전문가 ████ 20회
|
|
127
|
+
데이터 분석가 ████ 17회
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## 피드백 메시지
|
|
131
|
+
|
|
132
|
+
각 페르소나별로 간단한 피드백 메시지가 준비되어 있습니다:
|
|
133
|
+
|
|
134
|
+
- **Architect**: "💡 시스템 설계 관점을 더 포함해보세요"
|
|
135
|
+
- **Security**: "🔒 보안 측면을 좀 더 고려해보세요"
|
|
136
|
+
- **Frontend**: "🎨 사용자 경험 관점을 추가해보세요"
|
|
137
|
+
- **Backend**: "⚙️ 서버/데이터 처리 관점을 강화해보세요"
|
|
138
|
+
- **Data Analyst**: "📊 데이터 기반 인사이트를 더 제공해보세요"
|
|
139
|
+
|
|
140
|
+
## 데이터 저장
|
|
141
|
+
|
|
142
|
+
평가 데이터는 `.aiwf/.evaluation-stats.json`에 자동 저장됩니다:
|
|
143
|
+
|
|
144
|
+
```json
|
|
145
|
+
{
|
|
146
|
+
"recentEvaluations": [
|
|
147
|
+
{
|
|
148
|
+
"persona": "architect",
|
|
149
|
+
"score": 0.85,
|
|
150
|
+
"timestamp": "2024-01-10T14:32:00Z",
|
|
151
|
+
"responseLength": 350
|
|
152
|
+
}
|
|
153
|
+
],
|
|
154
|
+
"lastUpdated": "2024-01-10T14:32:00Z"
|
|
155
|
+
}
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
## 구현 세부사항
|
|
159
|
+
|
|
160
|
+
### SimplifiedEvaluator 클래스
|
|
161
|
+
- 200줄 이하의 간단한 구현
|
|
162
|
+
- 빠른 평가 알고리즘
|
|
163
|
+
- 최소한의 의존성
|
|
164
|
+
|
|
165
|
+
### BackgroundMonitor 클래스
|
|
166
|
+
- 싱글톤 패턴으로 리소스 효율성
|
|
167
|
+
- 비동기 평가로 성능 영향 최소화
|
|
168
|
+
- 자동 데이터 정리 (최대 100개 기록)
|
|
169
|
+
|
|
170
|
+
## 마이그레이션 가이드
|
|
171
|
+
|
|
172
|
+
### 기존 시스템에서 전환
|
|
173
|
+
1. 기존 평가 명령어들이 자동으로 제거됨
|
|
174
|
+
2. 새로운 `aiwf evaluate` 명령어만 사용
|
|
175
|
+
3. 대부분의 평가는 자동으로 백그라운드에서 수행
|
|
176
|
+
|
|
177
|
+
### 주요 변경사항
|
|
178
|
+
- 5개 지표 → 3개 지표
|
|
179
|
+
- 수동 평가 → 자동 평가
|
|
180
|
+
- 5개 명령어 → 1개 명령어
|
|
181
|
+
- 복잡한 리포트 → 간단한 피드백
|
|
182
|
+
|
|
183
|
+
## 성능 영향
|
|
184
|
+
|
|
185
|
+
- **CPU 사용**: 거의 없음 (< 0.1%)
|
|
186
|
+
- **메모리 사용**: 최소 (< 5MB)
|
|
187
|
+
- **평가 시간**: 즉시 (< 10ms)
|
|
188
|
+
- **저장 공간**: 작음 (< 100KB)
|
|
189
|
+
|
|
190
|
+
## 향후 계획
|
|
191
|
+
|
|
192
|
+
1. **AI 응답 후 자동 평가**: Claude API 응답 후킹
|
|
193
|
+
2. **주간 리포트 자동 생성**: 매주 월요일 아침
|
|
194
|
+
3. **팀 통계 공유**: 팀원 간 평가 통계 공유 기능
|
|
195
|
+
|
|
196
|
+
## 결론
|
|
197
|
+
|
|
198
|
+
경량 평가 시스템은 "적을수록 좋다"는 철학을 따릅니다. 필수적인 기능만 유지하면서도 AI 응답 품질을 효과적으로 모니터링할 수 있습니다. 사용자는 평가 시스템의 존재를 거의 인지하지 못하면서도 품질 개선의 혜택을 받습니다.
|