Pipeline Orchestrator#
ํ๋ง๋๋ก (๋น๊ฐ๋ฐ์์ฉ)#
์ด ๋ฌธ์๋ ์ ํ์ ์ฒ์ ์์ด๋์ด๋ถํฐ ์ถ์๊น์ง ๋ง๋๋ ๊ณผ์ ์, ๋ง์น ๊ณต์ฅ์ ์ปจ๋ฒ ์ด์ด ๋ฒจํธ์ฒ๋ผ 7๊ฐ์ ์ ํด์ง ๋จ๊ณ(๋ฐ๊ฒฌ โ ์ถ์)๋ก ์๋ ์งํํด ์ฃผ๋ "์ด๊ด ์งํ์(orchestrator)" ์ค๋ช ์์ ๋๋ค. ์๋ฆฌ์ ๋น์ ํ๋ฉด, ์ฌ๋ฃ ์ค๋น๋ถํฐ ์์งยท์กฐ๋ฆฌยทํ๋ ์ดํ ยท์๋น๊น์ง์ ์์๋ฅผ ์ ๋ฆฌํด ๋ ๋ ์ํผ์ด์, ๊ฐ ๋จ๊ณ๊ฐ ๋๋ ๋๋ง๋ค "๋ค์ ๋จ๊ณ๋ก ๋์ด๊ฐ๋ ๋ ๋งํผ ์ ๋๋์ง" ๊ฒ์ฌํ๋ ์ฒดํฌํฌ์ธํธ(gate)๋ฅผ ๋์ด ํ์ง์ ์งํค๋ ๋งค๋์ ์ญํ ์ ํฉ๋๋ค. ๊ฐ ๋จ๊ณ์ ๊ฒฐ๊ณผ๋ฌผ(artifact)์ ํ์ผ๋ก ์ฐจ๊ณก์ฐจ๊ณก ์ ์ฅ๋๋ฏ๋ก, ์ค๊ฐ์ ๋ํ๋ฅผ ์๋ก ์์ํด๋ ์์ ๋ด์ฉ์ด ์ฌ๋ผ์ง์ง ์์ต๋๋ค. ๊ฐ๋ฐ์๊ฐ ์๋์ด๋ "์ง๊ธ ์ด๋ ๋จ๊ณ๊น์ง ์๊ณ , ๋ฌด์์ด ๋ง๋ค์ด์ก๋์ง"๋ฅผ ํ๋์ ๋ฐ๋ผ๊ฐ ์ ์๋๋ก ๋๋ ์๋ด์๋ผ๊ณ ๋ณด์๋ฉด ๋ฉ๋๋ค.
๋ฌด์์ยท์ธ์ (๋น๊ฐ๋ฐ์์ฉ)#
๋ฌด์์ ํด ์ฃผ๋์
- ์ ํ์ ๋ง๋๋ ์ ๊ณผ์ ์ 7๋จ๊ณ(๋ฐ๊ฒฌ โ ์ฌ์ ์ ์ โ ๊ธฐํ โ ์ค๊ณ โ ๋ผ๋ ๋ง๋ค๊ธฐ โ ์ผ๊ฐ ์์ฑ โ ๊ฐ๋ฐ โ ์ถ์)๋ก ๋๋ ์์๋๋ก ์๋์ผ๋ก ์งํํด ์ค๋๋ค.
- ๊ฐ ๋จ๊ณ๋ง๋ค ์๋ง์ ๋๊ตฌ(ํ๋ฌ๊ทธ์ธ)๋ฅผ ์์์ ๋ถ๋ฌ์ ์ผ์ ์ํค๊ณ , ๊ทธ ๋จ๊ณ์ ๊ฒฐ๊ณผ๋ฌผ์
docs/ํด๋์ ํ์ผ๋ก ์ ์ฅํด ๋ก๋๋ค. - ๋จ๊ณ๋ฅผ ๋์ด๊ฐ๊ธฐ ์ ์ "์ถฉ๋ถํ ์ ๋๋์ง" ๊ฒ์ฌํ๋ ๊ด๋ฌธ(gate)์ ๋์ด ํ์ง์ ์ฑ๊ธฐ๊ณ , ์ ๋จ๊ณ์ ๊ฒฐ๊ณผ๋ฅผ ๋ค์ ๋จ๊ณ๋ก ์๋์ผ๋ก ๋๊ฒจ ์ค๋๋ค.
- ํ๋ก์ ํธ๊ฐ ์์ผ๋ฉด ๋ถํ์ํ ๋จ๊ณ๋ ๊ฑด๋๋ฐ์๊ณ ์ ์ํ๊ณ , ๊ฑด๋๋ธ ๋๋ ํญ์ ์ฌ์ฉ์์๊ฒ ๋จผ์ ํ์ธํฉ๋๋ค.
- ์ง๊ธ ์ด๋ ๋จ๊ณ๊น์ง ์๋์ง, ๋ฌด์์ด ๋ง๋ค์ด์ก๋์ง ํ๋์ ๋ณด์ฌ ์ฃผ๋ ์งํ ํํฉํ์ ์ ๊ณตํฉ๋๋ค.
์ธ์ ์๋ํ๋์
- "ํ๋ก์ ํธ ์์", "์ ํ๋ก์ ํธ", "์ ์ฒด ํ์ดํ๋ผ์ธ" ๊ฐ์ ๋ง์ ํ์ ๋
/product๋ช ๋ น์ ์คํํ์ ๋- ๋ถ์ โ ์ฌ์ ๊ฒ์ฆ โ ๊ธฐํ โ ์ค๊ณ โ ๊ฐ๋ฐ โ ์ถ์๊น์ง ์ ์ฒด ํ๋ฆ์ด ํ์ํ ๋
- ํฉ์ด์ ธ ์๋ ์ฌ๋ฌ ๋๊ตฌ(ํ๋ฌ๊ทธ์ธ)๋ฅผ ํ๋์ ํ๋ฆ์ผ๋ก ๋ฌถ์ด ์งํํด์ผ ํ ๋
ํต์ฌ ์ฉ์ด ์ฌ์ (๋น๊ฐ๋ฐ์์ฉ)#
| ์ฉ์ด | ์ฌ์ด ์ค๋ช |
|---|---|
| orchestration / orchestrator | ์ฌ๋ฌ ๋๊ตฌ์ ๋จ๊ณ๋ฅผ ํ๋์ ํ๋ฆ์ผ๋ก ๋ฌถ์ด ์์๋๋ก ์๋ ์งํ์ํค๋ "์ด๊ด ์งํ" ์ญํ . ์ค์ผ์คํธ๋ผ ์งํ์๊ฐ ์ฌ๋ฌ ์ฐ์ฃผ์๋ฅผ ํ ๊ณก์ผ๋ก ๋ชจ์ผ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค. |
| slug |
ํ๋ก์ ํธ๋ฅผ ๊ฐ๋ฆฌํค๋ ์งง๊ณ ๋จ์ํ ์ด๋ฆํ. ์๋ฅผ ๋ค์ด "Community Feature"๋ฅผ
community
์ฒ๋ผ ์ปดํจํฐ๊ฐ ๋ค๋ฃจ๊ธฐ ์ฌ์ด ํํ๋ก ์ค์ธ ์๋ณ์์
๋๋ค.
|
| kebab-case |
๋จ์ด ์ฌ์ด๋ฅผ ๋์ด์ฐ๊ธฐ ๋์ ๋ถ์ํ(-)๋ก ์๊ณ ๋ชจ๋ ์๋ฌธ์๋ก ์ฐ๋ ํ๊ธฐ ๋ฐฉ์. "๊ผฌ์น(kebab)"์ ๋จ์ด๋ฅผ ๊ฟฐ๋ฏ ์ด์ด ๋ถ์ฌ์ ๋ถ์ ์ด๋ฆ์
๋๋ค. (์:
new-project
)
|
| artifact (์ฐ์ถ๋ฌผ) | ๊ฐ ๋จ๊ณ๋ฅผ ๊ฑฐ์น๋ฉฐ ๋ง๋ค์ด์ ธ ํ์ผ๋ก ๋จ๋ ๊ฒฐ๊ณผ๋ฌผ. ๋ฌธ์, ์ฌ์์, ์ค๊ณ๋ ๋ฑ์ด ์ฌ๊ธฐ ํด๋นํ๋ฉฐ docs/ ํด๋์ ์ ์ฅ๋ฉ๋๋ค. |
| gate (๊ฒ์ดํธ/๊ด๋ฌธ) | ๋ค์ ๋จ๊ณ๋ก ๋์ด๊ฐ๊ธฐ ์ ์ "์ถฉ๋ถํ ์ ๋๋์ง" ํ์ธํ๋ ํ์ง ๊ฒ์ฌ ์ง์ . ํต๊ณผํด์ผ๋ง ๋ค์์ผ๋ก ์งํํ ์ ์๋ ๊ด๋ฌธ์ ๋๋ค. |
| BMAD Level (๋ ๋ฒจ 0~4) | ํ๋ก์ ํธ์ ๊ท๋ชจ์ ๋ณต์ก๋๋ฅผ ์ซ์๋ก ๋๋ ๋ฑ๊ธ. ์ซ์๊ฐ ๋ฎ์ผ๋ฉด(0~1) ์์ ๊ธฐ๋ฅ ์ถ๊ฐ, ๋์ผ๋ฉด ํฐ ํ๋ก์ ํธ๋ฅผ ๋ปํ๋ฉฐ, ์ด๋ค ๋จ๊ณ๋ฅผ ๊ฑด๋๋ธ์ง ํ๋จํ๋ ๊ธฐ์ค์ด ๋ฉ๋๋ค. |
| Seed spec (์๋ ์ฌ์) | ํ๋ก์ ํธ์ ํต์ฌ ์๊ตฌ์ฌํญ์ ์ฒ์์ผ๋ก ๋๋ ทํ๊ฒ ์ ๋ฆฌํด ๋ "์จ์" ๋ฌธ์. ์ดํ ๋ชจ๋ ์ค๊ณ์ ๊ฐ๋ฐ์ด ์ฌ๊ธฐ์ ์๋ผ๋ฉ๋๋ค. |
| Socratic (์ํฌ๋ผํ ์ค์ ์ธํฐ๋ทฐ) | ๊ผฌ๋ฆฌ์ ๊ผฌ๋ฆฌ๋ฅผ ๋ฌด๋ ์ง๋ฌธ์ ๋์ ธ ์จ์ด ์๋ ์๊ตฌ์ฌํญ๊ณผ ๊ฐ์ ์ ๋์ง์ด๋ด๋ ๋ํ ๋ฐฉ์. |
| PRD | Product Requirements Document(์ ํ ์๊ตฌ์ฌํญ ๋ฌธ์). ๋ฌด์์, ์, ์ด๋ป๊ฒ ๋ง๋ค์ง๋ฅผ ์ ๋ฆฌํ ์ ํ์ ์ค๊ณ ์ฒญ์ฌ์ง์ ๋๋ค. |
| BDD Acceptance Criteria | Behavior-Driven Development(ํ์ ์ฃผ๋ ๊ฐ๋ฐ)์์ "์ด ๊ธฐ๋ฅ์ด ์ด๋ ๊ฒ ๋์ํ๋ฉด ํฉ๊ฒฉ"์ด๋ผ๊ณ ๋ฏธ๋ฆฌ ์ ํด ๋๋ ํฉ๊ฒฉ ๊ธฐ์ค. |
| Epic (์ํฝ) | ์ฌ๋ฌ ์์ ์์ (Story)์ ํ๋๋ก ๋ฌถ์ ํฐ ๋จ์์ ์ผ๊ฐ. ์ฑ ์ผ๋ก ์น๋ฉด "์ฅ(็ซ )"์ ํด๋นํฉ๋๋ค. |
| Story (์คํ ๋ฆฌ) | Epic์ ์๊ฒ ๋๋ ์ค์ ๊ฐ๋ฐ ์์ ๋จ์. ์ฑ ์ผ๋ก ์น๋ฉด ํ "์ฅ" ์์ ๊ฐ๋ณ ์ด์ผ๊ธฐ/ํญ๋ชฉ์ ํด๋นํฉ๋๋ค. |
| DoD (Definition of Done) | "์ด ์์ ์ด ๋๋ฌ๋ค๊ณ ์ธ์ ํ๋ ์กฐ๊ฑด". ๋ฌด์์ ์ถฉ์กฑํด์ผ ์๋ฃ๋ก ๋ณผ์ง ๋ฏธ๋ฆฌ ์ ์ํ ๊ธฐ์ค์ ๋๋ค. |
| persona (ํ๋ฅด์๋) | ๊ฐ ๋จ๊ณ๋ฅผ ๊ฒํ ํ๋ ๊ฐ์์ ์ ๋ฌธ๊ฐ ์ญํ (๋ถ์๊ฐ, ์ํคํ ํธ, PM ๋ฑ). ์ค์ ์ฌ๋ ๋์ ๊ทธ ๊ด์ ์ผ๋ก ๊ฒฐ๊ณผ๋ฌผ์ ์ ๊ฒํฉ๋๋ค. |
| context-clear handoff | ํ ๋จ๊ณ๊ฐ ๋๋๋ฉด ๋ํ ๊ธฐ๋ก์ ๊นจ๋์ด ๋น์ฐ๊ณ (/clear) ๋ค์ ๋จ๊ณ๋ก ๋๊ธฐ๋ ๋ฐฉ์. ๊ฒฐ๊ณผ๋ฌผ์ ํ์ผ๋ก ๋จ์ ์์ด ์ ๋ณด ์์ค ์์ด ์ ๋ํ์์ ์ด์ด์ง๋๋ค. |
Triggers#
- When keywords like "start project", "new project", "full pipeline" are mentioned
- When the
/productcommand is invoked - When the full flow of analysis โ spec verification โ planning โ design โ development โ launch is needed
- When orchestration connecting existing plugins is needed
Behavior#
1. Project Initialization#
- Generate project slug (kebab-case)
- Create
.pipeline/{slug}.yamlstate file - Determine BMAD project level (Level 0-4)
2. Stage Execution Flow#
Discovery โ Specification โ Planning โ Design โ Scaffold โ Epic Creation โ Development โ Launch
โ โ โ โ โ โ โ โ
โผ โผ โผ โผ โผ โผ โผ โผ
pm+bmad cc-spec- bmad+pm bmad cc-bricks cc-dev-cycle cc-dev-cycle pm
(research) clarity (plan/biz) (arch/ux) +cc-flutter +bmad(story) +bmad(dev) (gtm/anal)
(์ธ๋ถ) (์ธ๋ถ) (์ธ๋ถ) (์ธ๋ถ)
๋ด๋ถ ์ญ๋(bmad personaยท์ปค๋งจ๋, pm ๊ธฐ๋ฒ)์ cc-product ์์ฒด๊ฐ ๋จ๊ณ๋ณ๋ก dispatch. ์ธ๋ถ ํ๋ฌ๊ทธ์ธ๋ง ์์: cc-spec-clarity(Spec) ยท cc-bricks-feature/cc-flutter-dev(Scaffold) ยท cc-dev-cycle(Epic/Dev).
3. Per Stage Execution#
- Check previous artifacts: Verify previous stage artifacts exist
- Evaluate skip conditions: Determine skippability based on project level/type
- Delegate to source plugins: Invoke the stage's skills/commands in order
- Gate verification: Verify gate passage (Specification, Analysis, Solutioning, Planning, Implementation)
- Save artifacts: Store results in
docs/directory - Update state: Refresh
.pipeline/{slug}.yaml
4. Inter-stage Data Passing#
- Automatically pass previous stage artifact paths to next stage
- Discovery โ Specification: Research results, vision
- Specification โ Planning: Seed spec, ambiguity evaluation, decision log
- Planning โ Design: PRD, technical specification, BDD Acceptance Criteria
- Design โ Scaffold: Architecture doc, UX spec, PRD (acceptance criteria)
- Scaffold โ Epic: Scaffolded feature list, .feature file paths, test file paths
- Epic โ Development: Epic/Story issue numbers (Stories reference scaffolded code + step stubs as DoD)
- Development โ Launch: Deployed feature list
5. Skip Rules#
- Discovery skip: BMAD Level 0-1 (small-scale feature addition for existing product)
- Specification skip: BMAD Level 0-1 (small-scale feature addition for existing product)
- Scaffold skip: BMAD Level 0-1 (hotfix, minor feature without new code structure)
- Launch skip: Internal features, minor improvements, infrastructure changes
- User confirmation: Always confirm with user when skipping
6. State File Format (.pipeline/{slug}.yaml)#
project:
name: " Community Feature "
slug: community
level: 3
created: 2025-01-15T10:00:00Z
updated: 2025-01-16T14:30:00Z
stages:
discovery:
status: completed # pending | in-progress | completed | skipped
started: 2025-01-15T10:00:00Z
completed: 2025-01-15T12:00:00Z
artifacts:
- docs/discovery-community.md
skip_reason: null
specification:
status: completed
started: 2025-01-15T13:00:00Z
completed: 2025-01-15T14:00:00Z
gate: specification
artifacts:
- docs/seed-spec-community.md
- docs/socratic-discovery-community.md
planning:
status: in-progress
started: 2025-01-15T14:00:00Z
gate: analysis # Current gate
artifacts: []
design:
status: pending
epic:
status: pending
development:
status: pending
launch:
status: pending
7. Context-Clear Handoff#
Each stage produces persistent artifacts in docs/. Between stages, offer the user a context-clear handoff to maximize token efficiency:
Stage {N} complete. Artifacts saved:
- docs/{artifact}-{slug}.md
**Option 1 (Recommended)**: Clear context and continue to next stage
/clear
Then run: /product:{next_stage} docs/{artifact}-{slug}.md
**Option 2**: Continue in current context
Proceed directly to /product:{next_stage}
Why context-clear matters:
- Each stage can consume significant context window (Socratic interviews, architecture reviews, etc.)
-
Artifacts persist in
docs/and.pipeline/{slug}.yaml, so no information is lost - Next stage reads previous artifacts from files, not from conversation history
- Fresh context allows the next stage to operate at full capacity
Rules:
- Always present Option 1 first (recommended)
- Include the exact artifact file paths so the user can reference them after
/clear - The pipeline state file
.pipeline/{slug}.yamltracks progress across context clears - If the user chooses Option 2, proceed normally in the same context
Output#
- Project status dashboard (progress by stage)
- Each stage's artifacts (docs/ directory)
.pipeline/{slug}.yamlstate tracking file- Summary report on stage transitions
Notes#
- Orchestrates from above without modifying existing plugins
- Gates serve as quality checkpoints (specification, analysis, planning, solutioning, implementation)
- Personas serve as reviewers at each stage (Analyst, Architect, PM, etc.)
- Users can independently execute any stage if desired
- Stage-to-source command mappings managed in
config/stage-mapping.yaml