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.
- package/AI-WORKFLOW.md +285 -0
- package/CHANGELOG.md +1 -0
- package/COMMANDS_GUIDE.md +462 -0
- package/LICENSE +21 -0
- package/PRD.ko.md +96 -0
- package/PRD.md +98 -0
- package/README.ko.md +115 -0
- package/README.md +117 -0
- package/claude-code/docker/Dockerfile +117 -0
- package/claude-code/simone/.simone/00_PROJECT_MANIFEST.md +49 -0
- package/claude-code/simone/.simone/01_PROJECT_DOCS/ARCHITECTURE.md +55 -0
- package/claude-code/simone/.simone/02_REQUIREMENTS/CLAUDE.md +78 -0
- package/claude-code/simone/.simone/02_REQUIREMENTS/M01_Backend_Setup/M01_milestone_meta.md +38 -0
- package/claude-code/simone/.simone/02_REQUIREMENTS/M01_Backend_Setup/PRD_AMEND_01_Auth_Flow_Update.md +69 -0
- package/claude-code/simone/.simone/02_REQUIREMENTS/M01_Backend_Setup/PRD_Backend_Setup.md +98 -0
- package/claude-code/simone/.simone/02_REQUIREMENTS/M01_Backend_Setup/SPECS_API_V1.md +232 -0
- package/claude-code/simone/.simone/03_SPRINTS/CLAUDE.MD +62 -0
- package/claude-code/simone/.simone/03_SPRINTS/S01_M01_Initial_API/S01_sprint_meta.md +42 -0
- package/claude-code/simone/.simone/03_SPRINTS/S01_M01_Initial_API/T01_S01_Setup_Project_Structure.md +56 -0
- package/claude-code/simone/.simone/04_GENERAL_TASKS/CLAUDE.MD +51 -0
- package/claude-code/simone/.simone/04_GENERAL_TASKS/T002_API_Rate_Limiting.md +49 -0
- package/claude-code/simone/.simone/04_GENERAL_TASKS/TX001_Refactor_Logging_Module.md +53 -0
- package/claude-code/simone/.simone/05_ARCHITECTURAL_DECISIONS/ADR001_Chosen_Database_System.md +113 -0
- package/claude-code/simone/.simone/05_ARCHITECTURAL_DECISIONS/ADR002_API_Authentication_Method.md +118 -0
- package/claude-code/simone/.simone/99_TEMPLATES/adr_template.md +49 -0
- package/claude-code/simone/.simone/99_TEMPLATES/milestone_meta_template.md +25 -0
- package/claude-code/simone/.simone/99_TEMPLATES/project_manifest_template.md +39 -0
- package/claude-code/simone/.simone/99_TEMPLATES/sprint_meta_template.md +23 -0
- package/claude-code/simone/.simone/99_TEMPLATES/task_template.md +35 -0
- package/claude-code/simone/.simone/CLAUDE.MD +65 -0
- package/claude-code/simone/.simone/README.md +97 -0
- package/claude-code/simone/CHANGELOG.md +71 -0
- package/claude-code/simone/LICENSE +21 -0
- package/claude-code/simone/README.md +219 -0
- package/claude-code/simone/SYNC_GUIDE.md +172 -0
- package/claude-code/simone/sync-simone.sh +138 -0
- package/index.js +468 -0
- package/package.json +38 -0
- package/rules/global/code-style-guide.md +30 -0
- package/rules/global/coding-principles.md +33 -0
- package/rules/global/development-process.md +41 -0
- package/rules/global/global-rules.md +84 -0
- 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)
|