{"id":49603178,"url":"https://github.com/gimso2x/forgeflow","last_synced_at":"2026-05-26T03:02:23.716Z","repository":{"id":353127265,"uuid":"1218107578","full_name":"gimso2x/forgeflow","owner":"gimso2x","description":"Artifact-first delivery harness with review-gated execution and generated multi-runtime adapters","archived":false,"fork":false,"pushed_at":"2026-05-17T06:59:23.000Z","size":2037,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-17T08:47:03.680Z","etag":null,"topics":["ai-agents","developer-tools","harness","json-schema","workflow"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gimso2x.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-04-22T14:39:22.000Z","updated_at":"2026-05-17T06:59:25.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/gimso2x/forgeflow","commit_stats":null,"previous_names":["gimso2x/forgeflow"],"tags_count":38,"template":false,"template_full_name":null,"purl":"pkg:github/gimso2x/forgeflow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gimso2x%2Fforgeflow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gimso2x%2Fforgeflow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gimso2x%2Fforgeflow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gimso2x%2Fforgeflow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gimso2x","download_url":"https://codeload.github.com/gimso2x/forgeflow/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gimso2x%2Fforgeflow/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33283576,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-20T15:12:43.734Z","status":"ssl_error","status_checked_at":"2026-05-20T15:12:42.300Z","response_time":356,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-agents","developer-tools","harness","json-schema","workflow"],"created_at":"2026-05-04T10:05:34.472Z","updated_at":"2026-05-26T03:02:23.703Z","avatar_url":"https://github.com/gimso2x.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ForgeFlow\n\nForgeFlow는 AI coding agent를 위한 artifact-first delivery workflow입니다.\n채팅 기억에 의존하지 않고 **명시적인 markdown 산출물, 프롬프트 기반 게이트, 독립 review**로 작업하게 만듭니다.\n\n## 누가 왜 쓰나\n\n- AI 코딩 에이전트로 **실제 프로덕션 코드**를 작성하는 개발자\n- 에이전트의 작업을 **검증 가능한 산출물**로 추적하고 싶은 팀\n- \"에이전트가 뭘 했는지 모르겠다\"는 문제를 해결하고 싶은 사람\n\n## 30초 퀵스타트\n\n**Claude Code:**\n\n```\n/plugin marketplace add https://github.com/gimso2x/forgeflow\n/plugin install forgeflow\n```\n\n**Gemini CLI:**\n\n```bash\ngemini extensions install https://github.com/gimso2x/forgeflow\nprintf 'Y\\n' | gemini extensions update forgeflow\ngemini extensions list\n```\n\n`gemini extensions update forgeflow`는 확인 프롬프트가 뜰 수 있어 자동화에서는 위처럼 명시 승인 입력을 파이프합니다. 업데이트 후 `gemini extensions list`에서 `forgeflow`가 보이는지 확인합니다. 로컬 checkout에서 검증하거나 개발 중인 버전을 연결할 때는 `gemini extensions validate .` 후 `gemini extensions link .`를 사용합니다. Gemini extension manifest는 루트 `GEMINI.md`를 context file로 로드합니다.\n\n**Codex:**\n\n대상 프로젝트 루트에서 실행하세요. ForgeFlow repo나 Codex plugin cache 안에서 실행하면 산출물이 잘못된 위치에 생길 수 있습니다.\n\n```bash\nmkdir -p .codex/plugins/forgeflow\ncp -R /path/to/forgeflow/.codex-plugin/plugin.json /path/to/forgeflow/skills /path/to/forgeflow/templates .codex/plugins/forgeflow/\n```\n\n로컬 checkout을 대상 프로젝트의 플러그인 폴더로 복사하는 방식입니다. 업데이트할 때는 같은 `cp -R` 명령을 다시 실행해 `plugin.json`, `skills/`, `templates/`를 함께 갱신합니다.\n\n**Cursor (로컬 플러그인):**\n\n```bash\nmkdir -p ~/.cursor/plugins/local\nln -s /path/to/forgeflow ~/.cursor/plugins/local/forgeflow\n# Cursor: Developer: Reload Window\n```\n\nAgent chat에서 스킬을 호출합니다. Cursor는 콜론(`:`)이 없는 짧은 이름을 사용합니다.\n\n```text\n/clarify   로그인 페이지에 소셜 로그인 버튼 추가\n/plan\n/execute\n/review\n/ship\n```\n\nClaude/Codex의 `/forgeflow:clarify` 등과 동일한 스킬입니다. 매핑은 [skills/forgeflow/SKILL.md](skills/forgeflow/SKILL.md)를 참고하세요.\n\n**설치 위치와 작업 위치를 분리하세요.** Claude/Codex/Gemini/Cursor의 plugin 또는 extension은 각 도구의 설치/cache 위치에 둘 수 있지만, `/forgeflow:clarify` 같은 실제 workflow 명령은 변경하려는 프로젝트 루트에서 실행해야 합니다. plugin/cache 디렉토리에서 실행 중이면 `--task-dir \u003cproject\u003e/.forgeflow/tasks/\u003ctask-id\u003e`처럼 명시 경로를 지정해 산출물이 대상 프로젝트에 기록되게 하세요.\n\n### Context efficiency / compact resume\n\nForgeFlow는 artifact-first를 유지하면서 context compaction 후 재개 비용을 줄입니다. stage 경계 또는 checkpoint 갱신 직후에 `/compact`하는 것이 안전합니다. 재개 시 `checkpoint.md` → `run-ledger.md` → `implementation-notes.md` 요약 → 필요한 섹션만 읽습니다. 상세 규칙은 [skills/_shared/context-resume.md](skills/_shared/context-resume.md)를 참고하세요.\n\n## 기본 워크플로우\n\n```text\n/forgeflow:config            → 설정 메뉴 (auto 토글 등)\n/forgeflow:clarify   → 작업 공간 생성 + 요구사항 정리 → brief.md\n/forgeflow:plan      → 작업 계획 → plan.md        (medium 이상; epic 시 마일스톤 분해 포함)\n/forgeflow:execute   → 구현 실행 → implementation-notes.md\n/forgeflow:review    → 독립 검증 → review-report.md\n/forgeflow:ship      → 배포/마무리 + 브랜치 정리\n```\n\n## Routes (자동 선택)\n\nclarify 스킬이 복잡도를 평가하여 자동으로 라우트를 선택합니다:\n\n| Route  | Stages                                                                                    | When                       |\n| ------ | ----------------------------------------------------------------------------------------- | -------------------------- |\n| small  | clarify → execute → review → ship                                                | 저위험, 소규모, 쉬운 롤백  |\n| medium | clarify → plan → execute → review → ship                                       | 범위 명확, 검증 필요       |\n| high   | clarify → plan → execute → review (spec) → review (quality) → ship → long-run | 아키텍처 영향, 롤백 어려움 |\n| epic   | clarify → plan (epic decomposition) → execute → review (spec) → review (quality) → ship → long-run | 대규모, 멀티윅             |\n\nhigh/epic의 spec/quality review는 별도 제거된 slash command가 아니라 같은 `/forgeflow:review`가 `review-report.md` 안에서 순차 pass로 수행하는 깊이 차이입니다.\n\n### Route scoring 기준\n\nv1.x는 Python 런타임을 제거했지만, route 판단 기준은 v0.x의 weighted scoring 모델을 문서 기준으로 유지합니다.\n\n```text\nraw_score = file_count*1.0 + estimated_lines*0.1 + requirement_count*2.0 + dependency_count*1.5 + risk_keywords*3.0\n```\n\n|     Score | Route 판단                                     |\n| --------: | ---------------------------------------------- |\n|    `\u003c 10` | small                                          |\n| `10-16.9` | medium-light: scoped multi-file change         |\n| `17-24.9` | medium-full: cross-module/service-level change |\n| `25-49.9` | high                                           |\n|   `\u003e= 50` | epic                                           |\n\n`17.0`은 medium을 light/full로 가르는 `mid_threshold`입니다.\n프로젝트별 조정이 필요하면 `skills/clarify/SKILL.md`의 scoring 기준과 관련 템플릿을 함께 바꿉니다.\n\n## Artifacts\n\n모든 산출물은 `.forgeflow/tasks/\u003ctask-id\u003e/` 아래에 markdown 파일로 기록됩니다:\n\n| 산출물                    | 설명                         | 라우트  |\n| ------------------------- | ---------------------------- | ------- |\n| `brief.md`                | 요구사항, 라우트, 제약사항   | 전체    |\n| `plan.md`                 | 작업 계획, 태스크 분해, 검증 | medium+ |\n| `run-ledger.md`           | 실행 상태 truth (pending/done) | execute |\n| `checkpoint.md`           | 재개용 전술 포인터           | execute |\n| `implementation-notes.md` | 실행 진행, 결정 기록, 편차   | 전체    |\n| `review-report.md`        | 독립 검증 (high/epic: spec+quality) | 전체    |\n| `ship-summary.md`         | ship handoff 요약            | 전체    |\n| `roadmap.md`              | 마일스톤 분해                | epic    |\n| `eval-record.md`          | 학습 기록                    | high+   |\n| `evolution-rule.md`       | evolution rule 템플릿 (ship에서 `active/`에 작성) | ship    |\n\n`review-report.md`의 **Execute Micro-Gates** 테이블(high/epic)은 execute 단계의 `micro_spec` / `micro_quality` 증거를 stage review가 reported로 받아 재검증할 때 씁니다.\n\n이 repo 안의 일부 `.forgeflow/tasks/*` 폴더는 검증 fixture로 의도적으로 tracked 상태입니다. 일반 consumer 프로젝트에서는 `.forgeflow/`를 gitignore에 두는 것이 기본이며, 자세한 기준은 [docs/dogfooding.md](docs/dogfooding.md)를 참고하세요.\n\n## Subagent execute (opt-in, high/epic)\n\n기본 `/forgeflow:execute`는 컨트롤러가 구현하고 필요 시 일부 step만 subagent에 위임합니다.\n\n**plan step마다** implementer → spec micro-review → quality micro-review 루프를 강제하려면 `--subagent-per-task` 플래그를 사용합니다.\n\n```text\n/forgeflow:execute --subagent-per-task\n```\n\n- **When:** high/epic, 승인된 `plan.md`, 독립 파일 스코프의 step\n- **Prompts:** `skills/execute/references/*.md`\n- **Not a substitute for** `/forgeflow:review` — stage review는 여전히 필수\n\n자세한 절차는 [`skills/execute/SKILL.md`](skills/execute/SKILL.md)의 Subagent Per-Task Loop와 [`skills/forgeflow/SKILL.md`](skills/forgeflow/SKILL.md)의 Review depth by route를 참고하세요.\n\n## 독립 리뷰 (Standalone Review)\n\nv1.1.4부터 `/forgeflow:review`를 파이프라인(execute 후속) 없이도 독립적으로 실행할 수 있습니다.\n\n```text\n# PR 리뷰\n/forgeflow:review https://github.com/org/repo/pull/42\n\n# 특정 디렉토리 보안 리뷰\n/forgeflow:review --type security ./src/auth/\n\n# diff 파일 리뷰\n/forgeflow:review ./changes.patch\n\n# 전체 역할 리뷰\n/forgeflow:review --type all ./src/\n```\n\n지원 입력: URL(GitHub PR/commit/compare, 일반 웹페이지), 로컬 repo 경로, diff/patch, 파일 묶음, 기존 artifact\n\n지원 역할: `spec`, `quality`(기본), `security`, `ux`, `perf`, `all`(전체)\n\n독립 모드에서는 synthetic task directory(`.forgeflow/tasks/standalone-\u003ctimestamp\u003e/`)가 생성되며, AI 리뷰 결과는 참고 자료(advisory)이고 최종 판단은 사람이 내립니다.\n\n## Auto 모드 (`--auto`)\n\n`--auto` 플래그로 clarify 진입 시 한 번의 승인으로 전체 라우트를 자동 체이닝합니다.\n\n```text\n/forgeflow:clarify --auto 로그인 페이지에 소셜 로그인 버튼 추가\n# → clarify → plan → execute → review → ship 자동 진행\n```\n\n**체인 순서 (라우트별):**\n\n- **small:** clarify → execute → review → ship\n- **medium:** clarify → plan → execute → review → ship\n- **high/epic:** clarify → plan → execute → review(spec) → review(quality) → ship\n\n**자동으로 멈추는 조건 (auto-break):**\n\n- 검증 실패 (빌드/린트/테스트) 후 자동 수정 불가\n- 리뷰 결과 `changes_requested`\n- 파괴적 작업 (브랜치 삭제, force-push)\n- brief 범위를 벗어나는 스코프 변경\n- 필수 산출물 누락, 외부 의존성 장애\n- context 한계 — 다음 턴에서 체인 자동 재개\n\n**`--auto`가 우회하지 않는 것:**\n\n- `--real` 외부 실행 안전 확인\n- ship 브랜치 처리 선택 (merge/PR/keep/discard)\n- discard 최종 확인\n- ship 품질 루프백\n\n관련 플래그: `--yes` / `--auto-approve` (현재 스테이지만 승인), `--non-interactive` (대화형 프롬프트 억제)\n\n상세 규칙: [skills/_shared/automation.md](skills/_shared/automation.md)\n\n### 기본 활성화\n\n```text\n/forgeflow:config\n```\n\n실행하면 설정 메뉴가 나오고, 번호만 누르면 토글됩니다:\n\n```\nForgeFlow 설정\n\n1. auto (자동 체이닝)  — 현재: 꺼짐\n2. 종료\n\n번호를 선택하세요: 1\n→ auto 활성화됨. .forgeflow/defaults.md에 저장되었습니다.\n```\n\n**우선순위:** `--auto` 플래그 \u003e `brief.md` auto 필드 \u003e `.forgeflow/defaults.md` \u003e 기본값(`false`)\n\n자연어로 `\"auto로 진행해\"`, `\"모든 단계 자동으로 해\"`라고 해도 동일하게 동작합니다.\n\n상세 설정: [docs/adapter-config.md](docs/adapter-config.md) → Project Defaults\n\n## 특징\n\n- **의존성 제로** — Python, Node.js 등 외부 런타임 불필요\n- **순수 Markdown** — 모든 산출물이 사람이 읽을 수 있는 markdown\n- **프롬프트 기반** — 스크립트가 아닌 프롬프트 지시로 강제\n- **멀티 플랫폼** — Claude Code, Codex, Gemini CLI, Cursor(로컬 플러그인) 지원\n\n어댑터별 CLI 플래그, 타임아웃, 감지 방법: [docs/adapter-config.md](docs/adapter-config.md)\n\n## Release version policy\n\n루트 `VERSION` 파일을 단일 버전 기준으로 사용합니다.\nREADME 본문에는 현재 릴리즈 버전을 고정하지 않습니다.\nCI가 다음 파일의 정합성을 검사합니다.\n\n- `VERSION`\n- `CHANGELOG.md`\n- `SKILL.md`\n- `.claude-plugin/plugin.json`\n- `.claude-plugin/marketplace.json`\n- `.codex-plugin/plugin.json`\n- `.cursor-plugin/plugin.json`\n- `gemini-extension.json`\n\n## Evolution rule lifecycle\n\nv1.1.0부터 evolution rule 생성은 ship 단계에서 직접 처리합니다. 별도 `proposed` → `review` 중간 단계가 없으며, review가 이미 작업을 검증했으므로 ship이 evidence 기반 규칙을 `active/`에 바로 기록합니다.\n\n- `observe` (ship)\n  - 트리거: ship이 task artifacts(`implementation-notes.md`, `review-report.md`, `eval-record.md`)에서 재사용 가능한 패턴을 식별\n  - 산출물/위치: 기존 task artifacts (별도 산출물 없음)\n- `extract` (ship)\n  - 트리거: evidence가 확인된 재사용 가능한 패턴이 기존 active rule으로 이미 커버되지 않음\n  - 산출물/위치: compact 6-line format으로 `active/`에 직접 작성\n    - global-advisory (기본): `~/.forgeflow/evolution/active/\u003crule-name\u003e`\n    - project: `.forgeflow/evolution/active/\u003crule-name\u003e`\n  - small 라우트는 추출 건너뜀, medium은 최대 1-2개, high/epic은 full extraction\n- `active`\n  - 트리거: rule 파일이 `active/` 디렉토리에 존재\n  - 산출물/위치: `~/.forgeflow/evolution/active/*` (global) 또는 `.forgeflow/evolution/active/*` (project)\n  - 다음 단계: 향후 clarify/plan/execute에서 trigger/stage 일치 시 자동 로드\n- `retired`\n  - 트리거: 규칙이 해롭거나 더 이상 맞지 않음\n  - 산출물/위치: `.forgeflow/evolution/retired/` (project) 또는 `~/.forgeflow/evolution/retired/` (global), retirement reason 포함\n  - 다음 단계: retirement reason 기록 후 로드하지 않음\n\nProject active rule은 해당 repository의 필수 제약입니다.\nGlobal rule(`~/.forgeflow/evolution/active/*`)은 advisory only이며 hard block으로 쓰지 않습니다.\n\n## 로컬 검증\n\n이 저장소는 v1.x 기준으로 runtime/build 의존성이 없는 Markdown/JSON 패키지입니다. 변경 전후에는 GitHub Actions의 구조 검증 계약(`.github/workflows/validate.yml`)과 같은 핵심 범위를 로컬에서 먼저 확인합니다.\n\n```bash\nmake validate\n```\n\n`make validate`는 Python runtime 파일 재유입, tracked legacy runtime/schema/test directories are absent, 활성 문서의 제거된 runtime/schema/test tree 참조 재유입, GitHub Actions workflow가 문서화된 로컬 검증 bundle을 호출하는지와 read-only `contents: read` permissions를 쓰는지, 플러그인/extension JSON 파싱, release version/CHANGELOG 링크, public skill `SKILL.md` 존재 및 frontmatter `name`/`description`/`validate_prompt` 정합성, 필수 템플릿 존재 여부, 첫 성공 데모 산출물 생성, skill→template cross-reference, Gemini skill imports, plugin defaultPrompt 매핑, adapter config 계약, workflow vocabulary(활성 문서의 제거된 slash command 재유입 포함), ship branch-disposition safety, advisory contract, eval fixture 계약, `evals/evals.json` 계약(정수형 순차 `id`, 고유 `name`, assertion shape, repo-relative·git-tracked `files` 참조 포함), Markdown inline/reference/collapsed-reference 상대 링크, 중복 reference definition, HTML href/src, 이미지, anchor를 code span 밖에서 확인합니다. `make validate`는 live provider/plugin E2E를 실행하지 않습니다. 개별 명령으로 확인할 때는 아래와 같습니다.\n\n```bash\n# Python runtime 파일이 다시 들어오지 않았는지 확인\nmake validate-no-python\n\n# 활성 문서가 제거된 runtime/schema/test tree를 다시 참조하지 않는지 확인\nmake validate-slim-surface\n\n# route scoring 공식이 README/SKILL/clarify 계약 사이에서 드리프트되지 않는지 확인\nmake validate-route-scoring-parity\n\n# release VERSION/manifest와 CHANGELOG compare 링크 정합성 확인\nmake validate-versions validate-changelog-links\n\n# 플러그인/extension JSON 파싱 확인\nmake validate-json\n\n# public skill inventory/frontmatter 계약과 root SKILL.md marketplace summary linkage 확인\nmake validate-skills\n\n# 템플릿 존재 여부와 skill→template 참조 확인\nmake validate-templates validate-template-refs\n\n# adapter CLI/config 문서와 README quickstart 계약만 빠르게 확인\nmake validate-adapter-config\n\n# 문서/스킬 링크가 repo-relative로 깨지지 않고 reference definition이 중복되지 않는지 확인\nmake validate-markdown-links\n\n# 첫 성공 데모 산출물/README 계약만 빠르게 확인\nmake validate-demo\n\n# GitHub Actions workflow가 로컬 검증 bundle과 드리프트되지 않는지 확인\nmake validate-ci-workflows\n\n# AGENTS.md, maintainer preflight, shared discipline/automation linkage 계약만 빠르게 확인\nmake validate-agent-docs\n\n# Gemini import와 plugin prompt 매핑만 빠르게 확인\nmake validate-gemini-imports validate-plugin-prompts\n\n# workflow vocabulary, ship safety, dogfooding/context-resume/advisory 계약만 빠르게 확인\nmake validate-workflow-vocab validate-ship-safety validate-dogfooding-docs validate-context-resume validate-advisory-contract\n\n# eval fixture 계약만 빠르게 확인\nmake validate-evals\n# 또는 특정 lane 디버깅 시:\nmake validate-evals-json validate-eval-files validate-evals-fixtures\n```\n\n각 focused target은 exit code 0이면 통과이며, 실패 시 어떤 계약이 깨졌는지 출력합니다. 특히 [첫 성공 데모](#첫-성공-데모)는 provider/plugin 없이 산출물 위치를 확인하는 안전한 smoke입니다. push/PR에서는 `.github/workflows/validate.yml`의 `validate` workflow가 전체 `make validate`를, `.github/workflows/evals.yml`의 `evals` workflow가 eval fixture 계약(`make validate-evals`; 내부적으로 `validate-evals-json`, `validate-eval-files`, `validate-evals-fixtures`)을 검사합니다. eval fixture를 추가하거나 수정할 때는 [evals/README.md](evals/README.md)의 로컬 체크리스트를 따릅니다.\n\n### 첫 성공 데모\n\n로컬 checkout만으로 산출물 위치와 템플릿 구성을 빠르게 확인하려면 다음을 실행합니다. 실제 provider/plugin E2E가 아니라, 임시 workspace에 핵심 task 산출물 템플릿을 복사해 첫 실행 결과의 파일 구조를 보여주는 안전한 데모입니다.\n\n```bash\nmake demo\n```\n\n이 명령은 `mktemp -d` 아래에 `.forgeflow/tasks/demo-small/`을 만들고 `brief.md`, `plan.md`, `run-ledger.md`, `checkpoint.md`, `implementation-notes.md`, `review-report.md`, `ship-summary.md` 경로를 출력합니다. repo 안에 `.forgeflow/`를 만들거나 추적 파일을 수정하지 않으므로, 첫 clone 직후나 자동화 preflight에서 안전하게 실행할 수 있습니다. 생성된 임시 workspace를 열어 실제 작업에서는 `/forgeflow:clarify`부터 시작하세요.\n\n## 실제 외부 실행 안전 기준\n\nv1.x는 Python `exec-stage --real` 런타임을 포함하지 않습니다.\n향후 실제 Claude/Codex/Gemini CLI를 호출하는 adapter나 `--real` 경로를 다시 추가한다면 기본값은 stub/dry-run이어야 합니다.\n실제 외부 호출 전에는 stderr 경고와 `[y/N]` 확인 프롬프트가 필수입니다.\n\n## 첫 실행 예시\n\n먼저 실제 프로젝트 루트에서 실행 중인지 확인하세요. 에이전트가 plugin cache/설치 디렉토리에서 열렸다면 `/forgeflow:clarify --task-dir \u003cproject\u003e/.forgeflow/tasks/\u003ctask-id\u003e`처럼 명시 경로를 넘겨 프로젝트 안에 산출물을 만듭니다.\n\n```text\n\u003e /forgeflow:clarify 로그인 페이지에 소셜 로그인 버튼 추가\n# → 작업 공간 생성, brief.md 작성, route: medium\n\n\u003e /forgeflow:plan\n# → plan.md 생성, 실행 단계/검증 목표 확정\n\n\u003e /forgeflow:execute\n# → 구현 진행, implementation-notes.md 업데이트\n\n\u003e /forgeflow:review\n# → 독립 review, review-report.md 생성\n\n\u003e /forgeflow:ship\n# → ship-summary.md, handoff 요약, 브랜치 merge/PR/keep/discard 선택\n```\n\n## 라이선스\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgimso2x%2Fforgeflow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgimso2x%2Fforgeflow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgimso2x%2Fforgeflow/lists"}