Portable surface language, interchange JSON, and a browser UX lab for grid-based UIs. Active development line: v4 — see docs/roadmap-v4.md (what shipped before vs current vs future). The project pairs naturally with uDOS v3 (runnable Host + ThinUI) for canon validation; this repository stands alone: schemas, examples, Storybook, and the UX designer mockup do not require private infrastructure.
| Resource | Link |
|---|---|
| Roadmap (v4) | docs/roadmap-v4.md |
| Documentation index | docs/README.md |
| License | LICENSE (MIT) |
| Contributing | CONTRIBUTING.md |
| Code of conduct | CODE_OF_CONDUCT.md |
| Security | SECURITY.md |
Shared with other github.com/fredporter/ repos:
.local/ / .compost/), implementation roots, commandsinterchange/ (surface documents, UX bundles, validation scripts).browser-mockup/: catalog, composer, lab hub, optional Syncdown/Material theme preview (?sd=)./lab/grid-canon when the mockup is running.src/stories/ (run npm run storybook).spine/, staff/, export helpers.Requirements: Node.js 20+ (see .nvmrc).
git clone https://github.com/fredporter/UniversalSurfaceXD.git
cd UniversalSurfaceXD
npm install
npm run setup
UX designer (recommended first touch):
npm run ux-designer:dev
Open http://localhost:5173/lab — catalog, composer, grid canon, UX I/O.
Validate interchange examples:
npm run ux:validate-surfaces
Storybook:
npm run storybook
If you also clone uDOS-v3 or other siblings, use a .code-workspace file (see docs/ux-designer-distribution.md). Missing folders are safe to omit; remove or adjust workspace entries for your layout.
docs/.| Path | Role |
|---|---|
interchange/ |
Schemas, examples/surface-*.json, import/export CLI |
browser-mockup/ |
SvelteKit UX designer |
docs/ |
Specs, handoffs, decisions/ |
spine/ |
Tokens and patterns |
src/ |
Storybook sources |
templates/ |
Sample wireframes and interchange templates |
Runnable stack: github.com/fredporter/uDOS-v3. USXD usxd/0.1 surface JSON is validated there (packages/schemas/usxd-surface.schema.json). This repo’s surface-document schema targets the composer tree (meta + grid/stack roots).
package.json sets "private": true so npm publish cannot accidentally publish the monorepo; the name field is for tooling and local linking only.4.4.x. 4.4.0 shipped the public OSS baseline; 4.4.1 opens the v4 working line (see docs/roadmap-v4.md). Increase the patch for each milestone or doc/fix batch; reserve minor/major bumps for deliberate schema or product shifts. See CHANGELOG.md.See CONTRIBUTING.md. Pull requests welcome; keep interchange examples passing npm run ux:validate-surfaces and the browser-mockup npm run build.
Repository: github.com/fredporter/UniversalSurfaceXD.