Excalidraw 기반 화이트보드 PegDraw 를 정적 export 페그보드에 심은 이야기. SSR 끄고 lazy-load 하는 건 시작일 뿐이고, 진짜 디테일은 모듈 스코프의 비대칭(asset path는 되는데 IndexedDB는 안 되는 이유), localStorage 대신 IndexedDB 를 고른 이유, 그리고 순수 코덱과 I/O 스토리지를 갈라놓은 구조에 있었다.
정적 export(SSG) 위에서 드래그앤드롭 칸반 보드 PegKanban을 구현하면서 마주친 두 가지 비-자명한 디테일을 정리한다. (1) DndContext에 id를 박지 않으면 next dev에서만 드러나고 정적 빌드에선 잠복하는 하이드레이션 불일치, (2) localStorage 키 하나를 데이터 계약으로 삼아 오프라인 AI 채팅이 자연어로 보드를 조작하게 만든 경로. 코드를 읽으며 결정과 트레이드오프를 풀어쓴다.
페그보드의 첫 앱형 페그 PegNote 를 만들면서, "첫 방문자에게만 편집 가능한 샘플을 미리 채워두되 저장된 데이터는 절대 덮지 않는다"는 온보딩을 구현했다. 서버가 없는 정적 사이트에서 이걸 안전하게 하려면 결정론적 시드 ID·effect 복원·첫 저장 스킵이라는 세 메커니즘이 각각 다른 실패를 막아야 한다.
Claude Code 스킬 중 가장 만족하는 도구가 grill-with-docs 다. "AI가 모르겠을 때 묻는" 스킬이 아니라, 결정이 굳는 순간 그 자리에서 CONTEXT.md/ADR을 박는 의식이다. 페그보드의 도메인 언어와 11개 ADR이 어떻게 이 스킬을 통과해 살아남았는지 정리.
~100페이지 사이트를 굴리는 에이전트 설정을 정리한다. 메인 + 스킬 + 좁은 서브에이전트의 3계층, 슬래시 명령어 없이 작동하는 자동 라우팅, "기본은 스킬, 서브에이전트는 격리·병렬·시스템맵이 필요할 때만" 의 ADR-0002 원칙, 그리고 문서들이 각자 무엇을 책임지는지.