| type | README | ||||
|---|---|---|---|---|---|
| title | DOMinic | ||||
| description | A web-based desktop operating system where an AI agent authors the apps. | ||||
| tags |
|
||||
| generated |
|
||||
| verified |
|
A web-based desktop operating system running in a browser tab, where an AI agent is the primary app author: the user talks, the agent answers, and the apps it writes install, run, and persist like first-party software.
- A desktop-metaphor OS shell — window manager, taskbar, and app registry — built for desktop browsers, with a phone layout below 768px: windows stack as full-width cards and the taskbar becomes a scrollable bottom sheet (ADR 0004; roadmap step 3.1).
- A chat-driven agent surface that streams from virtually any LLM provider; users bring their own API keys, which stay in their browser and travel per-request, never at rest on a server.
- A platform for agent-authored apps: Vue single-file components compiled at runtime in the browser, persisting their source in a virtual filesystem and loading npm dependencies from the esm.sh CDN. Dependencies are not vetted yet: the vetting gate decided in ADR 0008 is roadmap step 1.3.
The hackathon proof of concept shipped the whole core loop; the project now follows the sequenced roadmap in NEXT.md. See Running DOMinic to start it, and the decision records below for why it is built this way.
| Path | Contents |
|---|---|
| docs/JUDGES.md | Judges start here: five-minute tour of the demo, the code behind it, and what is deferred |
| docs/adrs/ | Architecture decision records (MADR 4.0) |
| NEXT.md | Sequenced roadmap, collaborator lanes, and the issue -> PR -> merge loop |
| QUESTIONS.md | Open questions register with post-hackathon outcomes |
| docs/agents/use-okf.md | OKF v0.2 frontmatter convention for docs |
| docs/agents/rubric.md | Hackathon judging rubric and win strategy |
| docs/agents/demo-path.md | The two-minute demo as rubric-mapped beats |
| .claude/skills/coordinate/SKILL.md | Multi-agent task coordination over GitHub Issues (/coordinate): protocol, parameters, working agreements |
| docs/superpowers/specs/ | Design specs from brainstorming sessions |
| docs/superpowers/plans/ | Implementation plans derived from specs |
| docs/research/ | The Q01 question and its three answers behind the coordination playbooks |
The accepted ADR series establishes the platform's foundations. Each record carries a hackathon golden path (historical since ADR 0012) and an as-built reconciliation:
- 0001 Feature slices with domain-driven organization
- 0002 Strict TypeScript and lint toolchain
- 0003 Pinia per-domain stores
- 0004 DOMinic OS shell and taskbar
- 0005 Agent chat via Vercel AI SDK with server-side provider proxy
- 0006 Agent-authored runtime-compiled components
- 0007 Virtual filesystem with pluggable storage drivers
- 0008 Runtime NPM dependency loading via esm.sh with vetting
- 0009 CORS-first networking with Chrome-masking proxy fallback
- 0010 Agent app interface and tool protocol
- 0011 Node 24 LTS runtime standard
- 0012 End of the hackathon scope
Development continues part-time with a lane per collaborator - the paths they own, their roadmap steps, and a reviewer rotation - defined in NEXT.md. The hackathon's five workstreams are recorded in the git history and in docs/submission-form.md.
npm install
npm run dev # Nuxt dev server, default http://localhost:3000Open Settings from the System panel (top right) and paste an API key for your model provider. The key stays in your browser and travels per request; the server never stores it (ADR 0005). Then describe an app in the Agent Chat, which opens with the desktop: it is written, compiled in the browser, installed to the taskbar, and kept across reloads.
Other scripts: npm run build, npm run typecheck, npm run lint
(npm run lint:fix applies fixes), npm run lint:md, and
npm run test:e2e (see tests/e2e/README.md).
Code is linted with ESLint (eslint.config.mjs), including a rule
against imports between feature slices (ADR 0001). Markdown is
linted with markdownlint-cli2 (80-column prose) and carries OKF
frontmatter.
Node 24 LTS is the standard runtime — see
ADR 0011; nvm use
picks it up from the checked-in .nvmrc.
npm install
npm run lint
npm run lint:mdA pre-commit hook lints the Markdown and runs ESLint with --fix on
staged files; type-checking runs in CI (ADR 0002). Write with the
conventions in docs/agents/use-okf.md and
docs/adrs/template.md.
DOMinic is licensed under the GNU Affero General Public License v3.0 or later (AGPL-3.0-or-later). Since DOMinic is a network-run application, section 13 of the AGPL requires that users interacting with it over a network are offered the corresponding source.
