moai-adk 0.3.0__py3-none-any.whl
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.
Potentially problematic release.
This version of moai-adk might be problematic. Click here for more details.
- moai_adk/__init__.py +8 -0
- moai_adk/__main__.py +86 -0
- moai_adk/cli/__init__.py +2 -0
- moai_adk/cli/commands/__init__.py +16 -0
- moai_adk/cli/commands/backup.py +56 -0
- moai_adk/cli/commands/doctor.py +184 -0
- moai_adk/cli/commands/init.py +284 -0
- moai_adk/cli/commands/restore.py +77 -0
- moai_adk/cli/commands/status.py +79 -0
- moai_adk/cli/commands/update.py +133 -0
- moai_adk/cli/main.py +12 -0
- moai_adk/cli/prompts/__init__.py +5 -0
- moai_adk/cli/prompts/init_prompts.py +159 -0
- moai_adk/core/__init__.py +2 -0
- moai_adk/core/git/__init__.py +24 -0
- moai_adk/core/git/branch.py +26 -0
- moai_adk/core/git/branch_manager.py +137 -0
- moai_adk/core/git/checkpoint.py +140 -0
- moai_adk/core/git/commit.py +68 -0
- moai_adk/core/git/event_detector.py +81 -0
- moai_adk/core/git/manager.py +127 -0
- moai_adk/core/project/__init__.py +2 -0
- moai_adk/core/project/backup_utils.py +84 -0
- moai_adk/core/project/checker.py +302 -0
- moai_adk/core/project/detector.py +105 -0
- moai_adk/core/project/initializer.py +174 -0
- moai_adk/core/project/phase_executor.py +297 -0
- moai_adk/core/project/validator.py +118 -0
- moai_adk/core/quality/__init__.py +6 -0
- moai_adk/core/quality/trust_checker.py +441 -0
- moai_adk/core/quality/validators/__init__.py +6 -0
- moai_adk/core/quality/validators/base_validator.py +19 -0
- moai_adk/core/template/__init__.py +8 -0
- moai_adk/core/template/backup.py +95 -0
- moai_adk/core/template/config.py +95 -0
- moai_adk/core/template/languages.py +44 -0
- moai_adk/core/template/merger.py +117 -0
- moai_adk/core/template/processor.py +310 -0
- moai_adk/templates/.claude/agents/alfred/cc-manager.md +474 -0
- moai_adk/templates/.claude/agents/alfred/code-builder.md +534 -0
- moai_adk/templates/.claude/agents/alfred/debug-helper.md +302 -0
- moai_adk/templates/.claude/agents/alfred/doc-syncer.md +175 -0
- moai_adk/templates/.claude/agents/alfred/git-manager.md +200 -0
- moai_adk/templates/.claude/agents/alfred/project-manager.md +152 -0
- moai_adk/templates/.claude/agents/alfred/spec-builder.md +256 -0
- moai_adk/templates/.claude/agents/alfred/tag-agent.md +247 -0
- moai_adk/templates/.claude/agents/alfred/trust-checker.md +332 -0
- moai_adk/templates/.claude/commands/alfred/0-project.md +523 -0
- moai_adk/templates/.claude/commands/alfred/1-spec.md +531 -0
- moai_adk/templates/.claude/commands/alfred/2-build.md +413 -0
- moai_adk/templates/.claude/commands/alfred/3-sync.md +552 -0
- moai_adk/templates/.claude/hooks/alfred/README.md +238 -0
- moai_adk/templates/.claude/hooks/alfred/alfred_hooks.py +165 -0
- moai_adk/templates/.claude/hooks/alfred/core/__init__.py +79 -0
- moai_adk/templates/.claude/hooks/alfred/core/checkpoint.py +271 -0
- moai_adk/templates/.claude/hooks/alfred/core/context.py +110 -0
- moai_adk/templates/.claude/hooks/alfred/core/project.py +284 -0
- moai_adk/templates/.claude/hooks/alfred/core/tags.py +244 -0
- moai_adk/templates/.claude/hooks/alfred/handlers/__init__.py +23 -0
- moai_adk/templates/.claude/hooks/alfred/handlers/compact.py +51 -0
- moai_adk/templates/.claude/hooks/alfred/handlers/notification.py +25 -0
- moai_adk/templates/.claude/hooks/alfred/handlers/session.py +80 -0
- moai_adk/templates/.claude/hooks/alfred/handlers/tool.py +71 -0
- moai_adk/templates/.claude/hooks/alfred/handlers/user.py +41 -0
- moai_adk/templates/.claude/output-styles/alfred/agentic-coding.md +635 -0
- moai_adk/templates/.claude/output-styles/alfred/moai-adk-learning.md +691 -0
- moai_adk/templates/.claude/output-styles/alfred/study-with-alfred.md +469 -0
- moai_adk/templates/.claude/settings.json +135 -0
- moai_adk/templates/.github/PULL_REQUEST_TEMPLATE.md +68 -0
- moai_adk/templates/.github/workflows/moai-gitflow.yml +255 -0
- moai_adk/templates/.gitignore +41 -0
- moai_adk/templates/.moai/config.json +89 -0
- moai_adk/templates/.moai/memory/development-guide.md +367 -0
- moai_adk/templates/.moai/memory/spec-metadata.md +277 -0
- moai_adk/templates/.moai/project/product.md +121 -0
- moai_adk/templates/.moai/project/structure.md +150 -0
- moai_adk/templates/.moai/project/tech.md +221 -0
- moai_adk/templates/CLAUDE.md +733 -0
- moai_adk/templates/__init__.py +2 -0
- moai_adk/utils/__init__.py +8 -0
- moai_adk/utils/banner.py +42 -0
- moai_adk/utils/logger.py +152 -0
- moai_adk-0.3.0.dist-info/METADATA +20 -0
- moai_adk-0.3.0.dist-info/RECORD +87 -0
- moai_adk-0.3.0.dist-info/WHEEL +4 -0
- moai_adk-0.3.0.dist-info/entry_points.txt +2 -0
- moai_adk-0.3.0.dist-info/licenses/LICENSE +21 -0
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
name: MoAI-ADK GitFlow μλν
|
|
2
|
+
|
|
3
|
+
# MoAI-ADK 3λ¨κ³ νμ΄νλΌμΈ: spec β build β sync
|
|
4
|
+
# GitFlow μμ ν¬λͺ
μ± - κ°λ°μκ° Gitμ λͺ°λΌλ λλ μλν
|
|
5
|
+
|
|
6
|
+
on:
|
|
7
|
+
push:
|
|
8
|
+
branches: [develop, "feature/**"]
|
|
9
|
+
pull_request:
|
|
10
|
+
types: [opened, ready_for_review, converted_to_draft]
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
moai-pipeline:
|
|
14
|
+
name: πΏ MoAI-ADK νμ΄νλΌμΈ
|
|
15
|
+
runs-on: ubuntu-latest
|
|
16
|
+
steps:
|
|
17
|
+
- name: 체ν¬μμ
|
|
18
|
+
uses: actions/checkout@v4
|
|
19
|
+
|
|
20
|
+
# Multi-language toolchains (conditional)
|
|
21
|
+
- name: Setup Python
|
|
22
|
+
if: ${{ hashFiles('requirements.txt') != '' || hashFiles('pyproject.toml') != '' || hashFiles('setup.py') != '' }}
|
|
23
|
+
uses: actions/setup-python@v5
|
|
24
|
+
with:
|
|
25
|
+
python-version: "3.13"
|
|
26
|
+
|
|
27
|
+
- name: Setup Node.js
|
|
28
|
+
if: ${{ hashFiles('package.json') != '' }}
|
|
29
|
+
uses: actions/setup-node@v4
|
|
30
|
+
with:
|
|
31
|
+
node-version: "22"
|
|
32
|
+
|
|
33
|
+
- name: Setup Bun
|
|
34
|
+
if: ${{ hashFiles('bun.lockb') != '' }}
|
|
35
|
+
uses: oven-sh/setup-bun@v2
|
|
36
|
+
with:
|
|
37
|
+
bun-version: "latest"
|
|
38
|
+
|
|
39
|
+
- name: Setup Go
|
|
40
|
+
if: ${{ hashFiles('go.mod') != '' }}
|
|
41
|
+
uses: actions/setup-go@v5
|
|
42
|
+
with:
|
|
43
|
+
go-version: "1.23"
|
|
44
|
+
|
|
45
|
+
- name: Setup Rust
|
|
46
|
+
if: ${{ hashFiles('Cargo.toml') != '' }}
|
|
47
|
+
uses: dtolnay/rust-toolchain@stable
|
|
48
|
+
|
|
49
|
+
- name: Setup Java
|
|
50
|
+
if: ${{ hashFiles('pom.xml') != '' || hashFiles('build.gradle') != '' || hashFiles('build.gradle.kts') != '' }}
|
|
51
|
+
uses: actions/setup-java@v4
|
|
52
|
+
with:
|
|
53
|
+
distribution: "temurin"
|
|
54
|
+
java-version: "21"
|
|
55
|
+
|
|
56
|
+
- name: Setup .NET
|
|
57
|
+
if: ${{ hashFiles('**/*.sln') != '' || hashFiles('**/*.csproj') != '' }}
|
|
58
|
+
uses: actions/setup-dotnet@v4
|
|
59
|
+
with:
|
|
60
|
+
dotnet-version: "8.0.x"
|
|
61
|
+
|
|
62
|
+
- name: Setup Ruby
|
|
63
|
+
if: ${{ hashFiles('Gemfile') != '' }}
|
|
64
|
+
uses: ruby/setup-ruby@v1
|
|
65
|
+
with:
|
|
66
|
+
ruby-version: "3.3"
|
|
67
|
+
bundler-cache: true
|
|
68
|
+
|
|
69
|
+
- name: Setup Flutter
|
|
70
|
+
if: ${{ hashFiles('pubspec.yaml') != '' }}
|
|
71
|
+
uses: subosito/flutter-action@v2
|
|
72
|
+
with:
|
|
73
|
+
flutter-version: "3.24.x"
|
|
74
|
+
channel: "stable"
|
|
75
|
+
|
|
76
|
+
- name: Setup Swift (Xcode)
|
|
77
|
+
if: ${{ hashFiles('Package.swift') != '' || hashFiles('**/*.xcodeproj') != '' || hashFiles('**/*.xcworkspace') != '' }}
|
|
78
|
+
uses: maxim-lobanov/setup-xcode@v1
|
|
79
|
+
with:
|
|
80
|
+
xcode-version: "latest-stable"
|
|
81
|
+
|
|
82
|
+
- name: Setup Kotlin
|
|
83
|
+
if: ${{ hashFiles('build.gradle.kts') != '' || hashFiles('settings.gradle.kts') != '' }}
|
|
84
|
+
uses: actions/setup-java@v4
|
|
85
|
+
with:
|
|
86
|
+
distribution: "temurin"
|
|
87
|
+
java-version: "21"
|
|
88
|
+
|
|
89
|
+
# TRUST 5μμΉ μλ κ²μ¦
|
|
90
|
+
# Note: Validation is now handled by TypeScript-based tools
|
|
91
|
+
- name: π§ TRUST 5μμΉ κ²μ¦
|
|
92
|
+
run: |
|
|
93
|
+
echo "β
TRUST μμΉ κ²μ¦μ TypeScript κΈ°λ° λκ΅¬λ‘ μνλ©λλ€"
|
|
94
|
+
echo " - @agent-trust-checker μ¬μ©"
|
|
95
|
+
echo " - TypeScript ν
μμ€ν
νμ©"
|
|
96
|
+
|
|
97
|
+
# Draft PRμμλ ν
μ€νΈ μ€ν¨λ₯Ό 무μνκ³ , Ready PRμμλ μ€ν¨ μ CI μ€ν¨
|
|
98
|
+
- name: Run language-aware tests
|
|
99
|
+
run: |
|
|
100
|
+
set -e
|
|
101
|
+
ALLOW_FAILURE="${{ github.event.pull_request.draft == true }}"
|
|
102
|
+
echo "π Running language-aware tests (Draft PR: allow failure = $ALLOW_FAILURE)"
|
|
103
|
+
|
|
104
|
+
# Python tests
|
|
105
|
+
if [ -f "requirements.txt" ] || [ -f "pyproject.toml" ] || [ -f "setup.py" ]; then
|
|
106
|
+
echo "β‘οΈ Python tests"
|
|
107
|
+
pip install -q pytest pytest-cov 2>/dev/null || true
|
|
108
|
+
if [ "$ALLOW_FAILURE" = "true" ]; then
|
|
109
|
+
pytest --cov --cov-report=term-missing || true
|
|
110
|
+
else
|
|
111
|
+
pytest --cov --cov-report=term-missing
|
|
112
|
+
fi
|
|
113
|
+
fi
|
|
114
|
+
|
|
115
|
+
# Node.js/Bun tests
|
|
116
|
+
if [ -f "package.json" ]; then
|
|
117
|
+
echo "β‘οΈ Node.js/Bun tests"
|
|
118
|
+
if [ -f "bun.lockb" ]; then
|
|
119
|
+
bun install --frozen-lockfile || bun install
|
|
120
|
+
if [ "$ALLOW_FAILURE" = "true" ]; then
|
|
121
|
+
bun test || true
|
|
122
|
+
else
|
|
123
|
+
bun test
|
|
124
|
+
fi
|
|
125
|
+
else
|
|
126
|
+
npm ci --prefer-offline || npm install
|
|
127
|
+
if [ "$ALLOW_FAILURE" = "true" ]; then
|
|
128
|
+
npm test --if-present -- --coverage || true
|
|
129
|
+
else
|
|
130
|
+
npm test --if-present -- --coverage
|
|
131
|
+
fi
|
|
132
|
+
fi
|
|
133
|
+
fi
|
|
134
|
+
|
|
135
|
+
# Go tests
|
|
136
|
+
if [ -f "go.mod" ]; then
|
|
137
|
+
echo "β‘οΈ Go tests"
|
|
138
|
+
if [ "$ALLOW_FAILURE" = "true" ]; then
|
|
139
|
+
go test -v -cover ./... || true
|
|
140
|
+
else
|
|
141
|
+
go test -v -cover ./...
|
|
142
|
+
fi
|
|
143
|
+
fi
|
|
144
|
+
|
|
145
|
+
# Rust tests
|
|
146
|
+
if [ -f "Cargo.toml" ]; then
|
|
147
|
+
echo "β‘οΈ Rust tests"
|
|
148
|
+
if [ "$ALLOW_FAILURE" = "true" ]; then
|
|
149
|
+
cargo test --all --locked || cargo test || true
|
|
150
|
+
else
|
|
151
|
+
cargo test --all --locked || cargo test
|
|
152
|
+
fi
|
|
153
|
+
fi
|
|
154
|
+
|
|
155
|
+
# Java tests (Maven)
|
|
156
|
+
if [ -f "pom.xml" ]; then
|
|
157
|
+
echo "β‘οΈ Java tests (Maven)"
|
|
158
|
+
if [ "$ALLOW_FAILURE" = "true" ]; then
|
|
159
|
+
mvn -q -DskipTests=false test || true
|
|
160
|
+
else
|
|
161
|
+
mvn -q -DskipTests=false test
|
|
162
|
+
fi
|
|
163
|
+
fi
|
|
164
|
+
|
|
165
|
+
# Java/Kotlin tests (Gradle)
|
|
166
|
+
if [ -f "build.gradle" ] || [ -f "build.gradle.kts" ]; then
|
|
167
|
+
echo "β‘οΈ Java/Kotlin tests (Gradle)"
|
|
168
|
+
if [ "$ALLOW_FAILURE" = "true" ]; then
|
|
169
|
+
./gradlew test || gradle test || true
|
|
170
|
+
else
|
|
171
|
+
./gradlew test || gradle test
|
|
172
|
+
fi
|
|
173
|
+
fi
|
|
174
|
+
|
|
175
|
+
# .NET tests
|
|
176
|
+
if compgen -G "**/*.sln" > /dev/null || compgen -G "**/*.csproj" > /dev/null; then
|
|
177
|
+
echo "β‘οΈ .NET tests"
|
|
178
|
+
if [ "$ALLOW_FAILURE" = "true" ]; then
|
|
179
|
+
dotnet test || true
|
|
180
|
+
else
|
|
181
|
+
dotnet test
|
|
182
|
+
fi
|
|
183
|
+
fi
|
|
184
|
+
|
|
185
|
+
# Ruby tests
|
|
186
|
+
if [ -f "Gemfile" ]; then
|
|
187
|
+
echo "β‘οΈ Ruby tests"
|
|
188
|
+
if [ "$ALLOW_FAILURE" = "true" ]; then
|
|
189
|
+
bundle exec rspec || bundle exec rake test || true
|
|
190
|
+
else
|
|
191
|
+
bundle exec rspec || bundle exec rake test
|
|
192
|
+
fi
|
|
193
|
+
fi
|
|
194
|
+
|
|
195
|
+
# Flutter tests
|
|
196
|
+
if [ -f "pubspec.yaml" ]; then
|
|
197
|
+
echo "β‘οΈ Flutter tests"
|
|
198
|
+
flutter pub get
|
|
199
|
+
if [ "$ALLOW_FAILURE" = "true" ]; then
|
|
200
|
+
flutter test || true
|
|
201
|
+
else
|
|
202
|
+
flutter test
|
|
203
|
+
fi
|
|
204
|
+
fi
|
|
205
|
+
|
|
206
|
+
# Swift tests
|
|
207
|
+
if [ -f "Package.swift" ]; then
|
|
208
|
+
echo "β‘οΈ Swift tests (SPM)"
|
|
209
|
+
if [ "$ALLOW_FAILURE" = "true" ]; then
|
|
210
|
+
swift test || true
|
|
211
|
+
else
|
|
212
|
+
swift test
|
|
213
|
+
fi
|
|
214
|
+
elif compgen -G "**/*.xcodeproj" > /dev/null || compgen -G "**/*.xcworkspace" > /dev/null; then
|
|
215
|
+
echo "β‘οΈ Swift tests (Xcode)"
|
|
216
|
+
# Xcode νλ‘μ νΈλ μ€ν΄μ΄ νμνλ―λ‘ μ‘°κ±΄λΆ μ€ν
|
|
217
|
+
if [ "$ALLOW_FAILURE" = "true" ]; then
|
|
218
|
+
echo "β οΈ Xcode ν
μ€νΈλ μ€ν΄ μ€μ μ΄ νμν©λλ€"
|
|
219
|
+
else
|
|
220
|
+
echo "β οΈ Xcode ν
μ€νΈλ μ€ν΄ μ€μ μ΄ νμν©λλ€"
|
|
221
|
+
fi
|
|
222
|
+
fi
|
|
223
|
+
|
|
224
|
+
# TAG μμ€ν
κ²μ¦ (μ½λ νμΌλ§)
|
|
225
|
+
- name: π·οΈ TAG μμ€ν
κ²μ¦
|
|
226
|
+
run: |
|
|
227
|
+
echo "β
TAG κ²μ¦μ tag_validator.py Hookμμ μλ μ²λ¦¬λ¨"
|
|
228
|
+
|
|
229
|
+
# λΈλμΉλ³ λ¨κ³ μ€ν
|
|
230
|
+
- name: π SPEC λ¨κ³ (feature λΈλμΉ)
|
|
231
|
+
if: startsWith(github.ref, 'refs/heads/feature/')
|
|
232
|
+
run: |
|
|
233
|
+
echo "πΏ Feature λΈλμΉ: SPEC κ²μ¦ λ¨κ³"
|
|
234
|
+
echo "- spec-builder μμ΄μ νΈκ° EARS λͺ
μΈ μμ±"
|
|
235
|
+
echo "- Draft PR μλ μμ±"
|
|
236
|
+
|
|
237
|
+
- name: π΄π’π BUILD λ¨κ³ (Draft PR)
|
|
238
|
+
if: github.event.pull_request.draft == true
|
|
239
|
+
run: |
|
|
240
|
+
echo "π Draft PR: TDD ꡬν λ¨κ³"
|
|
241
|
+
echo "- code-builder μμ΄μ νΈκ° RED-GREEN-REFACTOR"
|
|
242
|
+
echo "- TRUST 5μμΉ μ€μ κ²μ¦"
|
|
243
|
+
|
|
244
|
+
- name: π SYNC λ¨κ³ (Ready PR)
|
|
245
|
+
if: github.event.pull_request.draft == false && github.event.action == 'ready_for_review'
|
|
246
|
+
run: |
|
|
247
|
+
echo "β
Ready PR: λ¬Έμ λκΈ°ν λ¨κ³"
|
|
248
|
+
echo "- doc-syncer μμ΄μ νΈκ° Living Document λκΈ°ν"
|
|
249
|
+
echo "- PR 리뷰 μ€λΉ μλ£"
|
|
250
|
+
|
|
251
|
+
# μ΅μ’
κ²°κ³Ό 리ν¬νΈ
|
|
252
|
+
- name: π MoAI νμ΄νλΌμΈ μλ£
|
|
253
|
+
run: |
|
|
254
|
+
echo "πΏ MoAI-ADK GitFlow μλν μλ£"
|
|
255
|
+
echo "β¨ Gitμ λͺ°λΌλ νλ‘νμ
λ μν¬νλ‘μ° κ΅¬ν"
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Build artifacts
|
|
2
|
+
build/
|
|
3
|
+
dist/
|
|
4
|
+
*.egg-info/
|
|
5
|
+
*.egg
|
|
6
|
+
|
|
7
|
+
# Cache
|
|
8
|
+
__pycache__/
|
|
9
|
+
.pytest_cache/
|
|
10
|
+
*.pyc
|
|
11
|
+
*.pyo
|
|
12
|
+
node_modules/
|
|
13
|
+
*.tsbuildinfo
|
|
14
|
+
.tscache/
|
|
15
|
+
|
|
16
|
+
# Backups
|
|
17
|
+
|
|
18
|
+
# Virtual environment
|
|
19
|
+
venv/
|
|
20
|
+
.venv/
|
|
21
|
+
env/
|
|
22
|
+
.env/
|
|
23
|
+
|
|
24
|
+
# IDE
|
|
25
|
+
.vscode/
|
|
26
|
+
.idea/
|
|
27
|
+
*.swp
|
|
28
|
+
*.swo
|
|
29
|
+
*~
|
|
30
|
+
|
|
31
|
+
# OS
|
|
32
|
+
.DS_Store
|
|
33
|
+
Thumbs.db
|
|
34
|
+
|
|
35
|
+
# Logs
|
|
36
|
+
*.log
|
|
37
|
+
logs/
|
|
38
|
+
|
|
39
|
+
# Temporary files
|
|
40
|
+
*.tmp
|
|
41
|
+
*.temp
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_meta": {
|
|
3
|
+
"@CODE:CONFIG-STRUCTURE-001": "@DOC:JSON-CONFIG-001",
|
|
4
|
+
"@SPEC:PROJECT-CONFIG-001": "@SPEC:MOAI-CONFIG-001"
|
|
5
|
+
},
|
|
6
|
+
"moai": {
|
|
7
|
+
"version": "{{MOAI_VERSION}}"
|
|
8
|
+
},
|
|
9
|
+
"constitution": {
|
|
10
|
+
"enforce_tdd": true,
|
|
11
|
+
"principles": {
|
|
12
|
+
"simplicity": {
|
|
13
|
+
"max_projects": 5,
|
|
14
|
+
"notes": "κΈ°λ³Έ κΆμ₯κ°. νλ‘μ νΈ κ·λͺ¨μ λ°λΌ .moai/config.json λλ SPEC/ADRλ‘ κ·Όκ±°μ ν¨κ» μ‘°μ νμΈμ."
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"require_tags": true,
|
|
18
|
+
"simplicity_threshold": 5,
|
|
19
|
+
"test_coverage_target": 85
|
|
20
|
+
},
|
|
21
|
+
"git_strategy": {
|
|
22
|
+
"personal": {
|
|
23
|
+
"auto_checkpoint": "event-driven",
|
|
24
|
+
"checkpoint_events": [
|
|
25
|
+
"delete",
|
|
26
|
+
"refactor",
|
|
27
|
+
"merge",
|
|
28
|
+
"script",
|
|
29
|
+
"critical-file"
|
|
30
|
+
],
|
|
31
|
+
"checkpoint_type": "local-branch",
|
|
32
|
+
"max_checkpoints": 10,
|
|
33
|
+
"cleanup_days": 7,
|
|
34
|
+
"push_to_remote": false,
|
|
35
|
+
"auto_commit": true,
|
|
36
|
+
"branch_prefix": "feature/",
|
|
37
|
+
"develop_branch": "develop",
|
|
38
|
+
"main_branch": "main"
|
|
39
|
+
},
|
|
40
|
+
"team": {
|
|
41
|
+
"auto_pr": true,
|
|
42
|
+
"develop_branch": "develop",
|
|
43
|
+
"draft_pr": true,
|
|
44
|
+
"feature_prefix": "feature/SPEC-",
|
|
45
|
+
"main_branch": "main",
|
|
46
|
+
"use_gitflow": true
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
"pipeline": {
|
|
50
|
+
"available_commands": [
|
|
51
|
+
"/alfred:0-project",
|
|
52
|
+
"/alfred:1-spec",
|
|
53
|
+
"/alfred:2-build",
|
|
54
|
+
"/alfred:3-sync"
|
|
55
|
+
],
|
|
56
|
+
"current_stage": "initialized"
|
|
57
|
+
},
|
|
58
|
+
"project": {
|
|
59
|
+
"created_at": "{{CREATION_TIMESTAMP}}",
|
|
60
|
+
"description": "{{PROJECT_DESCRIPTION}}",
|
|
61
|
+
"initialized": true,
|
|
62
|
+
"locale": "ko",
|
|
63
|
+
"mode": "{{PROJECT_MODE}}",
|
|
64
|
+
"name": "{{PROJECT_NAME}}",
|
|
65
|
+
"moai_adk_version": "{{MOAI_VERSION}}",
|
|
66
|
+
"optimized": false
|
|
67
|
+
},
|
|
68
|
+
"tags": {
|
|
69
|
+
"auto_sync": true,
|
|
70
|
+
"storage_type": "code_scan",
|
|
71
|
+
"categories": [
|
|
72
|
+
"REQ",
|
|
73
|
+
"DESIGN",
|
|
74
|
+
"TASK",
|
|
75
|
+
"TEST",
|
|
76
|
+
"FEATURE",
|
|
77
|
+
"API",
|
|
78
|
+
"UI",
|
|
79
|
+
"DATA"
|
|
80
|
+
],
|
|
81
|
+
"code_scan_policy": {
|
|
82
|
+
"no_intermediate_cache": true,
|
|
83
|
+
"realtime_validation": true,
|
|
84
|
+
"scan_tools": ["rg", "grep"],
|
|
85
|
+
"scan_command": "rg '@TAG' -n",
|
|
86
|
+
"philosophy": "TAGμ μ§μ€μ μ½λ μ체μλ§ μ‘΄μ¬"
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|