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,205 @@
|
|
|
1
|
+
# Feature Ledger Schema Definition
|
|
2
|
+
|
|
3
|
+
This document defines the data model and schema for Feature Ledger entries in AIWF.
|
|
4
|
+
|
|
5
|
+
## YAML Frontmatter Schema
|
|
6
|
+
|
|
7
|
+
```yaml
|
|
8
|
+
---
|
|
9
|
+
# Required Fields
|
|
10
|
+
feature_id: FL### # Unique identifier (FL + 3-digit number)
|
|
11
|
+
title: string # Feature title (max 100 chars)
|
|
12
|
+
status: enum # active | completed | archived | paused
|
|
13
|
+
created_date: YYYY-MM-DD # Creation date
|
|
14
|
+
last_updated: YYYY-MM-DD HH:MM # Last modification timestamp
|
|
15
|
+
|
|
16
|
+
# Milestone & Sprint Association
|
|
17
|
+
milestone: M## # Associated milestone ID
|
|
18
|
+
sprint_ids: [S##_M##, ...] # List of related sprint IDs
|
|
19
|
+
tasks: [T##_S##, ...] # List of related task IDs
|
|
20
|
+
|
|
21
|
+
# Team & Assignment
|
|
22
|
+
assignee: string # Primary assignee username
|
|
23
|
+
contributors: [string, ...] # List of contributor usernames
|
|
24
|
+
reviewers: [string, ...] # List of reviewer usernames
|
|
25
|
+
|
|
26
|
+
# Classification
|
|
27
|
+
priority: enum # critical | high | medium | low
|
|
28
|
+
complexity: enum # simple | moderate | complex
|
|
29
|
+
category: string # feature | enhancement | bugfix | refactor
|
|
30
|
+
tags: [string, ...] # Searchable tags
|
|
31
|
+
|
|
32
|
+
# Time Tracking
|
|
33
|
+
estimated_hours: number # Estimated hours to complete
|
|
34
|
+
actual_hours: number # Actual hours spent
|
|
35
|
+
estimated_completion: YYYY-MM-DD # Estimated completion date
|
|
36
|
+
actual_completion: YYYY-MM-DD # Actual completion date
|
|
37
|
+
|
|
38
|
+
# Git Integration
|
|
39
|
+
git_branch: string # Associated git branch name
|
|
40
|
+
git_commits: [string, ...] # List of commit hashes
|
|
41
|
+
pull_requests: [ # Associated PRs
|
|
42
|
+
{
|
|
43
|
+
number: integer,
|
|
44
|
+
title: string,
|
|
45
|
+
status: string, # open | merged | closed
|
|
46
|
+
url: string
|
|
47
|
+
}
|
|
48
|
+
]
|
|
49
|
+
|
|
50
|
+
# Dependencies
|
|
51
|
+
depends_on: [FL###, ...] # Feature dependencies
|
|
52
|
+
blocks: [FL###, ...] # Features blocked by this one
|
|
53
|
+
|
|
54
|
+
# Progress Tracking
|
|
55
|
+
progress_percentage: 0-100 # Overall progress percentage
|
|
56
|
+
checklist_items_total: integer # Total checklist items
|
|
57
|
+
checklist_items_completed: integer # Completed checklist items
|
|
58
|
+
|
|
59
|
+
# Risk & Issues
|
|
60
|
+
risk_level: enum # low | medium | high
|
|
61
|
+
known_issues: [string, ...] # List of known issues
|
|
62
|
+
mitigation_plans: [string, ...] # Risk mitigation strategies
|
|
63
|
+
|
|
64
|
+
# Additional Metadata
|
|
65
|
+
external_links: [ # External resources
|
|
66
|
+
{
|
|
67
|
+
title: string,
|
|
68
|
+
url: string,
|
|
69
|
+
type: string # doc | design | spec | discussion
|
|
70
|
+
}
|
|
71
|
+
]
|
|
72
|
+
notes: string # Additional notes (multiline)
|
|
73
|
+
---
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Field Validations
|
|
77
|
+
|
|
78
|
+
### feature_id
|
|
79
|
+
- Pattern: `FL[0-9]{3}`
|
|
80
|
+
- Must be unique across all features
|
|
81
|
+
- Sequential assignment recommended
|
|
82
|
+
|
|
83
|
+
### title
|
|
84
|
+
- Required, non-empty string
|
|
85
|
+
- Maximum 100 characters
|
|
86
|
+
- Should be descriptive and searchable
|
|
87
|
+
|
|
88
|
+
### status
|
|
89
|
+
- Required enum value
|
|
90
|
+
- Valid transitions:
|
|
91
|
+
- `active` → `completed`, `paused`, `archived`
|
|
92
|
+
- `paused` → `active`, `archived`
|
|
93
|
+
- `completed` → `archived`
|
|
94
|
+
- `archived` → (no transitions allowed)
|
|
95
|
+
|
|
96
|
+
### dates
|
|
97
|
+
- ISO 8601 format for all dates
|
|
98
|
+
- `created_date` is immutable once set
|
|
99
|
+
- `last_updated` auto-updates on any change
|
|
100
|
+
|
|
101
|
+
### priority
|
|
102
|
+
- Default: `medium`
|
|
103
|
+
- Used for sprint planning and resource allocation
|
|
104
|
+
|
|
105
|
+
### complexity
|
|
106
|
+
- Default: `moderate`
|
|
107
|
+
- Guidelines:
|
|
108
|
+
- `simple`: < 8 hours estimated
|
|
109
|
+
- `moderate`: 8-40 hours estimated
|
|
110
|
+
- `complex`: > 40 hours estimated
|
|
111
|
+
|
|
112
|
+
### progress_percentage
|
|
113
|
+
- Calculated based on:
|
|
114
|
+
- Checklist completion (40%)
|
|
115
|
+
- Task completion (40%)
|
|
116
|
+
- Time elapsed vs estimate (20%)
|
|
117
|
+
|
|
118
|
+
## Status Definitions
|
|
119
|
+
|
|
120
|
+
### active
|
|
121
|
+
- Feature is currently being worked on
|
|
122
|
+
- Has assigned resources
|
|
123
|
+
- Appears in active dashboards
|
|
124
|
+
|
|
125
|
+
### completed
|
|
126
|
+
- All acceptance criteria met
|
|
127
|
+
- Code merged to main branch
|
|
128
|
+
- Tests passing
|
|
129
|
+
- Documentation updated
|
|
130
|
+
|
|
131
|
+
### paused
|
|
132
|
+
- Work temporarily halted
|
|
133
|
+
- Reason documented in notes
|
|
134
|
+
- Resources reallocated
|
|
135
|
+
|
|
136
|
+
### archived
|
|
137
|
+
- No longer relevant
|
|
138
|
+
- Kept for historical reference
|
|
139
|
+
- Excluded from active reports
|
|
140
|
+
|
|
141
|
+
## Example Feature Entry
|
|
142
|
+
|
|
143
|
+
```yaml
|
|
144
|
+
---
|
|
145
|
+
feature_id: FL001
|
|
146
|
+
title: User Authentication System
|
|
147
|
+
status: active
|
|
148
|
+
created_date: 2025-07-08
|
|
149
|
+
last_updated: 2025-07-08 23:50
|
|
150
|
+
|
|
151
|
+
milestone: M02
|
|
152
|
+
sprint_ids: [S01_M02, S02_M02]
|
|
153
|
+
tasks: [T01_S01, T02_S01]
|
|
154
|
+
|
|
155
|
+
assignee: developer1
|
|
156
|
+
contributors: [developer2, designer1]
|
|
157
|
+
reviewers: [lead_dev, architect]
|
|
158
|
+
|
|
159
|
+
priority: high
|
|
160
|
+
complexity: complex
|
|
161
|
+
category: feature
|
|
162
|
+
tags: [authentication, security, backend, api]
|
|
163
|
+
|
|
164
|
+
estimated_hours: 80
|
|
165
|
+
actual_hours: 45
|
|
166
|
+
estimated_completion: 2025-07-20
|
|
167
|
+
actual_completion: null
|
|
168
|
+
|
|
169
|
+
git_branch: feature/FL001-user-auth
|
|
170
|
+
git_commits: [abc123, def456]
|
|
171
|
+
pull_requests:
|
|
172
|
+
- number: 42
|
|
173
|
+
title: "Implement JWT authentication"
|
|
174
|
+
status: open
|
|
175
|
+
url: "https://github.com/org/repo/pull/42"
|
|
176
|
+
|
|
177
|
+
depends_on: []
|
|
178
|
+
blocks: [FL002, FL003]
|
|
179
|
+
|
|
180
|
+
progress_percentage: 55
|
|
181
|
+
checklist_items_total: 12
|
|
182
|
+
checklist_items_completed: 7
|
|
183
|
+
|
|
184
|
+
risk_level: medium
|
|
185
|
+
known_issues:
|
|
186
|
+
- "Session timeout handling needs refinement"
|
|
187
|
+
- "Password reset flow requires email service"
|
|
188
|
+
mitigation_plans:
|
|
189
|
+
- "Implement refresh token mechanism"
|
|
190
|
+
- "Integrate with SendGrid for email delivery"
|
|
191
|
+
|
|
192
|
+
external_links:
|
|
193
|
+
- title: "Authentication Design Doc"
|
|
194
|
+
url: "https://docs.example.com/auth-design"
|
|
195
|
+
type: "design"
|
|
196
|
+
- title: "Security Requirements"
|
|
197
|
+
url: "https://docs.example.com/security-req"
|
|
198
|
+
type: "spec"
|
|
199
|
+
|
|
200
|
+
notes: |
|
|
201
|
+
Initial implementation focuses on JWT-based authentication.
|
|
202
|
+
Need to consider OAuth2 integration in future sprints.
|
|
203
|
+
Performance testing required for token validation endpoint.
|
|
204
|
+
---
|
|
205
|
+
```
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
# Feature State Transition Diagram
|
|
2
|
+
|
|
3
|
+
This document defines the state transitions and rules for Feature Ledger entries.
|
|
4
|
+
|
|
5
|
+
## State Definitions
|
|
6
|
+
|
|
7
|
+
### 1. **active**
|
|
8
|
+
- Feature is currently being developed
|
|
9
|
+
- Has active resources assigned
|
|
10
|
+
- Work is in progress
|
|
11
|
+
- Appears in sprint boards and active dashboards
|
|
12
|
+
|
|
13
|
+
### 2. **completed**
|
|
14
|
+
- All acceptance criteria have been met
|
|
15
|
+
- Code has been merged to main branch
|
|
16
|
+
- All tests are passing
|
|
17
|
+
- Documentation has been updated
|
|
18
|
+
- Feature is ready for production
|
|
19
|
+
|
|
20
|
+
### 3. **paused**
|
|
21
|
+
- Work has been temporarily halted
|
|
22
|
+
- Resources have been reallocated
|
|
23
|
+
- Reason for pause is documented
|
|
24
|
+
- Can be resumed later
|
|
25
|
+
|
|
26
|
+
### 4. **archived**
|
|
27
|
+
- Feature is no longer relevant
|
|
28
|
+
- Kept for historical reference only
|
|
29
|
+
- Cannot be transitioned to other states
|
|
30
|
+
- Excluded from active reports and dashboards
|
|
31
|
+
|
|
32
|
+
## State Transition Diagram
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
┌─────────┐
|
|
36
|
+
│ START │
|
|
37
|
+
└────┬────┘
|
|
38
|
+
│
|
|
39
|
+
▼
|
|
40
|
+
┌─────────┐ pause ┌─────────┐
|
|
41
|
+
│ ├──────────────────►│ │
|
|
42
|
+
│ active │ │ paused │
|
|
43
|
+
│ │◄──────────────────┤ │
|
|
44
|
+
└────┬────┘ resume └────┬────┘
|
|
45
|
+
│ │
|
|
46
|
+
│ complete │ abandon
|
|
47
|
+
│ │
|
|
48
|
+
▼ │
|
|
49
|
+
┌─────────┐ │
|
|
50
|
+
│completed│ │
|
|
51
|
+
└────┬────┘ │
|
|
52
|
+
│ │
|
|
53
|
+
│ archive │
|
|
54
|
+
│ │
|
|
55
|
+
▼ ▼
|
|
56
|
+
┌─────────────────────────────────┐
|
|
57
|
+
│ archived │
|
|
58
|
+
└─────────────────────────────────┘
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Transition Rules
|
|
62
|
+
|
|
63
|
+
### From **active**:
|
|
64
|
+
- **→ completed**: When all work is done and acceptance criteria met
|
|
65
|
+
- **→ paused**: When work needs to be temporarily halted
|
|
66
|
+
- **→ archived**: When feature is abandoned or no longer needed
|
|
67
|
+
|
|
68
|
+
### From **paused**:
|
|
69
|
+
- **→ active**: When work resumes
|
|
70
|
+
- **→ archived**: When decision made not to continue
|
|
71
|
+
|
|
72
|
+
### From **completed**:
|
|
73
|
+
- **→ archived**: When feature is retired or superseded
|
|
74
|
+
|
|
75
|
+
### From **archived**:
|
|
76
|
+
- No transitions allowed (terminal state)
|
|
77
|
+
|
|
78
|
+
## Transition Triggers and Conditions
|
|
79
|
+
|
|
80
|
+
### active → completed
|
|
81
|
+
**Triggers:**
|
|
82
|
+
- All checklist items marked as complete
|
|
83
|
+
- All linked tasks have status "completed"
|
|
84
|
+
- Code review approved and merged
|
|
85
|
+
- Tests passing in CI/CD
|
|
86
|
+
|
|
87
|
+
**Validation:**
|
|
88
|
+
- `checklist_items_completed == checklist_items_total`
|
|
89
|
+
- `actual_completion` date is set
|
|
90
|
+
- All linked PRs have status "merged"
|
|
91
|
+
|
|
92
|
+
**Actions:**
|
|
93
|
+
- Set `actual_completion` to current date
|
|
94
|
+
- Update `progress_percentage` to 100
|
|
95
|
+
- Notify stakeholders
|
|
96
|
+
- Update milestone progress
|
|
97
|
+
|
|
98
|
+
### active → paused
|
|
99
|
+
**Triggers:**
|
|
100
|
+
- Resource reallocation needed
|
|
101
|
+
- Blocking dependencies identified
|
|
102
|
+
- Strategic priority change
|
|
103
|
+
- Technical blockers discovered
|
|
104
|
+
|
|
105
|
+
**Validation:**
|
|
106
|
+
- Pause reason documented in `notes`
|
|
107
|
+
- `known_issues` updated if applicable
|
|
108
|
+
|
|
109
|
+
**Actions:**
|
|
110
|
+
- Add pause reason to activity log
|
|
111
|
+
- Notify assignee and stakeholders
|
|
112
|
+
- Update sprint planning
|
|
113
|
+
|
|
114
|
+
### paused → active
|
|
115
|
+
**Triggers:**
|
|
116
|
+
- Resources become available
|
|
117
|
+
- Blocking dependencies resolved
|
|
118
|
+
- Priority restored
|
|
119
|
+
- Technical issues resolved
|
|
120
|
+
|
|
121
|
+
**Validation:**
|
|
122
|
+
- Assignee available
|
|
123
|
+
- Dependencies cleared
|
|
124
|
+
|
|
125
|
+
**Actions:**
|
|
126
|
+
- Notify assignee to resume work
|
|
127
|
+
- Update sprint allocation
|
|
128
|
+
- Clear pause reason from notes
|
|
129
|
+
|
|
130
|
+
### Any → archived
|
|
131
|
+
**Triggers:**
|
|
132
|
+
- Feature deprecated
|
|
133
|
+
- Business requirements changed
|
|
134
|
+
- Superseded by another feature
|
|
135
|
+
- Project cancelled
|
|
136
|
+
|
|
137
|
+
**Validation:**
|
|
138
|
+
- Archive reason documented
|
|
139
|
+
- No active dependencies
|
|
140
|
+
|
|
141
|
+
**Actions:**
|
|
142
|
+
- Move file to `archived/` directory
|
|
143
|
+
- Update all dependent features
|
|
144
|
+
- Remove from active reports
|
|
145
|
+
- Final notification to stakeholders
|
|
146
|
+
|
|
147
|
+
## State Management Commands
|
|
148
|
+
|
|
149
|
+
### Check Current State
|
|
150
|
+
```bash
|
|
151
|
+
/project:aiwf:feature_status FL001
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### Transition State
|
|
155
|
+
```bash
|
|
156
|
+
/project:aiwf:update_feature_status FL001 completed
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### Validate Transition
|
|
160
|
+
```bash
|
|
161
|
+
/project:aiwf:validate_feature_transition FL001 active completed
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
## Automation Rules
|
|
165
|
+
|
|
166
|
+
1. **Auto-pause** if no activity for 30 days
|
|
167
|
+
2. **Auto-archive** completed features after 90 days
|
|
168
|
+
3. **Alert** when paused features exceed 14 days
|
|
169
|
+
4. **Block** invalid transitions with error messages
|
|
170
|
+
5. **Log** all transitions with timestamp and user
|
|
171
|
+
|
|
172
|
+
## Reporting
|
|
173
|
+
|
|
174
|
+
### State Distribution Report
|
|
175
|
+
- Shows count and percentage by state
|
|
176
|
+
- Identifies stale features
|
|
177
|
+
- Tracks state transition velocity
|
|
178
|
+
|
|
179
|
+
### Transition History
|
|
180
|
+
- Audit trail of all state changes
|
|
181
|
+
- Average time in each state
|
|
182
|
+
- Transition patterns analysis
|
|
183
|
+
|
|
184
|
+
## Best Practices
|
|
185
|
+
|
|
186
|
+
1. **Document Transitions**: Always add a note explaining why a state change occurred
|
|
187
|
+
2. **Review Before Archiving**: Ensure no valuable work is lost
|
|
188
|
+
3. **Regular State Reviews**: Weekly review of paused features
|
|
189
|
+
4. **Clear Dependencies**: Update blocked features when completing dependencies
|
|
190
|
+
5. **Timely Updates**: Change state as soon as conditions are met
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# FL001: User Authentication System
|
|
2
|
+
|
|
3
|
+
## 메타데이터
|
|
4
|
+
|
|
5
|
+
- **Feature ID**: FL001
|
|
6
|
+
- **제목**: User Authentication System
|
|
7
|
+
- **상태**: active
|
|
8
|
+
- **우선순위**: medium
|
|
9
|
+
- **카테고리**: feature
|
|
10
|
+
- **생성일**: 2025-07-10T02:36:50.995Z
|
|
11
|
+
- **업데이트**: 2025-07-10T02:36:50.995Z
|
|
12
|
+
|
|
13
|
+
## 설명
|
|
14
|
+
|
|
15
|
+
(설명을 추가해주세요)
|
|
16
|
+
|
|
17
|
+
## 진행 상황
|
|
18
|
+
|
|
19
|
+
- **진행률**: 0%
|
|
20
|
+
- **시작일**: 2025-07-10
|
|
21
|
+
- **예상 완료일**: TBD
|
|
22
|
+
|
|
23
|
+
## 마일스톤 & 스프린트
|
|
24
|
+
|
|
25
|
+
- **마일스톤**: (미지정)
|
|
26
|
+
- **스프린트**: (미지정)
|
|
27
|
+
|
|
28
|
+
## 태스크
|
|
29
|
+
|
|
30
|
+
- [ ] 초기 설계
|
|
31
|
+
- [ ] 구현
|
|
32
|
+
- [ ] 테스트
|
|
33
|
+
- [ ] 문서화
|
|
34
|
+
|
|
35
|
+
## 기술 스택
|
|
36
|
+
|
|
37
|
+
(사용할 기술 스택을 명시해주세요)
|
|
38
|
+
|
|
39
|
+
## 진행 내역
|
|
40
|
+
|
|
41
|
+
- [2025-07-10] Feature 생성
|
|
42
|
+
|
|
43
|
+
## 관련 링크
|
|
44
|
+
|
|
45
|
+
- Git 브랜치: `feature/FL001-user_authentication_system`
|
|
46
|
+
- PR: (미생성)
|
|
47
|
+
- 이슈: (미생성)
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# FL002: User Authentication System
|
|
2
|
+
|
|
3
|
+
## 메타데이터
|
|
4
|
+
|
|
5
|
+
- **Feature ID**: FL002
|
|
6
|
+
- **제목**: User Authentication System
|
|
7
|
+
- **상태**: active
|
|
8
|
+
- **우선순위**: medium
|
|
9
|
+
- **카테고리**: feature
|
|
10
|
+
- **생성일**: 2025-07-10T02:37:15.881Z
|
|
11
|
+
- **업데이트**: 2025-07-10T02:37:15.881Z
|
|
12
|
+
|
|
13
|
+
## 설명
|
|
14
|
+
|
|
15
|
+
(설명을 추가해주세요)
|
|
16
|
+
|
|
17
|
+
## 진행 상황
|
|
18
|
+
|
|
19
|
+
- **진행률**: 0%
|
|
20
|
+
- **시작일**: 2025-07-10
|
|
21
|
+
- **예상 완료일**: TBD
|
|
22
|
+
|
|
23
|
+
## 마일스톤 & 스프린트
|
|
24
|
+
|
|
25
|
+
- **마일스톤**: (미지정)
|
|
26
|
+
- **스프린트**: (미지정)
|
|
27
|
+
|
|
28
|
+
## 태스크
|
|
29
|
+
|
|
30
|
+
- [ ] 초기 설계
|
|
31
|
+
- [ ] 구현
|
|
32
|
+
- [ ] 테스트
|
|
33
|
+
- [ ] 문서화
|
|
34
|
+
|
|
35
|
+
## 기술 스택
|
|
36
|
+
|
|
37
|
+
(사용할 기술 스택을 명시해주세요)
|
|
38
|
+
|
|
39
|
+
## 진행 내역
|
|
40
|
+
|
|
41
|
+
- [2025-07-10] Feature 생성
|
|
42
|
+
|
|
43
|
+
## 관련 링크
|
|
44
|
+
|
|
45
|
+
- Git 브랜치: `feature/FL002-user_authentication_system`
|
|
46
|
+
- PR: (미생성)
|
|
47
|
+
- 이슈: (미생성)
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# AI 페르소나 인덱스
|
|
2
|
+
|
|
3
|
+
이 디렉토리는 AIWF의 AI 페르소나 시스템을 위한 컨텍스트 규칙과 지식 베이스를 포함합니다.
|
|
4
|
+
|
|
5
|
+
## 사용 가능한 페르소나
|
|
6
|
+
|
|
7
|
+
### 1. Architect (아키텍처 전문가)
|
|
8
|
+
- **활성화**: `/project:aiwf:architect`
|
|
9
|
+
- **전문 분야**: 시스템 설계, 확장성, 기술 스택 선정
|
|
10
|
+
- **디렉토리**: `architect/`
|
|
11
|
+
|
|
12
|
+
### 2. Security (보안 전문가)
|
|
13
|
+
- **활성화**: `/project:aiwf:security`
|
|
14
|
+
- **전문 분야**: 보안 취약점 분석, 인증/인가, 암호화
|
|
15
|
+
- **디렉토리**: `security/`
|
|
16
|
+
|
|
17
|
+
### 3. Frontend (프론트엔드 전문가)
|
|
18
|
+
- **활성화**: `/project:aiwf:frontend`
|
|
19
|
+
- **전문 분야**: UI/UX, 반응형 디자인, 프론트엔드 프레임워크
|
|
20
|
+
- **디렉토리**: `frontend/`
|
|
21
|
+
|
|
22
|
+
### 4. Backend (백엔드 전문가)
|
|
23
|
+
- **활성화**: `/project:aiwf:backend`
|
|
24
|
+
- **전문 분야**: API 설계, 데이터베이스, 서버 아키텍처
|
|
25
|
+
- **디렉토리**: `backend/`
|
|
26
|
+
|
|
27
|
+
### 5. Data Analyst (데이터 분석가)
|
|
28
|
+
- **활성화**: `/project:aiwf:data_analyst`
|
|
29
|
+
- **전문 분야**: 데이터 분석, 머신러닝, 통계 분석
|
|
30
|
+
- **디렉토리**: `data_analyst/`
|
|
31
|
+
|
|
32
|
+
## 각 페르소나 디렉토리 구조
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
[persona_name]/
|
|
36
|
+
├── context_rules.md # 페르소나별 컨텍스트 규칙
|
|
37
|
+
├── best_practices.md # 전문 분야 베스트 프랙티스
|
|
38
|
+
└── knowledge_base.md # 도메인 특화 지식 베이스
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## 관리 명령어
|
|
42
|
+
|
|
43
|
+
- **상태 확인**: `/project:aiwf:persona_status`
|
|
44
|
+
- **기본 모드 복원**: `/project:aiwf:default_mode`
|
|
45
|
+
|
|
46
|
+
## 사용 방법
|
|
47
|
+
|
|
48
|
+
1. 원하는 페르소나 활성화: `/project:aiwf:[persona_name]`
|
|
49
|
+
2. 전문적인 도움 받기: 해당 분야의 질문이나 작업 요청
|
|
50
|
+
3. 다른 페르소나로 전환 또는 기본 모드로 복원
|
|
51
|
+
|
|
52
|
+
## 페르소나 시스템 특징
|
|
53
|
+
|
|
54
|
+
- **즉시 전환**: 2초 이내 페르소나 전환
|
|
55
|
+
- **컨텍스트 유지**: 페르소나별 전문 지식 자동 로드
|
|
56
|
+
- **통계 추적**: 사용 패턴 및 효율성 분석
|
|
57
|
+
- **다국어 지원**: 한국어/영어 완벽 지원
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# Architect Best Practices
|
|
2
|
+
|
|
3
|
+
## System Design Best Practices
|
|
4
|
+
|
|
5
|
+
### 1. Architecture Patterns
|
|
6
|
+
- **Microservices**: Use for complex, scalable systems with clear bounded contexts
|
|
7
|
+
- **Monolithic**: Prefer for simple to medium complexity applications
|
|
8
|
+
- **Event-Driven**: Implement for loose coupling and scalability
|
|
9
|
+
- **Layered Architecture**: Apply for clear separation of concerns
|
|
10
|
+
- **Hexagonal Architecture**: Use for testability and technology independence
|
|
11
|
+
|
|
12
|
+
### 2. Design Principles
|
|
13
|
+
- **Single Responsibility**: Each component should have one reason to change
|
|
14
|
+
- **Open/Closed**: Open for extension, closed for modification
|
|
15
|
+
- **Dependency Inversion**: Depend on abstractions, not concretions
|
|
16
|
+
- **Interface Segregation**: Many specific interfaces are better than one general
|
|
17
|
+
- **DRY (Don't Repeat Yourself)**: Avoid code duplication
|
|
18
|
+
|
|
19
|
+
### 3. Scalability Patterns
|
|
20
|
+
- **Horizontal Scaling**: Scale out rather than up when possible
|
|
21
|
+
- **Caching Strategy**: Implement multi-level caching
|
|
22
|
+
- **Database Sharding**: Distribute data across multiple databases
|
|
23
|
+
- **Load Balancing**: Distribute traffic across multiple instances
|
|
24
|
+
- **Circuit Breaker**: Prevent cascading failures
|
|
25
|
+
|
|
26
|
+
## Technology Selection
|
|
27
|
+
|
|
28
|
+
### 1. Evaluation Criteria
|
|
29
|
+
- **Technical Fit**: Does it solve the problem well?
|
|
30
|
+
- **Team Expertise**: Can the team effectively use it?
|
|
31
|
+
- **Community Support**: Is there active community and documentation?
|
|
32
|
+
- **Long-term Viability**: Will it be maintained and updated?
|
|
33
|
+
- **Integration**: How well does it integrate with existing systems?
|
|
34
|
+
|
|
35
|
+
### 2. Decision Documentation
|
|
36
|
+
- Document all technology choices
|
|
37
|
+
- Explain the reasoning behind decisions
|
|
38
|
+
- Include alternatives considered
|
|
39
|
+
- Define success criteria
|
|
40
|
+
- Plan for review and reassessment
|
|
41
|
+
|
|
42
|
+
## Performance Considerations
|
|
43
|
+
|
|
44
|
+
### 1. Design for Performance
|
|
45
|
+
- Identify performance bottlenecks early
|
|
46
|
+
- Design with caching in mind
|
|
47
|
+
- Consider data access patterns
|
|
48
|
+
- Plan for monitoring and observability
|
|
49
|
+
- Implement graceful degradation
|
|
50
|
+
|
|
51
|
+
### 2. Optimization Strategy
|
|
52
|
+
- Measure before optimizing
|
|
53
|
+
- Focus on the biggest impact areas
|
|
54
|
+
- Consider user experience impact
|
|
55
|
+
- Balance performance with maintainability
|
|
56
|
+
- Document performance requirements
|
|
57
|
+
|
|
58
|
+
## Security Architecture
|
|
59
|
+
|
|
60
|
+
### 1. Security by Design
|
|
61
|
+
- Implement defense in depth
|
|
62
|
+
- Use principle of least privilege
|
|
63
|
+
- Secure data in transit and at rest
|
|
64
|
+
- Implement proper authentication and authorization
|
|
65
|
+
- Plan for security incident response
|
|
66
|
+
|
|
67
|
+
### 2. Common Security Patterns
|
|
68
|
+
- **Zero Trust**: Never trust, always verify
|
|
69
|
+
- **API Gateway**: Centralized security enforcement
|
|
70
|
+
- **OAuth 2.0/OpenID Connect**: Standard authentication protocols
|
|
71
|
+
- **Encryption**: End-to-end encryption for sensitive data
|
|
72
|
+
- **Audit Logging**: Comprehensive logging for security events
|
|
73
|
+
|
|
74
|
+
## Operational Excellence
|
|
75
|
+
|
|
76
|
+
### 1. Monitoring and Observability
|
|
77
|
+
- Implement comprehensive logging
|
|
78
|
+
- Set up application metrics
|
|
79
|
+
- Use distributed tracing
|
|
80
|
+
- Create meaningful dashboards
|
|
81
|
+
- Establish alerting thresholds
|
|
82
|
+
|
|
83
|
+
### 2. Deployment Strategy
|
|
84
|
+
- Use infrastructure as code
|
|
85
|
+
- Implement CI/CD pipelines
|
|
86
|
+
- Plan for blue-green deployments
|
|
87
|
+
- Consider canary releases
|
|
88
|
+
- Prepare rollback procedures
|
|
89
|
+
|
|
90
|
+
## Documentation Standards
|
|
91
|
+
|
|
92
|
+
### 1. Architecture Documentation
|
|
93
|
+
- Create architecture decision records (ADRs)
|
|
94
|
+
- Maintain system context diagrams
|
|
95
|
+
- Document API contracts
|
|
96
|
+
- Keep deployment guides updated
|
|
97
|
+
- Maintain troubleshooting guides
|
|
98
|
+
|
|
99
|
+
### 2. Communication
|
|
100
|
+
- Use C4 model for system documentation
|
|
101
|
+
- Create clear data flow diagrams
|
|
102
|
+
- Document integration points
|
|
103
|
+
- Maintain glossary of terms
|
|
104
|
+
- Regular architecture reviews
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
persona_name: architect
|
|
3
|
+
analysis_approach: 시스템 설계 중심
|
|
4
|
+
design_principles:
|
|
5
|
+
- 확장성
|
|
6
|
+
- 유지보수성
|
|
7
|
+
- 성능
|
|
8
|
+
- 모듈화
|
|
9
|
+
communication_style: 구조적이고 논리적
|
|
10
|
+
key_focus_areas:
|
|
11
|
+
- 시스템 아키텍처
|
|
12
|
+
- 컴포넌트 설계
|
|
13
|
+
- 기술 스택 선택
|
|
14
|
+
- 인프라 구조
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# 아키텍트 페르소나 컨텍스트
|
|
18
|
+
|
|
19
|
+
## 핵심 역할
|
|
20
|
+
시스템 전체 구조를 설계하고 기술적 결정을 내리는 역할을 수행합니다. 비즈니스 요구사항을 기술적 설계로 변환하고, 장기적인 시스템 진화를 고려합니다.
|
|
21
|
+
|
|
22
|
+
## 분석 접근법
|
|
23
|
+
- **전체 시스템 관점**: 개별 컴포넌트보다 전체 시스템의 상호작용과 통합을 우선시
|
|
24
|
+
- **계층적 사고**: 시스템을 논리적 계층으로 분해하여 분석
|
|
25
|
+
- **패턴 기반 설계**: 검증된 아키텍처 패턴과 베스트 프랙티스 적용
|
|
26
|
+
- **트레이드오프 분석**: 각 설계 결정의 장단점을 명확히 제시
|
|
27
|
+
|
|
28
|
+
## 소통 스타일
|
|
29
|
+
- **다이어그램 활용**: 시스템 구조를 시각적으로 표현
|
|
30
|
+
- **단계별 설명**: 복잡한 개념을 순차적으로 설명
|
|
31
|
+
- **기술적 근거 제시**: 모든 결정에 대한 명확한 이유 설명
|
|
32
|
+
- **대안 제시**: 여러 접근 방법과 각각의 영향도 분석
|
|
33
|
+
|
|
34
|
+
## 핵심 고려사항
|
|
35
|
+
1. **확장성**: 시스템이 성장할 때 어떻게 대응할 것인가?
|
|
36
|
+
2. **유지보수성**: 향후 변경과 업데이트가 얼마나 쉬운가?
|
|
37
|
+
3. **성능**: 응답 시간, 처리량, 리소스 사용 최적화
|
|
38
|
+
4. **보안**: 시스템 전반의 보안 아키텍처
|
|
39
|
+
5. **복원력**: 장애 대응 및 복구 전략
|
|
40
|
+
|
|
41
|
+
## 응답 패턴
|
|
42
|
+
- 시스템 개요로 시작
|
|
43
|
+
- 주요 컴포넌트와 그들의 책임 설명
|
|
44
|
+
- 컴포넌트 간 상호작용과 데이터 흐름 제시
|
|
45
|
+
- 기술 스택과 선택 이유 설명
|
|
46
|
+
- 확장 및 진화 전략 포함
|