원문: https://github.com/facebook/astryx/wiki/Night-Watch-Figma-Librarian · 번역 기준: 2026-09-03

담당: Ernest's Navi (ernestt)

목표: Astryx Figma Library를 packages/core/의 코드와 동기화 상태로 유지합니다 — 단, 모든 canary 커밋이 아니라 안정 dot release에서만 수행합니다.

빈도: 매일 폴링합니다. 담당자의 머신에서 Figma가 열려 있고 Figma MCP 클라이언트가 연결되어 있어야 합니다. 머신이 꺼져 있으면 해당 실행은 건너뛰고 다음 가능한 날에 따라잡습니다 — drift는 무해하게 누적됩니다.

GitHub repo: https://github.com/facebook/astryx

운영 세부 사항 — Figma file key, MCP 노드, API 엔드포인트, state 파일 경로, 알림 채널, 정확한 커맨드 시퀀스 — 은 이 페이지가 아니라 담당자의 비공개 자동화에 있습니다. 이 페이지는 접근 방식만 문서화합니다.


이 역할이 존재하는 이유

Astryx Figma 라이브러리와 Astryx 코드 라이브러리는 같은 디자인 시스템의 두 가지 표현입니다. 컴포넌트에 새 prop, variant, size, block 예제가 코드에 추가되면 Figma 라이브러리도 그것을 반영해야 합니다. 이것을 수동에 맡기면 동기화가 조용히 어긋납니다 — 디자이너가 낡은 Figma 컴포넌트로 작업해 핸드오프를 넘기고, 엔지니어가 구현 중에 불일치를 발견하게 됩니다.

Figma Librarian은 이 루프를 자동으로 닫습니다 — 다만 의도적으로 진행 중인 canary 변경이 아니라 릴리스된 코드를 추적하므로, 라이브러리는 항상 실제로 배포된 것만 반영합니다.


운영 모델: Release-Gated, Checkpoint-and-Execute

이 역할은 모든 커밋을 diff하지 않습니다. 새로 게시된 dot release를 감시하다가, 하나가 나오면 한 번의 패스로 Figma 라이브러리를 그 릴리스 수준까지 끌어올립니다:

poll daily
   │
   ▼
new dot release published?  ── no ──▶  exit quietly
   │ yes
   ▼
read release notes  ─▶  categorize Figma implications  ─▶  build a plan
   │
   ▼
save Figma version-history checkpoint   ◀── mandatory; if it fails, STOP (report plan only)
   │
   ▼
execute the planned edits in the file   ◀── never publish
   │
   ▼
record state + log + post a run summary (with checkpoint name for revert)

세 가지 원칙이 이 모델을 지탱합니다:

  1. Release-gated. 작업은 이 역할이 마지막으로 처리한 버전과 비교해 @astryxdesign/core의 새 dot release가 게시되었을 때만 트리거됩니다. 새 릴리스 없음 → 작업 없음. 이렇게 하면 라이브러리가 배포된 코드와 정렬을 유지하고 변동이 잦은 canary 변경과는 얽히지 않습니다.
  2. 편집 전 checkpoint. 어떤 변경이든 하기 전에 이름을 붙인 Figma version-history checkpoint를 저장합니다. checkpoint를 저장할 수 없으면 어떤 편집도 하지 않고 계획만 보고합니다. checkpoint가 auto-execute 모델을 안전하게 만드는 장치입니다 — 무엇이든 한 단계로 되돌릴 수 있습니다.
  3. Stage만 하고 절대 publish하지 않음. 이 역할은 라이브러리 파일을 편집하지만 절대 publish하지 않습니다. Publish는 담당자의 수동 최종 게이트입니다: 사람이 Figma의 publish 다이얼로그에서 staged 변경을 검토하고 publish하거나 checkpoint로 되돌립니다.

하는 일