A fast, interactive command-line tool for scaffolding Spring Boot projects without leaving your terminal.
SpringForge is a terminal-based project generator for Spring Boot applications. It wraps the Spring Initializr API in a guided, keyboard-driven wizard, so you can configure a new project, select dependencies, and download a ready-to-build codebase without opening a browser.
Instead of navigating start.spring.io manually, you run a single command and answer a short series of prompts directly in your terminal.
- Interactive terminal wizard with arrow-key navigation and live search
- Searchable, multi-select dependency picker covering the full Spring Initializr catalog
- Supports Maven and Gradle, multiple Java versions, and all current Spring Boot releases
- Generates a complete, ready-to-import project by calling the official Spring Initializr service
- Single self-contained CLI binary with no external configuration required
- Cross-platform: Windows, macOS, and Linux
springforgeworking.mp4
curl -fsSL https://raw.githubusercontent.com/rishabhrawat05/springforge/main/install.sh | bashirm https://raw.githubusercontent.com/rishabhrawat05/springforge/main/install.ps1 | iexBoth installers download the latest release, install it to a local directory, and add it to your PATH automatically. Restart your terminal afterward to pick up the change.
Requirements: Java 21 or later must be installed and available on your PATH.
You can verify your Java version with:
java -versionIf you prefer not to run the install script, you can download a release archive directly:
- Go to the Releases page
- Download the latest
springforge-<version>.zip - Extract it anywhere on your machine
- Add the extracted
bin/folder to yourPATH - Run
springforgefrom any terminal
Create a new project:
springforge create my-projectYou will be guided through a short wizard covering:
- Project name and Group ID
- Build tool (Maven or Gradle)
- Java version
- Spring Boot version
- Dependencies (searchable, multi-select)
- A final confirmation before the project is generated
Once confirmed, SpringForge downloads and extracts your project to the current directory.
| Key | Action |
|---|---|
| Up / Down | Move between options |
| Space | Toggle a dependency selection |
| Type | Filter the dependency list |
| Enter | Confirm the current step |
| Esc | Cancel the wizard |
$ springforge create inventory
Project Name: inventory
Group ID: org.example
Build Tool: Gradle Project
Java Version: 21
Spring Boot Version: 4.1.0.RELEASE
Dependencies: Spring Web, Spring Data JPA, PostgreSQL Driver, Lombok
Create inventory with these settings? Yes
Project downloaded successfully.SpringForge fetches its list of available Java versions, Spring Boot versions, build tools, and dependencies directly from the Spring Initializr metadata endpoint, so the options presented always reflect what is currently supported upstream.
git clone https://github.com/rishabhrawat05/springforge.git
cd springforge
./gradlew clean installDistThe built distribution will be available at build/install/springforge/bin/.
Contributions are welcome. Please open an issue to discuss any significant change before submitting a pull request.
- Fork the repository
- Create a feature branch (
git checkout -b feature/my-feature) - Commit your changes
- Push to your fork and open a pull request
This project is licensed under the MIT License.
- Spring Initializr for providing the project generation service this tool builds on
- Lanterna for terminal UI rendering
- Picocli for command-line argument parsing
