sbc · Spring Boot CLI
English | 简体中文

A vue-cli style interactive CLI to scaffold, search and run Spring Boot projects — monorepo-aware, powered by Spring Initializr.
Features
- Scaffold projects interactively (prompts) or non-interactively (flags), just like
vue-cli.
- Search / filter dependencies by id, name or description — from the command line or a type-to-filter picker.
- Run a generated project through its Maven/Gradle wrapper (
spring-boot:run / bootRun).
- Monorepo support: track multiple Spring Boot modules under one workspace and run any of them by name.
Install
npm install -g @jeangrey/sbc
npx @jeangrey/sbc
Usage
Create a project
sbc create my-app
sbc create my-app --type maven-project --java 21 --group com.example -d web,data-jpa
sbc create my-app -d web --run
Key options:
--type <id> | maven-project | gradle-project | gradle-project-kotlin |
--language <lang> | java | kotlin | groovy |
--boot <version> | Spring Boot version, e.g. 3.5.0 |
--java <version> | Java version, e.g. 21 |
--group / --artifact | Maven coordinates |
--package <name> | Base package, e.g. com.example.demo |
--packaging <type> | jar | war |
-d, --deps <list> | Comma-separated dependency ids or names |
-f, --force | Write into a non-empty directory |
--run | Run the project after generating |
--module <name> | Workspace module name to register |
Search dependencies
sbc search graphql
sbc search "spring security"
Run a project
sbc run
sbc run my-app
sbc run my-app -- --debug
Monorepo workspace
sbc workspace init
sbc create services/user-service -d web,data-jpa
sbc create apps/api-gateway --type gradle-project -d web
sbc list
sbc run user-service
sbc.workspace.json records each module's name, path, build type, language and Boot version:
{
"version": 1,
"modules": [
{ "name": "user-service", "path": "services/user-service", "type": "maven-project", "language": "java", "bootVersion": "3.5.0" }
]
}
Development
pnpm install
pnpm build
pnpm dev
License
ISC © jeangrey