Spawn — AIDD 방법론 개발 프레임워크

발행: (2026년 6월 10일 PM 08:10 GMT+9)
12 분 소요
원문: Dev.to

출처: Dev.to

안녕하세요, 여러분! 저는 AIDD 개발을 위한 도구를 만들었고, 이름을 Spawn이라고 지었습니다. 이 도구는 여러 AIDD 방법론을 하나의 레포지토리에서 일관되게 사용할 수 있게 도와주는 파이썬 유틸리티입니다 — 규칙, 스킬, MCP 설정을 수동으로 동기화할 필요가 없습니다.
아래에서는 간단한 소개와 Spawn의 작동 방식, 클라이언트 입장에서의 사용법, 확장 기능 개발 방법, 그리고 몇 가지 예시를 다룹니다.

  • 개발 팀 리드 — AI‑지원 개발 및 그 외 작업에 관련된 팀 규칙과 프로세스를 개발하고자 할 때.
  • 개별 개발자 — 이미 준비된 SDD 프레임워크를 사용하거나, 자신만을 위한 프레임워크를 만들고 싶을 때.
  • 잠재적 사용자 — 전체 사이클 AIDD 개발 소프트웨어를 만드는 개발자.
  • DevOps 엔지니어, 인프라 전문가, 테크니컬 라이터 — 스크립트, 설정 파일, 문서가 레포지토리에 저장되는 경우.

Spawn은 여러 AIDD 방법론(또는 규칙 집합)을 일관되게 사용할 수 있게 해줍니다. 설치된 확장들의 아티팩트 사이에서 전역 필수 규칙이나 프로세스 설명을 자동으로 전파하므로, 에이전트는 언제나 교차 참조를 가질 수 있습니다.

Spawn에서 확장(extension) 은 레포지토리에 설치할 수 있는 AIDD 방법론을 의미합니다. 유틸리티 입장에서는 문서, 지시서, 스크립트, 스킬, MCP 설정 파일들의 집합입니다.
확장은 팀 규칙, 프로젝트 스캐폴드 파일, 자동화 세트와 같이 아직 방법론이라고 부르기엔 이르지만 재사용하고 싶은 것일 수도 있습니다.

Spawn은 선택한 IDE에 맞는 IDE‑전용 아티팩트(MCP, 스킬, agent-ignore·git-ignore 목록)를 설치해 줍니다. 확장 개발자는 각 IDE에 맞게 아티팩트를 별도로 “맞춤”할 필요가 없으며, Spawn이 이를 대신 수행합니다. 유틸리티는 IDE‑독립적인 범용 설정을 사용하고, 이후 팀이 사용하는 IDE에 맞게 “렌더링”합니다.

크로스‑플랫폼 MCP를 만들 수도 있습니다. Spawn은 자체 MCP 프록시를 통해 현재 OS에 맞는 MCP를 자동으로 실행합니다 — 서로 다른 운영체제에서 작업하는 팀에 특히 유용합니다.

spawn init 실행 후 레포지토리 안에 ./spawn 디렉터리가 생성됩니다. 이 디렉터리는 설치된 확장의 메타데이터, 로컬 설정, 네비게이션 정보를 저장합니다. 이 폴더는 레포지토리에 커밋해야 하며, .gitignore에 추가하면 안 됩니다.

필수: Python 3.10 이상이 필요합니다. 권장 설치 방법은 uv를 이용하는 것입니다.

uv tool install spawn-cli && spawn --help
spawn init
spawn ide add cursor
# 여러 IDE를 한 번에 추가할 수도 있습니다:
spawn ide add cursor codex

지원되는 모든 IDE와 각 IDE가 렌더링할 수 있는 항목을 보려면:

spawn ide list-supported-ides

작성 시점 기준으로 지원되는 IDE는 다음과 같습니다: cursor, codex, claude-code, windsurf, github-copilot, gemini-cli.

spawn extension add https://github.com/noant/spawn-ext-spectask.git

용어 정리

  • Extension — 특정 AIDD 방법론의 내용물. 확장 설정 파일, IDE‑독립적인 스킬·MCP 파일, 지시서, 스크립트 등을 포함합니다. Git 레포지토리, ZIP 아카이브, 로컬 폴더 중 하나에서 설치할 수 있습니다.
  • IDE agent entry point — IDE가 명령을 실행하기 전에 읽는 파일. 예를 들어 Cursor에서는 AGENTS.md가 해당됩니다.
  • Hint — 스킬과 에이전트 엔트리 포인트에 직접 삽입되는 짧은 알림 문자열. 에이전트는 별도 파일을 읽지 않고도 즉시 컨텍스트에 반영합니다. 예: 응답 언어(RU/EN), 톤, 프로젝트 특성 등. 힌트는 전역(모든 확장의 모든 스킬과 AGENTS.md 같은 관리 블록에 삽입) 혹은 지역(현재 확장의 스킬에만 삽입)일 수 있습니다.
  • Instruction file — AI가 읽을 수 있는 파일로, 프로세스, 규칙, 컨벤션을 설명합니다. 힌트와 달리 에이전트는 의도적으로 읽습니다. 두 가지 읽기 모드가 있습니다:
    • required-read — 스킬과 에이전트 엔트리 포인트에 항상 참조가 포함되며, 매 호출 시 반드시 읽어야 함.
    • contextual-read — 네비게이션에만 참조가 존재하고, 작업이 해당 내용과 관련될 때만 읽음.
      전역(globalRead)·지역(localRead) 설정을 통해 적용 범위를 지정합니다. 전역 파일은 모든 확장의 모든 스킬에, 지역 파일은 해당 확장의 스킬에만 삽입됩니다.
  • Global navigation file — 필요한 모든 instruction file(스킬이 아님)에 대한 참조, 짧은 설명, 적용 범위, 읽기 방식(필수·상황에 따라) 등을 담은 파일. 또한 힌트와 로컬 규칙 파일에 대한 참조도 포함합니다.
  • Local rules — 확장을 설치하지 않아도 레포지토리에 추가할 수 있는 instruction file·힌트. 규칙이 보편화되지 않을 것이라 판단될 때 유용합니다. 필요 시 언제든지 확장으로 패키징해 다른 프로젝트에서 재사용할 수 있습니다.
  • Extension file mode — 확장이 업데이트될 때 파일이 어떻게 동작할지를 정의합니다.
    • Static — 업데이트 시마다 소스에서 덮어쓰기. 최신 버전과 항상 일치해야 하는 지시서 등에 사용.
    • Artifact — 설치 시 한 번만 생성되고 이후 프로젝트가 소유합니다. 업데이트 시 덮어쓰지 않으며, 프로젝트가 자체적으로 조정하는 설정·데이터 등에 사용.

기본 명령

# 설치된 확장 목록 보기
spawn extension list

# 확장 업데이트
spawn extension update spectask

# 완전 재설치 (손상된 경우)
spawn extension reinstall spectask

# 확장 제거
spawn extension remove spectask

# 확장 상태 점검
spawn extension healthcheck spectask

여러 확장(소위 “extension build”) 설치

spawn build install https://github.com/org/team-methodology.git --branch main
# 또는 extensions.yaml 파일이 루트에 있는 로컬 디렉터리에서:
spawn build install .

확장을 설치하지 않고 규칙만 추가하기

# spawn/rules/ 디렉터리에 규칙 파일을 만든 뒤 refresh 실행
spawn refresh

spawn/rules/ 혹은 spawn/navigation.yaml 안의 파일·힌트를 수정한 뒤에는 스킬과 IDE 엔트리 포인트를 업데이트하기 위해 refresh를 실행해야 합니다. 옵션은 두 가지:

  • 전체 재계산

    spawn refresh

    navigation.yaml을 업데이트하고 스킬·에이전트 엔트리 포인트를 재생성합니다. 파일을 변경할 때마다 사용합니다. 확장을 설치하거나 IDE를 추가하면 자동으로 실행됩니다.

  • 규칙만 동기화

    spawn rules refresh

    spawn/rules/의 파일을 navigation.yaml에만 동기화하고, 스킬·엔트리 포인트는 재생성하지 않습니다. IDE 아티팩트를 건드리지 않고 빠르게 네비게이션만 업데이트하고 싶을 때 유용합니다.

중요: Spawn은 자신이 설치한 파일만 수정합니다. 리프레시나 확장 업데이트 시 제3자 스킬·규칙(위 경로 외)은 건드리지 않습니다.

spawn extension add 동작 흐름

spawn extension add <URL> 를 실행하면 Spawn은 다음을 수행합니다.

  1. 소스 복제·압축 해제 – 확장 저장소를 클론하거나 ZIP을 풀고, 로컬 폴더라면 복사해 임시 디렉터리에 배치합니다.
  2. 설정 파일 읽기extsrc/config.yaml을 읽어 확장의 안정적인 이름, 버전, 파일·스킬·MCP 서버·ignore 규칙 목록을 파악합니다.
  3. 파일 복사extsrc/files/에 있는 파일을 선언된 경로대로 레포지토리로 복사합니다. static 모드 파일은 업데이트 시 덮어쓰이고, artifact 모드 파일은 한 번만 생성되어 프로젝트 소유가 됩니다.
  4. 스킬 등록extsrc/skills/의 소스는 활성화된 IDE를 고려해 렌더링됩니다. 필수 instruction 파일, 힌트, 전역 네비게이션에 대한 참조가 각 스킬에 삽입됩니다.
  5. MCP 서버 연결 – `ext
0 조회
Back to Blog

관련 글

더 보기 »

Eidentic 소개

Today we're releasing Eidentic, an open-source TypeScript SDK for building AI agents with self-improving memory and the production fundamentals built in — not b...

Typescript의 타입

Introdução Tipos são uma forma de definir a “forma” ou o contrato dos dados que estamos usando no código. Pensando em Javascript puro, ele é dinâmico: você pode...