Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
{
"name": "clawdnd",
"name": "worldos",
"owner": {
"name": "100yenadmin"
"name": "electricsheephq"
},
"metadata": {
"description": "ClawDnD — voice-acted D&D 5e campaigns with an AI Dungeon Master and a voiced AI companion.",
"homepage": "https://github.com/100yenadmin/ClawDnD"
"description": "WorldOSsimulate living worlds and play voice-acted D&D 5e campaigns inside them, with an AI Dungeon Master and a voiced AI companion.",
"homepage": "https://github.com/electricsheephq/WorldOS"
},
"plugins": [
{
"name": "clawdnd",
"name": "worldos",
"version": "1.0.0",
"source": "./",
"description": "Adventure inside living, AI-generated D&D 5e worlds with a voiced AI companion an AI DM generates epic stories live within persistent, canon-anchored worlds."
"description": "WorldOS — simulate living, AI-generated worlds and play epic D&D 5e inside them, with a voiced AI companion and an AI DM running stories within persistent, canon-anchored worlds."
}
]
}
10 changes: 5 additions & 5 deletions .claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
{
"name": "clawdnd",
"name": "worldos",
"version": "1.0.2",
"description": "Adventure inside living, AI-generated D&D 5e worlds with a voiced AI companion — an AI DM generates epic stories live within persistent, canon-anchored worlds; deterministic 5e rules, searchable memory, fully voice-acted.",
"description": "WorldOS — simulate living, AI-generated worlds and play epic D&D 5e inside them. An AI DM generates stories live within persistent, canon-anchored worlds; deterministic 5e rules, searchable memory, a voiced AI companion, fully voice-acted.",
"author": {
"name": "100yenadmin"
"name": "electricsheephq"
},
"repository": "https://github.com/100yenadmin/ClawDnD",
"repository": "https://github.com/electricsheephq/WorldOS",
"license": "MIT",
"keywords": [
"dnd",
Expand All @@ -21,5 +21,5 @@
"claude-code",
"mcp"
],
"homepage": "https://github.com/100yenadmin/ClawDnD#readme"
"homepage": "https://github.com/electricsheephq/WorldOS#readme"
}
6 changes: 3 additions & 3 deletions .github/workflows/macos-swift.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:
- macos/swift-ci
paths:
- ".github/workflows/*.yml"
- "macos/ClawDnDApp/**"
- "macos/WorldOSApp/**"
- "script/build_and_run.sh"
- "scripts/*.sh"
- "scripts/**/*.sh"
Expand All @@ -17,7 +17,7 @@ on:
- macos/native-app-shell
paths:
- ".github/workflows/*.yml"
- "macos/ClawDnDApp/**"
- "macos/WorldOSApp/**"
- "script/build_and_run.sh"
- "scripts/*.sh"
- "scripts/**/*.sh"
Expand All @@ -38,4 +38,4 @@ jobs:
find scripts -type f -name "*.sh" -print0 | xargs -0 -n 1 bash -n

- name: Build native app
run: swift build --package-path macos/ClawDnDApp
run: swift build --package-path macos/WorldOSApp
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,8 @@ venv/

# Native macOS app build outputs
/dist/
/macos/ClawDnDApp/.build/
/macos/ClawDnDApp/.swiftpm/
/macos/WorldOSApp/.build/
/macos/WorldOSApp/.swiftpm/

# TTS models / audio caches (large, regenerated locally)
*.onnx
Expand Down
4 changes: 2 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Changelog

All notable changes to ClawDnD are documented here.
All notable changes to WorldOS (formerly ClawDnD) are documented here.
[Keep a Changelog](https://keepachangelog.com/en/1.0.0/) format.
ClawDnD's code is MIT; world seeds are licensed separately (see `content/worlds/README.md`).
WorldOS's code is MIT; world seeds are licensed separately (see `content/worlds/README.md`).

---

Expand Down
31 changes: 21 additions & 10 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,35 @@
# ClawDnD — working guide (read before editing/running)
# WorldOS — working guide (read before editing/running)

A post-Baldur's-Gate-3 D&D 5e living-world game shipped as a Claude Code plugin, with a
native macOS app. This file is auto-loaded when working in the repo — it exists so we never
again run the wrong UI or work from the wrong checkout (both have bitten us).
WorldOS simulates living, AI-generated worlds and lets you play epic D&D 5e inside them —
shipped as a Claude Code plugin, with a native macOS app. The flagship world is a
post-Baldur's-Gate-3 5e living world. This file is auto-loaded when working in the repo — it
exists so we never again run the wrong UI or work from the wrong checkout (both have bitten us).

> Naming note: the project was renamed `ClawDnD` → `WorldOS` (GitHub repo
> `100yenadmin/ClawDnD` → `electricsheephq/WorldOS`; the old URL redirects). The product name is
> now **WorldOS**. Some lower-level identifiers are still being migrated in later PRs and remain
> `clawdnd`-named on purpose: the MCP servers (`clawdnd-engine`, `clawdnd-rules`, `clawdnd-voice`,
> `clawdnd-player`), the `CLAWDND_*` env vars, and the `dev.clawdnd.app` bundle id. Treat those as
> the live wire/contract names until their dedicated rename PRs land — don't "fix" them ad hoc.

## Which checkout am I in?
- **Canonical working checkout: `/Users/lume/ClawDnD-val`** — it tracks GitHub
`100yenadmin/ClawDnD` `main`. Edit, run, commit, and verify here.
`electricsheephq/WorldOS` `main`. Edit, run, commit, and verify here. (The directory name is
kept as-is for now; only the product was renamed.)
- **`/Volumes/LEXAR/repos/ClawDnD-val` and `/Volumes/LEXAR/repos/ClawDnD` are DEPRECATED**
(the pre-2026-05-28 location). Do not edit or run from them. They're kept only as
fast-forwarded read-only mirrors and are guarded so an accidental run still serves local code.
- If `git remote -v` shows `100yenadmin/ClawDnD` but your `pwd` is under `/Volumes/LEXAR/…`,
you're on the deprecated mirror — switch to `/Users/lume/ClawDnD-val`.
- If your `pwd` is under `/Volumes/LEXAR/…`, you're on the deprecated mirror — switch to
`/Users/lume/ClawDnD-val`.
- The Claude Code **preview tool roots at the LEXAR path**, so don't trust `preview_start`
blindly — run the viewer yourself (below) from the canonical checkout, or confirm the served
code is current (root must 302→`/openworlds/`; `chrome.jsx` must have zero `traffic-lights`).

## The UI is OpenWorlds — NOT the root dashboard
- The real, current UI is the **OpenWorlds React SPA at `/openworlds/`**
(`viewer/openworlds/*.jsx`, in-browser Babel, no build step), served by `viewer/server.py`.
The native app `dist/ClawDnD.app` loads `/openworlds/`.
The native app `dist/WorldOS.app` loads `/openworlds/`. ("OpenWorlds" is the SPA codename —
a sub-component of WorldOS — and stays.)
- **`http://127.0.0.1:<port>/` (the root) is the LEGACY pre-OpenWorlds dashboard** — it now
redirects to `/openworlds/`. Never treat the root, `viewer/index.html`, or `dashboard.html`
as the current UI. Always verify at `/openworlds/`.
Expand All @@ -31,6 +41,7 @@ CLAWDND_STATE_DIR=<state-dir> CLAWDND_REPO_ROOT="$PWD" \
# Pass "" for the campaign to just set a port (a bare numeric arg is read as a CAMPAIGN id,
# not the port, and silently binds the default 8765). Then open /openworlds/ — not the root.
```
(The `CLAWDND_*` env vars are the current names; a later PR adds `WORLDOS_*` aliases.)
Headless capture: `qa/owshot.sh <screen-hash> <out.png> <port>` (fresh Chrome profile → no
stale cache). The viewer sends `Cache-Control: no-store` and version-stamps the index scripts,
but a long-lived browser profile can still hold an old copy — use a fresh profile when in doubt.
Expand Down Expand Up @@ -65,8 +76,8 @@ full sweep when the main disk is tight; engine single-process locally is light.
An agent resuming this project should read in this order, then consult the rest by need:

1. **`CLAUDE.md`** (this file) — checkout/UI/run guardrails + this map. Auto-loaded.
2. **`ClawDnD-RUNBOOK.md`** — the compaction-resilience doc: architecture, invariants, dev/QA loops, lessons, work queue. READ FIRST after this.
3. **`ClawDnD-NORTH-STAR.md`** — *what "great" means* (the optimization target). The score is a **proxy** for the felt prestige-CRPG session; come here when score and gut disagree.
2. **`WorldOS-RUNBOOK.md`** — the compaction-resilience doc: architecture, invariants, dev/QA loops, lessons, work queue. READ FIRST after this.
3. **`WorldOS-NORTH-STAR.md`** — *what "great" means* (the optimization target). The score is a **proxy** for the felt prestige-CRPG session; come here when score and gut disagree.
4. **`qa/SCORECARD.md`** — the running results ledger (every scored run).
5. Latest **session runbook**: `/Volumes/LEXAR/Codex/session-notes/<date>/clawdnd-*/` (`implementation-notes.html` or `runbook.html`) — the in-flight day-log. Current sprint: `2026-05-27/clawdnd-1.0-autonomous-sprint/runbook.html`.

Expand Down
4 changes: 2 additions & 2 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2026 100yenadmin
Copyright (c) 2026 electricsheephq

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand All @@ -22,7 +22,7 @@ SOFTWARE.

---

NOTE: This MIT license covers ClawDnD's own source code. Bundled third-party
NOTE: This MIT license covers WorldOS's own source code. Bundled third-party
data and content carry their own licenses — see THIRD_PARTY_NOTICES.md and
data/srd/ATTRIBUTION.md. In particular, the System Reference Document (SRD 5.2)
data is licensed under CC-BY-4.0, not MIT.
Loading
Loading