aiwf 0.3.3 → 0.3.4

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.
Files changed (203) hide show
  1. package/.aiwf/config/language.json +1 -1
  2. package/.aiwf/sessions/session_1752877859489_1t7n2fhdb.json +7 -0
  3. package/.aiwf/sessions/session_1752877859515_cwdv211ry.json +7 -0
  4. package/.aiwf/sessions/session_1752877860664_huziadmbo.json +7 -0
  5. package/.aiwf/sessions/session_1752877860666_kyr5u1np6.json +7 -0
  6. package/.aiwf/sessions/session_1752877861848_9yinepw3t.json +7 -0
  7. package/.aiwf/sessions/session_1752877861874_y32sputuc.json +7 -0
  8. package/.aiwf/sessions/session_1752877862685_ivxbl5rhz.json +7 -0
  9. package/.aiwf/sessions/session_1752877862820_wnq4glvxi.json +7 -0
  10. package/.aiwf/sessions/session_1752877864632_3ebnpaelb.json +7 -0
  11. package/.aiwf/sessions/session_1752877864879_b9zgjcb7d.json +7 -0
  12. package/.aiwf/sessions/session_1752877865533_x14m1vodi.json +7 -0
  13. package/.aiwf/sessions/session_1752877865562_gkoh19n7d.json +7 -0
  14. package/.aiwf/sessions/session_1752877866333_wp8qpdcoh.json +7 -0
  15. package/.aiwf/sessions/session_1752877866509_dawntfpab.json +7 -0
  16. package/.aiwf/sessions/session_1752877866890_plc5vfucl.json +7 -0
  17. package/.aiwf/sessions/session_1752877866895_ga8hmq3oi.json +7 -0
  18. package/.aiwf/sessions/session_1752877867761_ayjp4v5f5.json +7 -0
  19. package/.aiwf/sessions/session_1752877867892_lfz6jy252.json +7 -0
  20. package/.aiwf/sessions/session_1752877868139_7bqd9ubli.json +7 -0
  21. package/.aiwf/sessions/session_1752877868162_zq3ofjbsh.json +7 -0
  22. package/.aiwf/sessions/session_1752877869054_7rlgm9jt6.json +7 -0
  23. package/.aiwf/sessions/session_1752877869477_ax3nhbxzr.json +7 -0
  24. package/.aiwf/sessions/session_1752877870095_6hgp4vl1e.json +7 -0
  25. package/.aiwf/sessions/session_1752877870381_qfcrdg4li.json +7 -0
  26. package/.aiwf/sessions/session_1752877871895_pgd5vllhz.json +7 -0
  27. package/.aiwf/sessions/session_1752877872199_jbhv2g2da.json +7 -0
  28. package/.aiwf/sessions/session_1752877872680_x04wpffu6.json +7 -0
  29. package/.aiwf/sessions/session_1752877872895_3y4vbeauo.json +7 -0
  30. package/.aiwf/sessions/session_1752877873178_3maolzc6b.json +7 -0
  31. package/.aiwf/sessions/session_1752877873180_ytm83j07f.json +7 -0
  32. package/.aiwf/sessions/session_1752877874217_dp56c9t42.json +7 -0
  33. package/.aiwf/sessions/session_1752877874415_epwp1g1og.json +7 -0
  34. package/.aiwf/sessions/session_1752877874454_heicyuryb.json +7 -0
  35. package/.aiwf/sessions/session_1752877874869_1c2illeu5.json +7 -0
  36. package/.aiwf/sessions/session_1752877874879_k1vo4vxyx.json +7 -0
  37. package/.aiwf/sessions/session_1752877874913_bwgyiz9bp.json +7 -0
  38. package/.aiwf/sessions/session_1752877876218_44807kztz.json +7 -0
  39. package/.aiwf/sessions/session_1752877876515_qkhjv5kpw.json +7 -0
  40. package/.aiwf/sessions/session_1752877876543_p605aud1m.json +7 -0
  41. package/.aiwf/sessions/session_1752877876819_l65w7ifck.json +7 -0
  42. package/.aiwf/sessions/session_1752877876867_xrhzss4we.json +7 -0
  43. package/.aiwf/sessions/session_1752877876872_u7aso54qb.json +7 -0
  44. package/.aiwf/sessions/session_1752877877705_telnfg4o6.json +7 -0
  45. package/.aiwf/sessions/session_1752877878285_6s45im2ib.json +7 -0
  46. package/.aiwf/sessions/session_1752877878506_v0dvguqhz.json +7 -0
  47. package/.aiwf/sessions/session_1752877878581_3ri3yc66a.json +7 -0
  48. package/.aiwf/sessions/session_1752877878756_a82x9s2pd.json +7 -0
  49. package/.aiwf/sessions/session_1752877878886_20pjsfour.json +7 -0
  50. package/.aiwf/sessions/session_1752877880266_fm1ydjw0g.json +7 -0
  51. package/.aiwf/sessions/session_1752877881149_xbat4z03d.json +7 -0
  52. package/.aiwf/sessions/session_1752877881551_qy5sic9qs.json +7 -0
  53. package/.aiwf/sessions/session_1752877881554_24ugd96wu.json +7 -0
  54. package/.aiwf/sessions/session_1752877881797_e9mm25uh0.json +7 -0
  55. package/.aiwf/sessions/session_1752877881822_bxvjj8c9g.json +7 -0
  56. package/.aiwf/sessions/session_1752877881890_jv7l6jve3.json +7 -0
  57. package/.aiwf/sessions/session_1752877881991_f0qugdtcq.json +7 -0
  58. package/.aiwf/sessions/session_1752877883387_0bvw9rvnx.json +7 -0
  59. package/.aiwf/sessions/session_1752877883820_q6g2md2up.json +7 -0
  60. package/.aiwf/sessions/session_1752877884393_sqr7trvjl.json +7 -0
  61. package/.aiwf/sessions/session_1752877884500_whtypmzlf.json +7 -0
  62. package/.aiwf/sessions/session_1752877884645_y9mvvxli1.json +7 -0
  63. package/.aiwf/sessions/session_1752877884733_hk46eenel.json +7 -0
  64. package/.aiwf/sessions/session_1752877884738_c62j6214r.json +7 -0
  65. package/.aiwf/sessions/session_1752877884771_temhxehoz.json +7 -0
  66. package/.aiwf/sessions/session_1752877885643_6v5fcktc7.json +7 -0
  67. package/.aiwf/sessions/session_1752877886426_ee8di2fqh.json +7 -0
  68. package/.aiwf/sessions/session_1752877886549_3xj6tdoew.json +7 -0
  69. package/.aiwf/sessions/session_1752877886604_aj80yyfco.json +7 -0
  70. package/.aiwf/sessions/session_1752877886702_2b8841vyg.json +7 -0
  71. package/.aiwf/sessions/session_1752877886712_ntqc8b8bz.json +7 -0
  72. package/.aiwf/sessions/session_1752877886968_946m8tbw6.json +7 -0
  73. package/.aiwf/sessions/session_1752877887008_wg6zfg8dn.json +7 -0
  74. package/.aiwf/sessions/session_1752877888479_ciiu2qiqs.json +7 -0
  75. package/.aiwf/sessions/session_1752877889330_ravg8l66k.json +7 -0
  76. package/.aiwf/sessions/session_1752877889542_7zepkhjkc.json +7 -0
  77. package/.aiwf/sessions/session_1752877889638_ev4htqiu0.json +7 -0
  78. package/.aiwf/sessions/session_1752877889956_szphy2qma.json +7 -0
  79. package/.aiwf/sessions/session_1752877890220_o6aaa57tt.json +7 -0
  80. package/.aiwf/sessions/session_1752877890527_v2loy5vu1.json +7 -0
  81. package/.aiwf/sessions/session_1752877890572_cwq8fiuma.json +7 -0
  82. package/.aiwf/sessions/session_1752877892200_sgcwq1alt.json +7 -0
  83. package/.aiwf/sessions/session_1752877892268_v8kexpbc5.json +7 -0
  84. package/.aiwf/sessions/session_1752877892384_1gbbgrp4y.json +7 -0
  85. package/.aiwf/sessions/session_1752877893568_9p2n5p31a.json +7 -0
  86. package/.aiwf/sessions/session_1752877893727_un34a5tvp.json +7 -0
  87. package/.aiwf/sessions/session_1752877893778_01j79sw9i.json +7 -0
  88. package/.aiwf/sessions/session_1752877894053_jrhba6wko.json +7 -0
  89. package/.aiwf/sessions/session_1752877894082_x3bghawox.json +7 -0
  90. package/.aiwf/sessions/session_1752877894500_iytiav2ku.json +7 -0
  91. package/.aiwf/sessions/session_1752877894667_ucn0gc2ge.json +7 -0
  92. package/.aiwf/test-results-s02.json +4 -4
  93. package/.claude/commands/aiwf/aiwf_changelog.md +82 -0
  94. package/.claude/commands/aiwf/aiwf_code_review.md +88 -0
  95. package/.claude/commands/aiwf/aiwf_commit.md +160 -0
  96. package/.claude/commands/aiwf/aiwf_compress_aggressive_persona.md +53 -0
  97. package/.claude/commands/aiwf/aiwf_compress_context.md +116 -0
  98. package/.claude/commands/aiwf/aiwf_compress_minimal_persona.md +48 -0
  99. package/.claude/commands/aiwf/aiwf_compress_stats.md +79 -0
  100. package/.claude/commands/aiwf/aiwf_compress_with_persona.md +51 -0
  101. package/.claude/commands/aiwf/aiwf_create_feature_ledger.md +54 -0
  102. package/.claude/commands/aiwf/aiwf_create_general_task.md +147 -0
  103. package/.claude/commands/aiwf/aiwf_create_milestone_plan.md +194 -0
  104. package/.claude/commands/aiwf/aiwf_create_prd.md +280 -0
  105. package/.claude/commands/aiwf/aiwf_create_sprint_tasks.md +189 -0
  106. package/.claude/commands/aiwf/aiwf_create_sprints_from_milestone.md +121 -0
  107. package/.claude/commands/aiwf/aiwf_default_mode.md +44 -0
  108. package/.claude/commands/aiwf/aiwf_discuss_review.md +29 -0
  109. package/.claude/commands/aiwf/aiwf_do_task.md +109 -0
  110. package/.claude/commands/aiwf/aiwf_docs.md +225 -0
  111. package/.claude/commands/aiwf/aiwf_evaluate.md +92 -0
  112. package/.claude/commands/aiwf/aiwf_get_feature_details.md +78 -0
  113. package/.claude/commands/aiwf/aiwf_infinite.md +202 -0
  114. package/.claude/commands/aiwf/aiwf_initialize.md +134 -0
  115. package/.claude/commands/aiwf/aiwf_issue_create.md +65 -0
  116. package/.claude/commands/aiwf/aiwf_link_feature_to_milestone.md +57 -0
  117. package/.claude/commands/aiwf/aiwf_list_features.md +54 -0
  118. package/.claude/commands/aiwf/aiwf_mermaid.md +272 -0
  119. package/.claude/commands/aiwf/aiwf_persona_architect.md +48 -0
  120. package/.claude/commands/aiwf/aiwf_persona_backend.md +37 -0
  121. package/.claude/commands/aiwf/aiwf_persona_data_analyst.md +37 -0
  122. package/.claude/commands/aiwf/aiwf_persona_frontend.md +37 -0
  123. package/.claude/commands/aiwf/aiwf_persona_security.md +48 -0
  124. package/.claude/commands/aiwf/aiwf_persona_status.md +50 -0
  125. package/.claude/commands/aiwf/aiwf_pr_create.md +76 -0
  126. package/.claude/commands/aiwf/aiwf_prime.md +9 -0
  127. package/.claude/commands/aiwf/aiwf_project_review.md +261 -0
  128. package/.claude/commands/aiwf/aiwf_switch_language.md +160 -0
  129. package/.claude/commands/aiwf/aiwf_test.md +124 -0
  130. package/.claude/commands/aiwf/aiwf_testing_review.md +198 -0
  131. package/.claude/commands/aiwf/aiwf_tm-run-all-subtask.md +210 -0
  132. package/.claude/commands/aiwf/aiwf_ultrathink_code_advanced.md +460 -0
  133. package/.claude/commands/aiwf/aiwf_ultrathink_code_basic.md +165 -0
  134. package/.claude/commands/aiwf/aiwf_ultrathink_general.md +305 -0
  135. package/.claude/commands/aiwf/aiwf_update_docs_kr.md +25 -0
  136. package/.claude/commands/aiwf/aiwf_update_feature_status.md +53 -0
  137. package/.claude/commands/aiwf/aiwf_yolo.md +300 -0
  138. package/.eslintrc.json +26 -0
  139. package/.prettierrc +10 -0
  140. package/CLAUDE.md +154 -54
  141. package/README.ko.md +25 -0
  142. package/README.md +25 -0
  143. package/TEST_RECOVERY_PLAN.md +68 -0
  144. package/docs/CLEANUP_RECOMMENDATIONS.md +86 -0
  145. package/docs/CLI_USAGE_GUIDE.md +479 -0
  146. package/package.json +9 -9
  147. package/scripts/update-feature-status.js +70 -0
  148. package/{lib → src/cli}/cache-cli.js +4 -4
  149. package/src/cli/index.js +165 -0
  150. package/{language-cli.js → src/cli/language-cli.js} +11 -4
  151. package/src/commands/cache-templates.js +209 -0
  152. package/src/commands/create-offline.js +86 -0
  153. package/src/commands/create-project.js +151 -0
  154. package/src/lib/backup-manager.js +270 -0
  155. package/src/lib/file-downloader.js +208 -0
  156. package/src/lib/installer.js +676 -0
  157. package/src/lib/rollback-manager.js +418 -0
  158. package/src/lib/validator.js +561 -0
  159. package/src/utils/git-integration.js +173 -0
  160. package/{language-utils.js → src/utils/language-utils.js} +2 -1
  161. package/src/utils/messages.js +136 -0
  162. package/src/utils/paths.js +130 -0
  163. package/tests/application.test.js +2 -2
  164. package/tests/installer.test.js +2 -2
  165. package/tests/integration/ai-persona-system.test.js +4 -4
  166. package/tests/integration/test-persona-system/docs/README.md +1 -0
  167. package/tests/integration/test-persona-system/package.json +1 -0
  168. package/tests/integration/test-persona-system/src/auth.js +1 -0
  169. package/tests/integration/test-persona-system/src/index.js +1 -0
  170. package/tests/integration/test-persona-system/test/test.js +1 -0
  171. package/tests/language-utils.test.js +1 -1
  172. package/tests/temp_invalid_json/invalid.json +1 -0
  173. package/tests/unit/ai-persona-manager.test.js +7 -7
  174. package/.aiwf/05_DOCUMENTATION/performance-report.md +0 -33
  175. package/.aiwf/test-cache/86c7f9e80251abb8bedd58953ab0d1779e46b4f43ea33b63bffdb778106373b0.json +0 -6
  176. package/.aiwf/test-cache/9e252a90b80fce0585d7ed0646e7a9b4343e109f661f42a3ae678ba1ec5e22c7.json +0 -7
  177. package/.aiwf/token-data/alerts.json +0 -293
  178. package/.aiwf/token-data/monitor-config.json +0 -12
  179. package/CHANGELOG_M02.md +0 -52
  180. package/claude-code/aiwf/ko/templates/web-app/template/package-lock.json +0 -10022
  181. package/claude-code/aiwf/ko/token-data/alerts.json +0 -293
  182. package/claude-code/aiwf/ko/token-data/monitor-config.json +0 -12
  183. package/docs/m02-dod-checklist.md +0 -125
  184. package/docs/m02-gap-analysis.md +0 -214
  185. package/docs/m02-milestone-completion-report.md +0 -186
  186. package/docs/m02-milestone-executive-summary.md +0 -68
  187. package/index.js +0 -1951
  188. package/lib/cache-integration.js +0 -401
  189. package/lib/file-batch-processor.js +0 -401
  190. package/lib/performance-benchmark.js +0 -621
  191. package/lib/template-manager.js +0 -310
  192. package/scripts/validate-commands.cjs +0 -338
  193. /package/{lib → src/lib}/ai-persona-manager.js +0 -0
  194. /package/{lib → src/lib}/cache-system.js +0 -0
  195. /package/{lib → src/lib}/context-engine.js +0 -0
  196. /package/{lib → src/lib}/memory-profiler.js +0 -0
  197. /package/{lib → src/lib}/metrics-collector.js +0 -0
  198. /package/{lib → src/lib}/offline-detector.js +0 -0
  199. /package/{lib → src/lib}/task-analyzer.js +0 -0
  200. /package/{lib → src/lib}/template-cache-system.js +0 -0
  201. /package/{lib → src/lib}/template-downloader.js +0 -0
  202. /package/{lib → src/lib}/template-version-manager.js +0 -0
  203. /package/{lib → src/lib}/token-optimizer.js +0 -0
package/.eslintrc.json ADDED
@@ -0,0 +1,26 @@
1
+ {
2
+ "extends": ["eslint:recommended"],
3
+ "parserOptions": {
4
+ "ecmaVersion": 2022,
5
+ "sourceType": "module"
6
+ },
7
+ "env": {
8
+ "node": true,
9
+ "es2022": true
10
+ },
11
+ "rules": {
12
+ "no-console": "warn",
13
+ "no-unused-vars": ["error", { "argsIgnorePattern": "^_" }],
14
+ "prefer-const": "error",
15
+ "no-var": "error",
16
+ "eqeqeq": ["error", "always"],
17
+ "curly": ["error", "all"],
18
+ "quotes": ["error", "single"],
19
+ "semi": ["error", "always"],
20
+ "indent": ["error", 2],
21
+ "no-trailing-spaces": "error",
22
+ "comma-dangle": ["error", "never"],
23
+ "object-curly-spacing": ["error", "always"],
24
+ "array-bracket-spacing": ["error", "never"]
25
+ }
26
+ }
package/.prettierrc ADDED
@@ -0,0 +1,10 @@
1
+ {
2
+ "semi": true,
3
+ "singleQuote": true,
4
+ "tabWidth": 2,
5
+ "printWidth": 100,
6
+ "trailingComma": "none",
7
+ "bracketSpacing": true,
8
+ "arrowParens": "avoid",
9
+ "endOfLine": "lf"
10
+ }
package/CLAUDE.md CHANGED
@@ -20,65 +20,139 @@ The AIWF project is organized as follows:
20
20
 
21
21
  ```
22
22
  aiwf/
23
- ├── claude-code/ # Template files for AIWF installation
24
- │ ├── aiwf/ # Core AIWF templates
25
- │ │ ├── en/ # English language templates
26
- │ │ └── ko/ # Korean language templates
27
- │ └── docker/ # Docker configuration
23
+ ├── ai-tools/ # AI tool-specific configurations
24
+ │ ├── claude-code/ # Claude Code specific settings
25
+ │ ├── cursor/ # Cursor AI integration
26
+ │ ├── windsurf/ # Windsurf integration
27
+ │ └── github-copilot/ # GitHub Copilot integration
28
+ ├── commands/ # AIWF command implementations
29
+ │ ├── ai-persona.js # AI persona management
30
+ │ ├── compress-context.js # Context compression
31
+ │ ├── evaluate.js # Evaluation functionality
32
+ │ ├── feature-ledger.js # Feature tracking
33
+ │ └── token-tracking.js # Token usage monitoring
34
+ ├── config/ # Configuration files
35
+ │ ├── commit-patterns.js # Git commit patterns
36
+ │ └── language.json # Language settings
28
37
  ├── docs/ # Project documentation
38
+ ├── feature-ledger/ # Feature tracking JSON files
39
+ │ ├── FL-001-authentication.json
40
+ │ └── feature-index.json
41
+ ├── hooks/ # Git hooks and installation scripts
42
+ │ ├── install-hooks.sh # Hook installation script
43
+ │ └── post-commit # Post-commit hook
29
44
  ├── lib/ # Core library modules
30
- ├── src/ # Source code
45
+ ├── personas/ # AI persona definitions and knowledge bases
46
+ ├── rules/ # Development rules and guidelines
47
+ │ ├── global/ # Global development rules
48
+ │ └── manual/ # Manual operation guides
49
+ ├── scripts/ # Build and utility scripts
50
+ ├── templates/ # Project templates
51
+ │ ├── api-server/ # Express.js API server template
52
+ │ ├── npm-library/ # NPM library template
53
+ │ └── web-app/ # React web app template
31
54
  ├── tests/ # Test suites
32
55
  │ ├── integration/ # Integration tests
33
56
  │ └── unit/ # Unit tests
34
- ├── scripts/ # Build and validation scripts
35
- ├── rules/ # Development rules and guidelines
57
+ ├── utils/ # Utility modules
36
58
  ├── package.json # NPM package configuration
37
59
  ├── CLAUDE.md # This file - Claude Code guidance
38
60
  └── README.md # Project documentation
39
61
  ```
40
62
 
41
- ## claude-code Directory
63
+ ## AI Tools Directory
64
+
65
+ The `ai-tools/` directory contains configurations for various AI coding assistants:
66
+
67
+ - **claude-code/**: Claude Code specific settings and templates
68
+ - **cursor/**: Cursor AI integration files
69
+ - **windsurf/**: Windsurf configuration
70
+ - **github-copilot/**: GitHub Copilot integration
71
+ - **augment/**: Augment AI tool configuration
72
+
73
+ Each tool directory includes:
74
+ - `config.json`: Tool-specific configuration
75
+ - `template/`: Template files for that specific AI tool
76
+ - `README.md`: Documentation for the integration
77
+
78
+ ## Commands Directory
42
79
 
43
- The `claude-code/` directory contains template files that are copied during AIWF installation. It's structured by language:
80
+ The `commands/` directory contains all AIWF command implementations:
44
81
 
45
- ### Language Structure (en/ and ko/)
46
- - **commands/**: Claude Code command implementations
47
- - ai-persona.js - AI persona management
48
- - compress-context.js - Context compression utilities
49
- - feature_commit_report.js - Git commit reporting
50
- - scan_git_history.js - Git history analysis
51
- - sync_feature_commits.js - Feature commit synchronization
52
- - token-tracking.js - Token usage monitoring
82
+ - **ai-persona.js**: Manages AI personas and their behaviors
83
+ - **compress-context.js**: Compresses context to optimize token usage
84
+ - **evaluate.js**: Evaluates code quality and AI responses
85
+ - **feature-ledger.js**: Tracks features and their development status
86
+ - **feature-commit-report.js**: Generates reports from git commits
87
+ - **persona-context-apply.js**: Applies persona contexts to AI interactions
88
+ - **scan-git-history.js**: Analyzes git history for insights
89
+ - **sync-feature-commits.js**: Synchronizes feature commits with ledger
90
+ - **token-tracking.js**: Monitors and reports token usage
53
91
 
54
- - **utils/**: Utility modules
55
- - compression-*.js - Various compression strategies
56
- - git-utils.js - Git operation utilities
57
- - token-*.js - Token tracking and optimization
58
- - text-summarizer.js - Text summarization utilities
92
+ ## Templates Directory
59
93
 
60
- - **config/**: Configuration files
61
- - commit-patterns.js - Git commit pattern definitions
94
+ The `templates/` directory provides starter templates for different project types:
62
95
 
63
- - **hooks/**: Git hooks
64
- - post-commit - Post-commit hook script
65
- - install-hooks.sh - Hook installation script
96
+ - **api-server/**: Express.js API server with TypeScript
97
+ - Includes Swagger documentation
98
+ - AIWF middleware integration
99
+ - Jest testing setup
100
+
101
+ - **npm-library/**: NPM package template
102
+ - TypeScript configuration
103
+ - Rollup bundling
104
+ - Complete testing setup
105
+
106
+ - **web-app/**: React + Vite web application
107
+ - TypeScript + Tailwind CSS
108
+ - AIWF dashboard components
109
+ - State management setup
66
110
 
67
- - **tests/**: Test files for the templates
111
+ ## Feature Ledger Directory
68
112
 
69
- ### Korean Version Additional Features
70
- The Korean version (`ko/`) includes additional features:
71
- - persona-context-apply.js - Persona context application
72
- - context-rule-parser.js - Context rule parsing
73
- - persona-behavior-validator.js - Behavior validation
74
- - persona-quality-evaluator.js - Quality evaluation
75
- - prompt-injector.js - Prompt injection utilities
113
+ The `feature-ledger/` directory contains JSON files for tracking feature development:
114
+
115
+ - **FL-001-authentication.json**: Authentication feature tracking
116
+ - **feature-index.json**: Index of all features and their status
117
+
118
+ Feature ledgers help track:
119
+ - Feature status (planned, in-progress, completed)
120
+ - Related git commits
121
+ - Development milestones
122
+ - Integration with git workflow through hooks
123
+
124
+ ## Hooks Directory
125
+
126
+ The `hooks/` directory contains Git hooks for automated workflow:
127
+
128
+ - **install-hooks.sh**: Script to install git hooks into the project
129
+ - **post-commit**: Automatically syncs feature ledger with git commits
130
+
131
+ To install hooks:
132
+ ```bash
133
+ ./hooks/install-hooks.sh
134
+ ```
135
+
136
+ The post-commit hook automatically:
137
+ - Parses commit messages for feature references
138
+ - Updates feature status in the ledger
139
+ - Maintains feature-commit relationships
140
+
141
+ ## Utils Directory
142
+
143
+ The `utils/` directory contains utility modules for various AIWF features:
144
+
145
+ - **Compression utilities**: Various strategies for context compression
146
+ - **Git utilities**: Git operation helpers and integrations
147
+ - **Token management**: Token counting, tracking, and optimization
148
+ - **Text processing**: Summarization and content normalization
149
+ - **Persona utilities**: Context parsing and behavior validation
76
150
 
77
151
  ## Key Files and Configurations
78
152
 
79
153
  ### package.json Configuration
80
154
  - **Type**: ES Module (`"type": "module"`)
81
- - **Version**: 0.3.1
155
+ - **Version**: 0.3.3
82
156
  - **Main binaries**:
83
157
  - `aiwf` - Main CLI command
84
158
  - `aiwf-lang` - Language management CLI
@@ -92,9 +166,10 @@ The Korean version (`ko/`) includes additional features:
92
166
 
93
167
  ## AIWF Framework Development Rules
94
168
 
95
- - **CRITICAL**: All development and source code modifications for the AIWF framework itself **MUST** occur within the `claude-code/aiwf/{en|ko}/` directories.
96
- - The root `.aiwf/` directory is a "live" instance for testing and demonstration purposes **ONLY**. Do **NOT** modify files in the root `.aiwf/` as part of framework development.
97
- - Before modifying any file, confirm that the target path is within `claude-code/aiwf/`.
169
+ - **CRITICAL**: All development and source code modifications for the AIWF framework occur directly in the root project directories.
170
+ - When developing new features or modifying existing ones, work directly with the files in `commands/`, `utils/`, `lib/`, etc.
171
+ - The `.aiwf/` directory (when created in user projects) is a generated instance for the end user. Framework development happens in the main repository.
172
+ - Always test changes thoroughly before committing, as modifications directly affect the framework.
98
173
 
99
174
  ## Development Guidelines
100
175
 
@@ -105,21 +180,21 @@ This project uses ES modules. Always use:
105
180
  - File extensions in imports when needed
106
181
 
107
182
  ### Language Support
108
- - Maintain feature parity between `en/` and `ko/` versions
109
- - Document any language-specific features clearly
110
- - Use appropriate language codes in file paths
183
+ - AIWF supports both English and Korean languages
184
+ - Language is managed through the `aiwf-lang` CLI command
185
+ - Documentation is provided in both languages (e.g., README.md, README.ko.md)
186
+ - Commands and interfaces adapt based on the selected language
111
187
 
112
188
  ### Language Content Rules
113
- **IMPORTANT**: Strict language separation must be maintained:
114
- - `claude-code/aiwf/en/` - MUST contain ONLY English content
115
- - All code comments, documentation, and strings must be in English
116
- - No Korean text should appear in any files under this directory
117
- - `claude-code/aiwf/ko/` - MUST contain ONLY Korean content
118
- - All code comments, documentation, and strings must be in Korean
119
- - No English text should appear except for:
120
- - Technical terms (e.g., API, function names, variable names)
121
- - Library/framework names
122
- - File paths and URLs
189
+ **IMPORTANT**: Language management approach:
190
+ - The framework uses a unified codebase with language-specific resources
191
+ - Language selection is handled at runtime through `config/language.json`
192
+ - Documentation files use language suffixes:
193
+ - English: `GUIDE.md`
194
+ - Korean: `GUIDE.ko.md`
195
+ - Code comments and inline documentation should be in English for maintainability
196
+ - User-facing messages and prompts are loaded from language-specific resources
197
+ - Technical terms, function names, and variable names remain in English
123
198
 
124
199
  ### Testing
125
200
  - Write tests for all new features
@@ -151,4 +226,29 @@ The system automatically detects system language on first install, with fallback
151
226
 
152
227
  ## Core Architecture
153
228
 
154
- [... rest of the existing content remains unchanged ...]
229
+ AIWF is built on a modular architecture designed for extensibility and AI tool integration:
230
+
231
+ ### Command System
232
+ - Commands are self-contained modules in the `commands/` directory
233
+ - Each command exports a default function that handles the command logic
234
+ - Commands can utilize utilities from `utils/` and libraries from `lib/`
235
+
236
+ ### AI Persona System
237
+ - Personas are defined in JSON format in the `personas/` directory
238
+ - Each persona has associated knowledge bases and best practices
239
+ - The system supports dynamic persona switching and context application
240
+
241
+ ### Token Management
242
+ - Built-in token tracking and optimization
243
+ - Multiple compression strategies for context management
244
+ - Real-time monitoring and reporting capabilities
245
+
246
+ ### Template System
247
+ - Project templates are stored in the `templates/` directory
248
+ - Each template is a complete, working project setup
249
+ - Templates include AIWF integration out of the box
250
+
251
+ ### Multi-Language Support
252
+ - Runtime language switching via `aiwf-lang` command
253
+ - Localized documentation and user interfaces
254
+ - Unified codebase with language-specific resources
package/README.ko.md CHANGED
@@ -132,6 +132,31 @@ your_project/
132
132
  - 📈 **경량 평가 시스템** - 최소한의 부담으로 자동 백그라운드 품질 모니터링
133
133
  - 🚀 **Feature Ledger** - 개발 진행 상황 추적을 위한 기능 ID 시스템
134
134
  - 🔍 **AI 도구 템플릿** - GitHub Copilot, Cursor, Windsurf, Augment 지원
135
+ - 🪝 **Git Hooks 통합** - git 커밋과 함께 자동 기능 추적
136
+
137
+ ## 📁 프로젝트 구조
138
+
139
+ ```
140
+ aiwf/
141
+ ├── ai-tools/ # AI 도구별 구성
142
+ ├── commands/ # AIWF 명령어 구현
143
+ ├── config/ # 설정 파일
144
+ ├── docs/ # 프로젝트 문서
145
+ ├── feature-ledger/ # 기능 추적 JSON 파일
146
+ ├── hooks/ # 자동화된 워크플로우를 위한 Git hooks
147
+ ├── lib/ # 핵심 라이브러리 모듈
148
+ ├── personas/ # AI 페르소나 정의
149
+ ├── rules/ # 개발 규칙 및 가이드라인
150
+ ├── scripts/ # 빌드 및 유틸리티 스크립트
151
+ ├── templates/ # 프로젝트 템플릿 (api-server, npm-library, web-app)
152
+ ├── tests/ # 테스트 스위트
153
+ └── utils/ # 유틸리티 모듈
154
+ ```
155
+
156
+ ### 주요 디렉토리
157
+
158
+ - **feature-ledger/**: 기능 개발 상태 및 git 커밋 관계 추적
159
+ - **hooks/**: 자동 기능 추적을 위한 git hooks (post-commit) 포함
135
160
 
136
161
  ## 🔧 요구사항
137
162
 
package/README.md CHANGED
@@ -154,6 +154,31 @@ For a complete list of AIWF commands and detailed usage, see [COMMANDS_GUIDE.md]
154
154
  - 📈 **Lightweight Evaluation** - Automatic background quality monitoring with minimal overhead
155
155
  - 🚀 **Feature Ledger** - Feature ID system for development progress tracking
156
156
  - 🔍 **AI Tool Templates** - Support for GitHub Copilot, Cursor, Windsurf, and Augment
157
+ - 🪝 **Git Hooks Integration** - Automated feature tracking with git commits
158
+
159
+ ## 📁 Project Structure
160
+
161
+ ```
162
+ aiwf/
163
+ ├── ai-tools/ # AI tool-specific configurations
164
+ ├── commands/ # AIWF command implementations
165
+ ├── config/ # Configuration files
166
+ ├── docs/ # Project documentation
167
+ ├── feature-ledger/ # Feature tracking JSON files
168
+ ├── hooks/ # Git hooks for automated workflows
169
+ ├── lib/ # Core library modules
170
+ ├── personas/ # AI persona definitions
171
+ ├── rules/ # Development rules and guidelines
172
+ ├── scripts/ # Build and utility scripts
173
+ ├── templates/ # Project templates (api-server, npm-library, web-app)
174
+ ├── tests/ # Test suites
175
+ └── utils/ # Utility modules
176
+ ```
177
+
178
+ ### Key Directories
179
+
180
+ - **feature-ledger/**: Tracks feature development status and git commit relationships
181
+ - **hooks/**: Contains git hooks (post-commit) for automatic feature tracking
157
182
 
158
183
  ## 🔧 Requirements
159
184
 
@@ -0,0 +1,68 @@
1
+ # AIWF 테스트 복구 계획
2
+
3
+ ## 현재 상황
4
+ - 리팩토링 후 테스트 파일들이 손실되거나 불일치 상태
5
+ - GitHub API → file-downloader.js 리팩토링 완료
6
+ - 테스트 실행 시 다수 실패 발생
7
+
8
+ ## 복구 전략
9
+
10
+ ### Phase 1: Critical Tests (필수 테스트)
11
+ **우선순위: 최고**
12
+ - [ ] `basic.test.js` - 기본 프로젝트 구조
13
+ - [ ] `installer.test.js` - 설치 프로그램 기능
14
+ - [ ] `language-utils.test.js` - 언어 관리 유틸리티
15
+
16
+ ### Phase 2: Core Functionality Tests (핵심 기능)
17
+ **우선순위: 높음**
18
+ - [ ] `application.test.js` - 메인 애플리케이션
19
+ - [ ] `commands.test.js` - 명령어 파일 검증
20
+ - [ ] `integration/command-integration.test.js` - 명령어 통합
21
+
22
+ ### Phase 3: Advanced Features (고급 기능)
23
+ **우선순위: 중간**
24
+ - [ ] `unit/ai-persona-manager.test.js` - AI 페르소나 관리
25
+ - [ ] `integration/context-compression.test.js` - 컨텍스트 압축
26
+ - [ ] `token-tracking.test.js` - 토큰 추적
27
+
28
+ ### Phase 4: Optional Tests (선택적 테스트)
29
+ **우선순위: 낮음**
30
+ - [ ] `integration/feature-ledger.test.js` - Feature Ledger
31
+ - [ ] `integration/git-integration.test.js` - Git 통합
32
+ - [ ] `s02-integration.test.js` - S02 통합
33
+
34
+ ## 복구 방법
35
+
36
+ ### 1. 즉시 수정 가능한 테스트
37
+ - 경로 불일치 수정
38
+ - 설정 값 업데이트
39
+ - Import 경로 수정
40
+
41
+ ### 2. 리팩토링 필요한 테스트
42
+ - 삭제된 모듈 참조 제거
43
+ - 새로운 API에 맞게 테스트 수정
44
+ - Mock 객체 업데이트
45
+
46
+ ### 3. 완전히 새로 작성할 테스트
47
+ - 새로운 file-downloader.js 테스트
48
+ - 업데이트된 installer 로직 테스트
49
+
50
+ ## 실행 계획
51
+
52
+ 1. **Phase 1 복구** (1-2시간)
53
+ - basic.test.js 수정
54
+ - installer.test.js 업데이트
55
+ - language-utils.test.js 검증
56
+
57
+ 2. **Phase 2 복구** (2-3시간)
58
+ - 핵심 기능 테스트 복구
59
+ - 통합 테스트 수정
60
+
61
+ 3. **Phase 3-4 검토** (필요시)
62
+ - 고급 기능 테스트 평가
63
+ - 불필요한 테스트 제거
64
+
65
+ ## 성공 기준
66
+ - [ ] 모든 Critical 테스트 통과
67
+ - [ ] 80% 이상 테스트 커버리지
68
+ - [ ] CI/CD 파이프라인 정상 작동
@@ -0,0 +1,86 @@
1
+ # AIWF 프로젝트 정리 권장사항
2
+
3
+ ## ✅ 완료된 작업
4
+
5
+ 1. **import 경로 수정**
6
+ - index.js의 잘못된 경로 수정 완료
7
+ - `./src/commands/ai-tool.js` → `./commands/ai-tool.js`
8
+
9
+ 2. **미사용 파일 삭제** (4개 파일, 1,734줄 제거)
10
+ - lib/file-batch-processor.js
11
+ - lib/performance-benchmark.js
12
+ - lib/template-manager.js
13
+ - lib/cache-integration.js
14
+
15
+ ## 📋 추가 권장사항
16
+
17
+ ### 1. 코드 구조 개선
18
+
19
+ #### index.js 모듈화 (1,950줄 → 여러 모듈로 분리)
20
+ ```
21
+ index.js
22
+ ├── lib/installer.js # 설치 로직
23
+ ├── lib/validator.js # 검증 로직
24
+ ├── lib/backup-manager.js # 백업/복원 로직
25
+ └── lib/github-client.js # GitHub API 통신
26
+ ```
27
+
28
+ #### 토큰 관리 시스템 통합
29
+ 현재 8개 파일에 분산된 토큰 기능을 2개로 통합:
30
+ - `lib/token-manager.js` - 핵심 토큰 관리
31
+ - `commands/token-tracking.js` - CLI 명령어
32
+
33
+ ### 2. 파일명 일관성
34
+
35
+ 스네이크 케이스를 케밥 케이스로 통일:
36
+ ```bash
37
+ # 변경 필요
38
+ sync-feature-commits.js → sync-feature-commits.js ✓ (완료)
39
+ feature-commit-report.js → feature-commit-report.js ✓ (완료)
40
+ scan-git-history.js → scan-git-history.js ✓ (완료)
41
+ ```
42
+
43
+ ### 3. 중복 기능 통합
44
+
45
+ #### 압축 시스템 (4개 → 2개)
46
+ - 유지: `utils/context-compressor.js`, `commands/compress-context.js`
47
+ - 통합: `compression-strategies.js`, `persona-aware-compressor.js`
48
+
49
+ ### 4. 문서 정리
50
+
51
+ 중복되거나 오래된 문서 통합:
52
+ - PRD.md와 PRD.ko.md의 정보 동기화
53
+ - 여러 개의 가이드 문서를 하나로 통합
54
+ - 사용되지 않는 문서에서만 참조되는 기능 제거
55
+
56
+ ### 5. 테스트 개선
57
+
58
+ - 큰 테스트 파일 분리 (compression-test-suite.js: 1,251줄)
59
+ - 주석 처리된 테스트 코드 정리
60
+ - 실제 사용되는 유틸리티에 대한 테스트 추가
61
+
62
+ ### 6. 성능 최적화
63
+
64
+ - 복잡한 메트릭 수집 간소화 (metrics-collector.js: 884줄)
65
+ - 불필요한 추상화 레벨 제거
66
+ - 캐시 시스템 단순화
67
+
68
+ ## 🎯 예상 효과
69
+
70
+ - **코드 감소**: 약 20-30% 코드량 감소
71
+ - **유지보수성**: 파일 구조 명확화로 이해도 향상
72
+ - **성능**: 불필요한 추상화 제거로 성능 개선
73
+ - **일관성**: 명명 규칙 통일로 개발 경험 개선
74
+
75
+ ## ⚠️ 주의사항
76
+
77
+ 1. **Git 통합 파일들은 유지**: 실제로 활발히 사용 중
78
+ 2. **페르소나 시스템 유지**: Claude Code 통합에 필수
79
+ 3. **변경 시 테스트 필수**: 기능 손상 방지
80
+
81
+ ## 🔄 단계별 진행
82
+
83
+ 1. **Phase 1** (즉시): ✅ 미사용 파일 제거 (완료)
84
+ 2. **Phase 2** (단기): 파일명 통일, 중복 통합
85
+ 3. **Phase 3** (중기): index.js 모듈화, 테스트 개선
86
+ 4. **Phase 4** (장기): 전체 구조 최적화