refactor: workspace restructure — contract package + pure domain ported, tests green

- bun workspaces: contract/ (Schemas = source of truth: config raw↔resolved,
  domain DTOs, HttpApi contract, API errors) + plugin/ + ui/
- pure domain moved src/{engine,art}→plugin/src/{domain,art}, types now
  imported from @rom-manager/contract and @punktfunk/plugin-kit/wire (the
  hand-copied wire.ts dies), loggers injected instead of module-global
- ui.* and devEntry dropped from the config shape (standalone server is
  gone; stale keys tolerated on decode, dropped by the next save)
- all 48 domain tests ported and green BEFORE any Effect wiring

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-20 18:54:38 +02:00
parent e78df91925
commit d6cf5f3d36
30 changed files with 1938 additions and 181 deletions
+3 -4
View File
@@ -1,6 +1,5 @@
# Resolve the `@punktfunk` scope from the Gitea npm registry (like `@punktfunk/host` itself).
# During local development the SDK is consumed via `bun link @punktfunk/host` (the `link:` in
# package.json) so this only matters once the plugin is installed from the registry — but it's
# committed so `bun add punktfunk-plugin-rom-manager` resolves the dependency out of the box.
# Resolve the @punktfunk and @unom scopes from the Gitea npm registry for the whole
# workspace (plugin deps + UI design system).
[install.scopes]
"@punktfunk" = "https://git.unom.io/api/packages/unom/npm/"
"@unom" = "https://git.unom.io/api/packages/unom/npm/"