TrendShift 딥다이브 · 2026-07-03

Gitlawb/zero 딥다이브
— 내 모델·내 컴퓨터·내 규칙으로 굴리는 터미널 코딩 에이전트

zero"내가 소유하는 터미널 코딩 에이전트(a terminal coding agent you own)"를 표방하는 오픈소스 CLI다. Claude Code·Codex 같은 도구가 특정 회사의 모델·서버에 묶여 있는 것과 달리, zero는 OpenAI·Anthropic·Gemini·Groq·OpenRouter·DeepSeek·xAI·Qwen·Ollama·LM Studio 등 25종 이상의 provider를 자유롭게 갈아끼우고, 세션·기록·비밀정보를 전부 내 로컬 디스크에 두며, 파일 쓰기·셸 실행·네트워크를 OS 수준 샌드박스(Linux Landlock/seccomp)로 가둔다. 전부 Go 언어로 쓰였고, 무거운 벤더 SDK 없이 provider 클라이언트까지 직접 구현해 단일 바이너리 하나로 배포된다. 라이선스는 MIT, 2026-07-02에 v0.1.0이 npm(@gitlawb/zero)에 처음 공개된 따끈한 신생 프로젝트다. (저장소: Gitlawb/zero · Go 1.25+ · MIT · charm bubbletea TUI)
목차
  1. 프로젝트 한줄 요약
  2. 왜 주목받는가
  3. 기술 스택 전체 지도
  4. 아키텍처 심화 분석 — 에이전트 루프 + 샌드박스
  5. 디렉토리 구조 해부
  6. 학습 포인트 (주제별)
  7. 시스템 요구사항
  8. 직접 해볼 수 있는 실습 과제
  9. 관련 기술 심화 학습 로드맵
  10. 핵심 키워드 사전
  11. 참고 링크

1프로젝트 한줄 요약

이 저장소가 대체 무엇인가.

핵심 메시지

"AI 코딩 에이전트의 두뇌(모델)는 네가 고르고, 그 에이전트가 네 컴퓨터에서 무슨 짓을 할 수 있는지는 OS 샌드박스가 통제한다 — 벤더 락인 없는, 소유 가능한 터미널 코딩 비서."

Claude Code는 Anthropic 모델에, Codex는 OpenAI 모델에 사실상 묶여 있다. zero의 출발점은 정반대다. 에이전트의 "실행 엔진(도구 호출·파일 편집·셸 실행·권한 통제)"과 "두뇌(LLM provider)"를 완전히 분리해서, 두뇌만 /model 한 줄로 갈아끼울 수 있게 만들었다.

그리고 "내 컴퓨터에서 돈다"는 말을 진지하게 받아들여, 에이전트가 실수하거나 악의적 프롬프트에 넘어가도 워크스페이스 밖 파일을 못 건드리고, 네트워크를 못 열고, 위험한 셸 명령은 사용자 승인을 거치도록 OS 커널 기능으로 강제한다. 세션·비밀키·기록은 텔레메트리로 업로드되지 않고 로컬에만 남는다.

용어
코딩 에이전트 (coding agent)
"코드를 대신 짜주는 챗봇"을 넘어, 스스로 파일을 읽고 → 고치고 → 테스트를 돌리고 → 결과를 보고 다시 고치는 반복 루프를 도는 프로그램. 사람이 "이 테스트 통과시켜줘" 한 마디만 하면, 에이전트가 저장소를 뒤지고 파일을 편집하고 go test를 실행하며 알아서 목표에 도달하려 한다. zero는 이 루프를 터미널(TUI)과 스크립트(zero exec) 양쪽에서 굴린다.
용어
provider (프로바이더)
에이전트가 대화할 LLM 서비스 공급자. OpenAI·Anthropic·Google Gemini 같은 클라우드 API부터, 내 PC에서 도는 Ollama·LM Studio 같은 로컬 모델까지 포함한다. zero의 핵심 자랑은 이 provider를 "OpenAI 호환 / Anthropic 호환 엔드포인트면 뭐든" 25종 이상 꽂을 수 있다는 점 — 특정 벤더에 종속(lock-in)되지 않는다.

2왜 주목받는가

Claude Code·Codex가 즐비한데 왜 하필 zero인가.

터미널 코딩 에이전트는 이미 레드오션이다(Claude Code, OpenAI Codex, aider, opencode…). 그럼에도 zero가 TrendShift 상위에 오른 이유는 세 가지 "소유권(ownership)" 포인트를 하나의 도구에 모두 담았기 때문이다: 모델 소유(어떤 LLM이든), 데이터 소유(전부 로컬), 실행 통제 소유(OS 샌드박스).

경쟁 도구 대비 비교

기준Claude CodeaiderGitlawb/zero
모델 선택Anthropic 위주다중 provider✓ 25종+ (OpenAI/Anthropic/Gemini/로컬)
구현 언어Node/TSPython✓ Go — 단일 정적 바이너리
OS 샌드박스제한적없음(권한 프롬프트)✓ Linux Landlock/seccomp + macOS 로그감시
헤드리스/CI가능가능exec + stream-JSON + 종료코드
서브에이전트일부없음✓ specialist + swarm(병렬 팀)
확장MCP/스킬제한적✓ MCP·skills·plugins·hooks 전부
데이터 위치일부 클라우드로컬✓ 100% 로컬 세션·비밀키
강점 1
"두뇌 교체 가능" 아키텍처

OpenAI/Anthropic/Google 세 개의 네이티브 provider 클라이언트를 직접 구현하고, 그 외는 "OpenAI 호환 / Anthropic 호환" 어댑터로 흡수한다. 그래서 값싼 로컬 모델(Ollama)로 초안을 뽑고, 어려운 부분만 /model로 강력한 모델로 올리는 식의 비용 최적화가 자연스럽다.

강점 2
Go 단일 바이너리 = 배포가 가볍다

go.mod을 열어보면 무거운 AI SDK가 하나도 없다. 의존성은 대부분 charm 계열 TUI 라이브러리(bubbletea/lipgloss)와 문법 하이라이터(chroma), 셸 파서(mvdan/sh) 정도. HTTP로 provider API를 직접 호출하기 때문에 결과물이 의존성 없는 실행파일 하나로 나온다. npm 래퍼는 이 바이너리를 릴리스에서 내려받아 설치할 뿐이다.

강점 3
"보이는 부작용(visible side effects)" 안전 모델

README의 안전 철학이 명확하다 — 워크스페이스 읽기는 기본 허용, 쓰기는 워크스페이스 안으로 제한, 셸/네트워크/파괴적 명령/워크스페이스 밖 쓰기는 권한 게이트. --add-dir로 필요한 디렉토리만 골라 쓰기 권한을 준다. 이걸 커널 기능(Landlock)으로 강제하니 프롬프트 인젝션에도 방어선이 하나 더 있다.

주의
아직 v0.1.0 — 갓 태어난 프로젝트

첫 릴리스가 2026-07-02다. CHANGELOG상 아직 SemVer 안정화 전이며, 소스 빌드는 버전을 dev로 보고한다. 프로덕션에 무겁게 물리기보다는 "아키텍처를 공부하고 실험"하기에 좋은 시점이다. 스타·이슈 수도 초기 단계.

3기술 스택 전체 지도

go.mod과 internal/ 트리에서 실제로 읽어낸 구성.

핵심 언어·런타임

구분선택메모
언어Go 1.25+ (toolchain 1.26)정적 단일 바이너리, 크로스컴파일 쉬움
배포GitHub Releases + npm 래퍼@gitlawb/zero postinstall이 바이너리 다운로드
지원 OSLinux · macOS · Windowsx64 · arm64
라이선스MIT완전 오픈

TUI(터미널 UI) 계층 — charm 생태계

라이브러리역할
bubbletea/v2Elm 스타일 상태머신 기반 터미널 앱 프레임워크(메인 이벤트 루프)
bubbles/v2입력창·리스트·뷰포트 등 재사용 UI 컴포넌트
lipgloss/v2터미널 스타일링(색·박스·레이아웃) — 12종 테마의 뿌리
chroma/v2코드 문법 하이라이팅(diff·코드블록 렌더)
mvdan.cc/sh/v3순수 Go 셸 파서 — 셸 명령을 안전하게 분석/프리픽스 판정
ledongthuc/pdfPDF 텍스트 추출(문서 읽기 도구)
비유

zero의 구조는 "자동차"에 가깝다. 엔진(engine)은 provider(LLM)로 갈아끼울 수 있고, 운전대·계기판(TUI)은 charm 라이브러리로 만들었고, 안전벨트·에어백(sandbox/permission)은 OS 커널이 잡아준다. 그리고 정비 매뉴얼(skills/specialist/hooks)을 꽂아 기능을 확장한다.

provider(두뇌) 계층

internal/providers/ 아래에 anthropic/, openai/, gemini/ 세 개의 네이티브 클라이언트가 있고, factory.go가 설정에 따라 알맞은 클라이언트를 만든다. 코드를 열어보면 ProviderKindOpenAI, ProviderKindOpenAICompatible, ProviderKindAnthropic, ProviderKindAnthropicCompat, ProviderKindGoogle 같은 종류(kind)로 갈라진다. 즉 "OpenAI 호환"이라는 사실상의 표준 프로토콜 하나만 맞으면 어떤 신규 모델이든 흡수된다. OAuth 로그인(zero auth), 모델 능력 카탈로그(modelregistry), provider 건강검진(providerhealth), 자동 탐지(providermodeldiscovery)까지 별도 패키지로 분리돼 있다.

확장(플러그인) 계층

패키지무엇
internal/mcpMCP 서버 연결 — 외부 도구를 표준 프로토콜로 흡수. zero serve --mcp로 zero 자신을 MCP 서버로도 노출
internal/skills마크다운으로 쓰는 "지시 스킬"(재사용 프롬프트/절차)
internal/plugins플러그인 관리
internal/hooks수명주기 훅 — 도구 실행 전/후에 커스텀 로직 삽입
internal/specialist전문화된 서브에이전트(리뷰·회계 등) 생성·실행
internal/swarm여러 에이전트를 팀으로 묶어 병렬 협업(coordinator·mailbox·scheduler)

4아키텍처 심화 분석 — 에이전트 루프 + 샌드박스

두 개의 심장: (1) 도구를 부르며 목표에 다가가는 루프, (2) 그 도구를 커널이 가두는 샌드박스.

전체 구조도

┌──────────────────────────────────────────────────────────────┐ │ 사용자 입력 ─ TUI(bubbletea) 또는 zero exec (헤드리스) │ └───────────────────────────┬──────────────────────────────────┘ ▼ ┌───────────────────────────┐ │ AGENT LOOP (agent/loop) │ ← 에이전트의 두뇌 회로 │ ┌─────────────────────┐ │ │ │ 1. 컨텍스트 조립 │ │ repomap · sessions · skills │ │ 2. provider 호출 │───┼──▶ [ LLM ] OpenAI/Anthropic/ │ │ 3. tool_call 파싱 │ │ Gemini/로컬 …(교체 가능) │ │ 4. 권한 판정 ────────┼───┼──▶ [ 사용자 승인? ] │ │ 5. 도구 실행 │ │ │ │ 6. 결과 → 컨텍스트 │ │ guardrails · self-correct │ │ 7. 종료? 아니면 1로 │ │ compaction(맥락 압축) │ └─────────────────────┘ │ └─────────────┬─────────────┘ ▼ ┌───────────────────────────────────────┐ │ TOOLS (internal/tools) │ │ read/write/edit · bash · exec_command │ │ glob · grep · web_fetch · lsp_navigate│ │ local_browser · local_terminal · MCP │ └───────────────────┬───────────────────┘ ▼ ┌───────────────────────────────────────┐ │ SANDBOX (internal/sandbox) │ ← 커널이 막는 최후 방어선 │ Linux : Landlock + seccomp │ │ macOS : sandbox-exec + 로그 감시 │ │ Win : 헬퍼 프로세스 │ │ → 워크스페이스 밖 쓰기·네트워크 차단 │ └───────────────────────────────────────┘

핵심 설계 패턴 1 — 에이전트 루프(agent/loop.go)

루프는 "LLM에게 물어보고 → 도구를 실행하고 → 결과를 다시 넣는" 것을 반복한다. 코드를 보면 단순한 while가 아니라 실전에서 부딪히는 함정들을 하나하나 방어한다:

용어
compaction (컨텍스트 압축)
LLM은 한 번에 읽을 수 있는 글자 수(컨텍스트 윈도)가 정해져 있다. 대화가 길어지면 오래된 내용을 요약본으로 갈아치워 공간을 확보하는 기법. zero는 무엇을 반드시 보존할지(compaction_preserve)까지 규칙으로 관리한다. "긴 작업을 시켜도 에이전트가 앞부분을 까먹지 않게" 하는 핵심 장치.

핵심 설계 패턴 2 — 커널 샌드박스(sandbox/landlock_linux.go)

대부분의 코딩 에이전트가 "이 명령 실행할까요?"라는 프롬프트로만 안전을 지킨다면, zero는 여기에 OS 커널 수준의 강제를 얹는다. Linux에서는 Landlock(파일시스템 접근을 커널이 제한)과 seccomp(허용된 시스템콜만 통과)를 쓴다. 코드를 보면 도구 실행 직전에 PR_SET_NO_NEW_PRIVS를 걸어 권한 상승을 원천 차단한 뒤, 워크스페이스 밖 쓰기·네트워크 열기를 커널에 등록한 규칙으로 막는다.

// sandbox/landlock_linux.go — 실제 구조(요약)
func ApplyLandlockFilesystemProfile(profile, cwd) error {
    // 1) 이 프로세스는 이제 권한을 더 못 얻는다
    unix.Prctl(unix.PR_SET_NO_NEW_PRIVS, 1, ...)
    // 2) 파일시스템 규칙: 워크스페이스만 쓰기 허용
    // 3) 네트워크 차단(NetworkDeny)이면 소켓 개설 봉쇄
    // → 이후 caller가 최종 명령을 exec 한다
}
비유

권한 프롬프트가 "문 앞에서 신분증 확인하는 경비원"이라면, 커널 샌드박스는 "애초에 다른 방으로 통하는 문 자체를 벽으로 막아버린 것"이다. 경비원은 속일 수 있어도(프롬프트 인젝션), 벽은 못 뚫는다. zero는 둘 다 쓴다 — 승인 프롬프트 + 커널 벽.

핵심 설계 패턴 3 — specialist & swarm(서브에이전트)

하나의 큰 문제를 전문 서브에이전트에게 위임한다. internal/specialist/에는 코드 리뷰·회계 같은 역할별 실행기가 있고, internal/swarm/은 여러 멤버 에이전트를 coordinator가 지휘하고 mailbox로 메시지를 주고받으며 scheduler가 작업을 배분하는 병렬 팀 협업 구조다. 메인 에이전트가 지휘자, 서브들이 일꾼인 셈.

헤드리스 모드와 stream-JSON

zero exec는 TUI 없이 스크립트로 돌리는 모드다. --input-format stream-json / --output-format stream-json으로 JSON 라인 스트림을 표준입출력으로 주고받아 CI 파이프라인에 물릴 수 있고, 의미 있는 종료 코드를 돌려준다. --worktree로 격리된 git worktree에서 실험하고, --use-spec로 "먼저 계획을 세우고 실행"하는 spec-first 방식도 지원한다.

5디렉토리 구조 해부

internal/ 아래 60여 개 패키지 — 어디에 무엇이 있나.

zero/ ├── cmd/ │ ├── zero/ 메인 CLI 진입점(얇은 main.go) │ ├── zero-linux-sandbox/ Linux 샌드박스 헬퍼(Landlock 적용) │ ├── zero-seccomp/ seccomp 호환 래퍼 │ ├── zero-windows-sandbox-setup/ Windows 샌드박스 준비 │ ├── zero-release/ 릴리스 빌드·스모크 테스트 도구 │ └── zero-perf-bench/ 성능 벤치마크 ├── internal/ ← 알맹이 전부(60+ 패키지) │ ├── agent/ 에이전트 루프·권한·압축·자기교정 │ ├── tools/ 도구 구현(read/write/bash/grep/web…) │ ├── sandbox/ 커널 샌드박스(landlock·seccomp·grants) │ ├── providers/ anthropic·openai·gemini 네이티브 클라이언트 │ ├── providercatalog/ … provider 카탈로그·건강검진·OAuth·탐지 │ ├── modelregistry/ 모델 능력 카탈로그 │ ├── tui/ 터미널 UI(bubbletea 화면들) │ ├── sessions/ 로컬 세션 저장·resume·fork·rewind │ ├── mcp/ MCP 서버 연결 + zero를 MCP로 노출 │ ├── skills/ plugins/ hooks/ 확장 3종 │ ├── specialist/ swarm/ 서브에이전트 + 병렬 팀 │ ├── repomap/ workspaceindex/ search/ 코드베이스 이해 │ ├── keyring/ credstore/ secrets/ redaction/ 비밀정보 보관·마스킹 │ ├── worktrees/ zerogit/ git 격리 작업공간 │ ├── cron/ 스케줄된 에이전트 잡 │ ├── lsp/ LSP(코드 네비게이션) 연동 │ ├── sandbox/ … observability/ 로깅·관측 │ └── update/ release/ 자동 업데이트·릴리스 ├── docs/ INSTALL·STREAM_JSON·SPECIALISTS·BENCHMARK… ├── scripts/ install.sh / install.ps1 / postinstall.mjs ├── go.mod / go.sum Go 의존성(가벼움) ├── package.json npm 래퍼(@gitlawb/zero) ├── action.yml GitHub Action 정의 └── Makefile 빌드 편의
읽는 순서 팁
코드를 처음 열었다면

cmd/zero/main.go(11줄, 얇음) → internal/agent/loop.go(에이전트 심장) → internal/tools/registry.go(도구가 어떻게 등록되나) → internal/sandbox/engine.go(샌드박스 엔진) → internal/providers/factory.go(provider가 어떻게 만들어지나) 순으로 보면 전체 그림이 잡힌다. _test.go 파일이 매우 많은데(패키지마다 다수), 이건 동작 명세서 역할을 하니 함께 읽으면 이해가 빠르다.

6학습 포인트 (주제별)

이 저장소에서 실제로 뽑아 배울 수 있는 것들.

① Go로 만드는 프로덕션 CLI/TUI

bubbletea의 Elm 아키텍처(Model-Update-View)로 대화형 터미널 앱을 만드는 정석을 볼 수 있다. 슬래시 커맨드 자동완성, 실시간 도구 렌더링, 스크롤백, 테마 라이브 프리뷰 같은 UX가 어떻게 상태머신으로 구현되는지 배운다.

② LLM provider 추상화 설계

서로 다른 API(OpenAI Chat/Responses, Anthropic Messages, Gemini)를 하나의 내부 인터페이스로 통합하는 법. "OpenAI 호환/Anthropic 호환"이라는 사실상의 표준을 축으로 신규 provider를 어댑터로 흡수하는 factory 패턴이 교과서적이다.

③ OS 수준 샌드박싱 실전

가장 희소가치 높은 학습 포인트. Linux Landlock LSM, seccomp-bpf, PR_SET_NO_NEW_PRIVS, macOS의 sandbox-exec+로그 감시, Windows 헬퍼 프로세스까지 — "신뢰할 수 없는 코드를 어떻게 커널로 가두나"를 실제 코드로 공부할 수 있다. 보안·인프라 지망생에게 특히 값지다.

④ 에이전트 신뢰성 엔지니어링

맥락 압축, 무한루프 방지, 스트림 정체 재시도, 이미지 거부 감지, 권한 스코프 — LLM 에이전트를 "데모"가 아닌 "제품"으로 만들 때 부딪히는 현실 문제와 그 해법이 internal/agent의 테스트 파일 이름에 고스란히 드러난다.

⑤ 확장 생태계 통합(MCP·skills·hooks)

MCP 클라이언트/서버 양방향 구현, 마크다운 스킬, 수명주기 훅, 플러그인을 한 CLI에 모두 태우는 아키텍처. 자신만의 에이전트 확장을 설계할 때 참고 지도가 된다.

실습 아이디어

작게 시작하는 법

1) go run ./cmd/zero로 소스 빌드해 로컬 Ollama 모델을 붙여본다. 2) internal/tools/에서 도구 하나(예: grep.go)를 골라 어떻게 등록·실행·결과 반환되는지 추적한다. 3) zero exec --output-format stream-json으로 출력 JSON 스키마를 관찰한다.

7시스템 요구사항

돌리려면·빌드하려면 무엇이 필요한가.

항목요구
실행(설치판)Linux/macOS/Windows(x64·arm64) — 바이너리 하나면 끝
소스 빌드Go 1.25+ (toolchain 1.26). go build -o zero ./cmd/zero
Linux 네이티브 샌드박스zero-linux-sandbox 헬퍼를 같은 PATH에 함께 배치
npm 설치Node ≥ 18 — npm i -g @gitlawb/zero(postinstall이 바이너리 다운로드)
Bun 설치lifecycle 스크립트 미실행 → 헬퍼 수동 실행 또는 trustedDependencies 지정
클라우드 모델OPENAI_API_KEY/ANTHROPIC_API_KEY/GEMINI_API_KEY 등 환경변수
로컬 모델Ollama 또는 LM Studio 구동 후 zero providers detect
함정
Bun 사용자 주의

Bun은 기본적으로 postinstall을 실행하지 않아 바이너리가 안 받아진다("No native binary found" 에러). node node_modules/@gitlawb/zero/scripts/postinstall.mjs를 수동 실행하거나 package.json"trustedDependencies": ["@gitlawb/zero"]를 넣어야 한다.

8직접 해볼 수 있는 실습 과제

난이도별로 손을 움직여 보자.

난이도 ★☆☆

1. 로컬 모델로 zero 굴려보기

Ollama에 작은 모델(예: qwen2.5-coder)을 받고, 소스 빌드한 zero를 붙여 zero exec "이 저장소의 구조를 요약해줘"를 실행한다. 클라우드 키 없이도 완전 로컬로 에이전트가 도는 걸 체험. zero doctor로 연결 상태를 점검한다.

난이도 ★☆☆

2. 샌드박스 정책 관찰

zero sandbox policyzero sandbox grants list를 실행해 현재 어떤 경로에 쓰기가 허용되는지 확인한다. 그다음 --add-dir ../other로 디렉토리를 추가하면 grants가 어떻게 바뀌는지 비교한다.

난이도 ★★☆

3. stream-JSON 프로토콜 해독

zero exec --output-format stream-json "hello" 출력을 파일로 저장하고, docs/STREAM_JSON_PROTOCOL.md와 대조하며 각 이벤트(메시지·도구호출·결과) 스키마를 표로 정리한다. 이후 자신만의 파서를 짜서 토큰 사용량을 집계해 본다.

난이도 ★★☆

4. 나만의 스킬 만들기

zero skills로 마크다운 스킬을 하나 정의한다(예: "커밋 메시지를 Conventional Commits로 쓰기"). 에이전트가 그 스킬을 불러 동작이 바뀌는지 확인하고, hook을 하나 걸어 도구 실행 전 로그를 남겨본다.

난이도 ★★★

5. 새 provider 어댑터 읽고 흉내내기

internal/providers/openai/provider.go를 정독해 요청/응답 변환·스트리밍·finish reason 처리를 파악한 뒤, "OpenAI 호환" 신규 엔드포인트(예: 로컬 vLLM)를 설정만으로 붙여본다. 여유가 되면 internal/agent/loop.go의 스트림 정체 재시도 로직을 직접 트레이스한다.

9관련 기술 심화 학습 로드맵

zero를 제대로 이해하려면 곁들이면 좋은 순서.

주차주제학습 내용
1주차Go + TUIGo 기본 문법, goroutine/channel, bubbletea의 Model-Update-View 패턴으로 미니 TUI 만들기
2주차LLM 도구 호출function/tool calling 개념, OpenAI·Anthropic 메시지 포맷 차이, 스트리밍 응답 파싱
3주차에이전트 루프ReAct 패턴(생각→행동→관찰), 컨텍스트 관리·압축, 무한루프/에러 복구 설계
4주차OS 샌드박싱Linux Landlock·seccomp-bpf, no_new_privs, macOS sandbox-exec — 최소권한 원칙
5주차MCP & 확장Model Context Protocol 스펙, MCP 서버/클라이언트 구현, 스킬·훅·플러그인 설계
6주차멀티에이전트coordinator/worker 패턴, 메시지 패싱(mailbox), 병렬 스케줄링, git worktree 격리

10핵심 키워드 사전

문서에 자주 나오는 용어 빠른 참조.

용어
TUI (Terminal User Interface)
터미널 안에서 도는 대화형 화면. GUI(마우스 창)가 아니라 키보드로 조작하는 텍스트 기반 UI. zero의 기본 실행 모드이며 charm bubbletea로 만들어졌다.
용어
headless / exec
화면(TUI) 없이 스크립트·CI에서 한 번에 돌리는 실행. zero exec "…". 표준입출력으로 JSON을 주고받아 자동화에 쓴다.
용어
Landlock
Linux 커널의 보안 모듈(LSM). 일반 사용자 권한으로도 프로세스가 접근할 수 있는 파일 경로를 스스로 제한할 수 있게 해준다. zero가 "워크스페이스 밖 쓰기 금지"를 커널로 강제하는 핵심.
용어
seccomp
secure computing mode. 프로세스가 호출할 수 있는 시스템콜 목록을 화이트리스트로 제한하는 커널 기능. 위험한 syscall을 원천 차단한다.
용어
MCP (Model Context Protocol)
에이전트와 외부 도구/데이터를 잇는 표준 프로토콜. zero는 MCP 서버를 붙여 도구를 늘리고, 자신을 MCP 서버로도 노출(zero serve --mcp)한다.
용어
worktree
git이 같은 저장소를 여러 작업 폴더로 동시에 펼치는 기능. zero는 --worktree로 실험 변경을 격리해, 본 작업 트리를 더럽히지 않고 시도한다.
용어
specialist / swarm
specialist=역할 특화 서브에이전트(리뷰어 등). swarm=여러 에이전트를 팀으로 묶어 coordinator가 지휘하고 병렬 협업시키는 구조.
용어
spec-first (스펙 우선)
바로 코딩하지 않고 먼저 계획/스펙을 작성·검토한 뒤 실행하는 방식. /spec · zero exec --use-spec. 큰 변경의 방향을 먼저 잡는다.

11참고 링크

직접 파고들 때.