본문으로 건너뛰기

© 2026 Molayo

GitHub요약2026. 06. 15. 07:28

infragate/capa

요약

CAPA는 AI 코딩 에이전트를 위한 통합 패키지 매니저로, 흩어져 있는 에이전트 설정(기술, 도구, 규칙 등)을 하나의 capabilities.yaml 파일로 관리합니다. Cursor, Claude Code, GitHub Copilot 등 다양한 에이전트에 설정을 자동으로 배포하고 버전 관리를 지원합니다.

핵심 포인트

  • capabilities.yaml을 통한 에이전트 설정 통합 관리
  • Cursor, Claude Code 등 35개 이상의 에이전트 지원
  • 버전 관리 및 capabilities.lock을 통한 환경 일관성 보장
  • 로컬 웹 UI를 통한 설정 시각화 및 자격 증명 관리
  • 온디맨드 도구 노출을 통한 토큰 사용량 절약

CAPA는 AI 코딩 에이전트(AI coding agents)를 위한 패키지 매니저(package manager)입니다. capabilities.yaml 파일에 당신의 기술(skills), 도구(tools), 규칙(rules), 서브 에이전트(sub-agents), MCP 서버(MCP servers), 그리고 플러그인(plugins)을 한 번만 선언하고, capa install을 실행하면 CAPA가 이를 Cursor, Claude Code, Codex, Windsurf, GitHub Copilot 및 35개 이상의 다른 에이전트들에 작성해 줍니다.

AI 코딩 에이전트는 언제 행동해야 하는지 알아야 하며, 행동할 수 있는 도구를 갖추어야 합니다. 이를 연결하는 작업은 보통 대여섯 개의 파일에 설정을 흩뿌려 놓는 것을 의미합니다: 한 곳에는 MCP 서버, 다른 곳에는 기술 마크다운(skill markdown), CLAUDE.md에는 팀 컨벤션(team conventions), .cursor/rules/에는 Cursor 규칙, 그리고 Notion 어딘가에는 완성되지 않은 온보딩 문서(onboarding doc)가 있는 식입니다. 누구의 설정도 다른 사람의 설정과 일치하지 않습니다.

CAPA는 이를 당신의 코드 옆에 있는 단 하나의 capabilities.yaml로 통합합니다. 당신은 기술(에이전트에게 무언가를 수행하는 방법을 알려주는 마크다운), 각 기술에 필요한 도구(MCP 호출 및 셸 명령(shell commands)), 규칙, 서브 에이전트, 그리고 가져오고 싶은 모든 플러그인을 나열하기만 하면 됩니다. capa install이 나머지를 처리합니다. Cursor는 .cursor/rules/를, Claude Code는 .claude/agents/CLAUDE.md를 가져갑니다. Codex는 AGENTS.md를 가져갑니다. 당신의 목록에 있는 각 제공자(provider)는 자신이 기대하는 파일을 받게 되며, 해당 제공자가 소유하는 부분에는 capa가 관리하는 마커 블록(marker blocks)이 포함됩니다.

단 하나의 파일, 버전 관리(version controlled), capabilities.lock에 의한 고정(pinned), SHA에 의한 캐싱(cached). 내일 클론(clone)하는 팀원은 오늘 당신이 받은 것과 동일한 바이트(bytes)를 받게 됩니다.

CAPA는 로컬 웹 UI(local web UI)를 갖추고 있습니다. capabilities.yaml을 시각화하고, 레지스트리(registries)를 탐색하며, 자격 증명(credentials)을 관리하고, 각 에이전트가 정확히 무엇을 받게 될지 확인할 수 있습니다.

프로젝트 뷰(project view)에서는 설치된 플러그인, 구성된 제공자, 그리고 전체 기능 인벤토리(capability inventory)를 보여줍니다. 상단의 바(bar)는 on-demand(온디맨드) 도구 노출을 통한 토큰 절약량을 추적합니다. 에이전트는 현재 활발하게 사용 중인 도구만 보고, 나머지 도구가 필요할 때 이름을 통해 가져옵니다.

같은 페이지를 아래로 스크롤하면 서브 에이전트, 규칙, 프로젝트 옵션 및 자격 증명이 나타납니다. 모든 항목에는 INLINE / GITHUB / REMOTE 배지가 달려 있어 각 항목이 어디에서 왔는지 한눈에 확인할 수 있습니다.

Registries 탭은 외부 카탈로그에서 스킬 (skills) 및 플러그인 (plugins)을 가져옵니다. 프라이빗 레지스트리가 필요한가요? capa registry add owner/repo@my-adapter를 실행하세요.

(또는 Manage registries 페이지를 사용하세요). capa는 GitHub, GitLab 또는 HTTPS URL에서 어댑터 (adapter)를 가져와 검증하며, 여기서도 확인할 수 있습니다.

Cursor Marketplace |
skills.sh |

  • 인라인 (inline) 콘텐츠, 원시 URL (raw URLs), GitHub, GitLab, 로컬 경로 또는 구성된 레지스트리에서 가져온 스킬 (skills).
  • 35개 이상의 지원되는 에이전트 (agents): Cursor, Claude Code, Codex, Windsurf, GitHub Copilot, Cline, Continue, Goose, Gemini CLI, Roo Code, Qwen Code 등이 포함됩니다.
  • 에이전트당 하나의 MCP 서버. 도구 (tools)는 필요할 때만 로드되므로 컨텍스트 윈도우 (context window)를 작게 유지할 수 있습니다. 당사의 벤치마크에 따르면, 모든 도구를 사전에 노출하는 방식보다 품질 저하 없이 19-40% 더 저렴하게 실행됩니다 (claude-opus-4-8 기반 150회 테스트).
  • 모든 CLI 명령은 에이전트(및 capa sh)가 호출할 수 있는 MCP 도구로 래핑 (wrapped)될 수 있습니다.
  • 규칙 (rules)은 각 제공업체의 네이티브 위치로 전달됩니다: Cursor의 .cursor/rules/, Windsurf의 .windsurf/rules/, Copilot의 지침 파일 (instructions file), 또는 규칙 디렉토리가 없는 제공업체를 위한 AGENTS.md / CLAUDE.md 내의 관리형 마커 블록 (managed marker block). 글로브 스코핑 (Glob scoping)이 작동합니다.
  • 이를 지원하는 제공업체(Claude Code, Cursor, Codex, Gemini CLI)를 위한 라이프사이클 훅 (Lifecycle hooks). beforeShell 또는 afterFileEdit와 같은 표준 이벤트를 한 번만 선언하면 capa가 이를 각 제공업체의 훅 설정(.claude/settings.json, .cursor/hooks.json, .codex/config.toml, .gemini/settings.json)으로 변환합니다. 이때 각 항목에 capa:<id> 태그를 붙여 사용자가 작성한 항목이 절대 수정되지 않도록 합니다. 훅을 지원하지 않는 제공업체는 경고를 발생시키고 건너뜁니다.
  • 서브 에이전트 (Sub-agents)는 전문가에게 실제로 필요한 도구만 노출하는 별도의 필터링된 MCP 엔드포인트 (endpoint)를 가집니다.
  • 스킬 (skills) 및 플러그인 (plugins)은 capa add 및 웹 UI에서 찾아볼 수 있습니다. capa registry add owner/repo@my-adapter를 사용하여 레지스트리를 추가하면 (GitHub/GitLab/HTTPS 소스, 슬러그 (slug) 자동 유도, 설치 전 어댑터 검증), 해당 레지스트리도 표시됩니다. capabilities.lock

resolved된 커밋 SHA를 기록합니다. SHA 기반의 콘텐츠 캐시를 통해 반복 설치가 거의 즉각적으로 이루어집니다. - 자격 증명(Credentials)은 저장 시 암호화되며, 웹 UI에서 편집하거나 .env 파일에서 읽어올 수 있습니다.

  • 차단 문구 강제 적용(Blocked-phrase enforcement), 도구 출력 정제(tool output sanitisation), CLI 선행 조건 확인(CLI prerequisite checks)은 모두 설치 프로세스가 파일 시스템에 접근하기 전에 실행됩니다.
  • 비공개 GitHub 및 GitLab 리포지토리는 OAuth를 통해 작동합니다.
  • 번들로 포함된 capabilities-manager 스킬은 에이전트가 자신의 capabilities.yaml을 읽고 편집하는 방법을 학습시킵니다.

macOS 및 Linux:

curl -LsSf https://capa.infragate.ai/install.sh | sh

Windows:

powershell -ExecutionPolicy ByPass -c "irm https://capa.infragate.ai/install.ps1 | iex"

cd your-project
capa init

이렇게 하면 코드 옆에 capabilities.yaml 파일이 생성됩니다.

공개 GitHub 리포지토리에서 스킬을 가져오려면:

capa add anthropics/skills@frontend-design

providers:
- cursor
- claude-code
...

capa install

capa install은 SHA를 해석(resolve)하고 캐시에 없는 모든 항목을 다운로드합니다. 그 다음 프로바이더별 파일(.cursor/rules/, .claude/agents/, AGENTS.md 등)을 작성하고 목록에 있는 각 에이전트에 하나의 MCP 엔드포인트를 등록합니다. 해석된 SHA는 capabilities.lock에 저장되어 다음 클론(clone) 시에도 동일한 바이트를 가져오게 합니다.

capa sh # 구성된 모든 도구 목록 표시
capa sh brave # brave 서브커맨드 목록 표시
capa sh brave search --query "…" # 도구를 직접 실행

정의된 모든 도구는 capa sh 아래의 CLI 명령어로도 사용할 수 있습니다. MCP 도구는 capa sh <server> <tool> 경로에 위치하며, 셸(Shell) 도구는 최상위 레벨(또는 지정된 group 아래)에 위치합니다.

CAPA는 웹 UI, REST API 및 MCP 엔드포인트를 위해 로컬 HTTP 서버(기본값 127.0.0.1:5912)를 실행합니다.

서버가 루프백(loopback) 주소가 아닌 주소(127.0.0.1, localhost 또는 ::1 이외의 주소)에 바인딩될 경우, 모든 /api/* 경로와 MCP 엔드포인트는 인증을 요구합니다. 루프백 전용 바인딩은 인증을 완전히 건너뜁니다.

CAPA_AUTH_TOKEN을 사용하여 고정된 토큰을 설정하세요.

환경 변수 (environment variable)입니다. 루프백(loopback) 호스트가 아닌 곳에서 설정되지 않은 경우, CAPA는 시작 시 무작위 토큰을 생성하여 ~/.capa/auth.token (모드 0600)에 저장하고, 이를 stderr에 한 번 출력합니다.

클라이언트는 헤더를 통해 토큰을 전송해야 합니다 (쿼리 스트링(query-string) 토큰은 거부됩니다):

Authorization: Bearer <token> (권장)
X-Capa-Auth-Token: <token> (대체)

가이드, 전체 스키마 참조(schema reference), 그리고 레지스트리 카탈로그(registry catalog):

MIT

AI 자동 생성 콘텐츠

본 콘텐츠는 GitHub AI Coding Assistants의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0