aiwf 0.1.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.
Files changed (43) hide show
  1. package/AI-WORKFLOW.md +285 -0
  2. package/CHANGELOG.md +1 -0
  3. package/COMMANDS_GUIDE.md +462 -0
  4. package/LICENSE +21 -0
  5. package/PRD.ko.md +96 -0
  6. package/PRD.md +98 -0
  7. package/README.ko.md +115 -0
  8. package/README.md +117 -0
  9. package/claude-code/docker/Dockerfile +117 -0
  10. package/claude-code/simone/.simone/00_PROJECT_MANIFEST.md +49 -0
  11. package/claude-code/simone/.simone/01_PROJECT_DOCS/ARCHITECTURE.md +55 -0
  12. package/claude-code/simone/.simone/02_REQUIREMENTS/CLAUDE.md +78 -0
  13. package/claude-code/simone/.simone/02_REQUIREMENTS/M01_Backend_Setup/M01_milestone_meta.md +38 -0
  14. package/claude-code/simone/.simone/02_REQUIREMENTS/M01_Backend_Setup/PRD_AMEND_01_Auth_Flow_Update.md +69 -0
  15. package/claude-code/simone/.simone/02_REQUIREMENTS/M01_Backend_Setup/PRD_Backend_Setup.md +98 -0
  16. package/claude-code/simone/.simone/02_REQUIREMENTS/M01_Backend_Setup/SPECS_API_V1.md +232 -0
  17. package/claude-code/simone/.simone/03_SPRINTS/CLAUDE.MD +62 -0
  18. package/claude-code/simone/.simone/03_SPRINTS/S01_M01_Initial_API/S01_sprint_meta.md +42 -0
  19. package/claude-code/simone/.simone/03_SPRINTS/S01_M01_Initial_API/T01_S01_Setup_Project_Structure.md +56 -0
  20. package/claude-code/simone/.simone/04_GENERAL_TASKS/CLAUDE.MD +51 -0
  21. package/claude-code/simone/.simone/04_GENERAL_TASKS/T002_API_Rate_Limiting.md +49 -0
  22. package/claude-code/simone/.simone/04_GENERAL_TASKS/TX001_Refactor_Logging_Module.md +53 -0
  23. package/claude-code/simone/.simone/05_ARCHITECTURAL_DECISIONS/ADR001_Chosen_Database_System.md +113 -0
  24. package/claude-code/simone/.simone/05_ARCHITECTURAL_DECISIONS/ADR002_API_Authentication_Method.md +118 -0
  25. package/claude-code/simone/.simone/99_TEMPLATES/adr_template.md +49 -0
  26. package/claude-code/simone/.simone/99_TEMPLATES/milestone_meta_template.md +25 -0
  27. package/claude-code/simone/.simone/99_TEMPLATES/project_manifest_template.md +39 -0
  28. package/claude-code/simone/.simone/99_TEMPLATES/sprint_meta_template.md +23 -0
  29. package/claude-code/simone/.simone/99_TEMPLATES/task_template.md +35 -0
  30. package/claude-code/simone/.simone/CLAUDE.MD +65 -0
  31. package/claude-code/simone/.simone/README.md +97 -0
  32. package/claude-code/simone/CHANGELOG.md +71 -0
  33. package/claude-code/simone/LICENSE +21 -0
  34. package/claude-code/simone/README.md +219 -0
  35. package/claude-code/simone/SYNC_GUIDE.md +172 -0
  36. package/claude-code/simone/sync-simone.sh +138 -0
  37. package/index.js +468 -0
  38. package/package.json +38 -0
  39. package/rules/global/code-style-guide.md +30 -0
  40. package/rules/global/coding-principles.md +33 -0
  41. package/rules/global/development-process.md +41 -0
  42. package/rules/global/global-rules.md +84 -0
  43. package/rules/manual/generate-plan-docs.md +280 -0
package/README.ko.md ADDED
@@ -0,0 +1,115 @@
1
+ # aiwf
2
+
3
+ 이 프로젝트는 [Simone](https://github.com/Helmi/claude-simone)의 업데이트된 버전입니다.
4
+
5
+ > 🚀 Claude Code용 Moonklabs 프로젝트 관리 프레임워크를 위한 빠른 설치 프로그램
6
+
7
+ ## Moonklabs Framework란 무엇인가요?
8
+
9
+ Moonklabs는 Claude Code를 사용한 AI 지원 개발을 위해 특별히 설계된 마크다운 기반 프로젝트 관리 프레임워크입니다. 소프트웨어 프로젝트를 관리 가능한 덩어리로 나누어 효과적인 AI 처리를 돕습니다.
10
+
11
+ ## 설치
12
+
13
+ 모든 프로젝트 디렉토리에 Moonklabs를 설치하세요:
14
+
15
+ ```bash
16
+ npx aiwf
17
+ ```
18
+
19
+ 이것으로 끝입니다! 설치 프로그램은 다음을 수행합니다:
20
+
21
+ - 프로젝트 관리를 위한 `.moonklabs/` 디렉토리 구조 생성
22
+ - 사용자 지정 Claude 명령어를 위한 `.claude/commands/moonklabs/` 설정
23
+ - 최신 템플릿 및 문서 다운로드
24
+
25
+ ## 사용법
26
+
27
+ ### 첫 설치
28
+
29
+ ```bash
30
+ npx aiwf
31
+ ```
32
+
33
+ ### 기존 설치 업데이트
34
+
35
+ Moonklabs가 이미 설치된 경우, 설치 프로그램이 이를 감지하고 다음 옵션을 제공합니다:
36
+
37
+ - 업데이트 (자동 백업 포함)
38
+ - 설치 건너뛰기
39
+ - 취소
40
+
41
+ ### 강제 설치
42
+
43
+ 모든 프롬프트를 건너뛰고 강제로 설치합니다:
44
+
45
+ ```bash
46
+ npx aiwf --force
47
+ ```
48
+
49
+ ## 설치되는 항목
50
+
51
+ ```
52
+ aiwf/
53
+ ├── AI-WORKFLOW.md
54
+ ├── CHANGELOG.md
55
+ ├── claude-code/
56
+ │ ├── docker/
57
+ │ │ └── Dockerfile
58
+ │ ├── moonklabs/
59
+ │ └── simone/
60
+ │ ├── CHANGELOG.md
61
+ │ ├── LICENSE
62
+ │ ├── README.md
63
+ │ ├── SYNC_GUIDE.md
64
+ │ └── sync-simone.sh
65
+ ├── COMMANDS_GUIDE.md
66
+ ├── LICENSE
67
+ ├── package-lock.json
68
+ ├── package.json
69
+ ├── PRD.ko.md
70
+ ├── PRD.md
71
+ ├── README.ko.md
72
+ ├── README.md
73
+ └── rules/
74
+ ├── global/
75
+ │ ├── code-style-guide.md
76
+ │ ├── coding-principles.md
77
+ │ ├── development-process.md
78
+ │ └── global-rules.md
79
+ └── manual/
80
+ └── generate-plan-docs.md
81
+ ```
82
+
83
+ ## 다음 단계
84
+
85
+ 설치 후:
86
+
87
+ 1. Claude Code에서 프로젝트를 엽니다
88
+ 2. `/project:moonklabs` 명령어를 사용하여 프로젝트를 관리합니다
89
+ 3. `/project:moonklabs:initialize`로 시작하여 프로젝트를 설정합니다
90
+
91
+ ## 명령어 가이드
92
+
93
+ Moonklabs의 전체 명령어 목록과 자세한 사용법은 [COMMANDS_GUIDE.md](COMMANDS_GUIDE.md) 문서를 참고하세요.
94
+
95
+ ## 특징
96
+
97
+ - 🎨 색상과 진행 표시기가 있는 아름다운 CLI
98
+ - 🔄 자동 백업 기능이 있는 스마트 업데이트 감지
99
+ - 📦 공식 GitHub 리포지토리에서 직접 다운로드
100
+ - 🚀 `npx`로 작동 - 전역 설치 필요 없음
101
+ - 💾 업데이트 시 타임스탬프가 찍힌 백업 생성
102
+
103
+ ## 요구사항
104
+
105
+ - Node.js 14.0.0 이상
106
+ - GitHub에서 다운로드하기 위한 인터넷 연결
107
+
108
+ ## 소스
109
+
110
+ 이 설치 프로그램은 다음에서 Moonklabs 프레임워크를 가져옵니다:
111
+ https://github.com/moonklabs/aiwf
112
+
113
+ ## 라이선스
114
+
115
+ MIT
package/README.md ADDED
@@ -0,0 +1,117 @@
1
+ [Read in Korean (한국어로 보기)](README.ko.md)
2
+
3
+ # aiwf
4
+
5
+ This project is an updated version of [Simone](https://github.com/Helmi/claude-simone).
6
+
7
+ > 🚀 Quick installer for the Moonklabs project management framework for Claude Code
8
+
9
+ ## What is Moonklabs?
10
+
11
+ Moonklabs is a markdown-based project management framework designed specifically for AI-assisted development with Claude Code. It helps break down software projects into manageable chunks for effective AI handling.
12
+
13
+ ## Installation
14
+
15
+ Install Moonklabs in any project directory:
16
+
17
+ ```bash
18
+ npx aiwf
19
+ ```
20
+
21
+ That's it! The installer will:
22
+
23
+ - Create the `.moonklabs/` directory structure for project management
24
+ - Set up `.claude/commands/moonklabs/` for custom Claude commands
25
+ - Download the latest templates and documentation
26
+
27
+ ## Usage
28
+
29
+ ### First Time Installation
30
+
31
+ ```bash
32
+ npx aiwf
33
+ ```
34
+
35
+ ### Update Existing Installation
36
+
37
+ If Moonklabs is already installed, the installer will detect it and offer options to:
38
+
39
+ - Update (with automatic backup)
40
+ - Skip installation
41
+ - Cancel
42
+
43
+ ### Force Installation
44
+
45
+ Skip all prompts and force installation:
46
+
47
+ ```bash
48
+ npx aiwf --force
49
+ ```
50
+
51
+ ## What Gets Installed
52
+
53
+ ```
54
+ aiwf/
55
+ ├── AI-WORKFLOW.md
56
+ ├── CHANGELOG.md
57
+ ├── claude-code/
58
+ │ ├── docker/
59
+ │ │ └── Dockerfile
60
+ │ ├── moonklabs/
61
+ │ └── simone/
62
+ │ ├── CHANGELOG.md
63
+ │ ├── LICENSE
64
+ │ ├── README.md
65
+ │ ├── SYNC_GUIDE.md
66
+ │ └── sync-simone.sh
67
+ ├── COMMANDS_GUIDE.md
68
+ ├── LICENSE
69
+ ├── package-lock.json
70
+ ├── package.json
71
+ ├── PRD.ko.md
72
+ ├── PRD.md
73
+ ├── README.ko.md
74
+ ├── README.md
75
+ └── rules/
76
+ ├── global/
77
+ │ ├── code-style-guide.md
78
+ │ ├── coding-principles.md
79
+ │ ├── development-process.md
80
+ │ └── global-rules.md
81
+ └── manual/
82
+ └── generate-plan-docs.md
83
+ ```
84
+
85
+ ## Next Steps
86
+
87
+ After installation:
88
+
89
+ 1. Open your project in Claude Code
90
+ 2. Use `/project:moonklabs` commands to manage your project
91
+ 3. Start with `/project:moonklabs:initialize` to set up your project
92
+
93
+ ## Command Reference
94
+
95
+ For a full list of available Moonklabs commands and detailed usage, see [COMMANDS_GUIDE.md](COMMANDS_GUIDE.md).
96
+
97
+ ## Features
98
+
99
+ - 🎨 Beautiful CLI with colors and progress indicators
100
+ - 🔄 Smart update detection with automatic backups
101
+ - 📦 Downloads directly from the official GitHub repository
102
+ - 🚀 Works with `npx` - no global installation needed
103
+ - 💾 Creates timestamped backups when updating
104
+
105
+ ## Requirements
106
+
107
+ - Node.js 14.0.0 or higher
108
+ - Internet connection to download from GitHub
109
+
110
+ ## Source
111
+
112
+ This installer fetches the Moonklabs framework from:
113
+ https://github.com/moonklabs/aiwf
114
+
115
+ ## License
116
+
117
+ MIT
@@ -0,0 +1,117 @@
1
+ FROM node:20
2
+
3
+ ARG TZ
4
+ ENV TZ="$TZ"
5
+ ARG SANDBOX_NAME="ai-code-sandbox"
6
+ ARG CLI_VERSION_ARG
7
+ ENV SANDBOX="$SANDBOX_NAME"
8
+ ENV CLI_VERSION=$CLI_VERSION_ARG
9
+
10
+ # Install basic development tools and iptables/ipset
11
+ RUN apt update && apt install -y less \
12
+ git \
13
+ procps \
14
+ sudo \
15
+ fzf \
16
+ zsh \
17
+ man-db \
18
+ unzip \
19
+ gnupg2 \
20
+ gh \
21
+ iptables \
22
+ ipset \
23
+ iproute2 \
24
+ dnsutils \
25
+ aggregate \
26
+ jq \
27
+ ripgrep \
28
+ nano \
29
+ python3 \
30
+ make \
31
+ g++ \
32
+ curl \
33
+ bc \
34
+ git \
35
+ rsync \
36
+ psmisc \
37
+ lsof \
38
+ socat \
39
+ neovim \
40
+ fasd \
41
+ ca-certificates \
42
+ && apt-get clean \
43
+ && rm -rf /var/lib/apt/lists/*
44
+
45
+ # Ensure default node user has access to /usr/local/share
46
+ RUN mkdir -p /usr/local/share/npm-global && \
47
+ chown -R node:node /usr/local/share/npm-global && \
48
+ chown -R node:node /usr/local/share
49
+
50
+ ARG USERNAME=node
51
+
52
+ # Persist bash history.
53
+ RUN SNIPPET="export PROMPT_COMMAND='history -a' && export HISTFILE=/commandhistory/.bash_history" \
54
+ && mkdir /commandhistory \
55
+ && touch /commandhistory/.bash_history \
56
+ && chown -R $USERNAME /commandhistory
57
+
58
+ # Set `DEVCONTAINER` environment variable to help with orientation
59
+ ENV DEVCONTAINER=true
60
+
61
+ # Create workspace and config directories and set permissions
62
+ RUN mkdir -p /workspace /home/node/.claude && \
63
+ chown -R node:node /workspace /home/node/.claude
64
+
65
+ WORKDIR /workspace
66
+
67
+ RUN ARCH=$(dpkg --print-architecture) && \
68
+ wget "https://github.com/dandavison/delta/releases/download/0.18.2/git-delta_0.18.2_${ARCH}.deb" && \
69
+ sudo dpkg -i "git-delta_0.18.2_${ARCH}.deb" && \
70
+ rm "git-delta_0.18.2_${ARCH}.deb"
71
+
72
+ # Set up non-root user
73
+ USER node
74
+
75
+ # Install global packages
76
+ ENV NPM_CONFIG_PREFIX=/usr/local/share/npm-global
77
+ ENV PATH=$PATH:/usr/local/share/npm-global/bin
78
+
79
+ # Set the default shell to bash rather than sh
80
+ ENV SHELL /bin/zsh
81
+
82
+ # Default powerline10k theme
83
+ RUN sh -c "$(wget -O- https://github.com/deluan/zsh-in-docker/releases/download/v1.2.0/zsh-in-docker.sh)" -- \
84
+ -p git \
85
+ -p fzf \
86
+ -p fasd \
87
+ -p zsh-autosuggestions \
88
+ -p zsh-syntax-highlighting \
89
+ -a "source /usr/share/doc/fzf/examples/key-bindings.zsh" \
90
+ -a "source /usr/share/doc/fzf/examples/completion.zsh" \
91
+ -a "export PROMPT_COMMAND='history -a' && export HISTFILE=/commandhistory/.bash_history" \
92
+ -x
93
+
94
+ # Install Claude
95
+ RUN npm install -g @anthropic-ai/claude-code
96
+
97
+ # Setup Claude config
98
+ RUN mkdir ~/.claude-code.config && \
99
+ echo "{}" > ~/.claude-code.config/.claude.json && \
100
+ ln -sf ~/.claude-code.config/.claude.json ~/.claude.json
101
+
102
+ # Install Gemini
103
+ RUN npm install -g @google/gemini-cli
104
+
105
+ # Install Taskmaster
106
+ RUN npm install -g task-master-ai
107
+
108
+ RUN echo "alias tm='task-master'" >> ~/.zshrc
109
+ RUN echo "export GOOGLE_CLOUD_PROJECT="sellerking"" >> ~/.zshrc
110
+
111
+ # Copy and set up firewall script
112
+ # COPY init-firewall.sh /usr/local/bin/
113
+ # USER root
114
+ # RUN chmod +x /usr/local/bin/init-firewall.sh && \
115
+ # echo "node ALL=(root) NOPASSWD: /usr/local/bin/init-firewall.sh" > /etc/sudoers.d/node-firewall && \
116
+ # chmod 0440 /etc/sudoers.d/node-firewall
117
+ # USER node
@@ -0,0 +1,49 @@
1
+ ---
2
+ project_name: Your Project Name
3
+ current_milestone_id: M01
4
+ highest_sprint_in_milestone: S02
5
+ current_sprint_id: S01
6
+ status: active
7
+ last_updated: 2025-01-01 00:00:00
8
+ ---
9
+
10
+ # Project Manifest: Your Project Name
11
+
12
+ This manifest serves as the central reference point for the project. It tracks the current focus and links to key documentation.
13
+
14
+ ## 1. Project Vision & Overview
15
+
16
+ [Describe your project's core vision, purpose, and goals here. What problem does it solve? Who is it for? What makes it unique?]
17
+
18
+ This project follows a milestone-based development approach.
19
+
20
+ ## 2. Current Focus
21
+
22
+ - **Milestone:** M01 - [Your First Milestone Name]
23
+ - **Sprint:** S01 - [Current Sprint Focus]
24
+
25
+ ## 3. Sprints in Current Milestone
26
+
27
+ ### S01 [Sprint Name] (🚧 IN PROGRESS)
28
+
29
+ 🚧 [First deliverable or feature]
30
+ 📋 [Second deliverable or feature]
31
+ 📋 [Third deliverable or feature]
32
+
33
+ ### S02 [Sprint Name] (📋 PLANNED)
34
+
35
+ 📋 [First planned deliverable]
36
+ 📋 [Second planned deliverable]
37
+ 📋 [Third planned deliverable]
38
+
39
+ ## 4. Key Documentation
40
+
41
+ - [Architecture Documentation](./01_PROJECT_DOCS/ARCHITECTURE.md)
42
+ - [Current Milestone Requirements](./02_REQUIREMENTS/M01_[Milestone_Name]/)
43
+ - [General Tasks](./04_GENERAL_TASKS/)
44
+
45
+ ## 5. Quick Links
46
+
47
+ - **Current Sprint:** [S01 Sprint Folder](./03_SPRINTS/S01_M01_[Sprint_Name]/)
48
+ - **Active Tasks:** Check sprint folder for T##_S01_*.md files
49
+ - **Project Reviews:** [Latest Review](./10_STATE_OF_PROJECT/)
@@ -0,0 +1,55 @@
1
+ # Demo Project Architecture (EXAMPLE)
2
+
3
+ This document outlines the high-level architecture of the Demo Project. **This is an example document to demonstrate how architecture might be documented in the Simone framework.**
4
+
5
+ ## System Overview
6
+
7
+ This is a demonstration of how a system architecture document might be structured. In a real project, this would contain actual architectural details.
8
+
9
+ ## Technical Architecture (Example)
10
+
11
+ ### Backend
12
+
13
+ - **API Layer**: Node.js with Express.js
14
+ - **Database**: MongoDB for primary data storage
15
+ - **Authentication**: JWT-based authentication with OAuth support
16
+ - **Caching**: Redis for performance optimization
17
+ - **Testing**: Jest for unit and integration testing
18
+
19
+ ### Frontend
20
+
21
+ - **Web Client**: React.js with TypeScript
22
+ - **Mobile Apps**: React Native for iOS and Android
23
+ - **State Management**: Redux for predictable state
24
+ - **UI Framework**: Material-UI for consistent design
25
+
26
+ ## System Components (Example)
27
+
28
+ 1. **Authentication Service**: Handles user signup, login, and session management
29
+ 2. **Project Management Service**: Manages projects, teams, and permissions
30
+ 3. **Task Service**: Core task CRUD operations and business logic
31
+ 4. **Notification Service**: Manages user notifications and alerts
32
+ 5. **Analytics Service**: Provides usage statistics and reporting
33
+
34
+ ## Data Flow (Example)
35
+
36
+ 1. Clients authenticate through the Authentication Service
37
+ 2. Authenticated requests are routed to the appropriate service
38
+ 3. Services interact with the database and return responses
39
+ 4. Real-time updates are pushed to clients via WebSockets
40
+
41
+ ## Deployment Architecture (Example)
42
+
43
+ The system is deployed using containerization with Docker and Kubernetes, providing:
44
+
45
+ - Horizontal scalability for handling load spikes
46
+ - High availability through multiple replicas
47
+ - Zero-downtime deployments
48
+ - Environment isolation (development, staging, production)
49
+
50
+ ## Security Considerations (Example)
51
+
52
+ - All API endpoints are protected with proper authentication
53
+ - Sensitive data is encrypted at rest and in transit
54
+ - Rate limiting is implemented to prevent abuse
55
+ - Regular security audits and penetration testing
@@ -0,0 +1,78 @@
1
+ # CLAUDE.md - Requirements Folder Structure Guide
2
+
3
+ ## Overview
4
+ This folder contains all project milestones and their associated requirements documentation. Each milestone represents a major project phase or feature set.
5
+
6
+ ## Milestone Naming Convention
7
+ **CRITICAL**: Milestone folders MUST follow this exact pattern:
8
+ ```
9
+ M##_Milestone_Name/
10
+ ```
11
+
12
+ - `M##` - Two-digit milestone number (M01, M02, etc.)
13
+ - `_` - Single underscore separator
14
+ - `Milestone_Name` - Descriptive name using underscores for spaces
15
+
16
+ ### Examples:
17
+ - ✅ `M01_Backend_Setup/`
18
+ - ✅ `M02_Frontend_UI/`
19
+ - ✅ `M03_Authentication_System/`
20
+ - ❌ `M1_Backend/` (missing leading zero)
21
+ - ❌ `M01-Backend-Setup/` (wrong separator)
22
+ - ❌ `Backend_Setup/` (missing M## prefix)
23
+
24
+ ## Milestone Structure
25
+ Each milestone folder MUST contain:
26
+
27
+ ### 1. Milestone Meta File (REQUIRED)
28
+ - **Name**: `M##_milestone_meta.md`
29
+ - **Purpose**: Contains milestone metadata and overview
30
+ - **Location**: Root of milestone folder
31
+
32
+ ### 2. Product Requirements Documents (PRD)
33
+ - **Pattern**: `PRD_*.md`
34
+ - **Examples**: `PRD_Backend_Setup.md`, `PRD_User_Authentication.md`
35
+ - **Purpose**: Define product requirements and user stories
36
+
37
+ ### 3. Technical Specifications
38
+ - **Pattern**: `SPECS_*.md`
39
+ - **Examples**: `SPECS_API_V1.md`, `SPECS_Database_Schema.md`
40
+ - **Purpose**: Technical implementation details
41
+
42
+ ### 4. Amendments (as needed)
43
+ - **Pattern**: `PRD_AMEND_##_*.md`
44
+ - **Examples**: `PRD_AMEND_01_Additional_Endpoints.md`
45
+ - **Purpose**: Document changes to original requirements
46
+
47
+ ## Example Structure
48
+ ```
49
+ 02_REQUIREMENTS/
50
+ ├── M01_Backend_Setup/
51
+ │ ├── M01_milestone_meta.md
52
+ │ ├── PRD_Backend_Setup.md
53
+ │ ├── SPECS_API_V1.md
54
+ │ └── PRD_AMEND_01_Cache_Layer.md
55
+ ├── M02_Frontend_UI/
56
+ │ ├── M02_milestone_meta.md
57
+ │ ├── PRD_User_Interface.md
58
+ │ └── SPECS_Component_Library.md
59
+ └── M03_Authentication_System/
60
+ ├── M03_milestone_meta.md
61
+ ├── PRD_Authentication.md
62
+ └── SPECS_OAuth_Integration.md
63
+ ```
64
+
65
+ ## Important Notes for Claude Code
66
+
67
+ 1. **Always use the M## prefix** when creating milestone folders
68
+ 2. **Use underscores** for spaces in milestone names
69
+ 3. **Create the milestone meta file first** using the template from `99_TEMPLATES/milestone_meta_template.md`
70
+ 4. **Update the project manifest** (`00_PROJECT_MANIFEST.md`) when creating new milestones
71
+ 5. **Maintain sequential numbering** - don't skip milestone numbers
72
+
73
+ ## Common Mistakes to Avoid
74
+ - Creating milestones without the M## prefix
75
+ - Using hyphens instead of underscores
76
+ - Forgetting the milestone meta file
77
+ - Not updating the project manifest
78
+ - Creating milestones in the wrong location (must be in 02_REQUIREMENTS)
@@ -0,0 +1,38 @@
1
+ ---
2
+ milestone_id: M01
3
+ title: Backend Setup
4
+ status: active # pending | active | completed | blocked | on_hold
5
+ last_updated: 2023-07-10
6
+ ---
7
+
8
+ # Milestone: Backend Setup (EXAMPLE)
9
+
10
+ ## Goals
11
+ This milestone focuses on establishing the core backend infrastructure for the project, including:
12
+
13
+ 1. Setting up the initial project structure
14
+ 2. Defining the database schema and models
15
+ 3. Implementing basic API endpoints
16
+ 4. Establishing authentication and authorization systems
17
+
18
+ ## Key Documents
19
+ - [Product Requirements Document](./PRD_Backend_Setup.md)
20
+ - [API Specifications V1](./SPECS_API_V1.md)
21
+ - [Auth Flow Update Amendment](./PRD_AMEND_01_Auth_Flow_Update.md)
22
+
23
+ ## Definition of Done (DoD)
24
+ This milestone will be considered complete when:
25
+
26
+ - The backend server can be started and responds to API requests
27
+ - All core models are defined and can be created/updated/deleted via the API
28
+ - Authentication is working with JWT tokens
29
+ - Basic error handling is implemented
30
+ - Integration tests are passing for all endpoints
31
+
32
+ ## Notes / Context
33
+ This is an example milestone document to demonstrate how milestones might be structured in a project using the Simone framework. The backend infrastructure established here would be the foundation for a typical web application.
34
+
35
+ ## Related Sprints
36
+
37
+ - [S01_M01_Initial_API](../../03_SPRINTS/S01_M01_Initial_API/S01_sprint_meta.md)
38
+ - [S02_M01_Database_Integration](../../03_SPRINTS/S02_M01_Database_Integration/S02_sprint_meta.md)
@@ -0,0 +1,69 @@
1
+ # Amendment: Auth Flow Update (EXAMPLE)
2
+
3
+ ## Date: 2023-05-17
4
+
5
+ ## Overview
6
+
7
+ This amendment updates the authentication flow requirements to incorporate OAuth 2.0 support for social logins in addition to the existing email/password authentication.
8
+
9
+ **Note: This is an example amendment document to demonstrate how requirement changes might be tracked in the Simone framework.**
10
+
11
+ ## Changes to Product Requirements
12
+
13
+ ### User Management (FR-1)
14
+
15
+ **Added Requirements:**
16
+
17
+ - FR-1.6: The system shall allow users to register and log in using Google OAuth
18
+ - FR-1.7: The system shall allow users to register and log in using GitHub OAuth
19
+ - FR-1.8: The system shall link social login accounts with existing email accounts when the email matches
20
+
21
+ ### Data Models (FR-2)
22
+
23
+ **Updated FR-2.1 (User model):**
24
+
25
+ Add the following fields to the User model:
26
+ - `oauth_provider`: string (null, 'google', 'github')
27
+ - `oauth_id`: string (provider-specific user ID)
28
+
29
+ ### API Endpoints (FR-3)
30
+
31
+ **Added Endpoints to FR-3.1:**
32
+ - GET /api/auth/oauth/google (Redirect URL for Google OAuth)
33
+ - GET /api/auth/oauth/github (Redirect URL for GitHub OAuth)
34
+ - GET /api/auth/oauth/callback (OAuth provider callback)
35
+
36
+ ## Changes to Non-Functional Requirements
37
+
38
+ **Updated NFR-5:**
39
+ - NFR-5: The system shall implement JWT-based authentication with support for OAuth 2.0 providers
40
+
41
+ **Added NFR:**
42
+ - NFR-9: The system shall securely store OAuth provider credentials in environment variables
43
+
44
+ ## Implementation Impact
45
+
46
+ - Required libraries: `passport`, `passport-google-oauth20`, `passport-github2`
47
+ - Additional environment variables needed:
48
+ - `GOOGLE_CLIENT_ID`
49
+ - `GOOGLE_CLIENT_SECRET`
50
+ - `GITHUB_CLIENT_ID`
51
+ - `GITHUB_CLIENT_SECRET`
52
+ - `OAUTH_CALLBACK_URL`
53
+
54
+ ## Test Cases
55
+
56
+ - TC-1: User can log in with Google account
57
+ - TC-2: User can log in with GitHub account
58
+ - TC-3: Social login with matching email links to existing account
59
+ - TC-4: JWT token works correctly regardless of authentication method
60
+
61
+ ## Timeline Impact
62
+
63
+ Implementation of these changes is expected to add 3 days to the original timeline.
64
+
65
+ ## Approvals
66
+
67
+ - Requested by: Sarah Chen (Product Manager)
68
+ - Approved by: Mike Johnson (Technical Lead)
69
+ - Approved by: David Lee (Project Manager)