← ClaudeAtlas

project-bootstraplisted

Creates the complete initial structure of a Spring Boot project from a declarative architecture blueprint. Use when the user asks to create a project from scratch, start a new project, set up a project, scaffolding, "new Spring project", bootstrap, generate a module structure, create a multi-module Maven or Gradle project, build a hexagonal architecture, clean architecture, onion, layered, vertical slice or modular monolith, or when the /init-project command is run.
ice-lfernandes/claude-spring-architect · ★ 3 · AI & Automation · score 79
Install: claude install-skill ice-lfernandes/claude-spring-architect
# Project Bootstrap Turns an empty directory into a Spring Boot project with declared architectural boundaries, active hooks, and a green build. **Does not write business code.** No example, no seed, no demo aggregate. It emits module structure, packages, POMs, configuration, enforcement, rules, and skills — and stops there. Classes come from the `/new-feature` pipeline, from a real spec. A `User` aggregate invented by the bootstrap competes with that spec and diverges from the layer skills' exemplars, which own the shape. Record: `@.claude/decisions/0011-bootstrap-without-business-code.md`. The only Java in the freshly generated project is what the Initializr brings — the `@SpringBootApplication` class and the context test — plus one `package-info.java` per role in `packages.map` (step 4.7). ## Dependencies `java` (JDK 21+) · `git` · `curl`. **Nothing else.** `mvn`/`gradle` on the PATH are not required — the Initializr's `starter.tgz` already brings the matching wrapper (`mvnw` or `gradlew`, whichever `build.tool` resolved to). No Python, no template engines, no bash. The hooks are a single Java file run in single-file source mode, which makes them identical on Linux, macOS, and Windows — the same dependency the target audience already has mandatorily. ## When NOT to use `pom.xml` or `build.gradle` already exists at the root. This skill **does not migrate** existing projects nor overwrite structure. In that case: stop, report, suggest `/new-feature` instead. ## Prec