aiwf 0.1.0 → 0.3.1
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 +46 -0
- package/CLAUDE.md +19 -0
- package/LICENSE +1 -1
- package/README.ko.md +90 -62
- package/README.md +109 -62
- package/claude-code/{simone/.simone → aiwf/en/.aiwf}/01_PROJECT_DOCS/ARCHITECTURE.md +1 -1
- package/claude-code/{simone/.simone → aiwf/en/.aiwf}/02_REQUIREMENTS/M01_Backend_Setup/M01_milestone_meta.md +5 -1
- package/claude-code/{simone/.simone → aiwf/en/.aiwf}/02_REQUIREMENTS/M01_Backend_Setup/PRD_AMEND_01_Auth_Flow_Update.md +5 -1
- package/claude-code/{simone/.simone/03_SPRINTS/CLAUDE.MD → aiwf/en/.aiwf/03_SPRINTS/CLAUDE.md} +28 -7
- package/claude-code/{simone/.simone → aiwf/en/.aiwf}/03_SPRINTS/S01_M01_Initial_API/S01_sprint_meta.md +8 -1
- package/claude-code/{simone/.simone → aiwf/en/.aiwf}/03_SPRINTS/S01_M01_Initial_API/T01_S01_Setup_Project_Structure.md +5 -1
- package/claude-code/aiwf/en/.aiwf/04_GENERAL_TASKS/CLAUDE.md +96 -0
- package/claude-code/{simone/.simone → aiwf/en/.aiwf}/04_GENERAL_TASKS/T002_API_Rate_Limiting.md +7 -2
- package/claude-code/{simone/.simone → aiwf/en/.aiwf}/04_GENERAL_TASKS/TX001_Refactor_Logging_Module.md +7 -2
- package/claude-code/{simone/.simone → aiwf/en/.aiwf}/05_ARCHITECTURAL_DECISIONS/ADR001_Chosen_Database_System.md +7 -1
- package/claude-code/{simone/.simone → aiwf/en/.aiwf}/05_ARCHITECTURAL_DECISIONS/ADR002_API_Authentication_Method.md +7 -1
- package/claude-code/aiwf/en/.aiwf/10_STATE_OF_PROJECT/2025-06-12-12-00-needs-focus.md +139 -0
- package/claude-code/aiwf/en/.aiwf/10_STATE_OF_PROJECT/2025-06-12-12-00-test-alignment.md +155 -0
- package/claude-code/aiwf/en/.aiwf/10_STATE_OF_PROJECT/2025-06-13-00-50-solid-progress.md +122 -0
- package/claude-code/aiwf/en/.aiwf/10_STATE_OF_PROJECT/2025-06-14-08-30-infrastructure-challenges.md +141 -0
- package/claude-code/aiwf/en/.aiwf/10_STATE_OF_PROJECT/2025-06-16-21-48-critical-foundation-issues.md +177 -0
- package/claude-code/aiwf/en/.aiwf/10_STATE_OF_PROJECT/2025-06-17-15-08-solid-progress.md +149 -0
- package/claude-code/aiwf/en/.aiwf/10_STATE_OF_PROJECT/index.json +5 -0
- package/claude-code/aiwf/en/.aiwf/10_STATE_OF_PROJECT/sync-index.js +78 -0
- package/claude-code/aiwf/en/.aiwf/98_PROMPTS/github_integration.md +130 -0
- package/claude-code/aiwf/en/.aiwf/98_PROMPTS/useful-prompts.md +31 -0
- package/claude-code/aiwf/en/.aiwf/98_PROMPTS/vibe-front-prompts.md +89 -0
- package/claude-code/{simone/.simone → aiwf/en/.aiwf}/99_TEMPLATES/task_template.md +1 -0
- package/claude-code/{simone/.simone/CLAUDE.MD → aiwf/en/.aiwf/CLAUDE.md} +13 -4
- package/claude-code/{simone/.simone → aiwf/en/.aiwf}/README.md +6 -6
- package/claude-code/aiwf/en/.claude/CLAUDE_BE.md +276 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_changelog.md +82 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_code_review.md +88 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_commit.md +160 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_create_general_task.md +147 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_create_milestone_plan.md +194 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_create_prd.md +272 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_create_sprint_tasks.md +189 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_create_sprints_from_milestone.md +121 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_discuss_review.md +29 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_do_task.md +109 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_docs.md +225 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_infinite.md +202 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_initialize.md +134 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_issue_create.md +65 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_language_manager.md +287 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_language_status.md +246 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_mermaid.md +272 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_pr_create.md +76 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_prime.md +9 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_project_review.md +261 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_switch_language.md +160 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_test.md +125 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_testing_review.md +198 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_tm-run-all-subtask.md +206 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_ultrathink_code_advanced.md +460 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_ultrathink_code_basic.md +165 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_ultrathink_general.md +362 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_yolo.md +300 -0
- package/claude-code/aiwf/en/.claude/mcp.json +31 -0
- package/claude-code/aiwf/en/.claude/settings.json +102 -0
- package/claude-code/aiwf/ko/.aiwf/00_PROJECT_MANIFEST.md +49 -0
- package/claude-code/aiwf/ko/.aiwf/01_PROJECT_DOCS/ARCHITECTURE.md +55 -0
- package/claude-code/aiwf/ko/.aiwf/02_REQUIREMENTS/CLAUDE.md +78 -0
- package/claude-code/aiwf/ko/.aiwf/02_REQUIREMENTS/M01_Backend_Setup/M01_milestone_meta.md +42 -0
- package/claude-code/aiwf/ko/.aiwf/02_REQUIREMENTS/M01_Backend_Setup/PRD_AMEND_01_Auth_Flow_Update.md +73 -0
- package/claude-code/aiwf/ko/.aiwf/02_REQUIREMENTS/M01_Backend_Setup/PRD_Backend_Setup.md +98 -0
- package/claude-code/aiwf/ko/.aiwf/02_REQUIREMENTS/M01_Backend_Setup/SPECS_API_V1.md +232 -0
- package/claude-code/aiwf/ko/.aiwf/03_SPRINTS/CLAUDE.md +83 -0
- package/claude-code/aiwf/ko/.aiwf/03_SPRINTS/S01_M01_Initial_API/S01_sprint_meta.md +49 -0
- package/claude-code/aiwf/ko/.aiwf/03_SPRINTS/S01_M01_Initial_API/T01_S01_Setup_Project_Structure.md +60 -0
- package/claude-code/aiwf/ko/.aiwf/04_GENERAL_TASKS/CLAUDE.md +96 -0
- package/claude-code/aiwf/ko/.aiwf/04_GENERAL_TASKS/T002_API_Rate_Limiting.md +54 -0
- package/claude-code/aiwf/ko/.aiwf/04_GENERAL_TASKS/TX001_Refactor_Logging_Module.md +58 -0
- package/claude-code/aiwf/ko/.aiwf/05_ARCHITECTURAL_DECISIONS/ADR001_Chosen_Database_System.md +119 -0
- package/claude-code/aiwf/ko/.aiwf/05_ARCHITECTURAL_DECISIONS/ADR002_API_Authentication_Method.md +124 -0
- package/claude-code/aiwf/ko/.aiwf/10_STATE_OF_PROJECT/2025-06-12-12-00-needs-focus.md +139 -0
- package/claude-code/aiwf/ko/.aiwf/10_STATE_OF_PROJECT/2025-06-12-12-00-test-alignment.md +155 -0
- package/claude-code/aiwf/ko/.aiwf/10_STATE_OF_PROJECT/2025-06-13-00-50-solid-progress.md +122 -0
- package/claude-code/aiwf/ko/.aiwf/10_STATE_OF_PROJECT/2025-06-14-08-30-infrastructure-challenges.md +141 -0
- package/claude-code/aiwf/ko/.aiwf/10_STATE_OF_PROJECT/2025-06-16-21-48-critical-foundation-issues.md +177 -0
- package/claude-code/aiwf/ko/.aiwf/10_STATE_OF_PROJECT/2025-06-17-15-08-solid-progress.md +149 -0
- package/claude-code/aiwf/ko/.aiwf/10_STATE_OF_PROJECT/index.json +5 -0
- package/claude-code/aiwf/ko/.aiwf/10_STATE_OF_PROJECT/sync-index.js +78 -0
- package/claude-code/aiwf/ko/.aiwf/98_PROMPTS/github_integration.md +130 -0
- package/claude-code/aiwf/ko/.aiwf/98_PROMPTS/useful-prompts.md +31 -0
- package/claude-code/aiwf/ko/.aiwf/98_PROMPTS/vibe-front-prompts.md +89 -0
- package/claude-code/aiwf/ko/.aiwf/99_TEMPLATES/adr_template.md +49 -0
- package/claude-code/aiwf/ko/.aiwf/99_TEMPLATES/milestone_meta_template.md +25 -0
- package/claude-code/aiwf/ko/.aiwf/99_TEMPLATES/project_manifest_template.md +39 -0
- package/claude-code/aiwf/ko/.aiwf/99_TEMPLATES/sprint_meta_template.md +23 -0
- package/claude-code/aiwf/ko/.aiwf/99_TEMPLATES/task_template.md +36 -0
- package/claude-code/aiwf/ko/.aiwf/CLAUDE.md +76 -0
- package/claude-code/aiwf/ko/.aiwf/README.md +97 -0
- package/claude-code/aiwf/ko/.claude/CLAUDE_BE.md +276 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_changelog.md +82 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_code_review.md +88 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_commit.md +160 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_create_general_task.md +147 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_create_milestone_plan.md +194 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_create_prd.md +280 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_create_sprint_tasks.md +189 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_create_sprints_from_milestone.md +121 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_discuss_review.md +29 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_do_task.md +109 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_docs.md +225 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_infinite.md +202 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_initialize.md +134 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_issue_create.md +65 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_language_manager.md +287 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_language_status.md +246 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_mermaid.md +272 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_pr_create.md +76 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_prime.md +9 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_project_review.md +261 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_switch_language.md +160 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_test.md +124 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_testing_review.md +198 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_tm-run-all-subtask.md +210 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_ultrathink_code_advanced.md +460 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_ultrathink_code_basic.md +165 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_ultrathink_general.md +305 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_yolo.md +300 -0
- package/claude-code/aiwf/ko/.claude/mcp.json +31 -0
- package/claude-code/aiwf/ko/.claude/settings.json +102 -0
- package/{AI-WORKFLOW.md → docs/AI-WORKFLOW.ko.md} +38 -24
- package/docs/AI-WORKFLOW.md +299 -0
- package/docs/COMMANDS_GUIDE.ko.md +727 -0
- package/docs/COMMANDS_GUIDE.md +726 -0
- package/docs/CONTRIBUTING.md +406 -0
- package/docs/DEVELOPMENT_GUIDE.md +727 -0
- package/docs/Enhanced_Installation_Flow_Design.md +498 -0
- package/docs/PRD.ko.md +148 -0
- package/docs/PRD.md +150 -0
- package/docs/moonklabs-metadata-system-prd.md +127 -0
- package/index.js +1493 -122
- package/jest.config.js +4 -0
- package/language-cli.js +279 -0
- package/language-utils.js +330 -0
- package/package.json +23 -10
- package/scripts/validate-commands.cjs +338 -0
- package/scripts/validate-commands.js +254 -0
- package/tests/basic.test.js +62 -0
- package/tests/commands.test.js +127 -0
- package/tests/installer.test.js +129 -0
- package/tests/language-utils.test.js +271 -0
- package/COMMANDS_GUIDE.md +0 -462
- package/PRD.ko.md +0 -96
- package/PRD.md +0 -98
- package/claude-code/simone/.simone/04_GENERAL_TASKS/CLAUDE.MD +0 -51
- package/claude-code/simone/CHANGELOG.md +0 -71
- package/claude-code/simone/LICENSE +0 -21
- package/claude-code/simone/README.md +0 -219
- package/claude-code/simone/SYNC_GUIDE.md +0 -172
- package/claude-code/simone/sync-simone.sh +0 -138
- /package/claude-code/{simone/.simone → aiwf/en/.aiwf}/00_PROJECT_MANIFEST.md +0 -0
- /package/claude-code/{simone/.simone → aiwf/en/.aiwf}/02_REQUIREMENTS/CLAUDE.md +0 -0
- /package/claude-code/{simone/.simone → aiwf/en/.aiwf}/02_REQUIREMENTS/M01_Backend_Setup/PRD_Backend_Setup.md +0 -0
- /package/claude-code/{simone/.simone → aiwf/en/.aiwf}/02_REQUIREMENTS/M01_Backend_Setup/SPECS_API_V1.md +0 -0
- /package/claude-code/{simone/.simone → aiwf/en/.aiwf}/99_TEMPLATES/adr_template.md +0 -0
- /package/claude-code/{simone/.simone → aiwf/en/.aiwf}/99_TEMPLATES/milestone_meta_template.md +0 -0
- /package/claude-code/{simone/.simone → aiwf/en/.aiwf}/99_TEMPLATES/project_manifest_template.md +0 -0
- /package/claude-code/{simone/.simone → aiwf/en/.aiwf}/99_TEMPLATES/sprint_meta_template.md +0 -0
package/docs/PRD.md
ADDED
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
[Read in Korean (한국어로 보기)](PRD.ko.md)
|
|
2
|
+
|
|
3
|
+
# AIWF - AI Workflow Framework
|
|
4
|
+
|
|
5
|
+
_Version: 0.3.0_
|
|
6
|
+
|
|
7
|
+
## Overview
|
|
8
|
+
|
|
9
|
+
A comprehensive, `npx`-executable command-line tool to install the AIWF (AI Workflow Framework) into any project. It provides a structured directory layout and command-line tools for streamlined AI-assisted project management, with full support for multiple languages (English and Korean).
|
|
10
|
+
|
|
11
|
+
## Core Functionality
|
|
12
|
+
|
|
13
|
+
### Installation Command
|
|
14
|
+
|
|
15
|
+
The tool is executed via `npx`:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npx aiwf # Interactive language selection
|
|
19
|
+
npx aiwf --force # Skip prompts (defaults to Korean)
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
### Key Features
|
|
23
|
+
|
|
24
|
+
1. **Multi-language Support**:
|
|
25
|
+
- Interactive language selection (English/Korean)
|
|
26
|
+
- Language-specific command files and documentation
|
|
27
|
+
- Localized user interface and messages
|
|
28
|
+
|
|
29
|
+
2. **Creates Directory Structure**:
|
|
30
|
+
- Initializes the `.aiwf/` directory with standardized subdirectories for documents, requirements, sprints, and more
|
|
31
|
+
- Sets up the `.claude/commands/aiwf/` directory for custom Claude commands
|
|
32
|
+
- Configures IDE-specific rules for Cursor and Windsurf
|
|
33
|
+
|
|
34
|
+
3. **Fetches from GitHub**:
|
|
35
|
+
- Downloads the latest framework files from the `aiwf/aiwf` repository on GitHub
|
|
36
|
+
- Sources language-specific files from `claude-code/aiwf/ko/` or `claude-code/aiwf/en/`
|
|
37
|
+
- Installs commands, documentation templates, and the project manifest
|
|
38
|
+
|
|
39
|
+
4. **Handles Existing Installations**:
|
|
40
|
+
- Detects if AIWF framework is already present
|
|
41
|
+
- Prompts the user to **Update**, **Skip**, or **Cancel**
|
|
42
|
+
- The update process preserves user-created files (tasks, sprints) while updating command scripts and `CLAUDE.md` documents
|
|
43
|
+
- Automatically backs up overwritten files with timestamped `.bak` extension
|
|
44
|
+
|
|
45
|
+
5. **IDE Integration**:
|
|
46
|
+
- Automatically converts and installs rules for Cursor IDE (`.mdc` format)
|
|
47
|
+
- Supports Windsurf IDE with plain markdown rules
|
|
48
|
+
- Seamless integration with Claude Code
|
|
49
|
+
|
|
50
|
+
## Technical Approach
|
|
51
|
+
|
|
52
|
+
- **Node.js Script**: A single executable script built with Node.js.
|
|
53
|
+
- **Dependencies**: Uses external libraries to enhance the command-line interface:
|
|
54
|
+
- `commander`: For command-line argument parsing.
|
|
55
|
+
- `ora`: To display loading spinners.
|
|
56
|
+
- `prompts`: For interactive user prompts.
|
|
57
|
+
- `chalk`: To add color to console output.
|
|
58
|
+
- **GitHub Fetching**: Downloads files directly from the `raw.githubusercontent.com` source, using the GitHub API to list directory contents.
|
|
59
|
+
|
|
60
|
+
## Installation Flow
|
|
61
|
+
|
|
62
|
+
1. A welcome message is displayed
|
|
63
|
+
2. Language selection prompt (English/Korean) unless `--force` flag is used
|
|
64
|
+
3. The script checks for an existing installation
|
|
65
|
+
4. If one exists, it prompts the user to choose an action (Update, Skip, Cancel)
|
|
66
|
+
5. If proceeding, a spinner indicates that files are being fetched from GitHub
|
|
67
|
+
6. The required directory structure is created based on selected language
|
|
68
|
+
7. Framework files (manifest, templates, docs, commands) are downloaded from language-specific directories
|
|
69
|
+
8. IDE rules are processed and installed (Cursor/Windsurf)
|
|
70
|
+
9. A success message is shown with next steps for getting started
|
|
71
|
+
10. If any step fails, an error message is displayed and existing files are restored from backups if available
|
|
72
|
+
|
|
73
|
+
## File Structure Created
|
|
74
|
+
|
|
75
|
+
The installer creates the following structure in your project
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
your_project/
|
|
79
|
+
├── .aiwf/ # AIWF project management structure
|
|
80
|
+
│ ├── 00_PROJECT_MANIFEST.md # Central project tracking
|
|
81
|
+
│ ├── 01_PROJECT_DOCS/ # Project documentation
|
|
82
|
+
│ │ └── ARCHITECTURE.md # System architecture docs
|
|
83
|
+
│ ├── 02_REQUIREMENTS/ # Milestone-based requirements
|
|
84
|
+
│ │ └── M01_*/ # Milestone folders
|
|
85
|
+
│ ├── 03_SPRINTS/ # Sprint execution folders
|
|
86
|
+
│ │ └── S01_*/ # Sprint folders with tasks
|
|
87
|
+
│ ├── 04_GENERAL_TASKS/ # Non-sprint tasks
|
|
88
|
+
│ ├── 98_PROMPTS/ # Useful prompts
|
|
89
|
+
│ └── 99_TEMPLATES/ # Document templates
|
|
90
|
+
├── .claude/commands/aiwf/ # Claude Code custom commands
|
|
91
|
+
│ ├── initialize.md # Project initialization
|
|
92
|
+
│ ├── prime_context.md # Context loading
|
|
93
|
+
│ ├── plan_milestone.md # Milestone planning
|
|
94
|
+
│ ├── create_sprints_from_milestone.md # Sprint creation
|
|
95
|
+
│ ├── do_task.md # Task execution
|
|
96
|
+
│ ├── commit.md # Git commit workflow
|
|
97
|
+
│ ├── yolo.md # Autonomous execution
|
|
98
|
+
│ └── ... (20+ more commands)
|
|
99
|
+
├── .cursor/rules/ # Cursor IDE integration (if detected)
|
|
100
|
+
│ ├── code-style-guide.mdc
|
|
101
|
+
│ ├── coding-principles.mdc
|
|
102
|
+
│ └── ... (converted rules)
|
|
103
|
+
└── .windsurf/rules/ # Windsurf IDE integration (if detected)
|
|
104
|
+
├── code-style-guide.md
|
|
105
|
+
├── coding-principles.md
|
|
106
|
+
└── ... (plain markdown rules)
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## Features in Detail
|
|
110
|
+
|
|
111
|
+
### Multi-language Support
|
|
112
|
+
- **Language Selection**: Interactive prompt during installation
|
|
113
|
+
- **Supported Languages**: English and Korean
|
|
114
|
+
- **Language-specific Files**: Commands and documentation are installed based on selected language
|
|
115
|
+
- **Fallback**: Defaults to Korean when using `--force` flag
|
|
116
|
+
|
|
117
|
+
### Command System
|
|
118
|
+
The framework includes 25+ specialized commands for AI-assisted development:
|
|
119
|
+
- **Setup**: `initialize`, `prime`, `prime_context`
|
|
120
|
+
- **Planning**: `plan_milestone`, `create_sprints_from_milestone`, `create_sprint_tasks`
|
|
121
|
+
- **Development**: `do_task`, `commit`, `test`, `code_review`
|
|
122
|
+
- **Automation**: `yolo` (autonomous task execution)
|
|
123
|
+
- **GitHub Integration**: `issue_create`, `pr_create`
|
|
124
|
+
- **Analysis**: `ultrathink_*`, `mermaid`, `project_review`
|
|
125
|
+
|
|
126
|
+
### IDE Integration
|
|
127
|
+
- **Cursor IDE**: Converts rules to `.mdc` format with frontmatter
|
|
128
|
+
- **Windsurf IDE**: Uses plain markdown format
|
|
129
|
+
- **Claude Code**: Native integration with custom commands
|
|
130
|
+
|
|
131
|
+
## Current Status (v0.3.0)
|
|
132
|
+
|
|
133
|
+
### Completed Features
|
|
134
|
+
- ✅ NPM package deployment (`npx aiwf`)
|
|
135
|
+
- ✅ Multi-language support (Korean/English)
|
|
136
|
+
- ✅ IDE integration (Cursor, Windsurf)
|
|
137
|
+
- ✅ 25+ Claude Code commands
|
|
138
|
+
- ✅ Backup/restore mechanism
|
|
139
|
+
- ✅ GitHub API integration
|
|
140
|
+
|
|
141
|
+
### Known Issues
|
|
142
|
+
- `update_docs` command file missing (only `aiwf_docs.md` exists)
|
|
143
|
+
- GitHub repository URL references are now unified to `aiwf/aiwf`
|
|
144
|
+
|
|
145
|
+
### Roadmap
|
|
146
|
+
- [ ] Offline installation option
|
|
147
|
+
- [ ] Additional language support
|
|
148
|
+
- [ ] VS Code extension
|
|
149
|
+
- [ ] Enhanced project templates
|
|
150
|
+
- [ ] Community marketplace for custom commands
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# AIWF 메타데이터 관리 시스템 PRD
|
|
2
|
+
|
|
3
|
+
_(GitHub Issue 사용 옵션형 — 미사용 시에도 동작하도록 설계)_
|
|
4
|
+
|
|
5
|
+
## 목차
|
|
6
|
+
|
|
7
|
+
1. 제품 개요
|
|
8
|
+
2. 참고 서비스 및 도입 근거
|
|
9
|
+
3. 핵심 기능 및 상세 사양
|
|
10
|
+
4. 추가 제안 기능
|
|
11
|
+
5. 타깃 유저 페르소나 & 사용 시나리오
|
|
12
|
+
6. 기술 스택 제안
|
|
13
|
+
7. 부록 – 저장·동기화 전략(옵션별)
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## 1. 제품 개요
|
|
18
|
+
|
|
19
|
+
> **문제**
|
|
20
|
+
> AIWF 프로젝트는 마일스톤·스프린트·태스크 정보를 Markdown 파일에 분산 저장한다. 여러 사람이 동시 작업할 때
|
|
21
|
+
> • 어떤 ID가 이미 존재하는지
|
|
22
|
+
> • 누가 어떤 태스크를 맡았는지
|
|
23
|
+
> • 상태가 최신인지
|
|
24
|
+
> 를 파악하기 위해 매번 디렉터리를 전수 검색해야 한다.
|
|
25
|
+
|
|
26
|
+
> **해결**
|
|
27
|
+
> `index.json` 단일 진실 소스(SSOT)를 자동 생성·검증하고, **Git 브랜치 + 잠금 필드**로 동시 편집 충돌을 차단한다.
|
|
28
|
+
> GitHub Issue 연동은 **옵션**으로 제공하여, 오프라인·사내 Git 서버에서도 동일한 워크플로를 유지한다.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## 2. 참고 서비스 및 도입 근거
|
|
33
|
+
|
|
34
|
+
| 레퍼런스 서비스 | 핵심 기능 | 도입 근거 |
|
|
35
|
+
| ---------------------- | -------------------------------- | -------------------------------------------------- |
|
|
36
|
+
| **GitHub Projects V2** | 칸반·타임라인 · Issue/PR 연동 | GitHub 저장소 기반 협업일 때 시각화·알림이 우수 |
|
|
37
|
+
| **Atlassian Jira** | 워크플로/상태 전이 · 강력한 필터 | 대규모 팀이 복잡한 워크플로를 모델링하는 사례 참고 |
|
|
38
|
+
| **Notion Database** | 자유로운 속성 추가 · 뷰 전환 | Markdown 유사 환경 + 메타데이터 확장성 참고 |
|
|
39
|
+
| **Linear** | 빠른 키보드 UX · 흐름 최소화 | 개발자 생산성을 높이는 경량 UI 아이디어 차용 |
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 3. 핵심 기능 및 상세 사양
|
|
44
|
+
|
|
45
|
+
| 분류 | 기능 | 사양 |
|
|
46
|
+
| ------------------- | --------------------------- | ---------------------------------------------------------------------------------------- |
|
|
47
|
+
| 메타데이터 | **index.json 생성** | `npm run aiwf:sync` → Markdown front-matter 파싱 후 마일스톤·스프린트·태스크 맵 생성 |
|
|
48
|
+
| 검증 | **validate-index** | 중복 ID, 잠금 충돌, 규칙 위반 CI 차단<br/>`npm run validate-index` & GitHub Actions |
|
|
49
|
+
| 동시 작업 | **lockedBy 필드** | `moon lock TS01` → `lockedBy`·`lockTime` 기록, 병행 작업 충돌 시 git merge conflict 유도 |
|
|
50
|
+
| Git 통합 | **브랜치 네이밍 규칙** | `feat/MS01-SP02-implement-login-api` 식으로 범위 명시 |
|
|
51
|
+
| CI/CD | **validate-index.yml** | PR 시 `aiwf:sync` → `validate-index` 자동 실행 |
|
|
52
|
+
| CLI | **moon lock/unlock** (단축) | commander 기반 CLI; 잠금/해제 & 상태 변경 |
|
|
53
|
+
| 옵션형 GitHub Issue | **Issue ↔ index 싱크** | (선택) `moon sync issues` 커맨드: Issue Label ↔ ID 매핑 후 index 갱신 |
|
|
54
|
+
|
|
55
|
+
### 데이터 스키마 요약
|
|
56
|
+
|
|
57
|
+
```jsonc
|
|
58
|
+
{
|
|
59
|
+
"tasks": {
|
|
60
|
+
"TS01": {
|
|
61
|
+
"type": "task", // task|sprint|milestone
|
|
62
|
+
"status": "in-progress",
|
|
63
|
+
"sprint": "SP01",
|
|
64
|
+
"milestone": "MS01",
|
|
65
|
+
"lockedBy": "drumcap", // null ⇒ free
|
|
66
|
+
"lockTime": "2025-06-29T08:15:03Z"
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## 4. 추가 제안 기능
|
|
75
|
+
|
|
76
|
+
| 기능 | 설명 | 기대 효과 |
|
|
77
|
+
| ------------------- | -------------------------------------------- | --------------------------------------- |
|
|
78
|
+
| VSCode 확장 | `index.json` 시각화 Tree View + 잠금 UI | 실시간 상태 확인 & 클릭 한 번 잠금/해제 |
|
|
79
|
+
| 간트 차트 HTML | `moon gantt` 명령으로 HTML 산출 | 프로젝트 진행률 리포트 공유 |
|
|
80
|
+
| Git pre-commit hook | 자동 `sync` & `validate` → 실패 시 커밋 차단 | 규칙 위반 사전 방지 |
|
|
81
|
+
| Slack/Bot 알림 | 태스크 락/언락, 상태 변경 시 알림 | 투명한 협업, 병렬 작업 충돌 최소화 |
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## 5. 타깃 유저 페르소나 & 사용 시나리오
|
|
86
|
+
|
|
87
|
+
| 페르소나 | 목표 | Pain Point |
|
|
88
|
+
| ----------------- | ----------------------------- | ------------------------------------- |
|
|
89
|
+
| **Backend Dev A** | API 기능 구현 완료 후 빠른 PR | 누가 같은 태스크 작업 중인지 불명확 |
|
|
90
|
+
| **PM B** | 스프린트 진척률 리포트 | 여러 Markdown 파일을 열어 진척률 합산 |
|
|
91
|
+
| **DevOps C** | CI 실패 최소화 | 메타데이터 오류로 PR 병합 지연 |
|
|
92
|
+
|
|
93
|
+
### 핵심 시나리오 ① — 개발자 작업 예약
|
|
94
|
+
|
|
95
|
+
1. `moon lock TS14`로 태스크 잠금
|
|
96
|
+
2. 기능 개발 후 `moon unlock TS14 --status=done`
|
|
97
|
+
3. PR → CI 통과 → 병합
|
|
98
|
+
|
|
99
|
+
### 핵심 시나리오 ② — PM 진척률 확인
|
|
100
|
+
|
|
101
|
+
1. `moon gantt --export`
|
|
102
|
+
2. HTML 레포트 Slack 공유 → 팀 회의에서 진행 상황 검토
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## 6. 기술 스택 제안
|
|
107
|
+
|
|
108
|
+
| 범주 | 선택 | 비고 |
|
|
109
|
+
| ------ | ------------------------------------------------------------ | ------------------------------ |
|
|
110
|
+
| 런타임 | **Node.js ≥18** | ES Module, async fs |
|
|
111
|
+
| 언어 | **TypeScript** (추가 권장) | 타입 안전, CLI/라이브러리 공유 |
|
|
112
|
+
| 패키지 | `commander`, `ora`, **`gray-matter`**, **`fast-glob`** | front-matter 파싱 & 파일 찾기 |
|
|
113
|
+
| CI | **GitHub Actions** | PR 검증 · 배포 파이프라인 |
|
|
114
|
+
| 저장 | **Markdown + index.json** (기본)<br/>**GitHub Issue** (옵션) | 오프라인 OK / 클라우드 확장 |
|
|
115
|
+
| 배포 | npm package (`aiwf-cli`) | 사내 NPM 레지스트리 배포 가능 |
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## 7. 부록 – 저장·동기화 전략
|
|
120
|
+
|
|
121
|
+
| 시나리오 | 기본 동작 | GitHub Issue 미사용 시 |
|
|
122
|
+
| ------------------- | ------------------------------------------- | -------------------------- |
|
|
123
|
+
| **로컬 오프라인** | Markdown edit → `sync-index` → `index.json` | 동일 – 모든 기능 100% 동작 |
|
|
124
|
+
| **GitHub PR** | CI `validate-index` → PR 머지 | 동일 – Issue API 호출 생략 |
|
|
125
|
+
| **Issue 연동 필요** | `moon sync issues` → Label ↔ ID 매핑 | (사용 안 함) 옵션 스킵 |
|
|
126
|
+
|
|
127
|
+
> ⚠️ **GitHub Issue 연동은 전 과정에서 선택적**이며, 미사용 시에도 동시 편집 차단·진척률 통계 등 핵심 기능은 그대로 제공됩니다.
|