# dependencies node_modules/ server/node_modules/ client/node_modules/ # Built client half. This is a RELEASE artifact, not a source artifact: CI builds # it with Vite in library mode and publishes it inside module-uo-.tar.gz, # because an operator must never have to build anything. Committing it would let a # stale chunk ship alongside fresh server code. client/dist/ # test coverage coverage/ server/coverage/ client/coverage/ # env / secrets .env *.env !.env.example # Release staging. `.gitea/workflows/release.yml` assembles the bundle under # /dist and packs it from there. Note this is the ROOT dist only — the module's # two committed generated artifacts, swagger-fragment.json and # routes.manifest.json, are deliberately NOT ignored: core merges the first # verbatim and the second is the frozen URL surface, so both have to be # reviewable in a diff (MODULE_API.md §2.8, §5.3). /dist/ *.tar.gz # logs / os *.log npm-debug.log* .DS_Store Thumbs.db # editor / tooling local settings .claude/settings.local.json .vscode/ .idea/ # local planning docs (not part of the tracked codebase) .plans/