# Taming Thymeleaf CLI

> Command line tool that scaffolds Spring Boot projects with Thymeleaf or JTE templates, live reload, and chosen web dependencies.

Taming Thymeleaf CLI (ttcli) is an open-source command line tool by wimdeblauwe that sets up a Spring Boot project using either Thymeleaf or JTE as the template engine. It asks a series of questions, or accepts options for scripted use, and generates the project in a sub-directory named after the artifactId. The latest listed release is 1.15.0.

## What It Is

ttcli is a project generator for Java developers building server-rendered Spring Boot web applications. It calls start.spring.io to create the base project, so it needs internet access. It then layers on starter templates, a HomeController, live reload configuration, and selected frontend dependencies.

## How Project Generation Works

Running `ttcli init` prompts for Maven group, artifact, project name, Spring Boot and Java versions, template engine, live reload approach, package manager, and web dependencies. Every question can instead be answered with a flag, and `--non-interactive` uses defaults for anything unanswered, which makes it usable from scripts or coding agents. Conflicting options produce an error with a non-zero exit code, and a summary of answers is printed before generation.

The output includes starter templates (`index.html` and `layout/main.html` for Thymeleaf, or `.jte` equivalents), optional Thymeleaf Layout Dialect, a `frontend-maven-plugin` setup when npm or pnpm is used, a local profile properties file, and a `HELP.md` explaining how to start the chosen live reload setup.

## Live Reload and Web Dependencies

Three live reload options are offered: Vite (Thymeleaf and JTE), npm-based scripts using PostCSS, Babel and Browsersync (Thymeleaf only), and DevTools-based reload (Thymeleaf only). Selectable web dependencies are Alpine.js, Bootstrap, htmx (2 or 4), Shadleaf, Shoelace, and Tailwind CSS, with Tailwind 3 or 4 and optional plugins such as forms, typography, container queries, and daisyUI.

## Installation Options

Releases can be downloaded and unzipped for macOS, Linux, or Windows. The tool is also available through Homebrew, Chocolatey, and JBang. It can be built with Maven, including a GraalVM native build.

## Features
- Interactive and non-interactive project generation
- Spring Boot project creation via start.spring.io
- Thymeleaf or JTE template engine selection
- Optional Thymeleaf Layout Dialect
- Live reload options: Vite, npm-based, DevTools
- npm or pnpm package manager support
- Web dependencies: Alpine.js, Bootstrap, htmx, Shadleaf, Shoelace, Tailwind CSS
- Tailwind 3/4 with forms, typography, container-queries, daisyUI plugins
- Generated HELP.md with live reload instructions
- Native build support with GraalVM

## Integrations
start.spring.io, Spring Boot, Thymeleaf, JTE, Vite, Tailwind CSS, htmx, Alpine.js, Bootstrap, Shoelace, Shadleaf, Homebrew, Chocolatey, JBang

## Platforms
WINDOWS, MACOS, LINUX, WEB, API, JETBRAINS_PLUGIN, CLI

## Pricing
Open Source

## Version
1.15.0

## Links
- Website: https://github.com/wimdeblauwe/ttcli
- Documentation: https://github.com/wimdeblauwe/ttcli
- Repository: https://github.com/wimdeblauwe/ttcli
- EveryDev.ai: https://www.everydev.ai/tools/ttcli
