https://github.com/thesurlydev/spring-init
CLI which creates a Spring Boot project scaffolding based on a given product requirements document (PRD)
https://github.com/thesurlydev/spring-init
Last synced: 12 months ago
JSON representation
CLI which creates a Spring Boot project scaffolding based on a given product requirements document (PRD)
- Host: GitHub
- URL: https://github.com/thesurlydev/spring-init
- Owner: thesurlydev
- Created: 2025-02-16T21:51:36.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-02-22T18:54:50.000Z (over 1 year ago)
- Last Synced: 2025-02-22T19:33:48.818Z (over 1 year ago)
- Language: Rust
- Size: 53.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# spring-init
A powerful CLI tool for creating and managing Spring Boot projects with AI-assisted dependency selection. This tool streamlines the process of initializing Spring Boot applications by automatically suggesting dependencies based on your project requirements.

## Features
- **AI-Powered Dependency Selection**: Analyzes your Product Requirements Document (PRD) to suggest relevant Spring Boot dependencies
- **Project Initialization**: Creates new Spring Boot projects with customizable configurations
- **Build Management**: Handles project building and Maven plugin synchronization
- **Project Reset**: Ability to reset project state when needed
- **Dependency Information**: Lists all available Spring Boot dependencies
## Installation
Ensure you have Rust installed on your system, then clone and build the project:
```bash
git clone https://github.com/thesurlydev/spring-init.git
cd spring-init
cargo build --release
```
## Configuration
Create a `config.json` file in your project root with the following structure:
```json
{
"boot_version": "3.2.0",
"java_version": "21",
"app_name": "my-spring-app",
"app_version": "0.0.1-SNAPSHOT",
"package_name": "com.example.demo",
"projects_dir": "./projects",
"maven_plugins": [],
"include_deps": []
}
```
## Usage
### Initialize a New Project
```bash
# Basic initialization
spring-init init
# Initialize with PRD-based dependency suggestions
spring-init init --prd path/to/prd.md
# Initialize with additional dependencies
spring-init init --include web,data-jpa,postgresql
```
### Get Dependency Suggestions
```bash
spring-init suggest-deps --prd path/to/prd.md
```
### List Available Dependencies
```bash
spring-init deps
```
### Build Project
```bash
spring-init build
```
### Show Project Information
```bash
spring-init info
```
### Reset Project
```bash
spring-init reset
```
## PRD Format
When using the AI-powered dependency suggestion feature, your PRD should clearly describe your application's requirements and features. The AI will analyze this document to suggest appropriate Spring Boot dependencies.
## Dependencies
The tool integrates with [start.spring.io](https://start.spring.io) to provide access to all official Spring Boot dependencies. For a complete list of available dependencies, use the `deps` command.