aiwf 0.3.1 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.aiwf/.claude/commands/aiwf/aiwf_compress_aggressive_persona.md +53 -0
- package/.aiwf/.claude/commands/aiwf/aiwf_compress_minimal_persona.md +48 -0
- package/.aiwf/.claude/commands/aiwf/aiwf_compress_stats.md +79 -0
- package/.aiwf/.claude/commands/aiwf/aiwf_compress_with_persona.md +51 -0
- package/.aiwf/.claude/commands/aiwf/aiwf_evaluate.md +92 -0
- package/.aiwf/00_PROJECT_MANIFEST.md +183 -0
- package/.aiwf/01_PROJECT_DOCS/ARCHITECTURE.md +121 -0
- package/.aiwf/01_PROJECT_DOCS/FEATURE_LEDGER_ADVANCED_USE_CASES.md +412 -0
- package/.aiwf/01_PROJECT_DOCS/FEATURE_LEDGER_API_REFERENCE.md +361 -0
- package/.aiwf/01_PROJECT_DOCS/FEATURE_LEDGER_COMMANDS_GUIDE.md +254 -0
- package/.aiwf/01_PROJECT_DOCS/FEATURE_LEDGER_FAQ.md +365 -0
- package/.aiwf/01_PROJECT_DOCS/FEATURE_LEDGER_SYSTEM_OVERVIEW.md +305 -0
- package/.aiwf/01_PROJECT_DOCS/FEATURE_LEDGER_USER_GUIDE.md +416 -0
- package/.aiwf/01_PROJECT_DOCS/FEATURE_LEDGER_/354/213/234/354/236/221_/352/260/200/354/235/264/353/223/234.md +247 -0
- package/.aiwf/02_REQUIREMENTS/CLAUDE.md +78 -0
- package/.aiwf/02_REQUIREMENTS/M02_Context_Engineering_Enhancement/M02_milestone_meta.md +34 -0
- package/.aiwf/02_REQUIREMENTS/M02_Context_Engineering_Enhancement/PRD_Context_Engineering_Enhancement.md +108 -0
- package/.aiwf/02_REQUIREMENTS/M02_Context_Engineering_Enhancement/SPECS_AI_Persona_System.md +299 -0
- package/.aiwf/02_REQUIREMENTS/M02_Context_Engineering_Enhancement/SPECS_Feature_Ledger_System.md +330 -0
- package/.aiwf/02_REQUIREMENTS/M02_Context_Engineering_Enhancement/SPECS_Token_Optimization.md +833 -0
- package/.aiwf/03_SPRINTS/CLAUDE.md +83 -0
- package/.aiwf/03_SPRINTS/S01_M02_context_foundation/S01_M02_sprint_meta.md +95 -0
- package/.aiwf/03_SPRINTS/S01_M02_context_foundation/TX01_S01_Feature_Ledger_/353/215/260/354/235/264/355/204/260_/352/265/254/354/241/260_/354/204/244/352/263/204.md +111 -0
- package/.aiwf/03_SPRINTS/S01_M02_context_foundation/TX02_S01_Feature_Ledger_CLI_/353/252/205/353/240/271/354/226/264_/352/260/234/353/260/234.md +115 -0
- package/.aiwf/03_SPRINTS/S01_M02_context_foundation/TX03_S01_Git_/354/227/260/353/217/231_Feature_/354/266/224/354/240/201.md +141 -0
- package/.aiwf/03_SPRINTS/S01_M02_context_foundation/TX04_S01_Feature_Ledger_/353/254/270/354/204/234/355/231/224.md +114 -0
- package/.aiwf/03_SPRINTS/S01_M02_context_foundation/TX05_S01_AI_/355/216/230/353/245/264/354/206/214/353/202/230_/353/215/260/354/235/264/355/204/260_/352/265/254/354/241/260_/354/204/244/352/263/204.md +123 -0
- package/.aiwf/03_SPRINTS/S01_M02_context_foundation/TX06_S01_/355/216/230/353/245/264/354/206/214/353/202/230_/352/264/200/353/246/254_/353/252/205/353/240/271/354/226/264_/352/265/254/355/230/204.md +114 -0
- package/.aiwf/03_SPRINTS/S01_M02_context_foundation/TX07_S01_Context_/354/225/225/354/266/225_/354/225/204/355/202/244/355/205/215/354/262/230_/354/204/244/352/263/204.md +114 -0
- package/.aiwf/03_SPRINTS/S01_M02_context_foundation/TX08_S01_/355/206/240/355/201/260_/354/266/224/354/240/201_/354/213/234/354/212/244/355/205/234_/355/224/204/353/241/234/355/206/240/355/203/200/354/236/205.md +112 -0
- package/.aiwf/03_SPRINTS/S01_M02_context_foundation/TX09_S01_/354/225/225/354/266/225_/354/225/214/352/263/240/353/246/254/354/246/230_/355/224/204/353/241/234/355/206/240/355/203/200/354/236/205.md +118 -0
- package/.aiwf/03_SPRINTS/S01_M02_context_foundation/TX10_S01_update_docs_/353/252/205/353/240/271/354/226/264_/353/263/265/352/265/254.md +118 -0
- package/.aiwf/03_SPRINTS/S01_M02_context_foundation/TX11_S01_/355/206/265/355/225/251_/355/205/214/354/212/244/355/212/270_Suite_/352/265/254/354/266/225.md +128 -0
- package/.aiwf/03_SPRINTS/S01_M02_context_foundation/TX12_S01_/354/204/261/353/212/245_/354/265/234/354/240/201/355/231/224_/353/260/217_/353/254/270/354/204/234/355/231/224.md +122 -0
- package/.aiwf/03_SPRINTS/S02_M02_ai_enhancement/S02_M02_sprint_meta.md +107 -0
- package/.aiwf/03_SPRINTS/S02_M02_ai_enhancement/TX01_S02_AI_/355/216/230/353/245/264/354/206/214/353/202/230_/353/252/205/353/240/271/354/226/264_/352/265/254/355/230/204.md +129 -0
- package/.aiwf/03_SPRINTS/S02_M02_ai_enhancement/TX02_S02_/355/216/230/353/245/264/354/206/214/353/202/230_/354/273/250/355/205/215/354/212/244/355/212/270_/354/240/201/354/232/251_/354/213/234/354/212/244/355/205/234.md +152 -0
- package/.aiwf/03_SPRINTS/S02_M02_ai_enhancement/TX03_S02_Context_/354/225/225/354/266/225_/354/225/214/352/263/240/353/246/254/354/246/230_/352/265/254/355/230/204.md +186 -0
- package/.aiwf/03_SPRINTS/S02_M02_ai_enhancement/TX05_S02_S02_/355/206/265/355/225/251_/355/205/214/354/212/244/355/212/270_/353/260/217_/353/254/270/354/204/234/355/231/224.md +192 -0
- package/.aiwf/03_SPRINTS/S02_M02_ai_enhancement/TX4_S02_Feature_Git_/354/227/260/353/217/231_/353/260/217_/354/236/220/353/217/231/355/231/224.md +162 -0
- package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/S03_FINAL_SPRINT_SUMMARY.md +137 -0
- package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/S03_M02_sprint_meta.md +106 -0
- package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/TX14_S03_M02_/353/247/210/354/235/274/354/212/244/355/206/244_/354/265/234/354/242/205_/352/262/200/354/246/235_/353/260/217_/353/254/270/354/204/234/355/231/224.md +214 -0
- package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/TX15_S03_/352/270/260/353/263/270_/355/224/204/353/241/234/354/240/235/355/212/270_/355/205/234/355/224/214/353/246/277_/352/260/234/353/260/234.md +177 -0
- package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/TX16_S03_/354/230/244/355/224/204/353/235/274/354/235/270_/355/205/234/355/224/214/353/246/277_/354/272/220/354/213/234_/354/213/234/354/212/244/355/205/234.md +206 -0
- package/.aiwf/03_SPRINTS/S03_M02_ecosystem_integration/TX_T13_S03_AI_/353/217/204/352/265/254_/355/206/265/355/225/251_/355/205/234/355/224/214/353/246/277_/352/260/234/353/260/234.md +151 -0
- package/.aiwf/04_GENERAL_TASKS/CLAUDE.md +96 -0
- package/.aiwf/04_GENERAL_TASKS/TX001_complete_english_translation.md +127 -0
- package/.aiwf/05_DOCUMENTATION/performance-report.md +33 -0
- package/.aiwf/06_FEATURE_LEDGERS/FEATURE_GIT_INTEGRATION.md +314 -0
- package/.aiwf/06_FEATURE_LEDGERS/FEATURE_INTEGRATION_GUIDE.md +227 -0
- package/.aiwf/06_FEATURE_LEDGERS/FEATURE_LEDGER_INDEX.md +23 -0
- package/.aiwf/06_FEATURE_LEDGERS/FEATURE_SCHEMA.md +205 -0
- package/.aiwf/06_FEATURE_LEDGERS/FEATURE_STATE_DIAGRAM.md +190 -0
- package/.aiwf/06_FEATURE_LEDGERS/active/FL001_user_authentication_system.md +47 -0
- package/.aiwf/06_FEATURE_LEDGERS/active/FL002_user_authentication_system.md +47 -0
- package/.aiwf/07_AI_PERSONAS/PERSONA_INDEX.md +57 -0
- package/.aiwf/07_AI_PERSONAS/architect/best_practices.md +104 -0
- package/.aiwf/07_AI_PERSONAS/architect/context_rules.md +46 -0
- package/.aiwf/07_AI_PERSONAS/architect/knowledge_base.md +235 -0
- package/.aiwf/07_AI_PERSONAS/backend/best_practices.md +363 -0
- package/.aiwf/07_AI_PERSONAS/backend/context_rules.md +61 -0
- package/.aiwf/07_AI_PERSONAS/backend/knowledge_base.md +623 -0
- package/.aiwf/07_AI_PERSONAS/data_analyst/best_practices.md +32 -0
- package/.aiwf/07_AI_PERSONAS/data_analyst/context_rules.md +43 -0
- package/.aiwf/07_AI_PERSONAS/data_analyst/knowledge_base.md +36 -0
- package/.aiwf/07_AI_PERSONAS/frontend/best_practices.md +31 -0
- package/.aiwf/07_AI_PERSONAS/frontend/context_rules.md +43 -0
- package/.aiwf/07_AI_PERSONAS/frontend/knowledge_base.md +32 -0
- package/.aiwf/07_AI_PERSONAS/security/best_practices.md +63 -0
- package/.aiwf/07_AI_PERSONAS/security/context_rules.md +53 -0
- package/.aiwf/07_AI_PERSONAS/security/knowledge_base.md +93 -0
- package/.aiwf/10_PERSONAS/active.json +1 -0
- package/.aiwf/10_PERSONAS/developer.md +37 -0
- package/.aiwf/10_STATE_OF_PROJECT/2025-07-09-07-20-solid-progress.md +144 -0
- package/.aiwf/98_PROMPTS/SAAS_DEVELOPMENT_GUIDE.md +302 -0
- package/.aiwf/98_PROMPTS/github_integration.md +130 -0
- package/.aiwf/98_PROMPTS/useful-prompts.md +31 -0
- package/.aiwf/98_PROMPTS/vibe-front-prompts.md +89 -0
- package/.aiwf/99_TEMPLATES/adr_template.md +49 -0
- package/.aiwf/99_TEMPLATES/feature_template.md +263 -0
- package/.aiwf/99_TEMPLATES/milestone_meta_template.md +25 -0
- package/.aiwf/99_TEMPLATES/project_manifest_template.md +39 -0
- package/.aiwf/99_TEMPLATES/sprint_meta_template.md +23 -0
- package/.aiwf/99_TEMPLATES/task_template.md +36 -0
- package/.aiwf/CLAUDE.md +76 -0
- package/.aiwf/ai-tools/README.md +105 -0
- package/.aiwf/ai-tools/augment/README.md +371 -0
- package/.aiwf/ai-tools/augment/config.json +30 -0
- package/.aiwf/ai-tools/augment/template/.augment/aiwf-integration.md +387 -0
- package/.aiwf/ai-tools/augment/template/.augment/augment.yaml +347 -0
- package/.aiwf/ai-tools/augment/template/augment.config.json +64 -0
- package/.aiwf/ai-tools/claude-code/README.md +151 -0
- package/.aiwf/ai-tools/claude-code/config.json +28 -0
- package/.aiwf/ai-tools/claude-code/template/CLAUDE.md +91 -0
- package/.aiwf/ai-tools/cursor/README.md +314 -0
- package/.aiwf/ai-tools/cursor/config.json +29 -0
- package/.aiwf/ai-tools/cursor/template/.cursorrules +362 -0
- package/.aiwf/ai-tools/github-copilot/README.md +195 -0
- package/.aiwf/ai-tools/github-copilot/config.json +24 -0
- package/.aiwf/ai-tools/github-copilot/template/.github/copilot-instructions.md +202 -0
- package/.aiwf/ai-tools/windsurf/README.md +355 -0
- package/.aiwf/ai-tools/windsurf/config.json +29 -0
- package/.aiwf/ai-tools/windsurf/template/.windsurf/aiwf-rules.md +260 -0
- package/.aiwf/ai-tools/windsurf/template/.windsurf/windsurf.config.js +312 -0
- package/.aiwf/ai-tools/windsurf/template/windsurf.config.json +63 -0
- package/.aiwf/config/language.json +6 -0
- package/.aiwf/feature-ledger/FL-001-authentication.json +52 -0
- package/.aiwf/feature-ledger/feature-index.json +20 -0
- package/.aiwf/personas/analyst.json +44 -0
- package/.aiwf/personas/architect/best_practices.md +136 -0
- package/.aiwf/personas/architect/knowledge_base.md +377 -0
- package/.aiwf/personas/architect.json +44 -0
- package/.aiwf/personas/backend/best_practices.md +766 -0
- package/.aiwf/personas/backend/knowledge_base.md +1070 -0
- package/.aiwf/personas/data_analyst/best_practices.md +594 -0
- package/.aiwf/personas/data_analyst/knowledge_base.md +1057 -0
- package/.aiwf/personas/developer.json +44 -0
- package/.aiwf/personas/evaluation_criteria.json +137 -0
- package/.aiwf/personas/frontend/best_practices.md +445 -0
- package/.aiwf/personas/frontend/knowledge_base.md +729 -0
- package/.aiwf/personas/persona-index.json +31 -0
- package/.aiwf/personas/reviewer.json +44 -0
- package/.aiwf/personas/security/best_practices.md +307 -0
- package/.aiwf/personas/security/knowledge_base.md +498 -0
- package/.aiwf/personas/tester.json +44 -0
- package/.aiwf/scripts/cache-templates.js +209 -0
- package/.aiwf/scripts/create-offline.js +86 -0
- package/.aiwf/scripts/create-project.js +151 -0
- package/.aiwf/scripts/feature-progress-calculator.cjs +236 -0
- package/.aiwf/scripts/git-integration.cjs +391 -0
- package/.aiwf/scripts/install-git-hooks.cjs +226 -0
- package/.aiwf/scripts/test-commit-parsing.cjs +125 -0
- package/.aiwf/scripts/update-feature-status.cjs +198 -0
- package/.aiwf/templates/README.md +78 -0
- package/.aiwf/templates/api-server/config.json +64 -0
- package/.aiwf/templates/api-server/template/.aiwf/config.json +56 -0
- package/.aiwf/templates/api-server/template/.aiwf/feature-ledger.json +42 -0
- package/.aiwf/templates/api-server/template/.aiwf/personas/backend-engineer.json +40 -0
- package/.aiwf/templates/api-server/template/.aiwf/scripts/cli.js +111 -0
- package/.aiwf/templates/api-server/template/.env.example +29 -0
- package/.aiwf/templates/api-server/template/.eslintrc.json +23 -0
- package/.aiwf/templates/api-server/template/README.md +171 -0
- package/.aiwf/templates/api-server/template/jest.config.js +26 -0
- package/.aiwf/templates/api-server/template/nodemon.json +9 -0
- package/.aiwf/templates/api-server/template/package.json +61 -0
- package/.aiwf/templates/api-server/template/src/app.ts +60 -0
- package/.aiwf/templates/api-server/template/src/config/swagger.ts +38 -0
- package/.aiwf/templates/api-server/template/src/controllers/aiwfController.ts +68 -0
- package/.aiwf/templates/api-server/template/src/controllers/authController.ts +128 -0
- package/.aiwf/templates/api-server/template/src/controllers/statusController.ts +28 -0
- package/.aiwf/templates/api-server/template/src/index.ts +28 -0
- package/.aiwf/templates/api-server/template/src/middleware/aiwfMiddleware.ts +50 -0
- package/.aiwf/templates/api-server/template/src/middleware/authMiddleware.ts +41 -0
- package/.aiwf/templates/api-server/template/src/middleware/errorHandler.ts +42 -0
- package/.aiwf/templates/api-server/template/src/middleware/notFoundHandler.ts +14 -0
- package/.aiwf/templates/api-server/template/src/middleware/requestLogger.ts +20 -0
- package/.aiwf/templates/api-server/template/src/routes/aiwf.ts +42 -0
- package/.aiwf/templates/api-server/template/src/routes/index.ts +13 -0
- package/.aiwf/templates/api-server/template/src/routes/v1/index.ts +67 -0
- package/.aiwf/templates/api-server/template/src/utils/logger.ts +37 -0
- package/.aiwf/templates/api-server/template/tests/app.test.ts +40 -0
- package/.aiwf/templates/api-server/template/tsconfig.json +43 -0
- package/.aiwf/templates/npm-library/config.json +61 -0
- package/.aiwf/templates/npm-library/template/LICENSE +21 -0
- package/.aiwf/templates/npm-library/template/README.md +201 -0
- package/.aiwf/templates/npm-library/template/package.json +78 -0
- package/.aiwf/templates/web-app/config.json +53 -0
- package/.aiwf/templates/web-app/template/.aiwf/config.json +54 -0
- package/.aiwf/templates/web-app/template/.aiwf/feature-ledger.json +37 -0
- package/.aiwf/templates/web-app/template/.aiwf/personas/fullstack-developer.json +40 -0
- package/.aiwf/templates/web-app/template/.aiwf/scripts/cli.js +110 -0
- package/.aiwf/templates/web-app/template/.eslintrc.cjs +20 -0
- package/.aiwf/templates/web-app/template/README.md +151 -0
- package/.aiwf/templates/web-app/template/index.html +14 -0
- package/.aiwf/templates/web-app/template/package.json +44 -0
- package/.aiwf/templates/web-app/template/postcss.config.js +6 -0
- package/.aiwf/templates/web-app/template/public/vite.svg +1 -0
- package/.aiwf/templates/web-app/template/src/App.tsx +21 -0
- package/.aiwf/templates/web-app/template/src/components/Layout.tsx +57 -0
- package/.aiwf/templates/web-app/template/src/components/aiwf/ContextStatus.tsx +107 -0
- package/.aiwf/templates/web-app/template/src/components/aiwf/FeatureLedger.tsx +93 -0
- package/.aiwf/templates/web-app/template/src/components/aiwf/TokenUsage.tsx +71 -0
- package/.aiwf/templates/web-app/template/src/index.css +60 -0
- package/.aiwf/templates/web-app/template/src/main.tsx +10 -0
- package/.aiwf/templates/web-app/template/src/pages/AiwfDashboard.tsx +60 -0
- package/.aiwf/templates/web-app/template/src/pages/HomePage.tsx +89 -0
- package/.aiwf/templates/web-app/template/src/pages/NotFound.tsx +25 -0
- package/.aiwf/templates/web-app/template/src/stores/aiwfStore.ts +126 -0
- package/.aiwf/templates/web-app/template/src/types/global.d.ts +9 -0
- package/.aiwf/templates/web-app/template/src/vite-env.d.ts +1 -0
- package/.aiwf/templates/web-app/template/tailwind.config.js +30 -0
- package/.aiwf/templates/web-app/template/tsconfig.json +37 -0
- package/.aiwf/templates/web-app/template/tsconfig.node.json +10 -0
- package/.aiwf/templates/web-app/template/vite.config.ts +23 -0
- package/.aiwf/test-cache/86c7f9e80251abb8bedd58953ab0d1779e46b4f43ea33b63bffdb778106373b0.json +6 -0
- package/.aiwf/test-cache/9e252a90b80fce0585d7ed0646e7a9b4343e109f661f42a3ae678ba1ec5e22c7.json +7 -0
- package/.aiwf/test-results-s02.json +36 -0
- package/.aiwf/token-data/alerts.json +293 -0
- package/.aiwf/token-data/monitor-config.json +12 -0
- package/CHANGELOG.md +95 -11
- package/CHANGELOG_M02.md +52 -0
- package/CLAUDE.md +135 -0
- package/README.ko.md +5 -0
- package/README.md +6 -0
- package/RELEASE_NOTES_M02.md +177 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_create_feature_ledger.md +54 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_default_mode.md +66 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_get_feature_details.md +78 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_link_feature_to_milestone.md +57 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_list_features.md +54 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_persona_architect.md +60 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_persona_backend.md +60 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_persona_data_analyst.md +60 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_persona_frontend.md +60 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_persona_security.md +60 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_persona_status.md +72 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_update_feature_status.md +53 -0
- package/claude-code/aiwf/en/commands/ai-persona.js +667 -0
- package/claude-code/aiwf/en/commands/compress-context.js +355 -0
- package/claude-code/aiwf/en/commands/feature-ledger.js +565 -0
- package/claude-code/aiwf/en/commands/feature_commit_report.js +370 -0
- package/claude-code/aiwf/en/commands/scan_git_history.js +234 -0
- package/claude-code/aiwf/en/commands/sync_feature_commits.js +154 -0
- package/claude-code/aiwf/en/commands/token-tracking.js +443 -0
- package/claude-code/aiwf/en/config/commit-patterns.js +103 -0
- package/claude-code/aiwf/en/hooks/install-hooks.sh +100 -0
- package/claude-code/aiwf/en/hooks/post-commit +84 -0
- package/claude-code/aiwf/en/tests/compression-test-suite.js +1252 -0
- package/claude-code/aiwf/en/tests/test-git-integration.js +164 -0
- package/claude-code/aiwf/en/tests/token-tracking.test.js +537 -0
- package/claude-code/aiwf/en/utils/compression-metrics.js +1031 -0
- package/claude-code/aiwf/en/utils/compression-strategies.js +557 -0
- package/claude-code/aiwf/en/utils/content-normalizer.js +455 -0
- package/claude-code/aiwf/en/utils/context-compressor.js +583 -0
- package/claude-code/aiwf/en/utils/feature-updater.js +271 -0
- package/claude-code/aiwf/en/utils/git-utils.js +220 -0
- package/claude-code/aiwf/en/utils/importance-classifier.js +645 -0
- package/claude-code/aiwf/en/utils/information-filter.js +710 -0
- package/claude-code/aiwf/en/utils/text-summarizer.js +487 -0
- package/claude-code/aiwf/en/utils/token-counter.js +177 -0
- package/claude-code/aiwf/en/utils/token-monitor.js +484 -0
- package/claude-code/aiwf/en/utils/token-reporter.js +453 -0
- package/claude-code/aiwf/en/utils/token-storage.js +433 -0
- package/claude-code/aiwf/en/utils/token-tracker.js +283 -0
- package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/FEATURE_ID_GENERATOR.md +138 -0
- package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/FEATURE_INDEX.md +186 -0
- package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/FEATURE_METADATA.md +240 -0
- package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/FEATURE_WORKFLOW.md +183 -0
- package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/README.md +94 -0
- package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/active/FL001_/354/202/254/354/232/251/354/236/220_/354/235/270/354/246/235_/354/213/234/354/212/244/355/205/234.md +154 -0
- package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/active/FL002_ai_/355/216/230/353/245/264/354/206/214/353/202/230_/354/213/234/354/212/244/355/205/234.md +272 -0
- package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/completed/FL003_/353/213/244/352/265/255/354/226/264_/353/252/205/353/240/271/354/226/264_/355/221/234/354/244/200/355/231/224.md +266 -0
- package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/schemas/feature_schema.json +122 -0
- package/claude-code/aiwf/ko/.aiwf/06_FEATURE_LEDGERS/schemas/feature_validator.cjs +406 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_compress_aggressive_persona.md +53 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_compress_context.md +116 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_compress_minimal_persona.md +48 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_compress_stats.md +79 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_compress_with_persona.md +51 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_create_feature_ledger.md +54 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_default_mode.md +44 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_evaluate.md +92 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_get_feature_details.md +78 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_link_feature_to_milestone.md +57 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_list_features.md +54 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_persona_architect.md +48 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_persona_backend.md +37 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_persona_data_analyst.md +37 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_persona_frontend.md +37 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_persona_security.md +48 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_persona_status.md +50 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_update_docs_kr.md +25 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_update_feature_status.md +53 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_yolo.md +2 -2
- package/claude-code/aiwf/ko/CLAUDE.md +76 -0
- package/claude-code/aiwf/ko/ai-tools/README.md +105 -0
- package/claude-code/aiwf/ko/ai-tools/augment/README.md +371 -0
- package/claude-code/aiwf/ko/ai-tools/augment/config.json +30 -0
- package/claude-code/aiwf/ko/ai-tools/augment/template/.augment/aiwf-integration.md +387 -0
- package/claude-code/aiwf/ko/ai-tools/augment/template/.augment/augment.yaml +347 -0
- package/claude-code/aiwf/ko/ai-tools/augment/template/augment.config.json +64 -0
- package/claude-code/aiwf/ko/ai-tools/claude-code/README.md +151 -0
- package/claude-code/aiwf/ko/ai-tools/claude-code/config.json +28 -0
- package/claude-code/aiwf/ko/ai-tools/claude-code/template/CLAUDE.md +91 -0
- package/claude-code/aiwf/ko/ai-tools/cursor/README.md +314 -0
- package/claude-code/aiwf/ko/ai-tools/cursor/config.json +29 -0
- package/claude-code/aiwf/ko/ai-tools/cursor/template/.cursorrules +362 -0
- package/claude-code/aiwf/ko/ai-tools/github-copilot/README.md +195 -0
- package/claude-code/aiwf/ko/ai-tools/github-copilot/config.json +24 -0
- package/claude-code/aiwf/ko/ai-tools/github-copilot/template/.github/copilot-instructions.md +202 -0
- package/claude-code/aiwf/ko/ai-tools/windsurf/README.md +355 -0
- package/claude-code/aiwf/ko/ai-tools/windsurf/config.json +29 -0
- package/claude-code/aiwf/ko/ai-tools/windsurf/template/.windsurf/aiwf-rules.md +260 -0
- package/claude-code/aiwf/ko/ai-tools/windsurf/template/.windsurf/windsurf.config.js +312 -0
- package/claude-code/aiwf/ko/ai-tools/windsurf/template/windsurf.config.json +63 -0
- package/claude-code/aiwf/ko/bin/aiwf-create.js +56 -0
- package/claude-code/aiwf/ko/bin/aiwf.js +21 -0
- package/claude-code/aiwf/ko/commands/ai-persona.js +602 -0
- package/claude-code/aiwf/ko/commands/compress-context.js +389 -0
- package/claude-code/aiwf/ko/commands/evaluate.js +246 -0
- package/claude-code/aiwf/ko/commands/feature-ledger.js +565 -0
- package/claude-code/aiwf/ko/commands/feature_commit_report.js +370 -0
- package/claude-code/aiwf/ko/commands/persona-context-apply.js +562 -0
- package/claude-code/aiwf/ko/commands/scan_git_history.js +234 -0
- package/claude-code/aiwf/ko/commands/sync_feature_commits.js +154 -0
- package/claude-code/aiwf/ko/commands/token-tracking.js +443 -0
- package/claude-code/aiwf/ko/config/commit-patterns.js +103 -0
- package/claude-code/aiwf/ko/config/language.json +6 -0
- package/claude-code/aiwf/ko/docs/00_PROJECT_MANIFEST.md +183 -0
- package/claude-code/aiwf/ko/docs/ARCHITECTURE.md +121 -0
- package/claude-code/aiwf/ko/docs/FEATURE_LEDGER_ADVANCED_USE_CASES.md +412 -0
- package/claude-code/aiwf/ko/docs/FEATURE_LEDGER_API_REFERENCE.md +361 -0
- package/claude-code/aiwf/ko/docs/FEATURE_LEDGER_COMMANDS_GUIDE.md +254 -0
- package/claude-code/aiwf/ko/docs/FEATURE_LEDGER_FAQ.md +365 -0
- package/claude-code/aiwf/ko/docs/FEATURE_LEDGER_SYSTEM_OVERVIEW.md +305 -0
- package/claude-code/aiwf/ko/docs/FEATURE_LEDGER_USER_GUIDE.md +416 -0
- package/claude-code/aiwf/ko/docs/FEATURE_LEDGER_/354/213/234/354/236/221_/352/260/200/354/235/264/353/223/234.md +247 -0
- package/claude-code/aiwf/ko/feature-ledger/FL-001-authentication.json +52 -0
- package/claude-code/aiwf/ko/feature-ledger/feature-index.json +20 -0
- package/claude-code/aiwf/ko/hooks/install-hooks.sh +100 -0
- package/claude-code/aiwf/ko/hooks/post-commit +84 -0
- package/claude-code/aiwf/ko/personas/PERSONA_INDEX.md +57 -0
- package/claude-code/aiwf/ko/personas/analyst.json +44 -0
- package/claude-code/aiwf/ko/personas/architect/best_practices.md +136 -0
- package/claude-code/aiwf/ko/personas/architect/knowledge_base.md +377 -0
- package/claude-code/aiwf/ko/personas/architect.json +44 -0
- package/claude-code/aiwf/ko/personas/backend/best_practices.md +766 -0
- package/claude-code/aiwf/ko/personas/backend/knowledge_base.md +1070 -0
- package/claude-code/aiwf/ko/personas/data_analyst/best_practices.md +594 -0
- package/claude-code/aiwf/ko/personas/data_analyst/knowledge_base.md +1057 -0
- package/claude-code/aiwf/ko/personas/developer.json +44 -0
- package/claude-code/aiwf/ko/personas/developer.md +37 -0
- package/claude-code/aiwf/ko/personas/evaluation_criteria.json +137 -0
- package/claude-code/aiwf/ko/personas/frontend/best_practices.md +445 -0
- package/claude-code/aiwf/ko/personas/frontend/knowledge_base.md +729 -0
- package/claude-code/aiwf/ko/personas/persona-index.json +31 -0
- package/claude-code/aiwf/ko/personas/reviewer.json +44 -0
- package/claude-code/aiwf/ko/personas/security/best_practices.md +307 -0
- package/claude-code/aiwf/ko/personas/security/knowledge_base.md +498 -0
- package/claude-code/aiwf/ko/personas/tester.json +44 -0
- package/claude-code/aiwf/ko/scripts/cache-templates.js +209 -0
- package/claude-code/aiwf/ko/scripts/create-offline.js +86 -0
- package/claude-code/aiwf/ko/scripts/create-project.js +151 -0
- package/claude-code/aiwf/ko/scripts/feature-progress-calculator.cjs +236 -0
- package/claude-code/aiwf/ko/scripts/git-integration.cjs +391 -0
- package/claude-code/aiwf/ko/scripts/install-git-hooks.cjs +226 -0
- package/claude-code/aiwf/ko/scripts/test-commit-parsing.cjs +125 -0
- package/claude-code/aiwf/ko/scripts/update-feature-status.cjs +198 -0
- package/claude-code/aiwf/ko/templates/README.md +78 -0
- package/claude-code/aiwf/ko/templates/api-server/config.json +64 -0
- package/claude-code/aiwf/ko/templates/api-server/template/.aiwf/config.json +56 -0
- package/claude-code/aiwf/ko/templates/api-server/template/.aiwf/feature-ledger.json +42 -0
- package/claude-code/aiwf/ko/templates/api-server/template/.aiwf/personas/backend-engineer.json +40 -0
- package/claude-code/aiwf/ko/templates/api-server/template/.aiwf/scripts/cli.js +111 -0
- package/claude-code/aiwf/ko/templates/api-server/template/.env.example +29 -0
- package/claude-code/aiwf/ko/templates/api-server/template/.eslintrc.json +23 -0
- package/claude-code/aiwf/ko/templates/api-server/template/README.md +171 -0
- package/claude-code/aiwf/ko/templates/api-server/template/jest.config.js +26 -0
- package/claude-code/aiwf/ko/templates/api-server/template/nodemon.json +9 -0
- package/claude-code/aiwf/ko/templates/api-server/template/package.json +61 -0
- package/claude-code/aiwf/ko/templates/api-server/template/src/app.ts +60 -0
- package/claude-code/aiwf/ko/templates/api-server/template/src/config/swagger.ts +38 -0
- package/claude-code/aiwf/ko/templates/api-server/template/src/controllers/aiwfController.ts +68 -0
- package/claude-code/aiwf/ko/templates/api-server/template/src/controllers/authController.ts +128 -0
- package/claude-code/aiwf/ko/templates/api-server/template/src/controllers/statusController.ts +28 -0
- package/claude-code/aiwf/ko/templates/api-server/template/src/index.ts +28 -0
- package/claude-code/aiwf/ko/templates/api-server/template/src/middleware/aiwfMiddleware.ts +50 -0
- package/claude-code/aiwf/ko/templates/api-server/template/src/middleware/authMiddleware.ts +41 -0
- package/claude-code/aiwf/ko/templates/api-server/template/src/middleware/errorHandler.ts +42 -0
- package/claude-code/aiwf/ko/templates/api-server/template/src/middleware/notFoundHandler.ts +14 -0
- package/claude-code/aiwf/ko/templates/api-server/template/src/middleware/requestLogger.ts +20 -0
- package/claude-code/aiwf/ko/templates/api-server/template/src/routes/aiwf.ts +42 -0
- package/claude-code/aiwf/ko/templates/api-server/template/src/routes/index.ts +13 -0
- package/claude-code/aiwf/ko/templates/api-server/template/src/routes/v1/index.ts +67 -0
- package/claude-code/aiwf/ko/templates/api-server/template/src/utils/logger.ts +37 -0
- package/claude-code/aiwf/ko/templates/api-server/template/tests/app.test.ts +40 -0
- package/claude-code/aiwf/ko/templates/api-server/template/tsconfig.json +43 -0
- package/claude-code/aiwf/ko/templates/npm-library/config.json +61 -0
- package/claude-code/aiwf/ko/templates/npm-library/template/LICENSE +21 -0
- package/claude-code/aiwf/ko/templates/npm-library/template/README.md +201 -0
- package/claude-code/aiwf/ko/templates/npm-library/template/package.json +78 -0
- package/claude-code/aiwf/ko/templates/web-app/config.json +53 -0
- package/claude-code/aiwf/ko/templates/web-app/template/.aiwf/config.json +54 -0
- package/claude-code/aiwf/ko/templates/web-app/template/.aiwf/feature-ledger.json +37 -0
- package/claude-code/aiwf/ko/templates/web-app/template/.aiwf/personas/fullstack-developer.json +40 -0
- package/claude-code/aiwf/ko/templates/web-app/template/.aiwf/scripts/cli.js +110 -0
- package/claude-code/aiwf/ko/templates/web-app/template/.eslintrc.cjs +20 -0
- package/claude-code/aiwf/ko/templates/web-app/template/README.md +151 -0
- package/claude-code/aiwf/ko/templates/web-app/template/index.html +14 -0
- package/claude-code/aiwf/ko/templates/web-app/template/package.json +44 -0
- package/claude-code/aiwf/ko/templates/web-app/template/postcss.config.js +6 -0
- package/claude-code/aiwf/ko/templates/web-app/template/public/vite.svg +1 -0
- package/claude-code/aiwf/ko/templates/web-app/template/src/App.tsx +21 -0
- package/claude-code/aiwf/ko/templates/web-app/template/src/components/Layout.tsx +57 -0
- package/claude-code/aiwf/ko/templates/web-app/template/src/components/aiwf/ContextStatus.tsx +107 -0
- package/claude-code/aiwf/ko/templates/web-app/template/src/components/aiwf/FeatureLedger.tsx +93 -0
- package/claude-code/aiwf/ko/templates/web-app/template/src/components/aiwf/TokenUsage.tsx +71 -0
- package/claude-code/aiwf/ko/templates/web-app/template/src/index.css +60 -0
- package/claude-code/aiwf/ko/templates/web-app/template/src/main.tsx +10 -0
- package/claude-code/aiwf/ko/templates/web-app/template/src/pages/AiwfDashboard.tsx +60 -0
- package/claude-code/aiwf/ko/templates/web-app/template/src/pages/HomePage.tsx +89 -0
- package/claude-code/aiwf/ko/templates/web-app/template/src/pages/NotFound.tsx +25 -0
- package/claude-code/aiwf/ko/templates/web-app/template/src/stores/aiwfStore.ts +126 -0
- package/claude-code/aiwf/ko/templates/web-app/template/src/types/global.d.ts +9 -0
- package/claude-code/aiwf/ko/templates/web-app/template/src/vite-env.d.ts +1 -0
- package/claude-code/aiwf/ko/templates/web-app/template/tailwind.config.js +30 -0
- package/claude-code/aiwf/ko/templates/web-app/template/tsconfig.json +37 -0
- package/claude-code/aiwf/ko/templates/web-app/template/tsconfig.node.json +10 -0
- package/claude-code/aiwf/ko/templates/web-app/template/vite.config.ts +23 -0
- package/claude-code/aiwf/ko/tests/compression-test-suite.js +1252 -0
- package/claude-code/aiwf/ko/tests/test-git-integration.js +164 -0
- package/claude-code/aiwf/ko/tests/token-tracking.test.js +537 -0
- package/claude-code/aiwf/ko/token-data/alerts.json +293 -0
- package/claude-code/aiwf/ko/token-data/monitor-config.json +12 -0
- package/claude-code/aiwf/ko/utils/background-monitor.js +223 -0
- package/claude-code/aiwf/ko/utils/compression-metrics.js +1031 -0
- package/claude-code/aiwf/ko/utils/compression-strategies.js +557 -0
- package/claude-code/aiwf/ko/utils/content-normalizer.js +455 -0
- package/claude-code/aiwf/ko/utils/context-compressor.js +583 -0
- package/claude-code/aiwf/ko/utils/context-rule-parser.js +180 -0
- package/claude-code/aiwf/ko/utils/context-token-monitor.js +463 -0
- package/claude-code/aiwf/ko/utils/context-update-manager.js +502 -0
- package/claude-code/aiwf/ko/utils/feature-updater.js +271 -0
- package/claude-code/aiwf/ko/utils/git-utils.js +220 -0
- package/claude-code/aiwf/ko/utils/importance-classifier.js +645 -0
- package/claude-code/aiwf/ko/utils/information-filter.js +710 -0
- package/claude-code/aiwf/ko/utils/persona-aware-compressor.js +598 -0
- package/claude-code/aiwf/ko/utils/prompt-injector.js +242 -0
- package/claude-code/aiwf/ko/utils/simplified-evaluator.js +119 -0
- package/claude-code/aiwf/ko/utils/text-summarizer.js +492 -0
- package/claude-code/aiwf/ko/utils/token-counter.js +177 -0
- package/claude-code/aiwf/ko/utils/token-monitor.js +484 -0
- package/claude-code/aiwf/ko/utils/token-reporter.js +453 -0
- package/claude-code/aiwf/ko/utils/token-storage.js +433 -0
- package/claude-code/aiwf/ko/utils/token-tracker.js +283 -0
- package/docs/AI_PERSONA_SYSTEM_DESIGN.md +516 -0
- package/docs/API_DOCUMENTATION.md +932 -0
- package/docs/API_REFERENCE.md +979 -0
- package/docs/COMMANDS_GUIDE.ko.md +8 -2
- package/docs/COMMANDS_GUIDE.md +196 -2
- package/docs/CONTRIBUTING.ko.md +408 -0
- package/docs/CONTRIBUTING.md +205 -203
- package/docs/EXAMPLES.md +691 -0
- package/docs/GETTING_STARTED.md +480 -0
- package/docs/PERFORMANCE_ARCHITECTURE.md +494 -0
- package/docs/PERFORMANCE_GUIDELINES.md +553 -0
- package/docs/TROUBLESHOOTING.md +721 -0
- package/docs/git-feature-integration-guide.md +253 -0
- package/docs/guides/ai-personas-guide-ko.md +239 -0
- package/docs/guides/ai-personas-guide.md +239 -0
- package/docs/guides/context-compression-guide-ko.md +313 -0
- package/docs/guides/context-compression-guide.md +313 -0
- package/docs/guides/feature-git-integration-guide-ko.md +481 -0
- package/docs/guides/feature-git-integration-guide.md +481 -0
- package/docs/lightweight-evaluation.md +198 -0
- package/docs/m02-dod-checklist.md +125 -0
- package/docs/m02-gap-analysis.md +214 -0
- package/docs/m02-milestone-completion-report.md +186 -0
- package/docs/m02-milestone-executive-summary.md +68 -0
- package/docs/offline-template-cache.md +323 -0
- package/docs/performance-benchmark-report.md +159 -0
- package/docs/persona-aware-compression.md +168 -0
- package/docs/reports/S02-sprint-report.md +190 -0
- package/docs/usability-test-report.md +170 -0
- package/index.js +109 -1
- package/jest.config.js +20 -1
- package/language-utils.js +1 -1
- package/lib/ai-persona-manager.js +711 -0
- package/lib/cache-cli.js +459 -0
- package/lib/cache-integration.js +401 -0
- package/lib/cache-system.js +332 -0
- package/lib/context-engine.js +568 -0
- package/lib/file-batch-processor.js +401 -0
- package/lib/memory-profiler.js +471 -0
- package/lib/metrics-collector.js +885 -0
- package/lib/offline-detector.js +386 -0
- package/lib/performance-benchmark.js +621 -0
- package/lib/task-analyzer.js +599 -0
- package/lib/template-cache-system.js +559 -0
- package/lib/template-downloader.js +467 -0
- package/lib/template-manager.js +310 -0
- package/lib/template-version-manager.js +491 -0
- package/lib/token-optimizer.js +517 -0
- package/package.json +6 -3
- package/scripts/run-integration-tests.js +317 -0
- package/src/commands/ai-tool.js +383 -0
- package/test-token-system.js +88 -0
- package/tests/application.test.js +260 -0
- package/tests/basic.test.js +1 -1
- package/tests/integration/ai-persona-system.test.js +396 -0
- package/tests/integration/ai-persona.test.js +390 -0
- package/tests/integration/command-integration.test.js +600 -0
- package/tests/integration/context-compression.test.js +361 -0
- package/tests/integration/feature-ledger.test.js +226 -0
- package/tests/integration/git-integration.test.js +307 -0
- package/tests/integration/m02-milestone.test.js +420 -0
- package/tests/integration/persona-context-application.test.js +508 -0
- package/tests/integration/setup.js +174 -0
- package/tests/integration/test-persona-aware-compression.js +93 -0
- package/tests/language-utils.test.js +25 -9
- package/tests/s02-integration.test.js +422 -0
- package/tests/unit/ai-persona-manager.test.js +514 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_language_manager.md +0 -287
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_language_status.md +0 -246
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_language_manager.md +0 -287
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_language_status.md +0 -246
package/docs/CONTRIBUTING.md
CHANGED
|
@@ -1,406 +1,408 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Contributing to AIWF
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Thank you for your interest in contributing to AIWF (AI Workflow Framework)! This guide will help you contribute effectively to the project.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
[한국어로 보기](CONTRIBUTING.ko.md)
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
2. [개발 환경 설정](#개발-환경-설정)
|
|
9
|
-
3. [기여 방법](#기여-방법)
|
|
10
|
-
4. [코드 스타일 가이드](#코드-스타일-가이드)
|
|
11
|
-
5. [테스트 작성](#테스트-작성)
|
|
12
|
-
6. [Pull Request 가이드](#pull-request-가이드)
|
|
13
|
-
7. [이슈 리포팅](#이슈-리포팅)
|
|
14
|
-
8. [커뮤니티 가이드라인](#커뮤니티-가이드라인)
|
|
7
|
+
## Table of Contents
|
|
15
8
|
|
|
16
|
-
|
|
9
|
+
1. [Before Contributing](#before-contributing)
|
|
10
|
+
2. [Development Environment Setup](#development-environment-setup)
|
|
11
|
+
3. [How to Contribute](#how-to-contribute)
|
|
12
|
+
4. [Code Style Guide](#code-style-guide)
|
|
13
|
+
5. [Writing Tests](#writing-tests)
|
|
14
|
+
6. [Pull Request Guidelines](#pull-request-guidelines)
|
|
15
|
+
7. [Issue Reporting](#issue-reporting)
|
|
16
|
+
8. [Community Guidelines](#community-guidelines)
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
## Before Contributing
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
### Understanding the Project
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
- **대상 사용자**: Claude Code, Cursor, Windsurf 사용자
|
|
24
|
-
- **핵심 기능**: GitHub에서 프레임워크 다운로드 및 설치
|
|
22
|
+
AIWF is an NPM CLI package that installs the AI Workflow Framework integrated with Claude Code. Before contributing, please understand:
|
|
25
23
|
|
|
26
|
-
|
|
24
|
+
- **Purpose**: Deploy AI-driven development workflow framework
|
|
25
|
+
- **Target Users**: Claude Code, Cursor, and Windsurf users
|
|
26
|
+
- **Core Function**: Download and install framework from GitHub
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
### Code of Conduct
|
|
29
29
|
|
|
30
|
-
|
|
31
|
-
- **포용성**: 다양한 배경과 경험을 가진 기여자를 환영합니다
|
|
32
|
-
- **건설적 피드백**: 비판적 피드백도 건설적이고 도움이 되는 방향으로 제공합니다
|
|
33
|
-
- **협력**: 문제 해결을 위해 함께 협력합니다
|
|
30
|
+
We follow these principles to create a respectful and inclusive environment:
|
|
34
31
|
|
|
35
|
-
|
|
32
|
+
- **Respect**: We respect all opinions and contributions
|
|
33
|
+
- **Inclusivity**: We welcome contributors from diverse backgrounds
|
|
34
|
+
- **Constructive Feedback**: We provide helpful and constructive criticism
|
|
35
|
+
- **Collaboration**: We work together to solve problems
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
## Development Environment Setup
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
- **npm**: Node.js와 함께 설치됨
|
|
41
|
-
- **Git**: 최신 버전
|
|
39
|
+
### Prerequisites
|
|
42
40
|
|
|
43
|
-
|
|
41
|
+
- **Node.js**: 14.0.0 or higher
|
|
42
|
+
- **npm**: Installed with Node.js
|
|
43
|
+
- **Git**: Latest version
|
|
44
|
+
|
|
45
|
+
### Initial Setup
|
|
44
46
|
|
|
45
47
|
```bash
|
|
46
|
-
# 1.
|
|
47
|
-
#
|
|
48
|
+
# 1. Fork the repository
|
|
49
|
+
# Fork https://github.com/aiwf/aiwf on GitHub
|
|
48
50
|
|
|
49
|
-
# 2.
|
|
51
|
+
# 2. Clone locally
|
|
50
52
|
git clone https://github.com/YOUR_USERNAME/aiwf.git
|
|
51
53
|
cd aiwf
|
|
52
54
|
|
|
53
|
-
# 3.
|
|
55
|
+
# 3. Add upstream remote
|
|
54
56
|
git remote add upstream https://github.com/aiwf/aiwf.git
|
|
55
57
|
|
|
56
|
-
# 4.
|
|
58
|
+
# 4. Install dependencies
|
|
57
59
|
npm install
|
|
58
60
|
|
|
59
|
-
# 5.
|
|
60
|
-
node index.js --force #
|
|
61
|
-
npm test #
|
|
62
|
-
npm run lint
|
|
61
|
+
# 5. Verify development environment
|
|
62
|
+
node index.js --force # Run local test
|
|
63
|
+
npm test # Run tests
|
|
64
|
+
npm run lint # Check code style
|
|
63
65
|
```
|
|
64
66
|
|
|
65
|
-
##
|
|
67
|
+
## How to Contribute
|
|
66
68
|
|
|
67
|
-
### 1.
|
|
69
|
+
### 1. Issue-Based Contributions
|
|
68
70
|
|
|
69
|
-
|
|
71
|
+
The recommended way to contribute:
|
|
70
72
|
|
|
71
|
-
1.
|
|
72
|
-
2.
|
|
73
|
-
3.
|
|
73
|
+
1. **Find an Issue**: Select from [GitHub Issues](https://github.com/aiwf/aiwf/issues)
|
|
74
|
+
2. **Assign Yourself**: Comment to express interest
|
|
75
|
+
3. **Create Branch**: Use format `feature/issue-number-brief-description`
|
|
74
76
|
|
|
75
|
-
### 2.
|
|
77
|
+
### 2. Proposing New Features
|
|
76
78
|
|
|
77
|
-
|
|
79
|
+
To propose new features:
|
|
78
80
|
|
|
79
|
-
1.
|
|
80
|
-
2.
|
|
81
|
-
3.
|
|
81
|
+
1. **Create Issue**: Use Feature Request template
|
|
82
|
+
2. **Join Discussion**: Discuss with community
|
|
83
|
+
3. **Start Development**: Begin after approval
|
|
82
84
|
|
|
83
|
-
### 3.
|
|
85
|
+
### 3. Bug Fixes
|
|
84
86
|
|
|
85
|
-
|
|
87
|
+
If you found a bug:
|
|
86
88
|
|
|
87
|
-
1.
|
|
88
|
-
2.
|
|
89
|
-
3.
|
|
89
|
+
1. **Check Issues**: Verify if already reported
|
|
90
|
+
2. **Create New Issue**: Use Bug Report template
|
|
91
|
+
3. **Provide Example**: Include minimal reproducible example
|
|
90
92
|
|
|
91
|
-
##
|
|
93
|
+
## Code Style Guide
|
|
92
94
|
|
|
93
|
-
### JavaScript
|
|
95
|
+
### JavaScript Style
|
|
94
96
|
|
|
95
97
|
```javascript
|
|
96
|
-
//
|
|
98
|
+
// Good: Use ES6+ syntax
|
|
97
99
|
const apiUrl = "https://api.github.com";
|
|
98
100
|
const fetchData = async (url) => {
|
|
99
101
|
try {
|
|
100
102
|
const response = await fetch(url);
|
|
101
103
|
return await response.json();
|
|
102
104
|
} catch (error) {
|
|
103
|
-
console.error("API
|
|
105
|
+
console.error("API call failed:", error);
|
|
104
106
|
throw error;
|
|
105
107
|
}
|
|
106
108
|
};
|
|
107
109
|
|
|
108
|
-
//
|
|
110
|
+
// Avoid: var usage, callback hell
|
|
109
111
|
var oldUrl = "https://api.github.com";
|
|
110
112
|
function fetchDataOld(url, callback) {
|
|
111
|
-
//
|
|
113
|
+
// Old pattern
|
|
112
114
|
}
|
|
113
115
|
```
|
|
114
116
|
|
|
115
|
-
###
|
|
117
|
+
### Naming Conventions
|
|
116
118
|
|
|
117
|
-
-
|
|
118
|
-
-
|
|
119
|
-
-
|
|
120
|
-
-
|
|
119
|
+
- **Variables/Functions**: camelCase (`fetchGitHubContent`)
|
|
120
|
+
- **Constants**: UPPER_SNAKE_CASE (`API_BASE_URL`)
|
|
121
|
+
- **File Names**: kebab-case (`github-api.js`)
|
|
122
|
+
- **Classes**: PascalCase (`GitHubClient`)
|
|
121
123
|
|
|
122
|
-
###
|
|
124
|
+
### Comment Guidelines
|
|
123
125
|
|
|
124
126
|
```javascript
|
|
125
127
|
/**
|
|
126
|
-
*
|
|
127
|
-
* @param {string} repoUrl -
|
|
128
|
-
* @param {string} path -
|
|
129
|
-
* @returns {Promise<Object>} API
|
|
130
|
-
* @throws {Error}
|
|
128
|
+
* Fetches repository content from GitHub API.
|
|
129
|
+
* @param {string} repoUrl - Repository URL
|
|
130
|
+
* @param {string} path - Path to file/directory
|
|
131
|
+
* @returns {Promise<Object>} API response data
|
|
132
|
+
* @throws {Error} On network error or API limits
|
|
131
133
|
*/
|
|
132
134
|
async function fetchRepositoryContent(repoUrl, path) {
|
|
133
|
-
//
|
|
135
|
+
// Input validation
|
|
134
136
|
if (!repoUrl || !path) {
|
|
135
|
-
throw new Error("
|
|
137
|
+
throw new Error("Repository URL and path are required");
|
|
136
138
|
}
|
|
137
139
|
|
|
138
|
-
// API
|
|
140
|
+
// API call implementation...
|
|
139
141
|
}
|
|
140
142
|
```
|
|
141
143
|
|
|
142
|
-
### ESLint
|
|
144
|
+
### ESLint and Prettier
|
|
143
145
|
|
|
144
|
-
|
|
146
|
+
The project uses ESLint and Prettier:
|
|
145
147
|
|
|
146
148
|
```bash
|
|
147
|
-
#
|
|
149
|
+
# Check code style
|
|
148
150
|
npm run lint
|
|
149
151
|
|
|
150
|
-
#
|
|
152
|
+
# Auto-fix issues
|
|
151
153
|
npm run lint:fix
|
|
152
154
|
|
|
153
|
-
#
|
|
155
|
+
# Format code
|
|
154
156
|
npm run format
|
|
155
157
|
```
|
|
156
158
|
|
|
157
|
-
##
|
|
159
|
+
## Writing Tests
|
|
158
160
|
|
|
159
|
-
###
|
|
161
|
+
### Testing Philosophy
|
|
160
162
|
|
|
161
|
-
-
|
|
162
|
-
-
|
|
163
|
-
-
|
|
163
|
+
- **All new features** require tests
|
|
164
|
+
- **Bug fixes** should include tests that verify the fix
|
|
165
|
+
- **Don't break** existing tests
|
|
164
166
|
|
|
165
|
-
###
|
|
167
|
+
### Test Structure
|
|
166
168
|
|
|
167
169
|
```javascript
|
|
168
170
|
// tests/unit/github-api.test.js
|
|
169
171
|
import { jest } from "@jest/globals";
|
|
170
172
|
import { fetchGitHubContent } from "../../index.js";
|
|
171
173
|
|
|
172
|
-
describe("GitHub API
|
|
174
|
+
describe("GitHub API functions", () => {
|
|
173
175
|
beforeEach(() => {
|
|
174
176
|
jest.clearAllMocks();
|
|
175
177
|
});
|
|
176
178
|
|
|
177
179
|
describe("fetchGitHubContent", () => {
|
|
178
|
-
test("
|
|
179
|
-
// Given
|
|
180
|
+
test("should fetch data successfully", async () => {
|
|
181
|
+
// Given
|
|
180
182
|
const mockUrl = "https://api.github.com/repos/test/repo";
|
|
181
183
|
const expectedData = { name: "test-repo" };
|
|
182
184
|
|
|
183
|
-
// When
|
|
185
|
+
// When
|
|
184
186
|
const result = await fetchGitHubContent(mockUrl);
|
|
185
187
|
|
|
186
|
-
// Then
|
|
188
|
+
// Then
|
|
187
189
|
expect(result).toEqual(expectedData);
|
|
188
190
|
});
|
|
189
191
|
|
|
190
|
-
test("
|
|
192
|
+
test("should throw error for invalid URL", async () => {
|
|
191
193
|
// Given & When & Then
|
|
192
194
|
await expect(fetchGitHubContent("invalid-url")).rejects.toThrow(
|
|
193
|
-
"
|
|
195
|
+
"Invalid URL"
|
|
194
196
|
);
|
|
195
197
|
});
|
|
196
198
|
});
|
|
197
199
|
});
|
|
198
200
|
```
|
|
199
201
|
|
|
200
|
-
###
|
|
202
|
+
### Running Tests
|
|
201
203
|
|
|
202
204
|
```bash
|
|
203
|
-
#
|
|
205
|
+
# Run all tests
|
|
204
206
|
npm test
|
|
205
207
|
|
|
206
|
-
#
|
|
208
|
+
# Run in watch mode
|
|
207
209
|
npm run test:watch
|
|
208
210
|
|
|
209
|
-
#
|
|
211
|
+
# Run with coverage
|
|
210
212
|
npm run test:coverage
|
|
211
213
|
```
|
|
212
214
|
|
|
213
|
-
## Pull Request
|
|
215
|
+
## Pull Request Guidelines
|
|
214
216
|
|
|
215
|
-
### PR
|
|
217
|
+
### Pre-PR Checklist
|
|
216
218
|
|
|
217
|
-
- [ ]
|
|
218
|
-
- [ ]
|
|
219
|
-
- [ ]
|
|
220
|
-
- [ ]
|
|
221
|
-
- [ ]
|
|
219
|
+
- [ ] Branch created from latest `main`
|
|
220
|
+
- [ ] All tests pass (`npm test`)
|
|
221
|
+
- [ ] Linting passes (`npm run lint`)
|
|
222
|
+
- [ ] Related issue linked if applicable
|
|
223
|
+
- [ ] Tests added for changes
|
|
222
224
|
|
|
223
|
-
### PR
|
|
225
|
+
### PR Title Format
|
|
224
226
|
|
|
225
227
|
```
|
|
226
228
|
<type>(<scope>): <description>
|
|
227
229
|
|
|
228
|
-
|
|
229
|
-
feat(cli): GitHub API
|
|
230
|
-
fix(installer):
|
|
231
|
-
docs(readme):
|
|
230
|
+
Examples:
|
|
231
|
+
feat(cli): add GitHub API retry logic
|
|
232
|
+
fix(installer): fix backup file timestamp error
|
|
233
|
+
docs(readme): update installation guide
|
|
232
234
|
```
|
|
233
235
|
|
|
234
|
-
### PR
|
|
236
|
+
### PR Description Template
|
|
235
237
|
|
|
236
238
|
```markdown
|
|
237
|
-
##
|
|
239
|
+
## Summary of Changes
|
|
238
240
|
|
|
239
|
-
<!--
|
|
241
|
+
<!-- Brief description of what this PR changes -->
|
|
240
242
|
|
|
241
|
-
##
|
|
243
|
+
## Related Issues
|
|
242
244
|
|
|
243
|
-
<!--
|
|
245
|
+
<!-- Link related issues if any -->
|
|
244
246
|
|
|
245
247
|
Closes #123
|
|
246
248
|
|
|
247
|
-
##
|
|
249
|
+
## Type of Change
|
|
248
250
|
|
|
249
|
-
- [ ]
|
|
250
|
-
- [ ]
|
|
251
|
-
- [ ] Breaking change (
|
|
252
|
-
- [ ]
|
|
251
|
+
- [ ] Bug fix (non-breaking change fixing an issue)
|
|
252
|
+
- [ ] New feature (non-breaking change adding functionality)
|
|
253
|
+
- [ ] Breaking change (fix or feature causing existing functionality to change)
|
|
254
|
+
- [ ] Documentation update
|
|
253
255
|
|
|
254
|
-
##
|
|
256
|
+
## How to Test
|
|
255
257
|
|
|
256
|
-
<!--
|
|
258
|
+
<!-- Describe how to test these changes -->
|
|
257
259
|
|
|
258
|
-
1.
|
|
259
|
-
2.
|
|
260
|
-
3.
|
|
260
|
+
1. Step 1
|
|
261
|
+
2. Step 2
|
|
262
|
+
3. Expected result
|
|
261
263
|
|
|
262
|
-
##
|
|
264
|
+
## Screenshots (if applicable)
|
|
263
265
|
|
|
264
|
-
<!--
|
|
266
|
+
<!-- Include screenshots for visual changes -->
|
|
265
267
|
|
|
266
|
-
##
|
|
268
|
+
## Additional Notes
|
|
267
269
|
|
|
268
|
-
<!--
|
|
270
|
+
<!-- Any additional information for reviewers -->
|
|
269
271
|
```
|
|
270
272
|
|
|
271
|
-
###
|
|
273
|
+
### Code Review Process
|
|
272
274
|
|
|
273
|
-
1.
|
|
274
|
-
2.
|
|
275
|
-
3.
|
|
276
|
-
4.
|
|
275
|
+
1. **Automated Checks**: GitHub Actions run tests automatically
|
|
276
|
+
2. **Code Review**: Project maintainers review code
|
|
277
|
+
3. **Address Feedback**: Respond actively to review comments
|
|
278
|
+
4. **Approval & Merge**: Squash merge after approval
|
|
277
279
|
|
|
278
|
-
##
|
|
280
|
+
## Issue Reporting
|
|
279
281
|
|
|
280
|
-
###
|
|
282
|
+
### Bug Reports
|
|
281
283
|
|
|
282
|
-
|
|
284
|
+
Please include:
|
|
283
285
|
|
|
284
286
|
```markdown
|
|
285
|
-
##
|
|
287
|
+
## Bug Description
|
|
286
288
|
|
|
287
|
-
<!--
|
|
289
|
+
<!-- Clear and concise description of the bug -->
|
|
288
290
|
|
|
289
|
-
##
|
|
291
|
+
## Steps to Reproduce
|
|
290
292
|
|
|
291
|
-
1. '...'
|
|
292
|
-
2. '...'
|
|
293
|
-
3.
|
|
294
|
-
4.
|
|
293
|
+
1. Go to '...'
|
|
294
|
+
2. Click on '...'
|
|
295
|
+
3. Scroll down to '...'
|
|
296
|
+
4. See error
|
|
295
297
|
|
|
296
|
-
##
|
|
298
|
+
## Expected Behavior
|
|
297
299
|
|
|
298
|
-
<!--
|
|
300
|
+
<!-- Description of expected behavior -->
|
|
299
301
|
|
|
300
|
-
##
|
|
302
|
+
## Actual Behavior
|
|
301
303
|
|
|
302
|
-
<!--
|
|
304
|
+
<!-- Description of what actually happened -->
|
|
303
305
|
|
|
304
|
-
##
|
|
306
|
+
## Environment
|
|
305
307
|
|
|
306
|
-
- OS: [
|
|
307
|
-
- Node.js
|
|
308
|
-
- aiwf
|
|
308
|
+
- OS: [e.g., macOS 12.0]
|
|
309
|
+
- Node.js version: [e.g., 18.0.0]
|
|
310
|
+
- aiwf version: [e.g., 1.0.0]
|
|
309
311
|
|
|
310
|
-
##
|
|
312
|
+
## Additional Context
|
|
311
313
|
|
|
312
|
-
<!--
|
|
314
|
+
<!-- Any additional information or screenshots -->
|
|
313
315
|
```
|
|
314
316
|
|
|
315
|
-
###
|
|
317
|
+
### Feature Requests
|
|
316
318
|
|
|
317
319
|
```markdown
|
|
318
|
-
##
|
|
320
|
+
## Feature Description
|
|
319
321
|
|
|
320
|
-
<!--
|
|
322
|
+
<!-- Description of the desired feature -->
|
|
321
323
|
|
|
322
|
-
##
|
|
324
|
+
## Problem Statement
|
|
323
325
|
|
|
324
|
-
<!--
|
|
326
|
+
<!-- Description of the problem this feature would solve -->
|
|
325
327
|
|
|
326
|
-
##
|
|
328
|
+
## Proposed Solution
|
|
327
329
|
|
|
328
|
-
<!--
|
|
330
|
+
<!-- Description of how you'd like it implemented -->
|
|
329
331
|
|
|
330
|
-
##
|
|
332
|
+
## Alternatives
|
|
331
333
|
|
|
332
|
-
<!--
|
|
334
|
+
<!-- Other solutions you've considered -->
|
|
333
335
|
|
|
334
|
-
##
|
|
336
|
+
## Additional Context
|
|
335
337
|
|
|
336
|
-
<!--
|
|
338
|
+
<!-- Any additional information or screenshots -->
|
|
337
339
|
```
|
|
338
340
|
|
|
339
|
-
##
|
|
341
|
+
## Community Guidelines
|
|
340
342
|
|
|
341
|
-
###
|
|
343
|
+
### Communication Channels
|
|
342
344
|
|
|
343
|
-
- **GitHub Issues**:
|
|
344
|
-
- **GitHub Discussions**:
|
|
345
|
-
- **Pull
|
|
345
|
+
- **GitHub Issues**: Bug reports, feature requests
|
|
346
|
+
- **GitHub Discussions**: General questions, ideas
|
|
347
|
+
- **Pull Requests**: Code review, technical discussions
|
|
346
348
|
|
|
347
|
-
###
|
|
349
|
+
### Asking Questions
|
|
348
350
|
|
|
349
|
-
|
|
351
|
+
Guidelines for good questions:
|
|
350
352
|
|
|
351
|
-
1.
|
|
352
|
-
2.
|
|
353
|
-
3.
|
|
354
|
-
4.
|
|
353
|
+
1. **Search First**: Check if already answered
|
|
354
|
+
2. **Be Specific**: Provide concrete situations over vague questions
|
|
355
|
+
3. **Reproducible Example**: Include minimal reproducible example
|
|
356
|
+
4. **Environment Info**: OS, Node.js version, aiwf version
|
|
355
357
|
|
|
356
|
-
###
|
|
358
|
+
### Answering Questions
|
|
357
359
|
|
|
358
|
-
|
|
360
|
+
When answering others' questions:
|
|
359
361
|
|
|
360
|
-
1.
|
|
361
|
-
2.
|
|
362
|
-
3.
|
|
362
|
+
1. **Be Kind**: Explain in beginner-friendly terms
|
|
363
|
+
2. **Be Accurate**: Say "I don't know" if unsure
|
|
364
|
+
3. **Be Complete**: Provide complete solutions over partial answers
|
|
363
365
|
|
|
364
|
-
##
|
|
366
|
+
## Release Process
|
|
365
367
|
|
|
366
|
-
###
|
|
368
|
+
### Version Management
|
|
367
369
|
|
|
368
|
-
|
|
370
|
+
AIWF follows [Semantic Versioning](https://semver.org/):
|
|
369
371
|
|
|
370
|
-
- **MAJOR**:
|
|
371
|
-
- **MINOR**:
|
|
372
|
-
- **PATCH**:
|
|
372
|
+
- **MAJOR**: Incompatible API changes
|
|
373
|
+
- **MINOR**: Backward-compatible new features
|
|
374
|
+
- **PATCH**: Backward-compatible bug fixes
|
|
373
375
|
|
|
374
|
-
###
|
|
376
|
+
### Release Schedule
|
|
375
377
|
|
|
376
|
-
-
|
|
377
|
-
-
|
|
378
|
-
-
|
|
378
|
+
- **Major Releases**: As needed (breaking changes)
|
|
379
|
+
- **Minor Releases**: Monthly or when major features complete
|
|
380
|
+
- **Patch Releases**: As needed for important bug fixes
|
|
379
381
|
|
|
380
|
-
##
|
|
382
|
+
## Tools and Resources
|
|
381
383
|
|
|
382
|
-
###
|
|
384
|
+
### Development Tools
|
|
383
385
|
|
|
384
|
-
- **IDE**: VS Code, Cursor, Windsurf (Claude Code
|
|
385
|
-
-
|
|
386
|
-
- **Git GUI**: SourceTree, GitHub Desktop
|
|
386
|
+
- **IDE**: VS Code, Cursor, Windsurf (Claude Code support)
|
|
387
|
+
- **Terminal**: Modern terminal (zsh, fish, etc.)
|
|
388
|
+
- **Git GUI**: SourceTree, GitHub Desktop (optional)
|
|
387
389
|
|
|
388
|
-
###
|
|
390
|
+
### Learning Resources
|
|
389
391
|
|
|
390
|
-
- [Node.js
|
|
391
|
-
- [Jest
|
|
392
|
+
- [Node.js Official Docs](https://nodejs.org/docs/)
|
|
393
|
+
- [Jest Testing Guide](https://jestjs.io/docs/getting-started)
|
|
392
394
|
- [Conventional Commits](https://www.conventionalcommits.org/)
|
|
393
395
|
- [GitHub Flow](https://guides.github.com/introduction/flow/)
|
|
394
396
|
|
|
395
|
-
##
|
|
397
|
+
## Recognition and Thanks
|
|
396
398
|
|
|
397
|
-
|
|
399
|
+
Thank you to all contributors! Key contributors can be found at:
|
|
398
400
|
|
|
399
|
-
- [Contributors
|
|
400
|
-
- [
|
|
401
|
+
- [Contributors page](https://github.com/aiwf/aiwf/graphs/contributors)
|
|
402
|
+
- [Release notes](https://github.com/aiwf/aiwf/releases) mention contributors per release
|
|
401
403
|
|
|
402
404
|
---
|
|
403
405
|
|
|
404
|
-
|
|
406
|
+
If you have questions, feel free to [create an issue](https://github.com/aiwf/aiwf/issues/new) or join the [discussions](https://github.com/aiwf/aiwf/discussions)!
|
|
405
407
|
|
|
406
|
-
|
|
408
|
+
Let's build a better AIWF together! 🚀
|