프로젝트 소개

Stageflow는 구성 가능한 다단계 에이전트 워크플로우를 위한 오픈소스 런타임입니다. 파이프라인은 프로젝트 소유의 YAML(`*.pipeline.yaml`, `*.task.yaml`, 선택적 `stageflow.yaml` 매니페스트)로 작성되며, 각 단계는 새로운 에이전트 세션에서 실행되어 유형화된 봉투와 아티팩트를 통해 컨텍스트를 전달합니다. Pi는 현재 에이전트 실행 백엔드입니다. 패키지는 `sf` 및 `stageflow` 바이너리를 설치하며 Node.js 20 이상이 필요합니다. 프로젝트는 에이전트가 아닌 단계를 구성 단위로 삼습니다. 스케줄러가 오케스트레이션 의미론을 소유합니다: DAG 준비 상태, 제한된 병렬성, 팬아웃 및 조인, 조건부 라우팅, 재시도, 건너뛴 분기, 재개 가능한 인간 게이트. 에이전트 실행은 `AgentPort` 추상화 뒤에 있으며, Stageflow는 파이프라인 상태, 단계 작업 공간, 핸드오프 검증, CLI, 콘솔, MCP, CI에서 사용하는 인터페이스를 소유합니다. 실행 상태는 `<git-root>/.stageflow/` 아래 SQLite에 저장되며, 실행별 작업 공간은 `.stageflow/runs/` 아래에 있습니다. 전역 구성 및 자격 증명은 `~/.stageflow/`에 있습니다. README에 설명된 주목할 만한 기능에는 `write_stage_artifact` 및 `emit_stage_envelope`를 통한 유형화된 봉투 핸드오프, after-phase `verify` 검사와 `on_verify_fail` 복구 또는 수동 복구를 통한 검증된 단계 실행, 실행이 대기 중일 때 CI가 코드 2로 종료되는 인간-인-더-루프 게이트가 포함됩니다. `http://127.0.0.1:3847`의 로컬 운영자 콘솔은 실행 분류, 공급자 연결, 게이트 응답, 트랜스크립트 검사를 지원합니다. `sf ui` 또는 `sf mcp`가 실행 중일 때 MCP 엔드포인트는 Streamable HTTP를 통해 `/mcp`에서 노출되며, `wait_run`, `answer_gate`, `list_waiting`, `decide_feedback_loop` 같은 HITL 인식 도구가 있습니다. 헤드리스 및 CI 사용은 `sf validate --strict --json` 및 `sf run --json`을 통해 지원되며, 문서화된 종료 코드는 0(성공), 1(실패 또는 사용 중), 2(대기)입니다. 공급자 인증은 콘솔 또는 `sf providers` 명령을 통해 구성할 수 있으며, 자격 증명은 Pi의 공유 인증 파일(`pi_home`) 또는 Stageflow 자체 저장소(`sf_owned`)에 저장됩니다. README는 Stageflow가 SDLC 도구가 아니라고 명시합니다. 소프트웨어 전달은 일반적인 예제 패턴이지만, 단계는 사용자가 작성하며 도메인에 구애받지 않습니다. 저장소에는 Microsoft Conductor와의 비교가 포함되어 있으며, Stageflow를 사용자가 작성한 워크플로우를 위한 검토 가능한 봉투와 운영자 콘솔을 갖춘 단계 중심 Pi 실행으로, Conductor의 여러 에이전트에 걸친 결정적 YAML 라우팅과 대조합니다. 예제 파이프라인은 hello-world, 운영자 게이트가 있는 plan-review, 조건부 포크 라우팅, 단계 MCP, Playwright MCP, Context7 MCP, GitHub 릴리스 초안 작성, MCP 우선 HITL 투어, CI 검증을 다룹니다. 문서는 아키텍처, 빠른 시작, YAML 스키마, CLI 참조, 봉투, HITL, CI, MCP, 공급자, 운영자 콘솔을 다룹니다. 프로젝트는 MIT 라이선스입니다.