Claude Code, OpenAI Codex, Google Antigravity, GitHub Copilot용 AI 코딩 에이전트 하네스 및
요약
GOAT Flow는 Claude Code, OpenAI Codex, Google Antigravity, GitHub Copilot 등 여러 AI 코딩 에이전트를 위한 통합 하네스 및 로컬 대시보드를 제공합니다. 이 시스템은 감사(audits), 가드레일, 거부 후크 등을 통해 에이전트의 안전성과 구조화된 워크플로우를 강화하여 개발 과정을 체계적으로 관리할 수 있게 합니다.
핵심 포인트
- 다양한 AI 코딩 에이전트에 통일된 하네스 적용 가능
- 가드레일, 거부 후크 등으로 에이전트 행동 제어 및 안전성 확보
- READ→SCOPE→ACT→VERIFY 등 구조화된 워크플로우 제공
- 로컬 대시보드를 통해 프로젝트 관리와 작업 흐름 시각화
Claude Code, OpenAI Codex, Google Antigravity, 그리고 GitHub Copilot을 위한 AI 코딩 에이전트 하네스와 로컬 대시보드.
GOAT Flow는 에이전트 설정을 감사하고(audits), 가드레일(guardrails)과 거부 후크(deny hooks)를 설치하며, 구조화된 /goat-* 워크플로우를 제공하고 세션 간 학습 내용을 보존합니다. 매니페스트 기반 레지스트리 덕분에 네 가지 지원 코딩 에이전트 모두에서 동일한 하네스를 사용할 수 있습니다.
npx @blundergoat/goat-flow@latest
출력:
What do you want to do?
1. Start dashboard
2. Install/update goat-flow files
...
프로젝트에 고정된 버전을 원할 때 로컬로 설치합니다:
npm install --save-dev @blundergoat/goat-flow
그런 다음 npm을 통해 대시보드를 실행합니다:
npm exec --package=@blundergoat/goat-flow -- goat-flow dashboard .
임베디드 터미널은 컴파일을 위해 선택적 node-pty 패키지가 필요합니다. 터미널이 나타나지 않으면 문제 해결(Troubleshooting) 섹션을 참조하십시오.
| 구성 요소 | 방지하는 것 |
|---|---|
| 실행 루프 (READ → SCOPE → ACT → VERIFY) | 읽지 않은 코드 추측 또는 검사 없이 배포하는 것 |
여덟 가지 기술 (직접 /goat-clarity를 포함한 일곱 개의 /goat-* 워크플로우, 그리고 디스패처) | 작업 도중에 이탈하는 자유 형식 프롬프팅 |
| 강제 실행 후크 (Enforcement hooks) | 파괴적인 명령어, 레포지토리 게시, 직접 비밀 경로 접근 |
| 학습 루프 (Learning loop) | 나중 세션에서 같은 실수를 반복하는 것 |
| 자율성 계층 (Autonomy tiers) | 에이전트의 과도한 범위 확장 및 놓친 승인 경계 |
기술(Skills)은 명시적인 단계와 인간 게이트를 제공합니다. 후크는 도구 호출이 실행되기 전에 거부합니다. 학습 루프는 검증된 실패를 지속 가능한 교훈, 발목 잡기(footguns), 그리고 결정으로 바꿉니다.
로컬 대시보드는 작업 보기 간 이동하는 동안 프로젝트 및 러너 선택을 유지합니다:
| 보기 | 용도 |
|---|---|
| Home | 지원되는 에이전트 전반의 설정 및 하네스 결과를 비교한 후, 가장 높은 우선순위의 수리(repair)를 수행합니다. |
| Setup | 프로젝트를 감지하고, 결정론적 파일(deterministic files)을 설치하며, 프로젝트별 설정 프롬프트를 생성합니다. |
| Prompts | 비평(critique), 디버그(debug), 계획(plan), QA, 검토(review), 보안 등 24개의 보이는 프리셋을 검색할 수 있습니다. |
| Workspace | 최대 10개의 PTY 기반 터미널 세션을 실행하고 프롬프트에 이미지를 첨부할 수 있습니다. |
| Plans | 로컬 마일스톤을 검사하고, 진행 상황에 체크박스를 표시하며, 활성 계획 포인터(active-plan pointer)를 확인합니다. |
| Projects | 프로젝트를 등록하고, 감사 상태를 비교하며, 대시보드 대상을 전환할 수 있습니다. |
| Skills | 설치된 스킬을 감사하거나, 설치하지 않고도 초안 마크다운(Markdown)을 평가할 수 있습니다. |
| Quality | 소스 인식 평가 프롬프트를 생성하고 저장된 보고서를 비교합니다. |
| Hooks | 배포된 가드레일(guardrail), 품질(quality), 안전성 후크(safety hooks)를 검사하고 토글할 수 있습니다. |
설정(Settings)과 정보(About)는 로컬 환경 설정 및 방향을 제공합니다. 보기 세부 정보, 보안 경계, API 엔드포인트에 대해서는 대시보드 참고 자료(Dashboard reference)를 참조하십시오.
지침 파일(Instruction files)은 에이전트에게 무엇을 할지 알려줍니다. 하지만 그것을 강제하지는 않습니다.
| 지침 파일만 사용 시 | GOAT Flow |
|---|---|
| 에이전트에게 규칙을 알려줌 | 예 |
| ... | |
| 사용자가 기억해야 할 규칙에는 지침 파일을 사용하십시오. 구조적 강제(structural enforcement), 검증 또는 복구가 필요한 경우에는 GOAT Flow를 사용하십시오. |
Node.js 20.11 이상이 필요합니다.
npx @blundergoat/goat-flow@latest
설치가 필요 없습니다. 메뉴에서 대시보드, 결정론적 설치/업데이트, 설정 프롬프트 생성, 감사 또는 상태를 선택하십시오.
새로운 프로젝트의 경우, 먼저 goat-flow 시스템 파일을 복사해야 합니다. 이 단계는 결정론적이며 에이전트가 필요하지 않습니다:
npx @blundergoat/goat-flow@latest install . --agent claude
npx @blundergoat/goat-flow@latest install . --agent claude --dry-run
--dry-run은 쓰기 작업 없이 관리된 템플릿 드리프트(managed-template drift)를 보여줍니다. 일반적인 설치는 시스템 소유 파일(system-owned files)을 새로 고치고, 사용자 소유 및 외부 파일을 보존하며, 모호한 로컬 편집이나 안전하지 않은 경로를 차단합니다. --force는 --force-managed의 별칭입니다.
그리고 모든 검사된 시스템 소유의 충돌을 수용합니다. 교체 가능한 사용자 소유 파일은 --force-user-owned와 일치하는 --force-path를 모두 필요로 합니다.
; 설정, 훅 구성(hook configs), 그리고 .goat-flow/config.yaml은 절대 대체되지 않습니다. 권한이 경로 안전성 실패를 우회하지 못합니다. 대체는 파일별로 원자적(atomic)이며, CLI 참조 설명서에 실패 및 롤백 동작이 설명되어 있습니다.
대시보드 홈에서 goat-flow audit .을 집계하여 읽습니다.
워크플로우/manifest.json에서 지원되는 에이전트를 읽습니다. 특정 런타임을 의도적으로 사용하려면 --agent <id>를 사용하십시오. 설치에는 또한 공유 메타 참조와 .goat-flow/skill-docs/ 아래의 온디맨드 도구 플레이북이 포함됩니다.
설치 프로그램은 공유 시스템 파일을 복사합니다. 설정 프롬프트는 여전히 지침 파일, 아키텍처, 코드 맵, 그리고 실제 프로젝트의 함정(footguns)/교훈과 같은 프로젝트별 콘텐츠를 생성하거나 새로 고칩니다.
npx @blundergoat/goat-flow@latest setup . --agent claude
동등한 결정론적 설정/업데이트 명령어:
npx @blundergoat/goat-flow@latest setup . --agent claude --apply
홈 보기로 돌아가 **재감사(Re-audit)**를 클릭합니다. 각 실패는 누락되었거나 오래된 표면을 명시하고 복구 힌트를 제공합니다. 하네스 카드들은 다섯 가지 관심 영역에 걸친 구조적 커버리지를 보여줍니다.
프롬프트(Prompts) 보기를 열고 워크플로우(코드 검토, 버그 진단, 브라우저 증거를 사용한 UI 디버깅, 보안 평가, 테스트 계획)를 선택한 다음 터미널 세션에서 실행합니다. 각 프롬프트는 단계와 인간의 개입 지점(human gates)을 가진 구조화된 /goat-* 스킬을 호출합니다.
GOAT Flow의 매니페스트 기반 레지스트리는 Claude Code, Codex, Google Antigravity, Copilot CLI를 지원합니다. 이들의 설치된 템플릿은 실행 루프, 자율성 계층(autonomy tiers), 스킬, 그리고 학습 루프를 공유합니다. 대시보드 러너 전환기에서 이들의 감사 결과를 나란히 보여줍니다.
npx @blundergoat/goat-flow@latest manifest를 실행하여 workflow/manifest.json에서 라이브 에이전트 매트릭스를 검사하십시오.
대시보드는 대부분의 워크플로우를 시각적으로 다룹니다. CI 또는 스크립팅의 경우, 동일한 기능들이 CLI 명령어로 사용할 수 있습니다.
Audit 기반 CLI 명령어는 기본적으로 체크아웃 훅(checkout hook) 구성을 정적으로 검사합니다. 선택된 에이전트 감사, 설정 프롬프트, 품질 프롬프트 또는 hooks verify에 --trusted-target을 추가할 때는 체크아웃의 구성된 훅 실행기(hook launcher)와 관리되는 스크립트를 실행해도 안전한지 확인한 후에만 수행해야 합니다. 대시보드는 절대 타겟 훅 코드를 실행하지 않습니다.
세션, 핸드오프, 검토, 품질 또는 초안 내보내기를 저장하기 전에 redact를 사용하세요. 이는 유용한 연속성 컨텍스트는 유지하면서 일반적인 자격 증명 형태(credential shapes)를 대체합니다. 파일 출력은 선택된 프로젝트 내부에 머물러야 하며, 비공개 생성 전용 영속성(private create-only persistence)을 사용하고 기존 아티팩트를 절대 덮어쓰지 않습니다. 실행할 때마다 새로운 파일 이름을 선택하세요. 마스킹(Redaction)이 완벽한 DLP(Data Loss Prevention)는 아니며 출력 검토를 대체할 수 없습니다.
활성 마일스톤 없이 중단된 작업의 경우, .goat-flow/logs/sessions/README.md가 선택적인 핸드오프 영수증 스키마를 제공합니다. 해당 명령어를 실행하고, 받은 영수증을 stdin에 붙여넣은 다음 EOF를 전송하면 원시 텍스트가 제거된 후 출력 파일이 생성됩니다.
대시보드는 토큰화된 localhost URL을 출력합니다. 터미널 출력에서 해당 URL을 열면 됩니다. 이 토큰은 프로세스 로컬이며, 페이지가 부팅된 후에는 보이는 주소 표시줄에서 제거됩니다.
전체 참고 사항은 docs/cli.md를 참조하세요.
GOAT Flow는 자체 훅 검사(harness checks)를 다섯 가지 관심사로 분류합니다:
| 관심사 (Concern) | 질문 (Question) |
|---|---|
| Context (컨텍스트) | 에이전트의 컨텍스트가 정확하고, 간결하며, 유용한가? |
| Constraints (제약 조건) | 결정론적 규칙(deterministic rules)이 LLM 실행 전에 실패를 포착하는가? |
| Verification (검증) | 에이전트가 자신의 작업을 검증할 수 있으며, 실패가 피드백되는가? |
| Recovery (복구) | 에이전트가 충돌이나 중단 후에 재개될 수 있는가? |
| Feedback Loop (피드백 루프) | 훅(harness)이 시간이 지남에 따라 실패로부터 더 똑똑해지고 있는가? |
모델은 Harness engineering을, 평가 워크플로우는 Audit & Quality를 참조하세요.
대시보드에 터미널이 표시되지 않나요? goat-flow는 v1.2.4부터 C++ 툴체인 없이 설치됩니다. 대시보드의 임베디드 터미널이 필요하다면, 컴파일을 위해 node-pty도 필요합니다. 빌드 도구(Debian/Ubuntu의 경우 sudo apt install build-essential python3, macOS의 경우 xcode-select --install)를 설치한 다음, npm rebuild node-pty를 실행하세요. 네이티브 빌드를 완전히 건너뛰려면: npm install @blundergoat/goat-flow --omit=optional를 사용하세요.
새 프로젝트에서 감사(Audit)가 실패하나요? 예상된 상황입니다. 먼저 npx @blundergoat/goat-flow@latest install . --agent claude를 실행한 다음, npx @blundergoat/goat-flow@latest setup . --agent claude로 설정 프롬프트를 생성하세요.
설정 후에도 감사(Audit)가 여전히 실패하나요? 어떤 검사에서 실패했는지 확인하려면 npx @blundergoat/goat-flow@latest audit . --verbose를 다시 실행하세요. 각 실패 지점의 howToFix 힌트는 누락된 파일 또는 설정 키를 가리킵니다.
에이전트가 실행 루프를 따르지 않나요? 에이전트 세션을 재설정하여(Restart) 지침 파일을 다시 읽도록 하세요. 에이전트는 세션 시작 시에만 지침 파일의 변경 사항을 인식합니다.
설정 프롬프트가 잘못되었거나 불완전한가요? 대시보드의 설정 페이지에서 재생성할 수 있으며, 여기서는 감지된 스택 정보와 함께 프롬프트를 보여줍니다.
| 문서 | 포함 내용 |
|---|---|
| CLI Reference | 모든 명령어, 플래그 및 출력 형식 |
| ... | |
| Built by Matthew Hansen. |
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기