aiwf 0.1.0 → 0.3.0
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 +44 -0
- package/CLAUDE.md +220 -0
- package/LICENSE +1 -1
- package/README.ko.md +90 -62
- package/README.md +89 -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_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_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_prime_context.md +5 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_project_review.md +261 -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_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_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_prime_context.md +8 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_project_review.md +261 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_test.md +125 -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 +362 -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} +31 -24
- package/docs/AI-WORKFLOW.md +292 -0
- package/docs/COMMANDS_GUIDE.ko.md +637 -0
- package/docs/COMMANDS_GUIDE.md +636 -0
- package/docs/CONTRIBUTING.md +406 -0
- package/docs/DEVELOPMENT_GUIDE.md +727 -0
- package/{PRD.ko.md → docs/PRD.ko.md} +9 -9
- package/{PRD.md → docs/PRD.md} +9 -9
- package/docs/moonklabs-metadata-system-prd.md +127 -0
- package/index.js +272 -121
- package/package.json +12 -7
- package/COMMANDS_GUIDE.md +0 -462
- 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
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
#
|
|
1
|
+
# HelloAIWF - AIWF 프레임워크 설치 프로그램
|
|
2
2
|
|
|
3
3
|
_버전: 0.1.0_
|
|
4
4
|
|
|
5
5
|
## 개요
|
|
6
6
|
|
|
7
|
-
모든 프로젝트에
|
|
7
|
+
모든 프로젝트에 AIWF 프로젝트 관리 프레임워크를 설치하기 위한 최소한의 `npx` 실행 가능 커맨드 라인 도구입니다. 구조화된 디렉토리 레이아웃과 효율적인 프로젝트 관리를 위한 커맨드 라인 도구를 제공하며, 사용자 인터페이스는 한국어로 현지화되어 있습니다.
|
|
8
8
|
|
|
9
9
|
## 핵심 기능
|
|
10
10
|
|
|
@@ -13,25 +13,25 @@ _버전: 0.1.0_
|
|
|
13
13
|
이 도구는 `npx`를 통해 실행됩니다:
|
|
14
14
|
|
|
15
15
|
```bash
|
|
16
|
-
npx hello-
|
|
16
|
+
npx hello-aiwf
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
### 주요 특징
|
|
20
20
|
|
|
21
21
|
1. **디렉토리 구조 생성**:
|
|
22
22
|
|
|
23
|
-
- 문서, 요구사항, 스프린트 등을 위한 표준화된 하위 디렉토리를 포함하는 `.
|
|
24
|
-
- 사용자 지정 Claude 명령어를 위한 `.claude/commands/
|
|
23
|
+
- 문서, 요구사항, 스프린트 등을 위한 표준화된 하위 디렉토리를 포함하는 `.aiwf/` 디렉토리를 초기화합니다.
|
|
24
|
+
- 사용자 지정 Claude 명령어를 위한 `.claude/commands/aiwf/` 디렉토리를 설정합니다.
|
|
25
25
|
|
|
26
26
|
2. **GitHub에서 파일 가져오기**:
|
|
27
27
|
|
|
28
|
-
- GitHub의 `
|
|
29
|
-
- 특히 `claude-code/
|
|
28
|
+
- GitHub의 `aiwf/aiwf` 리포지토리에서 최신 프레임워크 파일을 다운로드합니다.
|
|
29
|
+
- 특히 `claude-code/aiwf/` 하위 디렉토리에서 파일을 가져옵니다.
|
|
30
30
|
- 명령어, 문서 템플릿, 프로젝트 매니페스트를 설치합니다.
|
|
31
31
|
|
|
32
32
|
3. **기존 설치 처리**:
|
|
33
33
|
|
|
34
|
-
-
|
|
34
|
+
- AIWF 프레임워크가 이미 존재하는지 감지합니다.
|
|
35
35
|
- 사용자에게 **업데이트**, **건너뛰기**, 또는 **취소**를 요청합니다.
|
|
36
36
|
- 업데이트 프로세스는 사용자가 생성한 파일(작업, 스프린트)을 보존하면서 명령어 스크립트와 `CLAUDE.md` 문서를 업데이트합니다.
|
|
37
37
|
- 덮어쓴 파일은 `.bak` 확장자로 자동 백업합니다.
|
|
@@ -70,7 +70,7 @@ aiwf/
|
|
|
70
70
|
├── claude-code/
|
|
71
71
|
│ ├── docker/
|
|
72
72
|
│ │ └── Dockerfile
|
|
73
|
-
│ ├──
|
|
73
|
+
│ ├── aiwf/
|
|
74
74
|
│ └── simone/
|
|
75
75
|
│ ├── CHANGELOG.md
|
|
76
76
|
│ ├── LICENSE
|
package/{PRD.md → docs/PRD.md}
RENAMED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
[Read in Korean (한국어로 보기)](PRD.ko.md)
|
|
2
2
|
|
|
3
|
-
#
|
|
3
|
+
# HelloAIWF - Installer for AIWF Framework
|
|
4
4
|
|
|
5
5
|
_Version: 0.1.0_
|
|
6
6
|
|
|
7
7
|
## Overview
|
|
8
8
|
|
|
9
|
-
A minimal, `npx`-executable command-line tool to install the
|
|
9
|
+
A minimal, `npx`-executable command-line tool to install the AIWF project management framework into any project. It provides a structured directory layout and command-line tools for streamlined project management, with a user interface localized in Korean.
|
|
10
10
|
|
|
11
11
|
## Core Functionality
|
|
12
12
|
|
|
@@ -15,25 +15,25 @@ A minimal, `npx`-executable command-line tool to install the Moonklabs project m
|
|
|
15
15
|
The tool is executed via `npx`:
|
|
16
16
|
|
|
17
17
|
```bash
|
|
18
|
-
npx hello-
|
|
18
|
+
npx hello-aiwf
|
|
19
19
|
```
|
|
20
20
|
|
|
21
21
|
### Key Features
|
|
22
22
|
|
|
23
23
|
1. **Creates Directory Structure**:
|
|
24
24
|
|
|
25
|
-
- Initializes the `.
|
|
26
|
-
- Sets up the `.claude/commands/
|
|
25
|
+
- Initializes the `.aiwf/` directory with standardized subdirectories for documents, requirements, sprints, and more.
|
|
26
|
+
- Sets up the `.claude/commands/aiwf/` directory for custom Claude commands.
|
|
27
27
|
|
|
28
28
|
2. **Fetches from GitHub**:
|
|
29
29
|
|
|
30
|
-
- Downloads the latest framework files from the `
|
|
31
|
-
- Specifically, it sources files from the `claude-code/
|
|
30
|
+
- Downloads the latest framework files from the `aiwf/aiwf` repository on GitHub.
|
|
31
|
+
- Specifically, it sources files from the `claude-code/aiwf/` subdirectory.
|
|
32
32
|
- Installs commands, documentation templates, and the project manifest.
|
|
33
33
|
|
|
34
34
|
3. **Handles Existing Installations**:
|
|
35
35
|
|
|
36
|
-
- Detects if a
|
|
36
|
+
- Detects if a AIWF framework is already present.
|
|
37
37
|
- Prompts the user to **Update**, **Skip**, or **Cancel**.
|
|
38
38
|
- The update process preserves user-created files (tasks, sprints) while updating command scripts and `CLAUDE.md` documents.
|
|
39
39
|
- Automatically backs up overwritten files with a `.bak` extension.
|
|
@@ -72,7 +72,7 @@ aiwf/
|
|
|
72
72
|
├── claude-code/
|
|
73
73
|
│ ├── docker/
|
|
74
74
|
│ │ └── Dockerfile
|
|
75
|
-
│ ├──
|
|
75
|
+
│ ├── aiwf/
|
|
76
76
|
│ └── simone/
|
|
77
77
|
│ ├── CHANGELOG.md
|
|
78
78
|
│ ├── LICENSE
|
|
@@ -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 연동은 전 과정에서 선택적**이며, 미사용 시에도 동시 편집 차단·진척률 통계 등 핵심 기능은 그대로 제공됩니다.
|