aiwf 0.3.7 → 0.3.12
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/CHANGELOG.md +97 -0
- package/README.ko.md +114 -28
- package/README.md +152 -40
- package/docs/AI-WORKFLOW.md +121 -19
- package/docs/API_DOCUMENTATION.md +1 -1
- package/docs/API_REFERENCE.md +1 -1
- package/docs/CLI_USAGE_GUIDE.ko.md +634 -0
- package/docs/CLI_USAGE_GUIDE.md +339 -178
- package/docs/COMMANDS_GUIDE.ko.md +308 -4
- package/docs/COMMANDS_GUIDE.md +117 -0
- package/docs/CONTRIBUTING.ko.md +6 -6
- package/docs/CONTRIBUTING.md +6 -6
- package/docs/DEVELOPMENT_GUIDE.ko.md +440 -0
- package/docs/DEVELOPMENT_GUIDE.md +1 -1
- package/docs/EXAMPLES.md +8 -6
- package/docs/GETTING_STARTED.md +6 -3
- package/docs/STATE_MANAGEMENT_GUIDE.ko.md +278 -0
- package/docs/STATE_MANAGEMENT_GUIDE.md +278 -0
- package/docs/TROUBLESHOOTING.md +14 -13
- package/docs/guides/checkpoint-system-guide-ko.md +356 -0
- package/docs/guides/checkpoint-system-guide.md +356 -0
- package/docs/guides/independent-sprint-guide-ko.md +321 -0
- package/docs/guides/independent-sprint-guide.md +321 -0
- package/package.json +30 -3
- package/scripts/update-file-lists.js +267 -0
- package/src/cli/checkpoint-cli.js +417 -0
- package/src/cli/index.js +461 -0
- package/src/cli/sprint-cli.js +287 -0
- package/src/commands/compress.js +60 -0
- package/src/commands/create-project.js +23 -17
- package/src/commands/evaluate.js +459 -0
- package/src/commands/persona.js +37 -16
- package/src/commands/sprint-independent.js +393 -0
- package/src/commands/state-refactored.js +419 -0
- package/src/commands/state.js +1164 -0
- package/src/commands/token.js +312 -0
- package/src/commands/yolo-config.js +502 -0
- package/src/config/file-lists.js +147 -0
- package/src/config/yolo-config-template.yaml +168 -0
- package/src/lib/file-downloader.js +7 -72
- package/src/lib/github-integration.js +402 -0
- package/src/lib/resource-loader-enhanced.js +399 -0
- package/src/lib/resource-loader.js +250 -0
- package/{claude-code/aiwf/ko → src/lib/resources}/commands/ai-persona.js +1 -1
- package/src/lib/state/priority-calculator.js +217 -0
- package/src/lib/state/state-index.js +155 -0
- package/src/lib/state/task-scanner.js +328 -0
- package/src/utils/checkpoint-manager.js +425 -0
- package/src/utils/engineering-guard.js +389 -0
- package/.aiwf/00_PROJECT_MANIFEST.md +0 -196
- package/.aiwf/01_PROJECT_DOCS/ARCHITECTURE.md +0 -121
- package/.aiwf/01_PROJECT_DOCS/FEATURE_LEDGER_ADVANCED_USE_CASES.md +0 -412
- package/.aiwf/01_PROJECT_DOCS/FEATURE_LEDGER_API_REFERENCE.md +0 -361
- package/.aiwf/01_PROJECT_DOCS/FEATURE_LEDGER_COMMANDS_GUIDE.md +0 -254
- package/.aiwf/01_PROJECT_DOCS/FEATURE_LEDGER_FAQ.md +0 -365
- package/.aiwf/01_PROJECT_DOCS/FEATURE_LEDGER_SYSTEM_OVERVIEW.md +0 -305
- package/.aiwf/01_PROJECT_DOCS/FEATURE_LEDGER_USER_GUIDE.md +0 -416
- package/.aiwf/01_PROJECT_DOCS/FEATURE_LEDGER_/354/213/234/354/236/221_/352/260/200/354/235/264/353/223/234.md +0 -247
- package/.aiwf/02_REQUIREMENTS/CLAUDE.md +0 -78
- package/.aiwf/02_REQUIREMENTS/M02_Context_Engineering_Enhancement/M02_milestone_meta.md +0 -34
- package/.aiwf/02_REQUIREMENTS/M02_Context_Engineering_Enhancement/PRD_Context_Engineering_Enhancement.md +0 -108
- package/.aiwf/02_REQUIREMENTS/M02_Context_Engineering_Enhancement/SPECS_AI_Persona_System.md +0 -299
- package/.aiwf/02_REQUIREMENTS/M02_Context_Engineering_Enhancement/SPECS_Feature_Ledger_System.md +0 -330
- package/.aiwf/02_REQUIREMENTS/M02_Context_Engineering_Enhancement/SPECS_Token_Optimization.md +0 -833
- package/.aiwf/02_REQUIREMENTS/M03_Simone_Integration_Enhancement/M03_milestone_meta.md +0 -55
- package/.aiwf/02_REQUIREMENTS/M03_Simone_Integration_Enhancement/SPECS_AIWF_Simplified_Plan.md +0 -221
- package/.aiwf/03_SPRINTS/CLAUDE.md +0 -83
- package/.aiwf/03_SPRINTS/S01_M02_context_foundation/S01_M02_sprint_meta.md +0 -95
- 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 +0 -111
- 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 +0 -115
- 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 +0 -141
- package/.aiwf/03_SPRINTS/S01_M02_context_foundation/TX04_S01_Feature_Ledger_/353/254/270/354/204/234/355/231/224.md +0 -114
- 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 +0 -123
- 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 +0 -114
- 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 +0 -114
- 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 +0 -112
- 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 +0 -118
- 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 +0 -118
- 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 +0 -128
- 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 +0 -122
- package/.aiwf/03_SPRINTS/S02_M02_ai_enhancement/S02_M02_sprint_meta.md +0 -107
- 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 +0 -129
- 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 +0 -152
- 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 +0 -186
- 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 +0 -192
- 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 +0 -162
- package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/S03_FINAL_SPRINT_SUMMARY.md +0 -137
- package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/S03_M02_sprint_meta.md +0 -105
- 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 +0 -214
- 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 +0 -177
- 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 +0 -206
- 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 +0 -151
- package/.aiwf/04_GENERAL_TASKS/CLAUDE.md +0 -96
- package/.aiwf/04_GENERAL_TASKS/TX001_complete_english_translation.md +0 -127
- package/.aiwf/06_FEATURE_LEDGERS/FEATURE_GIT_INTEGRATION.md +0 -314
- package/.aiwf/06_FEATURE_LEDGERS/FEATURE_INTEGRATION_GUIDE.md +0 -227
- package/.aiwf/06_FEATURE_LEDGERS/FEATURE_LEDGER_INDEX.md +0 -23
- package/.aiwf/06_FEATURE_LEDGERS/FEATURE_SCHEMA.md +0 -205
- package/.aiwf/06_FEATURE_LEDGERS/FEATURE_STATE_DIAGRAM.md +0 -190
- package/.aiwf/06_FEATURE_LEDGERS/active/FL001_user_authentication_system.md +0 -47
- package/.aiwf/06_FEATURE_LEDGERS/active/FL002_user_authentication_system.md +0 -47
- package/.aiwf/07_AI_PERSONAS/architect/best_practices.md +0 -104
- package/.aiwf/07_AI_PERSONAS/architect/context_rules.md +0 -46
- package/.aiwf/07_AI_PERSONAS/architect/knowledge_base.md +0 -235
- package/.aiwf/07_AI_PERSONAS/backend/best_practices.md +0 -363
- package/.aiwf/07_AI_PERSONAS/backend/context_rules.md +0 -61
- package/.aiwf/07_AI_PERSONAS/backend/knowledge_base.md +0 -623
- package/.aiwf/07_AI_PERSONAS/data_analyst/best_practices.md +0 -32
- package/.aiwf/07_AI_PERSONAS/data_analyst/context_rules.md +0 -43
- package/.aiwf/07_AI_PERSONAS/data_analyst/knowledge_base.md +0 -36
- package/.aiwf/07_AI_PERSONAS/frontend/best_practices.md +0 -31
- package/.aiwf/07_AI_PERSONAS/frontend/context_rules.md +0 -43
- package/.aiwf/07_AI_PERSONAS/frontend/knowledge_base.md +0 -32
- package/.aiwf/07_AI_PERSONAS/security/best_practices.md +0 -63
- package/.aiwf/07_AI_PERSONAS/security/context_rules.md +0 -53
- package/.aiwf/07_AI_PERSONAS/security/knowledge_base.md +0 -93
- package/.aiwf/10_PERSONAS/active.json +0 -1
- package/.aiwf/10_STATE_OF_PROJECT/2025-07-09-07-20-solid-progress.md +0 -144
- package/.aiwf/98_PROMPTS/SAAS_DEVELOPMENT_GUIDE.md +0 -302
- package/.aiwf/98_PROMPTS/github_integration.md +0 -130
- package/.aiwf/98_PROMPTS/useful-prompts.md +0 -31
- package/.aiwf/98_PROMPTS/vibe-front-prompts.md +0 -89
- package/.aiwf/99_TEMPLATES/adr_template.md +0 -49
- package/.aiwf/99_TEMPLATES/feature_template.md +0 -263
- package/.aiwf/99_TEMPLATES/milestone_meta_template.md +0 -25
- package/.aiwf/99_TEMPLATES/project_manifest_template.md +0 -39
- package/.aiwf/99_TEMPLATES/sprint_meta_template.md +0 -23
- package/.aiwf/99_TEMPLATES/task_template.md +0 -36
- package/.aiwf/CLAUDE.md +0 -76
- package/.aiwf/ai-tools/README.md +0 -105
- package/.aiwf/ai-tools/augment/README.md +0 -371
- package/.aiwf/ai-tools/augment/config.json +0 -30
- package/.aiwf/ai-tools/augment/template/.augment/aiwf-integration.md +0 -387
- package/.aiwf/ai-tools/augment/template/.augment/augment.yaml +0 -347
- package/.aiwf/ai-tools/augment/template/augment.config.json +0 -64
- package/.aiwf/ai-tools/claude-code/README.md +0 -151
- package/.aiwf/ai-tools/claude-code/config.json +0 -28
- package/.aiwf/ai-tools/claude-code/template/CLAUDE.md +0 -91
- package/.aiwf/ai-tools/cursor/README.md +0 -314
- package/.aiwf/ai-tools/cursor/config.json +0 -29
- package/.aiwf/ai-tools/cursor/template/.cursorrules +0 -362
- package/.aiwf/ai-tools/github-copilot/README.md +0 -195
- package/.aiwf/ai-tools/github-copilot/config.json +0 -24
- package/.aiwf/ai-tools/github-copilot/template/.github/copilot-instructions.md +0 -202
- package/.aiwf/ai-tools/windsurf/README.md +0 -355
- package/.aiwf/ai-tools/windsurf/config.json +0 -29
- package/.aiwf/ai-tools/windsurf/template/.windsurf/aiwf-rules.md +0 -260
- package/.aiwf/ai-tools/windsurf/template/.windsurf/windsurf.config.js +0 -312
- package/.aiwf/ai-tools/windsurf/template/windsurf.config.json +0 -63
- package/.aiwf/config/language.json +0 -6
- package/.aiwf/feature-ledger/FL-001-authentication.json +0 -52
- package/.aiwf/feature-ledger/feature-index.json +0 -20
- package/.aiwf/installed.flag +0 -1
- package/.aiwf/metrics/metrics.json +0 -18
- package/.aiwf/personas/current.json +0 -5
- package/.aiwf/scripts/cache-templates.js +0 -209
- package/.aiwf/scripts/create-offline.js +0 -86
- package/.aiwf/scripts/create-project.js +0 -151
- package/.aiwf/scripts/feature-progress-calculator.cjs +0 -236
- package/.aiwf/scripts/git-integration.cjs +0 -391
- package/.aiwf/scripts/install-git-hooks.cjs +0 -226
- package/.aiwf/scripts/test-commit-parsing.cjs +0 -125
- package/.aiwf/scripts/update-feature-status.cjs +0 -198
- package/.aiwf/test-results-s02.json +0 -36
- package/.claude/commands/aiwf/aiwf_add_task_to_sprint.md +0 -283
- package/.claude/commands/aiwf/aiwf_changelog.md +0 -82
- package/.claude/commands/aiwf/aiwf_code_review.md +0 -88
- package/.claude/commands/aiwf/aiwf_commit.md +0 -160
- package/.claude/commands/aiwf/aiwf_compress_aggressive_persona.md +0 -53
- package/.claude/commands/aiwf/aiwf_compress_context.md +0 -116
- package/.claude/commands/aiwf/aiwf_compress_minimal_persona.md +0 -48
- package/.claude/commands/aiwf/aiwf_compress_stats.md +0 -79
- package/.claude/commands/aiwf/aiwf_compress_with_persona.md +0 -51
- package/.claude/commands/aiwf/aiwf_create_feature_ledger.md +0 -54
- package/.claude/commands/aiwf/aiwf_create_general_task.md +0 -147
- package/.claude/commands/aiwf/aiwf_create_milestone_plan.md +0 -194
- package/.claude/commands/aiwf/aiwf_create_prd.md +0 -280
- package/.claude/commands/aiwf/aiwf_create_sprint_tasks.md +0 -189
- package/.claude/commands/aiwf/aiwf_create_sprints_from_milestone.md +0 -121
- package/.claude/commands/aiwf/aiwf_default_mode.md +0 -44
- package/.claude/commands/aiwf/aiwf_discuss_review.md +0 -29
- package/.claude/commands/aiwf/aiwf_do_task.md +0 -109
- package/.claude/commands/aiwf/aiwf_docs.md +0 -225
- package/.claude/commands/aiwf/aiwf_evaluate.md +0 -92
- package/.claude/commands/aiwf/aiwf_get_feature_details.md +0 -78
- package/.claude/commands/aiwf/aiwf_infinite.md +0 -202
- package/.claude/commands/aiwf/aiwf_initialize.md +0 -134
- package/.claude/commands/aiwf/aiwf_install_git_hooks.md +0 -63
- package/.claude/commands/aiwf/aiwf_issue_create.md +0 -65
- package/.claude/commands/aiwf/aiwf_link_feature_branch.md +0 -43
- package/.claude/commands/aiwf/aiwf_link_feature_commit.md +0 -46
- package/.claude/commands/aiwf/aiwf_link_feature_to_milestone.md +0 -57
- package/.claude/commands/aiwf/aiwf_list_features.md +0 -54
- package/.claude/commands/aiwf/aiwf_mermaid.md +0 -272
- package/.claude/commands/aiwf/aiwf_persona_architect.md +0 -48
- package/.claude/commands/aiwf/aiwf_persona_backend.md +0 -37
- package/.claude/commands/aiwf/aiwf_persona_data_analyst.md +0 -37
- package/.claude/commands/aiwf/aiwf_persona_frontend.md +0 -37
- package/.claude/commands/aiwf/aiwf_persona_security.md +0 -48
- package/.claude/commands/aiwf/aiwf_persona_status.md +0 -50
- package/.claude/commands/aiwf/aiwf_pr_create.md +0 -76
- package/.claude/commands/aiwf/aiwf_prime.md +0 -9
- package/.claude/commands/aiwf/aiwf_project_review.md +0 -261
- package/.claude/commands/aiwf/aiwf_switch_language.md +0 -160
- package/.claude/commands/aiwf/aiwf_test.md +0 -124
- package/.claude/commands/aiwf/aiwf_testing_review.md +0 -198
- package/.claude/commands/aiwf/aiwf_tm-run-all-subtask.md +0 -210
- package/.claude/commands/aiwf/aiwf_ultrathink_code_advanced.md +0 -460
- package/.claude/commands/aiwf/aiwf_ultrathink_code_basic.md +0 -165
- package/.claude/commands/aiwf/aiwf_ultrathink_general.md +0 -305
- package/.claude/commands/aiwf/aiwf_update_docs_kr.md +0 -25
- package/.claude/commands/aiwf/aiwf_update_feature_status.md +0 -53
- package/.claude/commands/aiwf/aiwf_yolo.md +0 -300
- package/.eslintrc.json +0 -26
- package/.prettierrc +0 -10
- package/CLAUDE.md +0 -254
- package/RELEASE_NOTES_M02.md +0 -177
- package/TEST_RECOVERY_PLAN.md +0 -68
- package/claude-code/aiwf/en/.aiwf/00_PROJECT_MANIFEST.md +0 -49
- package/claude-code/aiwf/en/.aiwf/01_PROJECT_DOCS/ARCHITECTURE.md +0 -55
- package/claude-code/aiwf/en/.aiwf/02_REQUIREMENTS/CLAUDE.md +0 -78
- package/claude-code/aiwf/en/.aiwf/02_REQUIREMENTS/M01_Backend_Setup/M01_milestone_meta.md +0 -42
- package/claude-code/aiwf/en/.aiwf/02_REQUIREMENTS/M01_Backend_Setup/PRD_AMEND_01_Auth_Flow_Update.md +0 -73
- package/claude-code/aiwf/en/.aiwf/02_REQUIREMENTS/M01_Backend_Setup/PRD_Backend_Setup.md +0 -98
- package/claude-code/aiwf/en/.aiwf/02_REQUIREMENTS/M01_Backend_Setup/SPECS_API_V1.md +0 -232
- package/claude-code/aiwf/en/.aiwf/03_SPRINTS/CLAUDE.md +0 -83
- package/claude-code/aiwf/en/.aiwf/03_SPRINTS/S01_M01_Initial_API/S01_sprint_meta.md +0 -49
- package/claude-code/aiwf/en/.aiwf/03_SPRINTS/S01_M01_Initial_API/T01_S01_Setup_Project_Structure.md +0 -60
- package/claude-code/aiwf/en/.aiwf/04_GENERAL_TASKS/CLAUDE.md +0 -96
- package/claude-code/aiwf/en/.aiwf/04_GENERAL_TASKS/T002_API_Rate_Limiting.md +0 -54
- package/claude-code/aiwf/en/.aiwf/04_GENERAL_TASKS/TX001_Refactor_Logging_Module.md +0 -58
- package/claude-code/aiwf/en/.aiwf/05_ARCHITECTURAL_DECISIONS/ADR001_Chosen_Database_System.md +0 -119
- package/claude-code/aiwf/en/.aiwf/05_ARCHITECTURAL_DECISIONS/ADR002_API_Authentication_Method.md +0 -124
- package/claude-code/aiwf/en/.aiwf/10_STATE_OF_PROJECT/2025-06-12-12-00-needs-focus.md +0 -139
- package/claude-code/aiwf/en/.aiwf/10_STATE_OF_PROJECT/2025-06-12-12-00-test-alignment.md +0 -155
- package/claude-code/aiwf/en/.aiwf/10_STATE_OF_PROJECT/2025-06-13-00-50-solid-progress.md +0 -122
- package/claude-code/aiwf/en/.aiwf/10_STATE_OF_PROJECT/2025-06-14-08-30-infrastructure-challenges.md +0 -141
- package/claude-code/aiwf/en/.aiwf/10_STATE_OF_PROJECT/2025-06-16-21-48-critical-foundation-issues.md +0 -177
- package/claude-code/aiwf/en/.aiwf/10_STATE_OF_PROJECT/2025-06-17-15-08-solid-progress.md +0 -149
- package/claude-code/aiwf/en/.aiwf/10_STATE_OF_PROJECT/index.json +0 -5
- package/claude-code/aiwf/en/.aiwf/10_STATE_OF_PROJECT/sync-index.js +0 -78
- package/claude-code/aiwf/en/.aiwf/98_PROMPTS/github_integration.md +0 -130
- package/claude-code/aiwf/en/.aiwf/98_PROMPTS/useful-prompts.md +0 -31
- package/claude-code/aiwf/en/.aiwf/98_PROMPTS/vibe-front-prompts.md +0 -89
- package/claude-code/aiwf/en/.aiwf/99_TEMPLATES/adr_template.md +0 -49
- package/claude-code/aiwf/en/.aiwf/99_TEMPLATES/milestone_meta_template.md +0 -25
- package/claude-code/aiwf/en/.aiwf/99_TEMPLATES/project_manifest_template.md +0 -39
- package/claude-code/aiwf/en/.aiwf/99_TEMPLATES/sprint_meta_template.md +0 -23
- package/claude-code/aiwf/en/.aiwf/99_TEMPLATES/task_template.md +0 -36
- package/claude-code/aiwf/en/.aiwf/CLAUDE.md +0 -74
- package/claude-code/aiwf/en/.aiwf/README.md +0 -97
- package/claude-code/aiwf/en/.claude/CLAUDE_BE.md +0 -276
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_changelog.md +0 -82
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_code_review.md +0 -88
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_commit.md +0 -160
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_create_feature_ledger.md +0 -54
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_create_general_task.md +0 -147
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_create_milestone_plan.md +0 -194
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_create_prd.md +0 -272
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_create_sprint_tasks.md +0 -189
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_create_sprints_from_milestone.md +0 -121
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_create_testcase.md +0 -561
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_default_mode.md +0 -66
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_discuss_review.md +0 -29
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_do_task.md +0 -109
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_docs.md +0 -225
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_get_feature_details.md +0 -78
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_infinite.md +0 -202
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_initialize.md +0 -134
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_issue_create.md +0 -65
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_link_feature_to_milestone.md +0 -57
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_list_features.md +0 -54
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_mermaid.md +0 -272
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_persona_architect.md +0 -60
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_persona_backend.md +0 -60
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_persona_data_analyst.md +0 -60
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_persona_frontend.md +0 -60
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_persona_security.md +0 -60
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_persona_status.md +0 -72
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_pr_create.md +0 -76
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_prime.md +0 -9
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_project_review.md +0 -261
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_switch_language.md +0 -160
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_test.md +0 -125
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_testing_review.md +0 -198
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_tm-run-all-subtask.md +0 -206
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_ultrathink_code_advanced.md +0 -460
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_ultrathink_code_basic.md +0 -165
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_ultrathink_general.md +0 -362
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_update_feature_status.md +0 -53
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_yolo.md +0 -300
- package/claude-code/aiwf/en/.claude/mcp.json +0 -31
- package/claude-code/aiwf/en/.claude/settings.json +0 -102
- package/claude-code/aiwf/en/commands/ai-persona.js +0 -667
- package/claude-code/aiwf/en/commands/compress-context.js +0 -355
- package/claude-code/aiwf/en/commands/feature-ledger.js +0 -565
- package/claude-code/aiwf/en/config/commit-patterns.js +0 -103
- package/claude-code/aiwf/en/hooks/install-hooks.sh +0 -100
- package/claude-code/aiwf/en/hooks/post-commit +0 -84
- package/claude-code/aiwf/en/tests/compression-test-suite.js +0 -1252
- package/claude-code/aiwf/en/tests/test-git-integration.js +0 -164
- package/claude-code/aiwf/en/tests/token-tracking.test.js +0 -537
- package/claude-code/aiwf/en/utils/context-compressor.js +0 -583
- package/claude-code/aiwf/en/utils/git-utils.js +0 -220
- package/claude-code/aiwf/en/utils/text-summarizer.js +0 -487
- package/claude-code/aiwf/ko/.aiwf/00_PROJECT_MANIFEST.md +0 -49
- package/claude-code/aiwf/ko/.aiwf/01_PROJECT_DOCS/ARCHITECTURE.md +0 -55
- package/claude-code/aiwf/ko/.aiwf/02_REQUIREMENTS/CLAUDE.md +0 -78
- package/claude-code/aiwf/ko/.aiwf/02_REQUIREMENTS/M01_Backend_Setup/M01_milestone_meta.md +0 -42
- package/claude-code/aiwf/ko/.aiwf/02_REQUIREMENTS/M01_Backend_Setup/PRD_AMEND_01_Auth_Flow_Update.md +0 -73
- package/claude-code/aiwf/ko/.aiwf/02_REQUIREMENTS/M01_Backend_Setup/PRD_Backend_Setup.md +0 -98
- package/claude-code/aiwf/ko/.aiwf/02_REQUIREMENTS/M01_Backend_Setup/SPECS_API_V1.md +0 -232
- package/claude-code/aiwf/ko/.aiwf/03_SPRINTS/CLAUDE.md +0 -83
- package/claude-code/aiwf/ko/.aiwf/03_SPRINTS/S01_M01_Initial_API/S01_sprint_meta.md +0 -49
- package/claude-code/aiwf/ko/.aiwf/03_SPRINTS/S01_M01_Initial_API/T01_S01_Setup_Project_Structure.md +0 -60
- package/claude-code/aiwf/ko/.aiwf/04_GENERAL_TASKS/CLAUDE.md +0 -96
- package/claude-code/aiwf/ko/.aiwf/04_GENERAL_TASKS/T002_API_Rate_Limiting.md +0 -54
- package/claude-code/aiwf/ko/.aiwf/04_GENERAL_TASKS/TX001_Refactor_Logging_Module.md +0 -58
- package/claude-code/aiwf/ko/.aiwf/05_ARCHITECTURAL_DECISIONS/ADR001_Chosen_Database_System.md +0 -119
- package/claude-code/aiwf/ko/.aiwf/05_ARCHITECTURAL_DECISIONS/ADR002_API_Authentication_Method.md +0 -124
- package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/FEATURE_ID_GENERATOR.md +0 -138
- package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/FEATURE_INDEX.md +0 -186
- package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/FEATURE_METADATA.md +0 -240
- package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/FEATURE_WORKFLOW.md +0 -183
- package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/README.md +0 -94
- 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 +0 -154
- 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 +0 -272
- 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 +0 -266
- package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/schemas/feature_schema.json +0 -122
- package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/schemas/feature_validator.cjs +0 -406
- package/claude-code/aiwf/ko/.aiwf/10_STATE_OF_PROJECT/2025-06-12-12-00-needs-focus.md +0 -139
- package/claude-code/aiwf/ko/.aiwf/10_STATE_OF_PROJECT/2025-06-12-12-00-test-alignment.md +0 -155
- package/claude-code/aiwf/ko/.aiwf/10_STATE_OF_PROJECT/2025-06-13-00-50-solid-progress.md +0 -122
- package/claude-code/aiwf/ko/.aiwf/10_STATE_OF_PROJECT/2025-06-14-08-30-infrastructure-challenges.md +0 -141
- package/claude-code/aiwf/ko/.aiwf/10_STATE_OF_PROJECT/2025-06-16-21-48-critical-foundation-issues.md +0 -177
- package/claude-code/aiwf/ko/.aiwf/10_STATE_OF_PROJECT/2025-06-17-15-08-solid-progress.md +0 -149
- package/claude-code/aiwf/ko/.aiwf/10_STATE_OF_PROJECT/index.json +0 -5
- package/claude-code/aiwf/ko/.aiwf/10_STATE_OF_PROJECT/sync-index.js +0 -78
- package/claude-code/aiwf/ko/.aiwf/98_PROMPTS/github_integration.md +0 -130
- package/claude-code/aiwf/ko/.aiwf/98_PROMPTS/useful-prompts.md +0 -31
- package/claude-code/aiwf/ko/.aiwf/98_PROMPTS/vibe-front-prompts.md +0 -89
- package/claude-code/aiwf/ko/.aiwf/99_TEMPLATES/adr_template.md +0 -49
- package/claude-code/aiwf/ko/.aiwf/99_TEMPLATES/milestone_meta_template.md +0 -25
- package/claude-code/aiwf/ko/.aiwf/99_TEMPLATES/project_manifest_template.md +0 -39
- package/claude-code/aiwf/ko/.aiwf/99_TEMPLATES/sprint_meta_template.md +0 -23
- package/claude-code/aiwf/ko/.aiwf/99_TEMPLATES/task_template.md +0 -36
- package/claude-code/aiwf/ko/.aiwf/CLAUDE.md +0 -76
- package/claude-code/aiwf/ko/.aiwf/README.md +0 -97
- package/claude-code/aiwf/ko/.claude/CLAUDE_BE.md +0 -276
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_changelog.md +0 -82
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_code_review.md +0 -88
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_commit.md +0 -160
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_compress_aggressive_persona.md +0 -53
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_compress_context.md +0 -116
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_compress_minimal_persona.md +0 -48
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_compress_stats.md +0 -79
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_compress_with_persona.md +0 -51
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_create_feature_ledger.md +0 -54
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_create_general_task.md +0 -147
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_create_milestone_plan.md +0 -194
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_create_prd.md +0 -280
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_create_sprint_tasks.md +0 -189
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_create_sprints_from_milestone.md +0 -121
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_create_testcase.md +0 -561
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_default_mode.md +0 -44
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_discuss_review.md +0 -29
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_do_task.md +0 -109
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_docs.md +0 -225
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_evaluate.md +0 -92
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_get_feature_details.md +0 -78
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_infinite.md +0 -202
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_initialize.md +0 -134
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_issue_create.md +0 -65
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_link_feature_to_milestone.md +0 -57
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_list_features.md +0 -54
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_mermaid.md +0 -272
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_persona_architect.md +0 -48
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_persona_backend.md +0 -37
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_persona_data_analyst.md +0 -37
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_persona_frontend.md +0 -37
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_persona_security.md +0 -48
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_persona_status.md +0 -50
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_pr_create.md +0 -76
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_prime.md +0 -9
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_project_review.md +0 -261
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_switch_language.md +0 -160
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_test.md +0 -124
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_testing_review.md +0 -198
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_tm-run-all-subtask.md +0 -210
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_ultrathink_code_advanced.md +0 -460
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_ultrathink_code_basic.md +0 -165
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_ultrathink_general.md +0 -305
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_update_docs_kr.md +0 -25
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_update_feature_status.md +0 -53
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_yolo.md +0 -300
- package/claude-code/aiwf/ko/.claude/mcp.json +0 -31
- package/claude-code/aiwf/ko/.claude/settings.json +0 -102
- package/claude-code/aiwf/ko/CLAUDE.md +0 -76
- package/claude-code/aiwf/ko/ai-tools/README.md +0 -105
- package/claude-code/aiwf/ko/ai-tools/augment/README.md +0 -371
- package/claude-code/aiwf/ko/ai-tools/augment/config.json +0 -30
- package/claude-code/aiwf/ko/ai-tools/augment/template/.augment/aiwf-integration.md +0 -387
- package/claude-code/aiwf/ko/ai-tools/augment/template/.augment/augment.yaml +0 -347
- package/claude-code/aiwf/ko/ai-tools/augment/template/augment.config.json +0 -64
- package/claude-code/aiwf/ko/ai-tools/claude-code/README.md +0 -151
- package/claude-code/aiwf/ko/ai-tools/claude-code/config.json +0 -28
- package/claude-code/aiwf/ko/ai-tools/claude-code/template/CLAUDE.md +0 -91
- package/claude-code/aiwf/ko/ai-tools/cursor/README.md +0 -314
- package/claude-code/aiwf/ko/ai-tools/cursor/config.json +0 -29
- package/claude-code/aiwf/ko/ai-tools/cursor/template/.cursorrules +0 -362
- package/claude-code/aiwf/ko/ai-tools/github-copilot/README.md +0 -195
- package/claude-code/aiwf/ko/ai-tools/github-copilot/config.json +0 -24
- package/claude-code/aiwf/ko/ai-tools/github-copilot/template/.github/copilot-instructions.md +0 -202
- package/claude-code/aiwf/ko/ai-tools/windsurf/README.md +0 -355
- package/claude-code/aiwf/ko/ai-tools/windsurf/config.json +0 -29
- package/claude-code/aiwf/ko/ai-tools/windsurf/template/.windsurf/aiwf-rules.md +0 -260
- package/claude-code/aiwf/ko/ai-tools/windsurf/template/.windsurf/windsurf.config.js +0 -312
- package/claude-code/aiwf/ko/ai-tools/windsurf/template/windsurf.config.json +0 -63
- package/claude-code/aiwf/ko/commands/feature_commit_report.js +0 -370
- package/claude-code/aiwf/ko/commands/scan_git_history.js +0 -234
- package/claude-code/aiwf/ko/commands/sync_feature_commits.js +0 -154
- package/claude-code/aiwf/ko/commands/token-tracking.js +0 -443
- package/claude-code/aiwf/ko/feature-ledger/FL-001-authentication.json +0 -52
- package/claude-code/aiwf/ko/feature-ledger/feature-index.json +0 -20
- package/claude-code/aiwf/ko/hooks/install-hooks.sh +0 -100
- package/claude-code/aiwf/ko/hooks/post-commit +0 -84
- package/claude-code/aiwf/ko/personas/PERSONA_INDEX.md +0 -57
- package/claude-code/aiwf/ko/personas/analyst.json +0 -44
- package/claude-code/aiwf/ko/personas/architect/best_practices.md +0 -136
- package/claude-code/aiwf/ko/personas/architect/knowledge_base.md +0 -377
- package/claude-code/aiwf/ko/personas/architect.json +0 -44
- package/claude-code/aiwf/ko/personas/backend/best_practices.md +0 -766
- package/claude-code/aiwf/ko/personas/backend/knowledge_base.md +0 -1070
- package/claude-code/aiwf/ko/personas/data_analyst/best_practices.md +0 -594
- package/claude-code/aiwf/ko/personas/data_analyst/knowledge_base.md +0 -1057
- package/claude-code/aiwf/ko/personas/developer.json +0 -44
- package/claude-code/aiwf/ko/personas/developer.md +0 -37
- package/claude-code/aiwf/ko/personas/evaluation_criteria.json +0 -137
- package/claude-code/aiwf/ko/personas/frontend/best_practices.md +0 -445
- package/claude-code/aiwf/ko/personas/frontend/knowledge_base.md +0 -729
- package/claude-code/aiwf/ko/personas/persona-index.json +0 -31
- package/claude-code/aiwf/ko/personas/reviewer.json +0 -44
- package/claude-code/aiwf/ko/personas/security/best_practices.md +0 -307
- package/claude-code/aiwf/ko/personas/security/knowledge_base.md +0 -498
- package/claude-code/aiwf/ko/personas/tester.json +0 -44
- package/claude-code/aiwf/ko/scripts/cache-templates.js +0 -209
- package/claude-code/aiwf/ko/scripts/create-offline.js +0 -86
- package/claude-code/aiwf/ko/scripts/create-project.js +0 -151
- package/claude-code/aiwf/ko/scripts/feature-progress-calculator.cjs +0 -236
- package/claude-code/aiwf/ko/scripts/git-integration.cjs +0 -391
- package/claude-code/aiwf/ko/scripts/install-git-hooks.cjs +0 -226
- package/claude-code/aiwf/ko/scripts/test-commit-parsing.cjs +0 -125
- package/claude-code/aiwf/ko/scripts/update-feature-status.cjs +0 -198
- package/claude-code/aiwf/ko/tests/compression-test-suite.js +0 -1252
- package/claude-code/aiwf/ko/tests/test-git-integration.js +0 -164
- package/claude-code/aiwf/ko/tests/token-tracking.test.js +0 -537
- package/claude-code/aiwf/ko/utils/compression-metrics.js +0 -1031
- package/claude-code/aiwf/ko/utils/compression-strategies.js +0 -557
- package/claude-code/aiwf/ko/utils/content-normalizer.js +0 -455
- package/claude-code/aiwf/ko/utils/feature-updater.js +0 -271
- package/claude-code/aiwf/ko/utils/importance-classifier.js +0 -645
- package/claude-code/aiwf/ko/utils/information-filter.js +0 -710
- package/claude-code/aiwf/ko/utils/token-counter.js +0 -177
- package/claude-code/aiwf/ko/utils/token-monitor.js +0 -484
- package/claude-code/aiwf/ko/utils/token-reporter.js +0 -453
- package/claude-code/aiwf/ko/utils/token-storage.js +0 -433
- package/claude-code/aiwf/ko/utils/token-tracker.js +0 -283
- package/claude-code/docker/Dockerfile +0 -117
- package/jest.config.js +0 -23
- package/scripts/update-feature-status.js +0 -70
- package/tests/application.test.js +0 -260
- package/tests/basic.test.js +0 -62
- package/tests/commands.test.js +0 -127
- package/tests/installer.test.js +0 -129
- package/tests/integration/ai-persona-system.test.js +0 -396
- package/tests/integration/ai-persona.test.js +0 -390
- package/tests/integration/command-integration.test.js +0 -600
- package/tests/integration/context-compression.test.js +0 -361
- package/tests/integration/feature-ledger.test.js +0 -226
- package/tests/integration/git-integration.test.js +0 -307
- package/tests/integration/m02-milestone.test.js +0 -420
- package/tests/integration/persona-context-application.test.js +0 -508
- package/tests/integration/setup.js +0 -174
- package/tests/integration/test-persona-aware-compression.js +0 -93
- package/tests/integration/test-persona-system/.aiwf/metrics/metrics.json +0 -833
- package/tests/integration/test-persona-system/docs/README.md +0 -1
- package/tests/integration/test-persona-system/package.json +0 -1
- package/tests/integration/test-persona-system/src/auth.js +0 -1
- package/tests/integration/test-persona-system/src/index.js +0 -1
- package/tests/integration/test-persona-system/test/test.js +0 -1
- package/tests/language-utils.test.js +0 -287
- package/tests/s02-integration.test.js +0 -422
- package/tests/unit/ai-persona-manager.test.js +0 -514
- package/tests/unit/sprint-task.test.js +0 -172
- /package/{claude-code/aiwf/ko → src/lib/resources}/commands/compress-context.js +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/commands/evaluate.js +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/commands/feature-ledger.js +0 -0
- /package/{claude-code/aiwf/en → src/lib/resources}/commands/feature_commit_report.js +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/commands/persona-context-apply.js +0 -0
- /package/{claude-code/aiwf/en → src/lib/resources}/commands/scan_git_history.js +0 -0
- /package/{claude-code/aiwf/en → src/lib/resources}/commands/sync_feature_commits.js +0 -0
- /package/{claude-code/aiwf/en → src/lib/resources}/commands/token-tracking.js +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/config/commit-patterns.js +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/config/language.json +0 -0
- /package/{.aiwf/07_AI_PERSONAS → src/lib/resources/personas}/PERSONA_INDEX.md +0 -0
- /package/{.aiwf → src/lib/resources}/personas/analyst.json +0 -0
- /package/{.aiwf → src/lib/resources}/personas/architect/best_practices.md +0 -0
- /package/{.aiwf → src/lib/resources}/personas/architect/knowledge_base.md +0 -0
- /package/{.aiwf → src/lib/resources}/personas/architect.json +0 -0
- /package/{.aiwf → src/lib/resources}/personas/backend/best_practices.md +0 -0
- /package/{.aiwf → src/lib/resources}/personas/backend/knowledge_base.md +0 -0
- /package/{.aiwf → src/lib/resources}/personas/data_analyst/best_practices.md +0 -0
- /package/{.aiwf → src/lib/resources}/personas/data_analyst/knowledge_base.md +0 -0
- /package/{.aiwf → src/lib/resources}/personas/developer.json +0 -0
- /package/{.aiwf/10_PERSONAS → src/lib/resources/personas}/developer.md +0 -0
- /package/{.aiwf → src/lib/resources}/personas/evaluation_criteria.json +0 -0
- /package/{.aiwf → src/lib/resources}/personas/frontend/best_practices.md +0 -0
- /package/{.aiwf → src/lib/resources}/personas/frontend/knowledge_base.md +0 -0
- /package/{.aiwf → src/lib/resources}/personas/persona-index.json +0 -0
- /package/{.aiwf → src/lib/resources}/personas/reviewer.json +0 -0
- /package/{.aiwf → src/lib/resources}/personas/security/best_practices.md +0 -0
- /package/{.aiwf → src/lib/resources}/personas/security/knowledge_base.md +0 -0
- /package/{.aiwf → src/lib/resources}/personas/tester.json +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/README.md +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/api-server/config.json +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/api-server/template/.aiwf/config.json +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/api-server/template/.aiwf/feature-ledger.json +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/api-server/template/.aiwf/personas/backend-engineer.json +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/api-server/template/.aiwf/scripts/cli.js +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/api-server/template/.env.example +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/api-server/template/.eslintrc.json +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/api-server/template/README.md +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/api-server/template/jest.config.js +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/api-server/template/nodemon.json +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/api-server/template/package.json +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/api-server/template/src/app.ts +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/api-server/template/src/config/swagger.ts +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/api-server/template/src/controllers/aiwfController.ts +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/api-server/template/src/controllers/authController.ts +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/api-server/template/src/controllers/statusController.ts +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/api-server/template/src/index.ts +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/api-server/template/src/middleware/aiwfMiddleware.ts +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/api-server/template/src/middleware/authMiddleware.ts +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/api-server/template/src/middleware/errorHandler.ts +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/api-server/template/src/middleware/notFoundHandler.ts +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/api-server/template/src/middleware/requestLogger.ts +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/api-server/template/src/routes/aiwf.ts +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/api-server/template/src/routes/index.ts +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/api-server/template/src/routes/v1/index.ts +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/api-server/template/src/utils/logger.ts +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/api-server/template/tests/app.test.ts +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/api-server/template/tsconfig.json +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/npm-library/config.json +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/npm-library/template/LICENSE +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/npm-library/template/README.md +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/npm-library/template/package.json +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/web-app/config.json +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/web-app/template/.aiwf/config.json +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/web-app/template/.aiwf/feature-ledger.json +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/web-app/template/.aiwf/personas/fullstack-developer.json +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/web-app/template/.aiwf/scripts/cli.js +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/web-app/template/.eslintrc.cjs +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/web-app/template/README.md +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/web-app/template/index.html +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/web-app/template/package.json +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/web-app/template/postcss.config.js +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/web-app/template/public/vite.svg +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/web-app/template/src/App.tsx +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/web-app/template/src/components/Layout.tsx +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/web-app/template/src/components/aiwf/ContextStatus.tsx +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/web-app/template/src/components/aiwf/FeatureLedger.tsx +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/web-app/template/src/components/aiwf/TokenUsage.tsx +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/web-app/template/src/index.css +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/web-app/template/src/main.tsx +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/web-app/template/src/pages/AiwfDashboard.tsx +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/web-app/template/src/pages/HomePage.tsx +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/web-app/template/src/pages/NotFound.tsx +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/web-app/template/src/stores/aiwfStore.ts +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/web-app/template/src/types/global.d.ts +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/web-app/template/src/vite-env.d.ts +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/web-app/template/tailwind.config.js +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/web-app/template/tsconfig.json +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/web-app/template/tsconfig.node.json +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/templates/web-app/template/vite.config.ts +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/utils/background-monitor.js +0 -0
- /package/{claude-code/aiwf/en → src/lib/resources}/utils/compression-metrics.js +0 -0
- /package/{claude-code/aiwf/en → src/lib/resources}/utils/compression-strategies.js +0 -0
- /package/{claude-code/aiwf/en → src/lib/resources}/utils/content-normalizer.js +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/utils/context-compressor.js +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/utils/context-rule-parser.js +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/utils/context-token-monitor.js +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/utils/context-update-manager.js +0 -0
- /package/{claude-code/aiwf/en → src/lib/resources}/utils/feature-updater.js +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/utils/git-utils.js +0 -0
- /package/{claude-code/aiwf/en → src/lib/resources}/utils/importance-classifier.js +0 -0
- /package/{claude-code/aiwf/en → src/lib/resources}/utils/information-filter.js +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/utils/persona-aware-compressor.js +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/utils/prompt-injector.js +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/utils/simplified-evaluator.js +0 -0
- /package/{claude-code/aiwf/ko → src/lib/resources}/utils/text-summarizer.js +0 -0
- /package/{claude-code/aiwf/en → src/lib/resources}/utils/token-counter.js +0 -0
- /package/{claude-code/aiwf/en → src/lib/resources}/utils/token-monitor.js +0 -0
- /package/{claude-code/aiwf/en → src/lib/resources}/utils/token-reporter.js +0 -0
- /package/{claude-code/aiwf/en → src/lib/resources}/utils/token-storage.js +0 -0
- /package/{claude-code/aiwf/en → src/lib/resources}/utils/token-tracker.js +0 -0
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
# CLAUDE.md - Requirements Folder Structure Guide
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
This folder contains all project milestones and their associated requirements documentation. Each milestone represents a major project phase or feature set.
|
|
5
|
-
|
|
6
|
-
## Milestone Naming Convention
|
|
7
|
-
**CRITICAL**: Milestone folders MUST follow this exact pattern:
|
|
8
|
-
```
|
|
9
|
-
M##_Milestone_Name/
|
|
10
|
-
```
|
|
11
|
-
|
|
12
|
-
- `M##` - Two-digit milestone number (M01, M02, etc.)
|
|
13
|
-
- `_` - Single underscore separator
|
|
14
|
-
- `Milestone_Name` - Descriptive name using underscores for spaces
|
|
15
|
-
|
|
16
|
-
### Examples:
|
|
17
|
-
- ✅ `M01_Backend_Setup/`
|
|
18
|
-
- ✅ `M02_Frontend_UI/`
|
|
19
|
-
- ✅ `M03_Authentication_System/`
|
|
20
|
-
- ❌ `M1_Backend/` (missing leading zero)
|
|
21
|
-
- ❌ `M01-Backend-Setup/` (wrong separator)
|
|
22
|
-
- ❌ `Backend_Setup/` (missing M## prefix)
|
|
23
|
-
|
|
24
|
-
## Milestone Structure
|
|
25
|
-
Each milestone folder MUST contain:
|
|
26
|
-
|
|
27
|
-
### 1. Milestone Meta File (REQUIRED)
|
|
28
|
-
- **Name**: `M##_milestone_meta.md`
|
|
29
|
-
- **Purpose**: Contains milestone metadata and overview
|
|
30
|
-
- **Location**: Root of milestone folder
|
|
31
|
-
|
|
32
|
-
### 2. Product Requirements Documents (PRD)
|
|
33
|
-
- **Pattern**: `PRD_*.md`
|
|
34
|
-
- **Examples**: `PRD_Backend_Setup.md`, `PRD_User_Authentication.md`
|
|
35
|
-
- **Purpose**: Define product requirements and user stories
|
|
36
|
-
|
|
37
|
-
### 3. Technical Specifications
|
|
38
|
-
- **Pattern**: `SPECS_*.md`
|
|
39
|
-
- **Examples**: `SPECS_API_V1.md`, `SPECS_Database_Schema.md`
|
|
40
|
-
- **Purpose**: Technical implementation details
|
|
41
|
-
|
|
42
|
-
### 4. Amendments (as needed)
|
|
43
|
-
- **Pattern**: `PRD_AMEND_##_*.md`
|
|
44
|
-
- **Examples**: `PRD_AMEND_01_Additional_Endpoints.md`
|
|
45
|
-
- **Purpose**: Document changes to original requirements
|
|
46
|
-
|
|
47
|
-
## Example Structure
|
|
48
|
-
```
|
|
49
|
-
02_REQUIREMENTS/
|
|
50
|
-
├── M01_Backend_Setup/
|
|
51
|
-
│ ├── M01_milestone_meta.md
|
|
52
|
-
│ ├── PRD_Backend_Setup.md
|
|
53
|
-
│ ├── SPECS_API_V1.md
|
|
54
|
-
│ └── PRD_AMEND_01_Cache_Layer.md
|
|
55
|
-
├── M02_Frontend_UI/
|
|
56
|
-
│ ├── M02_milestone_meta.md
|
|
57
|
-
│ ├── PRD_User_Interface.md
|
|
58
|
-
│ └── SPECS_Component_Library.md
|
|
59
|
-
└── M03_Authentication_System/
|
|
60
|
-
├── M03_milestone_meta.md
|
|
61
|
-
├── PRD_Authentication.md
|
|
62
|
-
└── SPECS_OAuth_Integration.md
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
## Important Notes for Claude Code
|
|
66
|
-
|
|
67
|
-
1. **Always use the M## prefix** when creating milestone folders
|
|
68
|
-
2. **Use underscores** for spaces in milestone names
|
|
69
|
-
3. **Create the milestone meta file first** using the template from `99_TEMPLATES/milestone_meta_template.md`
|
|
70
|
-
4. **Update the project manifest** (`00_PROJECT_MANIFEST.md`) when creating new milestones
|
|
71
|
-
5. **Maintain sequential numbering** - don't skip milestone numbers
|
|
72
|
-
|
|
73
|
-
## Common Mistakes to Avoid
|
|
74
|
-
- Creating milestones without the M## prefix
|
|
75
|
-
- Using hyphens instead of underscores
|
|
76
|
-
- Forgetting the milestone meta file
|
|
77
|
-
- Not updating the project manifest
|
|
78
|
-
- Creating milestones in the wrong location (must be in 02_REQUIREMENTS)
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
milestone_id: M01
|
|
3
|
-
title: Backend Setup
|
|
4
|
-
status: active # pending | active | completed | blocked | on_hold
|
|
5
|
-
last_updated: 2023-07-10
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Milestone: Backend Setup (EXAMPLE)
|
|
9
|
-
|
|
10
|
-
## Goals
|
|
11
|
-
|
|
12
|
-
This milestone focuses on establishing the core backend infrastructure for the project, including:
|
|
13
|
-
|
|
14
|
-
1. Setting up the initial project structure
|
|
15
|
-
2. Defining the database schema and models
|
|
16
|
-
3. Implementing basic API endpoints
|
|
17
|
-
4. Establishing authentication and authorization systems
|
|
18
|
-
|
|
19
|
-
## Key Documents
|
|
20
|
-
|
|
21
|
-
- [Product Requirements Document](./PRD_Backend_Setup.md)
|
|
22
|
-
- [API Specifications V1](./SPECS_API_V1.md)
|
|
23
|
-
- [Auth Flow Update Amendment](./PRD_AMEND_01_Auth_Flow_Update.md)
|
|
24
|
-
|
|
25
|
-
## Definition of Done (DoD)
|
|
26
|
-
|
|
27
|
-
This milestone will be considered complete when:
|
|
28
|
-
|
|
29
|
-
- The backend server can be started and responds to API requests
|
|
30
|
-
- All core models are defined and can be created/updated/deleted via the API
|
|
31
|
-
- Authentication is working with JWT tokens
|
|
32
|
-
- Basic error handling is implemented
|
|
33
|
-
- Integration tests are passing for all endpoints
|
|
34
|
-
|
|
35
|
-
## Notes / Context
|
|
36
|
-
|
|
37
|
-
This is an example milestone document to demonstrate how milestones might be structured in a project using the AIWF framework. The backend infrastructure established here would be the foundation for a typical web application.
|
|
38
|
-
|
|
39
|
-
## Related Sprints
|
|
40
|
-
|
|
41
|
-
- [S01_M01_Initial_API](../../03_SPRINTS/S01_M01_Initial_API/S01_sprint_meta.md)
|
|
42
|
-
- [S02_M01_Database_Integration](../../03_SPRINTS/S02_M01_Database_Integration/S02_sprint_meta.md)
|
package/claude-code/aiwf/en/.aiwf/02_REQUIREMENTS/M01_Backend_Setup/PRD_AMEND_01_Auth_Flow_Update.md
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
# Amendment: Auth Flow Update (EXAMPLE)
|
|
2
|
-
|
|
3
|
-
## Date: 2023-05-17
|
|
4
|
-
|
|
5
|
-
## Overview
|
|
6
|
-
|
|
7
|
-
This amendment updates the authentication flow requirements to incorporate OAuth 2.0 support for social logins in addition to the existing email/password authentication.
|
|
8
|
-
|
|
9
|
-
**Note: This is an example amendment document to demonstrate how requirement changes might be tracked in the AIWF framework.**
|
|
10
|
-
|
|
11
|
-
## Changes to Product Requirements
|
|
12
|
-
|
|
13
|
-
### User Management (FR-1)
|
|
14
|
-
|
|
15
|
-
**Added Requirements:**
|
|
16
|
-
|
|
17
|
-
- FR-1.6: The system shall allow users to register and log in using Google OAuth
|
|
18
|
-
- FR-1.7: The system shall allow users to register and log in using GitHub OAuth
|
|
19
|
-
- FR-1.8: The system shall link social login accounts with existing email accounts when the email matches
|
|
20
|
-
|
|
21
|
-
### Data Models (FR-2)
|
|
22
|
-
|
|
23
|
-
**Updated FR-2.1 (User model):**
|
|
24
|
-
|
|
25
|
-
Add the following fields to the User model:
|
|
26
|
-
|
|
27
|
-
- `oauth_provider`: string (null, 'google', 'github')
|
|
28
|
-
- `oauth_id`: string (provider-specific user ID)
|
|
29
|
-
|
|
30
|
-
### API Endpoints (FR-3)
|
|
31
|
-
|
|
32
|
-
**Added Endpoints to FR-3.1:**
|
|
33
|
-
|
|
34
|
-
- GET /api/auth/oauth/google (Redirect URL for Google OAuth)
|
|
35
|
-
- GET /api/auth/oauth/github (Redirect URL for GitHub OAuth)
|
|
36
|
-
- GET /api/auth/oauth/callback (OAuth provider callback)
|
|
37
|
-
|
|
38
|
-
## Changes to Non-Functional Requirements
|
|
39
|
-
|
|
40
|
-
**Updated NFR-5:**
|
|
41
|
-
|
|
42
|
-
- NFR-5: The system shall implement JWT-based authentication with support for OAuth 2.0 providers
|
|
43
|
-
|
|
44
|
-
**Added NFR:**
|
|
45
|
-
|
|
46
|
-
- NFR-9: The system shall securely store OAuth provider credentials in environment variables
|
|
47
|
-
|
|
48
|
-
## Implementation Impact
|
|
49
|
-
|
|
50
|
-
- Required libraries: `passport`, `passport-google-oauth20`, `passport-github2`
|
|
51
|
-
- Additional environment variables needed:
|
|
52
|
-
- `GOOGLE_CLIENT_ID`
|
|
53
|
-
- `GOOGLE_CLIENT_SECRET`
|
|
54
|
-
- `GITHUB_CLIENT_ID`
|
|
55
|
-
- `GITHUB_CLIENT_SECRET`
|
|
56
|
-
- `OAUTH_CALLBACK_URL`
|
|
57
|
-
|
|
58
|
-
## Test Cases
|
|
59
|
-
|
|
60
|
-
- TC-1: User can log in with Google account
|
|
61
|
-
- TC-2: User can log in with GitHub account
|
|
62
|
-
- TC-3: Social login with matching email links to existing account
|
|
63
|
-
- TC-4: JWT token works correctly regardless of authentication method
|
|
64
|
-
|
|
65
|
-
## Timeline Impact
|
|
66
|
-
|
|
67
|
-
Implementation of these changes is expected to add 3 days to the original timeline.
|
|
68
|
-
|
|
69
|
-
## Approvals
|
|
70
|
-
|
|
71
|
-
- Requested by: Sarah Chen (Product Manager)
|
|
72
|
-
- Approved by: Mike Johnson (Technical Lead)
|
|
73
|
-
- Approved by: David Lee (Project Manager)
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
# Product Requirements Document: Backend Setup
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
This document outlines the requirements for setting up the backend infrastructure for our application. The backend will provide API endpoints for client applications, handle data persistence, and implement business logic.
|
|
6
|
-
|
|
7
|
-
## Functional Requirements
|
|
8
|
-
|
|
9
|
-
### User Management
|
|
10
|
-
|
|
11
|
-
- FR-1.1: The system shall allow users to register with email and password
|
|
12
|
-
- FR-1.2: The system shall allow users to log in with their credentials
|
|
13
|
-
- FR-1.3: The system shall allow users to reset their password via email
|
|
14
|
-
- FR-1.4: The system shall allow users to update their profile information
|
|
15
|
-
- FR-1.5: The system shall allow administrators to disable user accounts
|
|
16
|
-
|
|
17
|
-
### Data Models
|
|
18
|
-
|
|
19
|
-
- FR-2.1: The system shall implement a User model with fields for:
|
|
20
|
-
- Email (unique)
|
|
21
|
-
- Password (hashed)
|
|
22
|
-
- Profile information (name, avatar, etc.)
|
|
23
|
-
- Role (user, admin)
|
|
24
|
-
- Account status (active, disabled)
|
|
25
|
-
|
|
26
|
-
- FR-2.2: The system shall implement a Project model with fields for:
|
|
27
|
-
- Title
|
|
28
|
-
- Description
|
|
29
|
-
- Creation date
|
|
30
|
-
- Owner (User reference)
|
|
31
|
-
- Members (User references)
|
|
32
|
-
- Status (active, archived)
|
|
33
|
-
|
|
34
|
-
- FR-2.3: The system shall implement a Task model with fields for:
|
|
35
|
-
- Title
|
|
36
|
-
- Description
|
|
37
|
-
- Due date
|
|
38
|
-
- Assigned user (User reference)
|
|
39
|
-
- Project (Project reference)
|
|
40
|
-
- Status (todo, in_progress, done)
|
|
41
|
-
- Priority (low, medium, high)
|
|
42
|
-
|
|
43
|
-
### API Endpoints
|
|
44
|
-
|
|
45
|
-
- FR-3.1: The system shall provide authentication endpoints:
|
|
46
|
-
- POST /api/auth/register
|
|
47
|
-
- POST /api/auth/login
|
|
48
|
-
- POST /api/auth/reset-password
|
|
49
|
-
- POST /api/auth/reset-password-confirm
|
|
50
|
-
|
|
51
|
-
- FR-3.2: The system shall provide user management endpoints:
|
|
52
|
-
- GET /api/users/me
|
|
53
|
-
- PUT /api/users/me
|
|
54
|
-
- GET /api/users (admin only)
|
|
55
|
-
- PUT /api/users/:id (admin only)
|
|
56
|
-
|
|
57
|
-
- FR-3.3: The system shall provide project management endpoints:
|
|
58
|
-
- GET /api/projects
|
|
59
|
-
- POST /api/projects
|
|
60
|
-
- GET /api/projects/:id
|
|
61
|
-
- PUT /api/projects/:id
|
|
62
|
-
- DELETE /api/projects/:id
|
|
63
|
-
|
|
64
|
-
- FR-3.4: The system shall provide task management endpoints:
|
|
65
|
-
- GET /api/projects/:id/tasks
|
|
66
|
-
- POST /api/projects/:id/tasks
|
|
67
|
-
- GET /api/tasks/:id
|
|
68
|
-
- PUT /api/tasks/:id
|
|
69
|
-
- DELETE /api/tasks/:id
|
|
70
|
-
|
|
71
|
-
## Non-Functional Requirements
|
|
72
|
-
|
|
73
|
-
- NFR-1: The backend shall be implemented using Node.js and Express
|
|
74
|
-
- NFR-2: The system shall use MongoDB for data persistence
|
|
75
|
-
- NFR-3: API response time shall be under 200ms for 95% of requests
|
|
76
|
-
- NFR-4: The system shall handle up to 1000 concurrent users
|
|
77
|
-
- NFR-5: The system shall implement JWT-based authentication
|
|
78
|
-
- NFR-6: All API endpoints shall be documented using OpenAPI/Swagger
|
|
79
|
-
- NFR-7: The codebase shall have at least 80% test coverage
|
|
80
|
-
- NFR-8: The system shall log all errors and API requests
|
|
81
|
-
|
|
82
|
-
## Constraints
|
|
83
|
-
|
|
84
|
-
- The backend must be deployable to AWS and Azure
|
|
85
|
-
- The system must comply with GDPR requirements for user data
|
|
86
|
-
- The API must be versioned to support future changes
|
|
87
|
-
|
|
88
|
-
## Assumptions
|
|
89
|
-
|
|
90
|
-
- The client applications will be responsible for input validation
|
|
91
|
-
- The backend will be accessed only through the API, not directly
|
|
92
|
-
- The database will be hosted on a managed service (MongoDB Atlas)
|
|
93
|
-
|
|
94
|
-
## Dependencies
|
|
95
|
-
|
|
96
|
-
- MongoDB Atlas account
|
|
97
|
-
- SMTP service for email sending
|
|
98
|
-
- JWT secret key management
|
|
@@ -1,232 +0,0 @@
|
|
|
1
|
-
# API Specifications V1
|
|
2
|
-
|
|
3
|
-
This document provides detailed specifications for the API endpoints to be implemented in the backend.
|
|
4
|
-
|
|
5
|
-
## Base URL
|
|
6
|
-
|
|
7
|
-
All API endpoints are prefixed with: `/api/v1`
|
|
8
|
-
|
|
9
|
-
## Authentication
|
|
10
|
-
|
|
11
|
-
All authenticated endpoints require a valid JWT token in the Authorization header:
|
|
12
|
-
|
|
13
|
-
```
|
|
14
|
-
Authorization: Bearer <token>
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
## Error Handling
|
|
18
|
-
|
|
19
|
-
All API endpoints follow a consistent error response format:
|
|
20
|
-
|
|
21
|
-
```json
|
|
22
|
-
{
|
|
23
|
-
"error": {
|
|
24
|
-
"code": "ERROR_CODE",
|
|
25
|
-
"message": "Human-readable error message",
|
|
26
|
-
"details": {} // Optional additional error details
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
Common error codes:
|
|
32
|
-
- `UNAUTHORIZED`: Authentication required or invalid
|
|
33
|
-
- `FORBIDDEN`: Insufficient permissions
|
|
34
|
-
- `NOT_FOUND`: Resource not found
|
|
35
|
-
- `VALIDATION_ERROR`: Request validation failed
|
|
36
|
-
- `INTERNAL_ERROR`: Server-side error
|
|
37
|
-
|
|
38
|
-
## Endpoints
|
|
39
|
-
|
|
40
|
-
### Authentication
|
|
41
|
-
|
|
42
|
-
#### POST /api/v1/auth/register
|
|
43
|
-
|
|
44
|
-
Register a new user.
|
|
45
|
-
|
|
46
|
-
**Request:**
|
|
47
|
-
```json
|
|
48
|
-
{
|
|
49
|
-
"email": "user@example.com",
|
|
50
|
-
"password": "securepassword",
|
|
51
|
-
"name": "John Doe"
|
|
52
|
-
}
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
**Response (201 Created):**
|
|
56
|
-
```json
|
|
57
|
-
{
|
|
58
|
-
"user": {
|
|
59
|
-
"id": "user123",
|
|
60
|
-
"email": "user@example.com",
|
|
61
|
-
"name": "John Doe",
|
|
62
|
-
"created_at": "2023-07-10T12:00:00Z"
|
|
63
|
-
},
|
|
64
|
-
"token": "jwt.token.here"
|
|
65
|
-
}
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
#### POST /api/v1/auth/login
|
|
69
|
-
|
|
70
|
-
Authenticate a user.
|
|
71
|
-
|
|
72
|
-
**Request:**
|
|
73
|
-
```json
|
|
74
|
-
{
|
|
75
|
-
"email": "user@example.com",
|
|
76
|
-
"password": "securepassword"
|
|
77
|
-
}
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
**Response (200 OK):**
|
|
81
|
-
```json
|
|
82
|
-
{
|
|
83
|
-
"user": {
|
|
84
|
-
"id": "user123",
|
|
85
|
-
"email": "user@example.com",
|
|
86
|
-
"name": "John Doe",
|
|
87
|
-
"created_at": "2023-07-10T12:00:00Z"
|
|
88
|
-
},
|
|
89
|
-
"token": "jwt.token.here"
|
|
90
|
-
}
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
### Users
|
|
94
|
-
|
|
95
|
-
#### GET /api/v1/users/me
|
|
96
|
-
|
|
97
|
-
Get current authenticated user profile.
|
|
98
|
-
|
|
99
|
-
**Response (200 OK):**
|
|
100
|
-
```json
|
|
101
|
-
{
|
|
102
|
-
"id": "user123",
|
|
103
|
-
"email": "user@example.com",
|
|
104
|
-
"name": "John Doe",
|
|
105
|
-
"created_at": "2023-07-10T12:00:00Z",
|
|
106
|
-
"role": "user",
|
|
107
|
-
"status": "active"
|
|
108
|
-
}
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
#### PUT /api/v1/users/me
|
|
112
|
-
|
|
113
|
-
Update current user profile.
|
|
114
|
-
|
|
115
|
-
**Request:**
|
|
116
|
-
```json
|
|
117
|
-
{
|
|
118
|
-
"name": "John Smith",
|
|
119
|
-
"avatar_url": "https://example.com/avatar.jpg"
|
|
120
|
-
}
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
**Response (200 OK):**
|
|
124
|
-
```json
|
|
125
|
-
{
|
|
126
|
-
"id": "user123",
|
|
127
|
-
"email": "user@example.com",
|
|
128
|
-
"name": "John Smith",
|
|
129
|
-
"avatar_url": "https://example.com/avatar.jpg",
|
|
130
|
-
"created_at": "2023-07-10T12:00:00Z",
|
|
131
|
-
"role": "user",
|
|
132
|
-
"status": "active"
|
|
133
|
-
}
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
### Projects
|
|
137
|
-
|
|
138
|
-
#### GET /api/v1/projects
|
|
139
|
-
|
|
140
|
-
List all projects accessible to the authenticated user.
|
|
141
|
-
|
|
142
|
-
**Query Parameters:**
|
|
143
|
-
- `status` (optional): Filter by status (active, archived)
|
|
144
|
-
- `limit` (optional): Maximum number of results (default: 20)
|
|
145
|
-
- `offset` (optional): Pagination offset (default: 0)
|
|
146
|
-
|
|
147
|
-
**Response (200 OK):**
|
|
148
|
-
```json
|
|
149
|
-
{
|
|
150
|
-
"total": 42,
|
|
151
|
-
"data": [
|
|
152
|
-
{
|
|
153
|
-
"id": "proj123",
|
|
154
|
-
"title": "Project Alpha",
|
|
155
|
-
"description": "This is project alpha",
|
|
156
|
-
"created_at": "2023-07-10T12:00:00Z",
|
|
157
|
-
"owner": {
|
|
158
|
-
"id": "user123",
|
|
159
|
-
"name": "John Doe"
|
|
160
|
-
},
|
|
161
|
-
"status": "active"
|
|
162
|
-
},
|
|
163
|
-
...
|
|
164
|
-
]
|
|
165
|
-
}
|
|
166
|
-
```
|
|
167
|
-
|
|
168
|
-
#### POST /api/v1/projects
|
|
169
|
-
|
|
170
|
-
Create a new project.
|
|
171
|
-
|
|
172
|
-
**Request:**
|
|
173
|
-
```json
|
|
174
|
-
{
|
|
175
|
-
"title": "New Project",
|
|
176
|
-
"description": "Description of the project"
|
|
177
|
-
}
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
**Response (201 Created):**
|
|
181
|
-
```json
|
|
182
|
-
{
|
|
183
|
-
"id": "proj456",
|
|
184
|
-
"title": "New Project",
|
|
185
|
-
"description": "Description of the project",
|
|
186
|
-
"created_at": "2023-07-15T14:30:00Z",
|
|
187
|
-
"owner": {
|
|
188
|
-
"id": "user123",
|
|
189
|
-
"name": "John Doe"
|
|
190
|
-
},
|
|
191
|
-
"status": "active"
|
|
192
|
-
}
|
|
193
|
-
```
|
|
194
|
-
|
|
195
|
-
### Tasks
|
|
196
|
-
|
|
197
|
-
#### GET /api/v1/projects/:projectId/tasks
|
|
198
|
-
|
|
199
|
-
List tasks for a specific project.
|
|
200
|
-
|
|
201
|
-
**Query Parameters:**
|
|
202
|
-
- `status` (optional): Filter by status (todo, in_progress, done)
|
|
203
|
-
- `assigned_to` (optional): Filter by assigned user ID
|
|
204
|
-
- `limit` (optional): Maximum number of results (default: 50)
|
|
205
|
-
- `offset` (optional): Pagination offset (default: 0)
|
|
206
|
-
|
|
207
|
-
**Response (200 OK):**
|
|
208
|
-
```json
|
|
209
|
-
{
|
|
210
|
-
"total": 24,
|
|
211
|
-
"data": [
|
|
212
|
-
{
|
|
213
|
-
"id": "task123",
|
|
214
|
-
"title": "Implement login page",
|
|
215
|
-
"description": "Create the login page with email and password fields",
|
|
216
|
-
"due_date": "2023-08-01T00:00:00Z",
|
|
217
|
-
"status": "in_progress",
|
|
218
|
-
"priority": "high",
|
|
219
|
-
"assigned_to": {
|
|
220
|
-
"id": "user123",
|
|
221
|
-
"name": "John Doe"
|
|
222
|
-
},
|
|
223
|
-
"project_id": "proj123"
|
|
224
|
-
},
|
|
225
|
-
...
|
|
226
|
-
]
|
|
227
|
-
}
|
|
228
|
-
```
|
|
229
|
-
|
|
230
|
-
## Rate Limiting
|
|
231
|
-
|
|
232
|
-
API requests are rate-limited to 100 requests per minute per user. When the limit is exceeded, the API will respond with status code 429 (Too Many Requests).
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
# Sprint Management Instructions
|
|
2
|
-
|
|
3
|
-
## Important Section - Always read
|
|
4
|
-
|
|
5
|
-
- When updating Tasks Logs (Output Log) always fetch current date and time first
|
|
6
|
-
- Update Output Log after every Subtask
|
|
7
|
-
- Always be truthful in Logs. If you cannot complete a task for technical reasons, just write it down. Don't lie!
|
|
8
|
-
- Only mark lines as done if you could acctually progress them.
|
|
9
|
-
- Update the task file after every completed subtask and check Acceptance criteria as well if successful.
|
|
10
|
-
|
|
11
|
-
## Sprint Structure
|
|
12
|
-
|
|
13
|
-
Sprints are organized by milestone and sequence:
|
|
14
|
-
|
|
15
|
-
- Folders follow pattern: `S<NN>_M<NN>_<Focus_Area>/` where:
|
|
16
|
-
- `S<NN>` is the sprint sequence number
|
|
17
|
-
- `M<NN>` directly references the milestone ID this sprint belongs to
|
|
18
|
-
- `<Focus_Area>` describes the sprint's main focus
|
|
19
|
-
- Each sprint has a meta file: `S<NN>_sprint_meta.md`
|
|
20
|
-
- Tasks use pattern: `T<NN>_S<NN>_<Description>.md`
|
|
21
|
-
|
|
22
|
-
## Sprint Meta Files
|
|
23
|
-
|
|
24
|
-
Sprint meta files define sprint goals and track status:
|
|
25
|
-
|
|
26
|
-
```yaml
|
|
27
|
-
---
|
|
28
|
-
sprint_id: S01
|
|
29
|
-
milestone_id: M01
|
|
30
|
-
status: in_progress # planning | in_progress | review | complete
|
|
31
|
-
---
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
Update status as progress occurs:
|
|
35
|
-
|
|
36
|
-
- planning → in_progress → review → complete
|
|
37
|
-
|
|
38
|
-
Always use the template at `.AIWF/99_TEMPLATES/sprint_template.md` when creating new sprint meta files.
|
|
39
|
-
|
|
40
|
-
## Sprint Tasks
|
|
41
|
-
|
|
42
|
-
Tasks within a sprint follow a standard format:
|
|
43
|
-
|
|
44
|
-
- Status progression: open → in_progress → pending_review → done
|
|
45
|
-
- When completing a task:
|
|
46
|
-
- Ask for user confirmation
|
|
47
|
-
- Update status to "done"
|
|
48
|
-
- Rename file from T... to TX... (e.g., `TX01_S01_Task_Name.md`)
|
|
49
|
-
- Update Output Log with final entry
|
|
50
|
-
- If GitHub issue is linked, update issue status
|
|
51
|
-
|
|
52
|
-
Always use the template at `.AIWF/99_TEMPLATES/task_template.md` when creating new sprint tasks.
|
|
53
|
-
|
|
54
|
-
### GitHub Issue Integration
|
|
55
|
-
|
|
56
|
-
When working with tasks that have GitHub issues:
|
|
57
|
-
|
|
58
|
-
1. **Creating Issues**: Use `/project:aiwf:issue_create {task_id}` to create a GitHub issue from a task
|
|
59
|
-
2. **Linking Issues**: Add `github_issue: #123` to task frontmatter
|
|
60
|
-
3. **Status Updates**: Update issue status when task status changes
|
|
61
|
-
4. **Commit Integration**: Include `fixes #123` or `relates to #456` in commit messages
|
|
62
|
-
5. **Pull Requests**: Use `/project:aiwf:pr_create {task_id}` to create PR with issue linking
|
|
63
|
-
|
|
64
|
-
## Working with Sprint Tasks
|
|
65
|
-
|
|
66
|
-
When executing a sprint task:
|
|
67
|
-
|
|
68
|
-
1. Analyze task's Acceptance Criteria and Subtasks
|
|
69
|
-
2. Check if task has a linked GitHub issue (look for `github_issue` in frontmatter)
|
|
70
|
-
3. Update status to "in_progress" and update GitHub issue if linked:
|
|
71
|
-
```bash
|
|
72
|
-
gh issue comment {issue_number} --body "🚀 Task work has started."
|
|
73
|
-
gh issue edit {issue_number} --add-label "in-progress"
|
|
74
|
-
```
|
|
75
|
-
4. Log activities in the Output Log with timestamps after every Subtask(!)
|
|
76
|
-
5. Mark subtasks as completed using [x] only when they are really completed. If you were not able to complete them, don't mark them and tell the user.
|
|
77
|
-
6. Reference architectural guidelines when implementing technical solutions
|
|
78
|
-
7. Ensure the task follows the structure from the task template
|
|
79
|
-
8. When task is complete, update GitHub issue if linked:
|
|
80
|
-
```bash
|
|
81
|
-
gh issue comment {issue_number} --body "✅ Task has been completed."
|
|
82
|
-
gh issue edit {issue_number} --remove-label "in-progress" --add-label "completed"
|
|
83
|
-
```
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
sprint_folder_name: S01_M01_Initial_API
|
|
3
|
-
sprint_sequence_id: S01
|
|
4
|
-
milestone_id: M01
|
|
5
|
-
title: Initial API Development
|
|
6
|
-
status: active # pending | active | completed | aborted
|
|
7
|
-
goal: Implement the foundational API structure including user authentication, basic project endpoints, and the initial database models.
|
|
8
|
-
last_updated: 2023-07-15
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# Sprint: Initial API Development (S01) (EXAMPLE)
|
|
12
|
-
|
|
13
|
-
## Sprint Goal
|
|
14
|
-
|
|
15
|
-
Implement the foundational API structure including user authentication, basic project endpoints, and the initial database models.
|
|
16
|
-
|
|
17
|
-
## Scope & Key Deliverables
|
|
18
|
-
|
|
19
|
-
1. Set up the project structure with Express.js and MongoDB
|
|
20
|
-
2. Implement user registration and authentication endpoints
|
|
21
|
-
3. Create basic project and task models
|
|
22
|
-
4. Implement core API endpoints for projects and tasks
|
|
23
|
-
5. Set up automated testing infrastructure
|
|
24
|
-
|
|
25
|
-
## Sprint Backlog
|
|
26
|
-
|
|
27
|
-
- [T01_S01_Setup_Project_Structure](./T01_S01_Setup_Project_Structure.md)
|
|
28
|
-
- [T02_S01_Define_User_Model](./T02_S01_Define_User_Model.md)
|
|
29
|
-
- [T03_S01_Implement_Auth_Endpoints](./T03_S01_Implement_Auth_Endpoints.md)
|
|
30
|
-
- [T04_S01_Define_Project_Model](./T04_S01_Define_Project_Model.md)
|
|
31
|
-
- [T05_S01_Implement_Project_Endpoints](./T05_S01_Implement_Project_Endpoints.md)
|
|
32
|
-
|
|
33
|
-
## Definition of Done (for the Sprint)
|
|
34
|
-
|
|
35
|
-
The sprint will be considered complete when:
|
|
36
|
-
|
|
37
|
-
- All sprint tasks are completed and meet their acceptance criteria
|
|
38
|
-
- All implemented endpoints pass their test cases
|
|
39
|
-
- API documentation is updated to reflect implemented endpoints
|
|
40
|
-
- Code has been reviewed and merged to the development branch
|
|
41
|
-
|
|
42
|
-
## Notes / Context
|
|
43
|
-
|
|
44
|
-
This is an example sprint document to demonstrate how sprints might be structured in a project using the AIWF framework. This simulates what a typical initial API development sprint might look like.
|
|
45
|
-
|
|
46
|
-
## Related Documents
|
|
47
|
-
|
|
48
|
-
- [Milestone M01: Backend Setup](../../02_REQUIREMENTS/M01_Backend_Setup/M01_milestone_meta.md)
|
|
49
|
-
- [API Specifications V1](../../02_REQUIREMENTS/M01_Backend_Setup/SPECS_API_V1.md)
|