8.1 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 | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Spring Initializr — Spring 공식 프로젝트 스캐폴딩 / custom starter | official-doc | https://github.com/spring-io/initializr | raw | high |
|
|
|
2026-05-22 | 2026-05-27 |
Spring Initializr — Spring 공식 프로젝트 스캐폴딩 / custom starter
Layer:
raw/official-docs/— Spring 공식 organizationspring-io/initializrGitHub 저장소 README 발췌. ca-tmpl 의 sample removal / project adoption 결정에 대한 대안 1 (Group H — Spring Initializr 기반 starter scaffolding) 의 1차 근거.
Parent / 활용 branch (필수)
| Branch | 이 자료가 정당화하는 결정 |
|---|---|
| raw/branch-notes/feature-sample-removal-adoption-contract | sample removal / adoption Group H 의 대안 4 — Spring Initializr custom starter 모델 비교 근거 (sample 없는 generator 모델 vs ca-tmpl 의 fixture-then-remove 모델) |
상위 프로젝트: raw/project-notes/ca-skeleton-operational-contract — Sample Removal / Project Adoption 섹션의 alternatives 그룹 1차 근거.
컨텍스트 / 왜 저장했는지
ca-tmpl의 sample removal / adoption 결정(2-step removal: profile toggle → package remove + dual-mode CI matrix + 7-step adoption checklist)에 대한 대안 1. Spring 진영의 표준 scaffolding 도구는 "처음부터 sample 없이 starter dependency만 선택"하는 모델 — ca-tmpl이 "skeleton + sample 동시 시작 후 제거"를 선택한 이유의 대조축.
출처 / Source
- 원본 URL: https://github.com/spring-io/initializr
- 공식 사이트: https://start.spring.io
- 문서: https://docs.spring.io/initializr/docs/current/reference/html/
- 아카이브 URL: (미수집)
- 저자/조직: spring-io (VMware/Broadcom Spring 팀, 공식)
- 라이선스: Apache-2.0
- 마지막 확인일: 2026-05-27
핵심 인용 / Key quotes (verbatim)
[§README — Overview] "Initializr generates Spring Boot project structures based on the dependencies you choose."
[§README — Self-host] "You can run your own instance via Docker or by deploying the war. You can also customize Initializr to add your own dependencies, defaults, and metadata."
[§README — Usage] "It is most often used through the start.spring.io web interface but can also be used through IDE integrations (IntelliJ IDEA, STS, NetBeans, VSCode) or REST API."
[§README — Extensibility] "Initializr provides an extensible API to generate quickstart projects... Custom starters can be added via metadata configuration."
Claims Extracted / 추출된 주장
| Claim ID | Claim (이 자료가 직접 말하는 것) | Evidence quote | Strength | Applies to | Does not prove |
|---|---|---|---|---|---|
| SCAF-SI-C1 | Initializr 는 사용자가 선택한 dependency 조합에 기반해 Spring Boot project 구조를 생성한다 | [§README — Overview] "Initializr generates Spring Boot project structures based on the dependencies you choose." | official-vendor-doc |
Spring Boot 프로젝트 scaffolding | Initializr 가 sample/예제 코드까지 함께 생성한다는 뜻은 아님 (dependency 기반 빈 구조) |
| SCAF-SI-C2 | Initializr 는 자체 인스턴스를 Docker 또는 war 배포로 운영 가능하며, dependency / default / metadata 를 커스터마이즈할 수 있다 | [§README — Self-host] "You can run your own instance via Docker or by deploying the war. You can also customize Initializr to add your own dependencies, defaults, and metadata." | official-vendor-doc |
사내 표준 starter 운영 / private Initializr 인스턴스 | 커스터마이즈가 "sample-on/sample-off dual-mode" 같은 ca-tmpl 의 CI matrix 모델을 지원한다는 뜻은 아님 |
| SCAF-SI-C3 | Initializr 는 start.spring.io 웹 UI 가 주된 사용 경로지만 IDE 통합 (IntelliJ IDEA, STS, NetBeans, VSCode) 또는 REST API 로도 사용 가능 | [§README — Usage] "It is most often used through the start.spring.io web interface but can also be used through IDE integrations (IntelliJ IDEA, STS, NetBeans, VSCode) or REST API." | official-vendor-doc |
Initializr 사용 채널 선택 | 모든 IDE 통합이 동일 기능 parity 를 가진다는 뜻은 아님 |
| SCAF-SI-C4 | Initializr 는 quickstart project 를 생성하기 위한 확장 가능한 API 를 제공하고, custom starter 는 metadata configuration 으로 추가 가능 | [§README — Extensibility] "Initializr provides an extensible API to generate quickstart projects... Custom starters can be added via metadata configuration." | official-vendor-doc |
사내 표준 starter 등록 메커니즘 평가 | metadata configuration 의 정확한 schema / 한계 / sample 코드 옵셔널화 가능 여부는 본 인용에서 보장 안 됨 |
Usage Boundaries / 적용 경계
- 이 자료가 직접 증명하는 것:
SCAF-SI-C1: dependency 선택 → Spring Boot 구조 생성 모델SCAF-SI-C2: 자체 인스턴스 운영 메커니즘 (Docker / war) + 커스터마이즈 차원 (dependency / default / metadata)SCAF-SI-C3: 사용 채널 다양성 (web / IDE / REST API)SCAF-SI-C4: custom starter 등록이 metadata configuration 으로 가능하다는 사실
- 이 자료가 증명하지 않는 것:
- Initializr 가 ca-tmpl 의 sample-ticket 같은 contract fixture 모델을 지원하거나 권장한다는 뜻은 아님 (오히려 sample-off 모델)
- dual-mode CI matrix (sample-on / sample-off) 가 Initializr 내부에서 지원된다는 뜻 아님
- custom starter metadata 가 ca-tmpl 의 7-step adoption checklist 항목 (domain rename, package rename, profile cleanup) 을 자동화한다는 뜻 아님
- "처음부터 sample 없음" 모델이 "skeleton 계약 검증 fixture 가 불필요" 를 의미한다는 뜻 아님 (검증 전략은 별도 결정)
- 내 프로젝트에 적용하려면 추가 확인이 필요한 것:
- ca-tmpl skeleton 을 Initializr custom starter 로 노출 시 sample-ticket 을 어떻게 옵셔널화 할지 (metadata flag vs 별도 starter 분리)
- private Initializr 인스턴스의 운영 비용 (배포·유지·dependency catalog 동기화) vs GitHub Template Repository / degit 같은 가벼운 대안의 트레이드오프
- REST API 로 자동화된 CI 시점 생성이 가능한지 (ca-tmpl dual-mode matrix 와의 결합)
메모
- 핵심 모델: dependency 조합만 선택 → 빈 프로젝트 생성. sample 코드 없음. removal 단계 자체가 없음.
- ca-tmpl과의 차이: ca-tmpl은 sample-ticket을 "skeleton 검증 fixture"로 일부러 포함 → 새 프로젝트 도입 시 2-step removal 필요. Initializr는 "sample 없는 빈 starter"라 trade-off는 (학습 곡선 vs 검증 가능성).
- custom starter: 사내 표준을 Initializr 인스턴스로 운영하면 ca-tmpl skeleton 자체를 "metadata 기반 starter"로 등록 가능. 단 이 경우 sample-ticket을 starter에서 제거해야 함 → ca-tmpl 결정과 충돌.
- dual-mode CI matrix(sample-on/sample-off)는 Initializr에 없음. Initializr는 처음부터 sample-off.
- 장점: Spring 사용자에게 가장 익숙한 scaffolding UX. IDE integration까지 표준화됨.
- 단점: skeleton contract 검증을 위한 sample fixture 개념이 없음. ca-tmpl이 추구하는 "fixture로 검증 + 도입 시 제거" 모델은 Initializr 위에 별도 정책으로 얹어야 함.
- 신뢰도: spring-io 공식. official-doc.
Related / 관련
- 같은 주제 다른 official-doc (Group H — Sample removal / adoption 대안 5종):
- raw/official-docs/scaffolding-cookiecutter-official — 대안 2 (Cookiecutter generator)
- raw/official-docs/scaffolding-degit-svelte-github — 대안 3 (degit clone)
- 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: (미작성)