Your first app in 5 minutes

One command to install, one prompt to build. Everything runs locally on your machine.

$ git clone https://github.com/llumos/llumos && cd llumos
$ npm install && npm run dev

What you need

Node.js 18+node --version to check. Download from nodejs.org.
npm or yarn — Comes with Node.js.
Claude CLI — The AI backend. Install with npm install -g @anthropic-ai/claude-code.
macOS, Linux, or Windows — Electron runs on all three.

Installation walkthrough

1

Clone the repository

$ git clone https://github.com/llumos/llumos
$ cd llumos
$ npm install

This installs Electron, React, Vite, and all dependencies. Takes about 60 seconds.

2

Launch the app

$ npm run dev

The llumos window opens with a chat interface on the left and a welcome screen.

llumos
+

What will you build?

Notes App
Dashboard
Music Player
3

Describe what you want

Create a pomodoro timer with 25-minute focus sessions, 5-minute breaks, and a session counter
I'll build a Pomodoro timer with a circular countdown display, break timer, and session history.
Write src/App.jsx
Write src/Timer.jsx
Write src/SessionLog.jsx
Bash npm run build
Your Pomodoro Timer is ready. Click Launch to try it.

The agent writes the code, installs dependencies, and builds the app. This takes 30–60 seconds.

4

Launch your app

Click the Launch button (or press ⌘L). Your app opens in its own native window.

18:24
Focus Session
Pause
Skip
Session 3 of 4
Add ambient rain sounds during focus sessions
I'll add an ambient sounds feature with rain, forest, and cafe options.
Write src/AmbientSounds.jsx · Bash npm run build

Every follow-up rebuilds the app instantly. Use Undo (⌘Z) to roll back any change.

Tutorial: Build a Pomodoro Timer

Follow along step-by-step. Copy each prompt exactly.

1
Initial prompt
Scaffold the timer app
See prompt
Create a pomodoro timer with a large circular countdown, 25-minute focus sessions, 5-minute breaks, a session counter, and a clean minimal UI with a dark theme.

What happens: The agent creates 3 files (App.jsx, Timer.jsx, SessionLog.jsx), installs dependencies, and builds. Result: Pomodoro timer with basic circular display.

2
Visual polish
Animate the countdown ring
See prompt
Make the timer ring animate smoothly as it counts down. Add a pulsing glow effect when there's less than 1 minute remaining.

What happens: The agent modifies Timer.jsx to add CSS animations and a conditional glow class.

3
Ambient sounds
Add background audio options
See prompt
Add an ambient sounds selector. Options: Rain, Forest, Cafe, and Silent. Play the selected sound during focus sessions.

What happens: Creates AmbientSounds.jsx, adds audio elements, updates the UI with a dropdown selector.

4
Session history
Track completed sessions
See prompt
Add a session history panel that shows today's completed sessions with timestamps and total focus time.

What happens: Creates SessionHistory.jsx, adds localStorage persistence for session data.

5
Connect to Notes
Wire up inter-app messaging
See prompt
When a Pomodoro focus session ends, send a summary to my Notes app with the session duration and what I was working on.

What happens: The Orchestrator modifies both apps, adding window.llumos.send() to the timer and window.llumos.onMessage() to Notes.

Keep going

Frequently asked questions

What AI model does llumos use?
llumos uses Claude via the Claude CLI (claude -p). The agent runs locally on your machine and communicates with Anthropic's API.
Does it cost money?
llumos itself is free and open source. You need a Claude API key from Anthropic, which has its own pricing. The generated apps are completely free to run forever.
Where do my apps live?
Generated apps are stored at ~/llumos/apps/<app-id>/ on your filesystem. Each app is a standard React + Vite project you can open in any editor.
Can I edit the generated code?
Absolutely. Every app is a standard React project with JSX, CSS, and npm packages. Open it in VS Code, make changes, run npm run build.
Does it work offline?
Generated apps work completely offline once built. Creating new apps or iterating requires the Claude API, which needs an internet connection.
Can apps talk to each other?
Yes. Apps communicate via window.llumos.send() and window.llumos.onMessage(). The Orchestrator can wire up connections automatically with a single prompt.
Is it safe?
Agents are scoped to their app directory and can't access other parts of your system. All data stays local. The project is open source so you can audit every line.
What platforms does it support?
macOS, Linux, and Windows. Anywhere Electron runs.

Stuck? Need help?

Get support from the community or open an issue.