7.3 KiB
title, source_type, url, archive_url, status, confidence, tags, related_projects, related_branches, created, last_reviewed
| title | source_type | url | archive_url | status | confidence | tags | related_projects | related_branches | created | last_reviewed | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Rich-Harris/degit — git history 없는 template 클론 도구 (Svelte/SvelteKit 표준) | official-doc | https://github.com/Rich-Harris/degit | raw | high |
|
|
|
2026-05-22 | 2026-05-27 |
Rich-Harris/degit — git history 없는 template 클론 도구 (Svelte/SvelteKit 표준)
Layer:
raw/official-docs/—Rich-Harris/degitGitHub README 발췌. JS 진영의 사실상 표준 scaffolding (SvelteKitnpm create svelte@latest가 내부 의존). ca-tmpl Group H — Sample removal / adoption 의 대안 3 (history 없는 단순 clone) 의 1차 근거.
Parent / 활용 branch (필수)
| Branch | 이 자료가 정당화하는 결정 |
|---|---|
| raw/branch-notes/feature-sample-removal-adoption-contract | Group H 대안 3 — degit clone 모델이 ca-tmpl 의 "clone 후 removal step" 모델과 비교되는 가장 가벼운 baseline 근거 |
상위 프로젝트: raw/project-notes/ca-skeleton-operational-contract.
컨텍스트 / 왜 저장했는지
ca-tmpl sample removal / adoption 결정 대안 3. degit은 "git history 없이 template repo를 그대로 클론"하는 가장 가벼운 scaffolding. Svelte/SvelteKit npm create svelte@latest가 내부적으로 의존. ca-tmpl이 "skeleton clone 후 sample 제거 step"을 명시한 것과 달리, degit은 "clone = adoption 끝".
출처 / Source
- 원본 URL: https://github.com/Rich-Harris/degit
- 아카이브 URL: (미수집)
- 저자/조직: Rich Harris (Svelte / SvelteKit 작성자)
- Star 수: 7,500+
- 라이선스: MIT
- 마지막 확인일: 2026-05-27
핵심 인용 / Key quotes (verbatim)
[§README — Definition] "Straightforward project scaffolding. degit makes copies of git repositories. When you run degit some-user/some-repo, it will find the latest commit on https://github.com/some-user/some-repo and download the associated tar file to ~/.degit/some-user/some-repo/commithash.tar.gz if it doesn't already exist locally."
[§README — Speed] "This is much quicker than using git clone, because you're not downloading the entire git history."
[§README — No history] "Unlike git clone, it doesn't pull down the entire commit history."
[§README — References] "You can use any tag, branch or commit reference."
Claims Extracted / 추출된 주장
| Claim ID | Claim (이 자료가 직접 말하는 것) | Evidence quote | Strength | Applies to | Does not prove |
|---|---|---|---|---|---|
| SCAF-DG-C1 | degit 은 "straightforward project scaffolding" 으로, git repository 의 복사본을 만들며 degit some-user/some-repo 실행 시 GitHub 상 최신 commit 의 tar 파일을 ~/.degit/<user>/<repo>/<hash>.tar.gz 로 다운로드 (캐시) |
[§README — Definition] "Straightforward project scaffolding. degit makes copies of git repositories. When you run degit some-user/some-repo, it will find the latest commit on https://github.com/some-user/some-repo and download the associated tar file to ~/.degit/some-user/some-repo/commithash.tar.gz if it doesn't already exist locally." | official-vendor-doc |
template 저장소 clone (history 불필요) | private repo / 인증된 endpoint 에서도 동일하게 동작한다는 뜻은 아님 (인용은 public GitHub 경로 한정) |
| SCAF-DG-C2 | degit 은 git history 전체를 다운로드하지 않으므로 git clone 보다 훨씬 빠르다 |
[§README — Speed] "This is much quicker than using git clone, because you're not downloading the entire git history." | official-vendor-doc |
큰 repo / 반복 scaffolding 시 속도 이득 평가 | 모든 네트워크 환경에서 "much quicker" 의 정량적 차이가 동일하다는 뜻은 아님 |
| SCAF-DG-C3 | git clone 과 달리 degit 은 전체 commit history 를 가져오지 않는다 |
[§README — No history] "Unlike git clone, it doesn't pull down the entire commit history." | official-vendor-doc |
template 으로부터 history 없는 새 프로젝트 초기화 | degit 결과 디렉토리가 .git/ 을 포함한다는 뜻은 아님 — 별도 git init 필요 |
| SCAF-DG-C4 | degit 은 tag / branch / commit reference 를 사용할 수 있다 | [§README — References] "You can use any tag, branch or commit reference." | official-vendor-doc |
특정 버전의 template snapshot 으로 clone | semver range / dynamic resolution 같은 패키지 매니저 수준의 reference 해석을 지원한다는 뜻은 아님 |
Usage Boundaries / 적용 경계
- 이 자료가 직접 증명하는 것:
SCAF-DG-C1: degit 의 정의 + 캐시 경로 동작 모델SCAF-DG-C2:git clone대비 속도 우위 (history 미다운로드)SCAF-DG-C3: 결과물이 commit history 를 포함하지 않는다는 사실SCAF-DG-C4: tag / branch / commit reference 지원
- 이 자료가 증명하지 않는 것:
- degit 이 변수 치환 / placeholder rename 을 지원한다는 뜻 아님 (단순 복제)
- SvelteKit
npm create svelte@latest가 내부 의존이라는 사실 — 본 README 인용에 명시되지 않음 (외부 지식) - ca-tmpl 의 sample-on / sample-off matrix 가 degit 만으로 자동화된다는 뜻은 아님 (외부 script 결합 필요)
- degit 자체가 sample 제거 / 7-step adoption checklist 항목을 자동화한다는 뜻은 아님
- 내 프로젝트에 적용하려면 추가 확인이 필요한 것:
- ca-tmpl + degit 조합 시 sample-ticket 제거를 자동화할 별도 script (예:
npx degit ... && bash remove-sample.sh) 의 위치 / 책임 분담 - private GitHub repo (사내 ca-tmpl) 에서의 degit 인증 메커니즘
- degit 결과 디렉토리에
git init을 자동으로 붙일지 vs 사용자에게 위임할지
- ca-tmpl + degit 조합 시 sample-ticket 제거를 자동화할 별도 script (예:
메모
- 동작:
degit user/repo dest→ tarball 다운로드 → 디렉토리에 압축 해제..git/없음. - ca-tmpl과의 차이: degit은 "template 코드를 그대로 복제"하므로 sample-ticket까지 복제됨 → ca-tmpl 2-step removal(profile toggle → package remove)이 그대로 필요. degit은 removal을 자동화하지 않음.
- 강점: scaffolding 자체는 매우 단순 (1 command). ca-tmpl이 degit + 별도 removal script 조합으로 가는 길 가능.
- 약점: 변수 치환·옵션 분기가 없음. Cookiecutter/Yeoman 같은 generator 기능 부재. ca-tmpl 7-step adoption checklist는 외부 도구 또는 수동.
- dual-mode CI matrix와 호환성: 무관. degit은 단순 복제기.
- 신뢰도: Svelte/SvelteKit 공식 scaffolding이 의존하는 도구. JavaScript 진영에서 사실상 표준. official-doc 등급.
Related / 관련
- 같은 주제 다른 official-doc (Group H — Sample removal / adoption 대안 5종):
- raw/official-docs/scaffolding-spring-initializr — 대안 4 (Spring Initializr)
- raw/official-docs/scaffolding-cookiecutter-official — 대안 2 (Cookiecutter)
- raw/official-docs/scaffolding-github-template-repository — 대안 5 (GitHub Template Repository)
- 인용하는 branch:
- canonical contract 섹션:
- raw/project-notes/ca-skeleton-operational-contract#Sample Removal / Project Adoption
- 인용하는 wiki: (미작성)