| Crates.io | xspring |
| lib.rs | xspring |
| version | 0.1.3 |
| created_at | 2025-09-13 18:03:38.255063+00 |
| updated_at | 2026-01-13 19:25:16.660425+00 |
| description | A tool to scaffold spring boot projects interactively like the vs code extension for scaffolding a spring boot project |
| homepage | https://github.com/MohdShahulMalik/xspring |
| repository | https://github.com/MohdShahulMalik/xspring |
| max_upload_size | |
| id | 1837981 |
| size | 133,431 |
xspring is a powerful, modern command-line interface (CLI) for creating and configuring Spring Boot applications. Built for ease of use and developer productivity while levaraging the speed of Rust, xspring provides an interactive, guided experience that streamlines project setup, from simple web applications to complex microservices. It combines the flexibility of the official Spring Initializr with the convenience of a fast, local, and feature-rich tool.
Whether you're a seasoned Spring developer who values automation or a newcomer learning the ecosystem, xspring is designed to get you from idea to public static void main in seconds.
xspring with no arguments to enter a step-by-step guided mode. It prompts you for everything needed to create a project, including:
sec might suggest Spring Security.quick subcommand for a faster, streamlined project setup with sensible defaults.
-e or --extended flag to scaffold a project more quickly-m or --maven if you prefer to change the default project type-d or --deps to add dependencies to your project interactivelyxspring list --deps or -d: Browse all available dependencies by category.xspring list --boot or -b: See a list of supported Spring Boot versions (stable, milestone, and snapshot).xspring list --java or -j: Check the available Java runtimes.xspring list --type or -t: Check the available project types.xspring list --language or -l: Check the available languages.create-react-app or cargo.You can install xspring from Crates.io:
cargo install xspring
Run xspring with no arguments to enter the interactive mode:
https://github.com/user-attachments/assets/bd81382f-f7f5-406d-b36e-06b31715eaf7
For a faster setup, you can use the quick subcommand. This mode uses sensible defaults for most options, only prompting for the essential information.
Default Quick Mode
By default, the quick subcommand will prompt for the Group ID, Artifact ID, Display Name, and Description.
$ xspring quick
📦 Group ID: com.mycorp
🎫 Artifact ID: user-service
📝 Display Name: User Service
💡 Project Description: A RESTful API for managing users
Extended Quick Mode (-e or --extended)
You can further streamline the process with the -e or --extended flag, which uses default values for the Display Name and Description, only prompting for the Group ID and Artifact ID.
$ xspring quick -e
📦 Group ID: com.mycorp
🎫 Artifact ID: user-service
Dependencies Flag (-d or --deps)
The -d or --deps flag allows you to select dependencies for your project. This can be combined with other flags.
$ xspring quick -d
📦 Group ID: com.mycorp
🎫 Artifact ID: user-service
📝 Display Name: User Service
💡 Project Description: A RESTful API for managing users
🧩 Dependencies: › Spring Security - Spring Web - Lombok - ...
Maven Flag (-m or --maven)
By default, the quick subcommand uses Gradle as the project type. The -m or --maven flag allows you to override this and set the project type to Maven without prompting. This can be combined with either of the above modes.
$ xspring quick -e -m
📦 Group ID: com.mycorp
🎫 Artifact ID: user-service
xspring list -d or xspring list --depsxspring list -b or xspring list --bootxspring list -j or xspring list --javaxspring list -t or xspring list --typexspring list -l or xspring list --language# List all available dependencies
$ xspring list --deps
# List all supported Java versions
$ xspring list --java
-o or --output: Specify a directory to output the generated project to.
xspring -o my-new-project
xspring creates daily rotating log files in a logs directory in the directory where it is executed.
You can control the log verbosity with the following flags:
-v, --verbose: Increases the verbosity of the output. Can be used multiple times to increase the level of detail (e.g., -v for warnings, -vv for info, -vvv for debug, -vvvv for trace).-q, --quiet: Suppresses all output except for errors.# Run with verbose output to show debug information
$ xspring -vvv
# Run in quiet mode
$ xspring --quiet
git clone https://github.com/MohdShahulMalik/xspring.git
cd xspring
cargo install --path .
~/.cargo/bin/xspring.This project is licensed under either of the following, at your option:
Contributions are welcome! Please feel free to submit a pull request or open an issue.