Community연구 & 데이터 분석github.com

teefayb/claude-code-setup-demo

저장된 데이터의 형태를 안전하게 변경합니다 (Link에 필드 추가, 이름 변경 또는 제거). 기존 데이터 파일의 버전 업그레이드를 포함하며, 새로운 저장 필드가 필요한 작업에 사용됩니다.

claude-code-setup-demo란 무엇인가요?

이 스킬은 JSON 파일로 저장된 데이터 모델을 안전하게 변경하는 방법을 설명합니다. 동료의 로컬 환경과 서버에 이미 존재하는 데이터 파일을 깨뜨리지 않으면서 필드를 추가, 이름 변경, 제거하거나 타입을 변경할 수 있습니다. 변경 유형은 선택적 필드 추가와 같은 **추가적(additive)** 변경과 필드 이름 변경/제거와 같은 **파괴적(breaking)** 변경으로 나뉘며, 파괴적 변경 시에는 데이터 파일의 버전을 올리고 이전 스키마와 업그레이드 함수를 유지해야 합니다. 이 스킬은 Claude Code 환경에서 사용되며, `schema.ts`, `store.ts`, `seed.json` 파일을 수정하고 `store.test.ts`에 테스트를 추가하는 일련의 단계를 안내합니다. 또한 변경 사항이 기존 데이터 파일에 미치는 영향을 요약에 포함하도록 요구합니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/teefayb/claude-code-setup-demo/tree/HEAD/.claude/skills/change-data-model

Installed? Explore more 연구 & 데이터 분석 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

데이터 모델 변경: $ARGUMENTS

저장된 데이터는 동료의 로컬 환경과 서버에 이미 존재하는 JSON 파일로 관리됩니다. 따라서 모든 변경은 기존 파일을 깨뜨리지 않으면서 읽을 수 있어야 합니다.

단계

  1. src/lib/links/schema.ts, src/lib/links/store.ts, data/seed.json 파일을 읽습니다.
  2. 변경이 추가적(새로운 선택적 필드와 기본값)인지 파괴적(이름 변경, 제거, 새로운 필수 필드, 타입 변경)인지 결정합니다.
    • 추가적: linkSchema에 .optional() 또는 .default(...)를 사용하여 필드를 추가하고, 사용자가 설정할 수 있는 경우 linkInputSchema에도 추가합니다. 버전을 올리지 않습니다.
    • 파괴적: 데이터 파일의 version 리터럴을 올립니다 (예: 1 → 2). 이전 스키마를 dataFileV1Schema로 유지하고, store.ts에 upgradeV1toV2(data) 함수를 추가합니다. 이 함수는 load()가 v1 파일을 읽을 때 적용되며, 읽기 시점에 파일을 다시 쓰지 않고 다음 save()가 v2 형식으로 저장합니다.
  3. data/seed.json을 새로운 형태로 업데이트합니다.
  4. 작업에서 요청하는 경우에만 UI를 업데이트합니다.
  5. src/lib/links/store.test.ts에 테스트를 추가합니다:
    • 새 필드가 createLink와 listLinks를 통해 정상적으로 저장 및 조회되는지 확인합니다.
    • 파괴적 변경의 경우: v1 파일을 임시 데이터 경로에 작성하고 listLinks()가 업그레이드된 링크를 반환하는지 확인하며, 이후 createLink가 v2 파일을 저장하는지 확인합니다.
  6. npm run check와 npm run build를 실행합니다.
  7. 요약에서 변경이 추가적인지 파괴적인지, 그리고 기존 데이터 파일에 어떤 영향이 있는지 명시합니다.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

관련 스킬