blissful-infra dev
blissful-infra dev starts a development mode that watches for file changes
and provides fast feedback loops while iterating on a scaffolded application.
# Run from inside a project directorycd my-appblissful-infra dev
# Local mode: run the app process outside Docker (requires matching JDK)blissful-infra dev --localOptions
Section titled “Options”| Flag | Description |
|---|---|
--local | Run the application process locally instead of in Docker. Requires a matching JDK for Spring Boot projects. |
Spring Boot (Docker, with DevTools)
Section titled “Spring Boot (Docker, with DevTools)”For Spring Boot projects, if a docker-compose.dev.yaml is present (generated
by blissful-infra start), the CLI uses Spring Boot DevTools for the fastest
possible restart cycle:
- The backend source is volume-mounted into the container
- The Gradle incremental compiler (
classes -t) runs continuously inside Docker - Spring Boot DevTools detects the recompiled classes and restarts the JVM in ~2–3 seconds
cd my-appblissful-infra dev# Spring Boot DevTools mode activates automaticallySpring Boot (local)
Section titled “Spring Boot (local)”With --local, the CLI starts the incremental compiler and bootRun directly
on your machine, no Docker involved for the app process:
cd my-app/backendblissful-infra dev --localThe infrastructure services (Kafka, Postgres, Redis) are kept running in
Docker. The app connects to them via localhost:9092, localhost:5432, etc.
Other runtimes
Section titled “Other runtimes”For Node.js, Python, and Go projects, dev watches source files, rebuilds on
change, and restarts the process. Detection is automatic based on the presence
of package.json, go.mod, requirements.txt, etc.
| Runtime | Watch paths | Rebuild command |
|---|---|---|
| Gradle / Kotlin | src/**/*.kt, src/**/*.java, build.gradle.kts | ./gradlew build -x test |
| Maven | src/**/*.java, pom.xml | ./mvnw package -DskipTests |
| Node.js | src/**/*.ts, src/**/*.tsx, package.json | npm run build |
| Go | **/*.go, go.mod | go build -o app . |
| Python | **/*.py, requirements.txt | (no compilation needed) |
Changes are debounced by 500ms to avoid triggering multiple rebuilds on rapid saves.