Skip to content

Install & Run

Get a running Atmosphere app in seconds — no Maven, no project setup, no boilerplate.

Terminal window
curl -fsSL https://raw.githubusercontent.com/Atmosphere/atmosphere/main/cli/install.sh | sh

Or with Homebrew:

Terminal window
brew install Atmosphere/tap/atmosphere

The installer checks for Java 21+, downloads the atmosphere script to /usr/local/bin, and creates ~/.atmosphere/ for caching.

Terminal window
atmosphere run spring-boot-chat

That’s it. The CLI downloads a pre-built JAR from GitHub Releases, caches it in ~/.atmosphere/cache/, and starts a WebSocket chat app on http://localhost:8080. Open it in your browser — you have a working real-time chat.

Terminal window
atmosphere run spring-boot-ai-chat --env LLM_API_KEY=your-key

This starts an AI streaming chat that connects to Gemini, GPT, Claude, or Ollama — configured via environment variables. Without an API key, it runs in demo mode with simulated streaming.

Terminal window
atmosphere install

The interactive picker shows every sample grouped by category. Pick one, then choose to run it or install its source code into your current directory:

Atmosphere Samples (18 available)
CHAT
1) spring-boot-chat Real-time WebSocket chat with Spring Boot
2) quarkus-chat Real-time WebSocket chat with Quarkus
3) embedded-jetty-ws-chat Embedded Jetty WebSocket chat (no framework)
AI
4) spring-boot-ai-chat AI streaming with conversation memory and structured events
5) spring-boot-ai-classroom Multiple clients share streaming AI responses
6) spring-boot-adk-chat AI chat with Google ADK
7) spring-boot-langchain4j-chat AI chat with LangChain4j
...
Pick a sample [1-18]:

If fzf is installed, you get fuzzy-search instead of numbered menus.

Terminal window
atmosphere install --tag ai # AI samples only
atmosphere install --category tools # Tool-calling samples
atmosphere list # List all samples without the picker
atmosphere info spring-boot-ai-chat # Show details about a specific sample

When you’re ready to write your own code:

Terminal window
atmosphere new my-app
atmosphere new my-ai-app --template ai-chat
atmosphere new my-rag-app --template rag

This scaffolds a complete Spring Boot + Atmosphere project with pom.xml, source code, and a frontend. Run it with ./mvnw spring-boot:run.

TemplateWhat you get
chatWebSocket chat with Broadcaster and @ManagedService
ai-chat@AiEndpoint with streaming, conversation memory, and configurable LLM backend
ai-toolsAI tool calling with @AiTool and LangChain4j
ragRAG chat with Spring AI vector store and embeddings
quarkus-chatReal-time chat on Quarkus instead of Spring Boot

No Java CLI needed — scaffold from npm:

Terminal window
npx create-atmosphere-app my-chat-app
npx create-atmosphere-app my-ai-app --template ai-chat

For full control over the generated project:

Terminal window
jbang generator/AtmosphereInit.java --name my-app --handler ai-chat --ai spring-ai --tools

Options: --handler (chat, ai-chat, mcp-server), --ai (builtin, spring-ai, langchain4j, adk), --tools (include @AiTool methods). See generator/README.md for details.

SampleDescriptionPort
spring-boot-chatReal-time WebSocket chat with Spring Boot8080
quarkus-chatReal-time WebSocket chat with Quarkus8080
embedded-jetty-websocket-chatEmbedded Jetty, no framework8080
SampleDescriptionPort
spring-boot-ai-chatConversation memory, structured events, capability validation8080
spring-boot-ai-classroomMultiple clients share streaming AI responses8080
spring-boot-adk-chatGoogle ADK agent chat8080
spring-boot-langchain4j-chatLangChain4j streaming8081
spring-boot-embabel-chatEmbabel agent chat8082
spring-boot-spring-ai-chatSpring AI ChatClient8083
SampleDescriptionPort
spring-boot-ai-toolsFramework-agnostic @AiTool with cost metering8090
spring-boot-adk-toolsGoogle ADK tool calling with caching8087
spring-boot-langchain4j-toolsLangChain4j tools with PII redaction8086
spring-boot-spring-ai-routingSpring AI routing with content safety8088
spring-boot-embabel-horoscopeMulti-step Embabel agent with progress tracking8089
SampleDescriptionPort
spring-boot-mcp-serverMCP tools, resources, and prompts for AI agents8083
spring-boot-otel-chatOpenTelemetry tracing with Jaeger8084
spring-boot-durable-sessionsSession persistence with SQLite8080
spring-boot-rag-chatRAG with Spring AI vector store8080

All AI samples accept the same environment variables:

VariableDescriptionDefault
LLM_API_KEYAPI key for your LLM provider(none — runs in demo mode)
LLM_MODELModel namegemini-2.5-flash
LLM_BASE_URLOverride API endpoint(auto-detected from model name)
LLM_MODEremote or local (Ollama)remote

Pass them via --env:

Terminal window
atmosphere run spring-boot-ai-chat \
--env LLM_API_KEY=your-key \
--env LLM_MODEL=gpt-4o
RequirementVersionHow to install
Java21+brew install openjdk@21 or SDKMAN
JBang(optional)brew install jbang — only for atmosphere new with full templates
fzf(optional)brew install fzf — for fuzzy-search sample picker

Once you have a running sample, you’re ready to understand the code. Start with Chapter 1: Introduction for the architecture, or jump straight to Chapter 2: Getting Started to build your first app from scratch.