One command scaffolds a full-stack app with CI/CD, observability, Kafka, Postgres, Grafana, Jenkins, and an AI debugging agent. All wired together and running in Docker. No cloud required.
npm install -g @blissful-infra/cli
$ blissful-infra start my-app --database postgres-redis ✔ Scaffolded project my-app/ ✔ Generated docker-compose 12 services ✔ Flyway migrations applied V1__init.sql ✔ Kafka topics created events, dlq ✔ Registered with Jenkins http://localhost:8081 Services running: Frontend → http://localhost:3000 Backend → http://localhost:8080 Grafana → http://localhost:3001 Dashboard → http://localhost:3002
blissful-infra doesn't just orchestrate services you wrote. It creates them, fully configured and connected.
Spring Boot, FastAPI, Express, or Go backend. React or Next.js frontend. Generated as real, readable code in your project directory.
Kafka wired to your backend out of the box. WebSocket and SSE endpoints in every template. Dead-letter queues configured automatically.
Postgres with Flyway migrations. Redis with Spring Cache annotations. Choose postgres-redis for a cache-aside pattern from day one.
Prometheus, Grafana, and Loki pre-configured. Three dashboards provisioned automatically: Service Overview, JVM Metrics, Infrastructure.
A shared Jenkins instance manages every project. Jenkinsfile generated per project. Trigger builds, view stage results from the dashboard.
Ask Claude or Ollama to diagnose production issues. The agent has access to your logs, metrics, and service health in real time.
Kustomize manifests, Argo CD application configs, canary rollout specs, and chaos tests generated alongside your Docker setup.
Add an ML data platform, a Scrapy web scraper, or a LangGraph agent service with a single flag. Each plugin wires itself into Kafka automatically.
Prerequisites: Docker Desktop running, Node.js 18+
npm install -g @blissful-infra/cli
blissful-infra start my-app --backend spring-boot --database postgres-redis
blissful-infra dashboard
blissful-infra start my-app --plugins ai-pipeline,scraper
| Service | URL | Purpose |
|---|---|---|
| Frontend | localhost:3000 | React + Vite |
| Backend API | localhost:8080 | Spring Boot / FastAPI / Go |
| Grafana | localhost:3001 | Metrics dashboards |
| Dashboard | localhost:3002 | Project management UI |
| Jenkins | localhost:8081 | CI/CD pipelines |
| MLflow | localhost:5001 | ML experiment tracking |
| ClickHouse | localhost:8123 | Columnar analytics |
Fully runnable projects that demonstrate real production patterns.
Real-time personalized recommendations using ALS collaborative filtering. Scrapy scrapes Hacker News every 15 minutes. Articles flow Kafka to ClickHouse to model retrain. Automatic fallback to synthetic data before the first crawl.
blissful-infra example content-recommender
blissful-infra ships an MCP server. Point Claude Desktop or Claude Code at it and manage your entire local platform through conversation. No context switching.
{
"mcpServers": {
"blissful-infra": {
"command": "npx",
"args": ["-y", "@blissful-infra/cli", "mcp"]
}
}
}
GET /products endpoint is querying without pagination. I'd recommend adding Pageable to the repository method and setting a max page size of 100.