fix: complete the docs/→design/ and openapi→api/ rename references

The file moves (docs/ → design/, docs/api/openapi.json → api/openapi.json) landed
in d01a8fd, but the matching reference updates did not — so mgmt.rs's drift-test
`include_str!("../../../docs/api/openapi.json")` pointed at a path that no longer
exists and the host failed to build. This restores it and updates every reference:

  - mgmt.rs include_str! → ../../../api/openapi.json (fixes the build)
  - web/orval.config.ts codegen target, web/Dockerfile, .dockerignore
  - deb/rpm/Arch packaging install paths
  - CLAUDE.md, the .gitea CI workflows, code doc-comments, design-doc cross-links

docs-site route URLs (/docs/...) untouched.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-26 11:53:02 +00:00
parent d01a8fd17a
commit f6490f4c28
45 changed files with 83 additions and 75 deletions
+2 -2
View File
@@ -1,6 +1,6 @@
# punktfunk management console — TanStack Start built with Bun, served by the Nitro `bun`
# preset bundle. Build context is the REPO ROOT (orval generates the API client from
# docs/api/openapi.json, referenced as ../docs/api/openapi.json from web/):
# api/openapi.json, referenced as ../api/openapi.json from web/):
#
# docker build -f web/Dockerfile -t punktfunk-web .
#
@@ -15,7 +15,7 @@ WORKDIR /repo/web
COPY web/package.json web/bun.lock ./
RUN bun install --frozen-lockfile --ignore-scripts
COPY docs/api/openapi.json /repo/docs/api/openapi.json
COPY api/openapi.json /repo/api/openapi.json
COPY web/ ./
# prebuild runs orval (openapi → src/api/gen); the paraglide vite plugin compiles i18n.
RUN bun run build
+2 -2
View File
@@ -1,7 +1,7 @@
# punktfunk web — management console
The browser UI for the punktfunk host's **management REST API** (`crates/punktfunk-host/src/mgmt.rs`,
OpenAPI at `docs/api/openapi.json`). It shows live status, host capabilities, paired
OpenAPI at `api/openapi.json`). It shows live status, host capabilities, paired
clients, the pairing-PIN flow, and session controls.
Stack: **TanStack Start** (full SSR) on **Bun** via **Nitro v2** (`bun` preset) · **React
@@ -88,7 +88,7 @@ Generated code is **not committed** (gitignored) — reproduced from sources:
`bun install` (`prepare`) and before `dev`/`build` (`pre*` for orval; the Vite plugin
compiles paraglide on dev/build).
- After a management-API change, regenerate the spec on the Rust side first:
`cargo run -p punktfunk-host -- openapi > docs/api/openapi.json`, then `bun run api:gen`.
`cargo run -p punktfunk-host -- openapi > api/openapi.json`, then `bun run api:gen`.
## Layout
+2 -2
View File
@@ -2,11 +2,11 @@ import { defineConfig } from "orval";
// Generates a typed React Query client from the host's checked-in OpenAPI document.
// Regenerate after any management-API change: `pnpm api:gen` (the Rust side regenerates
// docs/api/openapi.json via `cargo run -p punktfunk-host -- openapi`).
// api/openapi.json via `cargo run -p punktfunk-host -- openapi`).
export default defineConfig({
punktfunk: {
input: {
target: "../docs/api/openapi.json",
target: "../api/openapi.json",
},
output: {
mode: "tags-split",
+1 -1
View File
@@ -11,7 +11,7 @@
/* ── punktfunk brand · violet product chrome ────────────────────────────────
Two themes on one violet identity: LIGHT (lavender docs surface — the same
palette the docs/Scalar reference uses: white bg, faint-violet cards/borders,
palette the design/Scalar reference uses: white bg, faint-violet cards/borders,
#6c5bf3 brand) is the :root default; DARK (the violet-tinted app-icon chrome
#141019 / #1c1530, #a79ff8 brand) is the `.dark` override. The live console
pins `<html class="dark">` so it stays dark by default — removing or toggling