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,314 @@
|
|
|
1
|
+
# Feature Git Integration Specification
|
|
2
|
+
|
|
3
|
+
This document defines how Features integrate with Git version control in AIWF.
|
|
4
|
+
|
|
5
|
+
## Git Metadata Fields
|
|
6
|
+
|
|
7
|
+
### Core Git Fields in Feature YAML
|
|
8
|
+
|
|
9
|
+
```yaml
|
|
10
|
+
# Git branch information
|
|
11
|
+
git_branch: string # Associated feature branch
|
|
12
|
+
git_base_branch: string # Base branch (usually main/master)
|
|
13
|
+
|
|
14
|
+
# Commit tracking
|
|
15
|
+
git_commits: [ # List of related commits
|
|
16
|
+
{
|
|
17
|
+
hash: string, # Commit SHA
|
|
18
|
+
message: string, # Commit message
|
|
19
|
+
author: string, # Author email
|
|
20
|
+
date: YYYY-MM-DD HH:MM, # Commit timestamp
|
|
21
|
+
files_changed: integer, # Number of files changed
|
|
22
|
+
insertions: integer, # Lines added
|
|
23
|
+
deletions: integer # Lines deleted
|
|
24
|
+
}
|
|
25
|
+
]
|
|
26
|
+
|
|
27
|
+
# Pull request tracking
|
|
28
|
+
pull_requests: [ # Associated PRs
|
|
29
|
+
{
|
|
30
|
+
number: integer, # PR number
|
|
31
|
+
title: string, # PR title
|
|
32
|
+
status: string, # open | merged | closed
|
|
33
|
+
url: string, # Full PR URL
|
|
34
|
+
created_at: timestamp, # PR creation time
|
|
35
|
+
merged_at: timestamp, # PR merge time (if merged)
|
|
36
|
+
reviewers: [string], # List of reviewers
|
|
37
|
+
labels: [string] # PR labels
|
|
38
|
+
}
|
|
39
|
+
]
|
|
40
|
+
|
|
41
|
+
# Code metrics
|
|
42
|
+
code_metrics: {
|
|
43
|
+
total_commits: integer, # Total number of commits
|
|
44
|
+
total_lines_added: integer, # Total insertions
|
|
45
|
+
total_lines_removed: integer, # Total deletions
|
|
46
|
+
files_impacted: integer, # Unique files changed
|
|
47
|
+
first_commit: timestamp, # First commit timestamp
|
|
48
|
+
last_commit: timestamp # Most recent commit
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Git Integration Workflow
|
|
53
|
+
|
|
54
|
+
### 1. Feature Branch Creation
|
|
55
|
+
|
|
56
|
+
When creating a new feature:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
# Create feature in AIWF
|
|
60
|
+
/project:aiwf:create_feature_ledger "User Authentication"
|
|
61
|
+
# Returns: FL001
|
|
62
|
+
|
|
63
|
+
# Create Git branch
|
|
64
|
+
git checkout -b feature/FL001-user-authentication
|
|
65
|
+
|
|
66
|
+
# Link branch to feature
|
|
67
|
+
/project:aiwf:link_feature_branch FL001
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### 2. Commit Tracking
|
|
71
|
+
|
|
72
|
+
#### Automatic Commit Linking
|
|
73
|
+
|
|
74
|
+
Commits mentioning the feature ID are automatically linked:
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
git commit -m "feat(FL001): implement JWT token generation"
|
|
78
|
+
git commit -m "[FL001] add password hashing"
|
|
79
|
+
git commit -m "FL001 - configure auth middleware"
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
#### Manual Commit Linking
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
/project:aiwf:link_feature_commit FL001 abc123def
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### 3. Pull Request Integration
|
|
89
|
+
|
|
90
|
+
#### PR Creation with Feature Link
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
# Create PR with feature reference
|
|
94
|
+
gh pr create --title "[FL001] User Authentication Implementation" \
|
|
95
|
+
--body "Implements feature FL001: User Authentication System"
|
|
96
|
+
|
|
97
|
+
# Auto-links to feature when title/body contains FL### pattern
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
#### PR Status Sync
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
# Sync PR status to feature
|
|
104
|
+
/project:aiwf:sync_feature_pr FL001
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## Commit Message Patterns
|
|
108
|
+
|
|
109
|
+
### Feature ID Detection Patterns
|
|
110
|
+
|
|
111
|
+
The following patterns in commit messages trigger auto-linking:
|
|
112
|
+
|
|
113
|
+
1. `FL###` - Direct reference
|
|
114
|
+
2. `[FL###]` - Bracketed reference
|
|
115
|
+
3. `(FL###)` - Parenthetical reference
|
|
116
|
+
4. `feat(FL###):` - Conventional commit format
|
|
117
|
+
5. `FL###:` - Prefix format
|
|
118
|
+
6. `#FL###` - Hash reference
|
|
119
|
+
|
|
120
|
+
### Commit Message Guidelines
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
# Good examples
|
|
124
|
+
git commit -m "feat(FL001): implement user registration endpoint"
|
|
125
|
+
git commit -m "[FL001] add email validation to registration"
|
|
126
|
+
git commit -m "fix(FL001): resolve token expiration bug"
|
|
127
|
+
git commit -m "test(FL001): add unit tests for auth service"
|
|
128
|
+
git commit -m "docs(FL001): update API documentation for auth endpoints"
|
|
129
|
+
|
|
130
|
+
# Conventional commit types for features
|
|
131
|
+
feat(FL###): # New feature implementation
|
|
132
|
+
fix(FL###): # Bug fixes in feature
|
|
133
|
+
test(FL###): # Tests for feature
|
|
134
|
+
docs(FL###): # Documentation for feature
|
|
135
|
+
refactor(FL###): # Code refactoring
|
|
136
|
+
perf(FL###): # Performance improvements
|
|
137
|
+
style(FL###): # Code style changes
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
## Git Hooks Integration
|
|
141
|
+
|
|
142
|
+
### Pre-commit Hook
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
#!/bin/bash
|
|
146
|
+
# .git/hooks/pre-commit
|
|
147
|
+
|
|
148
|
+
# Check if commits reference a feature
|
|
149
|
+
feature_id=$(git diff --cached --name-only | xargs grep -l "FL[0-9]\{3\}" | head -1)
|
|
150
|
+
|
|
151
|
+
if [ -n "$feature_id" ]; then
|
|
152
|
+
echo "Feature reference detected. Updating feature ledger..."
|
|
153
|
+
/project:aiwf:update_feature_activity "$feature_id"
|
|
154
|
+
fi
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
### Post-commit Hook
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
#!/bin/bash
|
|
161
|
+
# .git/hooks/post-commit
|
|
162
|
+
|
|
163
|
+
# Extract feature ID from commit message
|
|
164
|
+
commit_msg=$(git log -1 --pretty=%B)
|
|
165
|
+
feature_id=$(echo "$commit_msg" | grep -o "FL[0-9]\{3\}" | head -1)
|
|
166
|
+
|
|
167
|
+
if [ -n "$feature_id" ]; then
|
|
168
|
+
# Link commit to feature
|
|
169
|
+
commit_hash=$(git rev-parse HEAD)
|
|
170
|
+
/project:aiwf:link_feature_commit "$feature_id" "$commit_hash"
|
|
171
|
+
fi
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### Post-merge Hook
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
#!/bin/bash
|
|
178
|
+
# .git/hooks/post-merge
|
|
179
|
+
|
|
180
|
+
# Update feature status when PR is merged
|
|
181
|
+
branch_name=$(git rev-parse --abbrev-ref HEAD)
|
|
182
|
+
if [[ "$branch_name" == "main" || "$branch_name" == "master" ]]; then
|
|
183
|
+
# Extract feature ID from merged branch
|
|
184
|
+
merged_branch=$(git reflog -1 | grep -o "feature/FL[0-9]\{3\}[^[:space:]]*")
|
|
185
|
+
if [ -n "$merged_branch" ]; then
|
|
186
|
+
feature_id=$(echo "$merged_branch" | grep -o "FL[0-9]\{3\}")
|
|
187
|
+
/project:aiwf:update_feature_status "$feature_id" "completed"
|
|
188
|
+
fi
|
|
189
|
+
fi
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
## Git Commands for Feature Management
|
|
193
|
+
|
|
194
|
+
### Link Current Branch to Feature
|
|
195
|
+
```bash
|
|
196
|
+
/project:aiwf:link_feature_branch FL001
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
### Import Commit History
|
|
200
|
+
```bash
|
|
201
|
+
/project:aiwf:import_feature_commits FL001 --since="2025-07-01"
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
### Generate Feature Changelog
|
|
205
|
+
```bash
|
|
206
|
+
/project:aiwf:feature_changelog FL001
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
Output:
|
|
210
|
+
```markdown
|
|
211
|
+
# Feature FL001 Changelog
|
|
212
|
+
|
|
213
|
+
## Commits (15 total)
|
|
214
|
+
- abc123d feat(FL001): implement JWT token generation (2025-07-08)
|
|
215
|
+
- def456e [FL001] add password hashing (2025-07-09)
|
|
216
|
+
- ghi789f fix(FL001): resolve token expiration bug (2025-07-10)
|
|
217
|
+
|
|
218
|
+
## Pull Requests (2 total)
|
|
219
|
+
- PR #42: [FL001] User Authentication Implementation (merged)
|
|
220
|
+
- PR #45: [FL001] Fix token validation (open)
|
|
221
|
+
|
|
222
|
+
## Code Impact
|
|
223
|
+
- Files changed: 23
|
|
224
|
+
- Lines added: 1,245
|
|
225
|
+
- Lines removed: 89
|
|
226
|
+
- First commit: 2025-07-08
|
|
227
|
+
- Last activity: 2025-07-10
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
### Feature Git Status
|
|
231
|
+
```bash
|
|
232
|
+
/project:aiwf:feature_git_status FL001
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
Output:
|
|
236
|
+
```
|
|
237
|
+
Feature: FL001 - User Authentication System
|
|
238
|
+
Branch: feature/FL001-user-authentication
|
|
239
|
+
Status: 5 commits ahead of main
|
|
240
|
+
Uncommitted changes: 2 files
|
|
241
|
+
Open PRs: 1
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
## Automation Rules
|
|
245
|
+
|
|
246
|
+
### 1. Branch Naming Convention
|
|
247
|
+
- Pattern: `feature/FL###-descriptive-name`
|
|
248
|
+
- Auto-created when feature is created
|
|
249
|
+
- Validated before commits
|
|
250
|
+
|
|
251
|
+
### 2. Commit Aggregation
|
|
252
|
+
- Commits are aggregated daily
|
|
253
|
+
- Metrics updated every 6 hours
|
|
254
|
+
- Full history preserved
|
|
255
|
+
|
|
256
|
+
### 3. PR Auto-Updates
|
|
257
|
+
- PR status synced on webhook
|
|
258
|
+
- Feature progress updated on merge
|
|
259
|
+
- Reviewers added to contributors
|
|
260
|
+
|
|
261
|
+
### 4. Completion Triggers
|
|
262
|
+
- Feature marked complete when PR merged to main
|
|
263
|
+
- Notification sent to stakeholders
|
|
264
|
+
- Metrics finalized
|
|
265
|
+
|
|
266
|
+
## Git Integration Metrics
|
|
267
|
+
|
|
268
|
+
### Feature Velocity Metrics
|
|
269
|
+
- Average commits per feature
|
|
270
|
+
- Time from first commit to merge
|
|
271
|
+
- Code churn rate
|
|
272
|
+
- Review turnaround time
|
|
273
|
+
|
|
274
|
+
### Quality Metrics
|
|
275
|
+
- Test coverage delta
|
|
276
|
+
- Code review comments
|
|
277
|
+
- Bug fix ratio
|
|
278
|
+
- Refactoring frequency
|
|
279
|
+
|
|
280
|
+
### Team Metrics
|
|
281
|
+
- Commits per developer
|
|
282
|
+
- Review participation
|
|
283
|
+
- Feature ownership distribution
|
|
284
|
+
- Collaboration patterns
|
|
285
|
+
|
|
286
|
+
## Best Practices
|
|
287
|
+
|
|
288
|
+
1. **One Feature, One Branch**: Each feature should have dedicated branch
|
|
289
|
+
2. **Atomic Commits**: Make small, focused commits with clear messages
|
|
290
|
+
3. **Reference Features**: Always include feature ID in commit messages
|
|
291
|
+
4. **Regular Sync**: Run sync commands after significant changes
|
|
292
|
+
5. **Clean History**: Squash commits before merging for clarity
|
|
293
|
+
|
|
294
|
+
## Troubleshooting
|
|
295
|
+
|
|
296
|
+
### Common Issues
|
|
297
|
+
|
|
298
|
+
1. **Missing Commits**: Run import command to catch up
|
|
299
|
+
2. **Broken Links**: Use repair command to fix references
|
|
300
|
+
3. **Orphaned Branches**: Clean up after feature completion
|
|
301
|
+
4. **Sync Delays**: Check webhook configuration
|
|
302
|
+
|
|
303
|
+
### Repair Commands
|
|
304
|
+
|
|
305
|
+
```bash
|
|
306
|
+
# Repair feature-git links
|
|
307
|
+
/project:aiwf:repair_feature_git FL001
|
|
308
|
+
|
|
309
|
+
# Resync all features
|
|
310
|
+
/project:aiwf:resync_all_features
|
|
311
|
+
|
|
312
|
+
# Clean orphaned branches
|
|
313
|
+
/project:aiwf:clean_feature_branches
|
|
314
|
+
```
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
# Feature Integration Guide
|
|
2
|
+
|
|
3
|
+
This document describes how Features integrate with Milestones, Sprints, and Tasks in AIWF.
|
|
4
|
+
|
|
5
|
+
## Integration Architecture
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
Milestone (M##)
|
|
9
|
+
└── Features (FL###)
|
|
10
|
+
└── Sprints (S##_M##)
|
|
11
|
+
└── Tasks (T##_S##)
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Milestone Integration
|
|
15
|
+
|
|
16
|
+
### Linking Features to Milestones
|
|
17
|
+
|
|
18
|
+
Each feature is associated with exactly one milestone through the `milestone` field in the YAML frontmatter.
|
|
19
|
+
|
|
20
|
+
```yaml
|
|
21
|
+
milestone: M02 # Required field
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### Milestone Progress Calculation
|
|
25
|
+
|
|
26
|
+
Milestone progress is calculated based on:
|
|
27
|
+
- Number of completed features vs total features
|
|
28
|
+
- Weighted by feature complexity
|
|
29
|
+
- Formula: `Σ(completed_features * complexity_weight) / Σ(all_features * complexity_weight)`
|
|
30
|
+
|
|
31
|
+
### Complexity Weights
|
|
32
|
+
- `simple`: 1.0
|
|
33
|
+
- `moderate`: 2.0
|
|
34
|
+
- `complex`: 3.0
|
|
35
|
+
|
|
36
|
+
## Sprint Integration
|
|
37
|
+
|
|
38
|
+
### Multi-Sprint Features
|
|
39
|
+
|
|
40
|
+
Features often span multiple sprints. The `sprint_ids` array tracks all related sprints:
|
|
41
|
+
|
|
42
|
+
```yaml
|
|
43
|
+
sprint_ids: [S01_M02, S02_M02, S03_M02]
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Sprint Assignment Rules
|
|
47
|
+
|
|
48
|
+
1. Features are assigned to sprints during sprint planning
|
|
49
|
+
2. A feature can be active in multiple sprints
|
|
50
|
+
3. Sprint progress includes partial feature completion
|
|
51
|
+
|
|
52
|
+
### Sprint Progress Tracking
|
|
53
|
+
|
|
54
|
+
For features spanning multiple sprints:
|
|
55
|
+
- Track `progress_percentage` at feature level
|
|
56
|
+
- Calculate sprint-specific progress based on completed tasks
|
|
57
|
+
- Update feature progress after each sprint
|
|
58
|
+
|
|
59
|
+
## Task Integration
|
|
60
|
+
|
|
61
|
+
### Linking Tasks to Features
|
|
62
|
+
|
|
63
|
+
Tasks reference their parent feature:
|
|
64
|
+
|
|
65
|
+
```yaml
|
|
66
|
+
# In task file
|
|
67
|
+
feature_id: FL001
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Features track their child tasks:
|
|
71
|
+
|
|
72
|
+
```yaml
|
|
73
|
+
# In feature file
|
|
74
|
+
tasks: [T01_S01, T02_S01, T05_S02]
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### Task Completion Impact
|
|
78
|
+
|
|
79
|
+
When a task is completed:
|
|
80
|
+
1. Update feature's task list
|
|
81
|
+
2. Recalculate feature progress
|
|
82
|
+
3. Update sprint progress
|
|
83
|
+
4. Trigger milestone progress update
|
|
84
|
+
|
|
85
|
+
### Progress Calculation
|
|
86
|
+
|
|
87
|
+
Feature progress based on tasks:
|
|
88
|
+
```
|
|
89
|
+
progress = (completed_tasks / total_tasks) * 100
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Bidirectional Sync Mechanisms
|
|
93
|
+
|
|
94
|
+
### 1. Feature Creation
|
|
95
|
+
```
|
|
96
|
+
Create Feature → Update Milestone → Link to Current Sprint
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### 2. Task Creation
|
|
100
|
+
```
|
|
101
|
+
Create Task → Link to Feature → Update Feature Task List
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### 3. Sprint Planning
|
|
105
|
+
```
|
|
106
|
+
Assign Features to Sprint → Update Feature sprint_ids → Update Sprint Scope
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### 4. Status Updates
|
|
110
|
+
```
|
|
111
|
+
Complete Task → Update Feature Progress → Update Sprint Progress → Update Milestone Progress
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Command Integration
|
|
115
|
+
|
|
116
|
+
### Create Feature with Milestone
|
|
117
|
+
```bash
|
|
118
|
+
/project:aiwf:create_feature_ledger "User Authentication" --milestone M02
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### Link Feature to Sprint
|
|
122
|
+
```bash
|
|
123
|
+
/project:aiwf:link_feature_sprint FL001 S02_M02
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### Update Feature from Task Completion
|
|
127
|
+
```bash
|
|
128
|
+
/project:aiwf:complete_task T01_S01
|
|
129
|
+
# Automatically updates FL001 progress
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Data Consistency Rules
|
|
133
|
+
|
|
134
|
+
### 1. Referential Integrity
|
|
135
|
+
- Milestone must exist before feature assignment
|
|
136
|
+
- Sprint must belong to the same milestone
|
|
137
|
+
- Tasks must belong to linked sprints
|
|
138
|
+
|
|
139
|
+
### 2. Status Consistency
|
|
140
|
+
- Feature cannot be "completed" if tasks are incomplete
|
|
141
|
+
- Milestone cannot be "completed" if features are incomplete
|
|
142
|
+
- Archived features are excluded from progress calculations
|
|
143
|
+
|
|
144
|
+
### 3. Progress Synchronization
|
|
145
|
+
- Task completion triggers feature progress update
|
|
146
|
+
- Feature progress updates trigger milestone recalculation
|
|
147
|
+
- All updates are timestamped for audit trail
|
|
148
|
+
|
|
149
|
+
## Integration Queries
|
|
150
|
+
|
|
151
|
+
### Find Features by Milestone
|
|
152
|
+
```bash
|
|
153
|
+
/project:aiwf:list_features --milestone M02
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### Find Features by Sprint
|
|
157
|
+
```bash
|
|
158
|
+
/project:aiwf:list_features --sprint S01_M02
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
### Feature Impact Analysis
|
|
162
|
+
```bash
|
|
163
|
+
/project:aiwf:feature_impact FL001
|
|
164
|
+
# Shows: Related tasks, sprints, blocking features
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
## Reporting Integration
|
|
168
|
+
|
|
169
|
+
### Milestone Report includes:
|
|
170
|
+
- Feature count by status
|
|
171
|
+
- Overall progress percentage
|
|
172
|
+
- Feature complexity distribution
|
|
173
|
+
- Estimated vs actual timeline
|
|
174
|
+
|
|
175
|
+
### Sprint Report includes:
|
|
176
|
+
- Active features
|
|
177
|
+
- Feature progress within sprint
|
|
178
|
+
- Task completion rate
|
|
179
|
+
- Velocity metrics
|
|
180
|
+
|
|
181
|
+
### Feature Report includes:
|
|
182
|
+
- Task breakdown
|
|
183
|
+
- Sprint allocation
|
|
184
|
+
- Time tracking
|
|
185
|
+
- Dependency graph
|
|
186
|
+
|
|
187
|
+
## Best Practices
|
|
188
|
+
|
|
189
|
+
1. **Plan Features First**: Define features before creating tasks
|
|
190
|
+
2. **Update Regularly**: Keep progress percentages current
|
|
191
|
+
3. **Cross-Reference**: Ensure bidirectional links are maintained
|
|
192
|
+
4. **Review Dependencies**: Check for blocked features before sprint planning
|
|
193
|
+
5. **Archive Completed**: Move completed features to maintain performance
|
|
194
|
+
|
|
195
|
+
## Automated Workflows
|
|
196
|
+
|
|
197
|
+
### On Feature Creation:
|
|
198
|
+
1. Generate unique feature ID
|
|
199
|
+
2. Link to active milestone
|
|
200
|
+
3. Create in active sprint (if in progress)
|
|
201
|
+
4. Initialize progress tracking
|
|
202
|
+
|
|
203
|
+
### On Task Completion:
|
|
204
|
+
1. Update feature task list
|
|
205
|
+
2. Recalculate feature progress
|
|
206
|
+
3. Check if feature is complete
|
|
207
|
+
4. Propagate to milestone
|
|
208
|
+
|
|
209
|
+
### On Sprint Close:
|
|
210
|
+
1. Review feature progress
|
|
211
|
+
2. Move incomplete features to next sprint
|
|
212
|
+
3. Archive completed features
|
|
213
|
+
4. Generate sprint report
|
|
214
|
+
|
|
215
|
+
## Error Handling
|
|
216
|
+
|
|
217
|
+
### Common Issues:
|
|
218
|
+
1. **Orphaned Features**: Features without milestone
|
|
219
|
+
2. **Broken References**: Tasks referencing non-existent features
|
|
220
|
+
3. **Circular Dependencies**: Features depending on each other
|
|
221
|
+
4. **Stale Progress**: Outdated progress percentages
|
|
222
|
+
|
|
223
|
+
### Resolution:
|
|
224
|
+
- Regular integrity checks
|
|
225
|
+
- Automated fixing scripts
|
|
226
|
+
- Manual review process
|
|
227
|
+
- Audit trail for changes
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Feature Ledger 인덱스
|
|
2
|
+
|
|
3
|
+
마지막 업데이트: 2025-07-10T02:37:15.882Z
|
|
4
|
+
|
|
5
|
+
## 활성 Features
|
|
6
|
+
|
|
7
|
+
| ID | 제목 | 상태 | 우선순위 | 진행률 | 업데이트 |
|
|
8
|
+
|----|------|------|----------|--------|----------|
|
|
9
|
+
| FL001 | User Authentication System | active | medium | 0% | 2025-07-10 |
|
|
10
|
+
| FL002 | User Authentication System | active | medium | 0% | 2025-07-10 |
|
|
11
|
+
|
|
12
|
+
## 보관된 Features
|
|
13
|
+
|
|
14
|
+
| ID | 제목 | 완료일 |
|
|
15
|
+
|----|------|--------|
|
|
16
|
+
|
|
17
|
+
## 통계
|
|
18
|
+
|
|
19
|
+
- 총 Features: 2
|
|
20
|
+
- 활성: 2
|
|
21
|
+
- 완료: 0
|
|
22
|
+
- 일시 중지: 0
|
|
23
|
+
- 보관됨: 0
|