Improve Tibi docs coverage and screenshot placement
This commit is contained in:
1 parent
7409bc2406
commit
15c1976c60
23 files changed
+417
-351
No files matched your search
+5
-58
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"generatedAt": "2026-10-17T14:20:17.865Z",
|
"generatedAt": "2026-10-17T19:58:49.510Z",
|
||||||
"stats": {
|
"stats": {
|
||||||
"files": 70,
|
"files": 70,
|
||||||
"byDir": {
|
"byDir": {
|
||||||
@@ -35,15 +35,7 @@
|
|||||||
"src/content/docs/projekt/ssr-website.mdx",
|
"src/content/docs/projekt/ssr-website.mdx",
|
||||||
"src/content/docs/reference/schema-properties.md"
|
"src/content/docs/reference/schema-properties.md"
|
||||||
],
|
],
|
||||||
"hollowMarkers": [
|
"hollowMarkers": [],
|
||||||
"src/content/docs/admin/exporte.mdx:37 Platzhalter",
|
|
||||||
"src/content/docs/anwender/seiten-bauen.mdx:45 Platzhalter",
|
|
||||||
"src/content/docs/einstieg/neues-projekt.mdx:26 Platzhalter",
|
|
||||||
"src/content/docs/einstieg/schnellstart.mdx:48 noch nicht",
|
|
||||||
"src/content/docs/einstieg/schnellstart.mdx:21 Platzhalter",
|
|
||||||
"src/content/docs/einstieg/was-ist-tibi.mdx:11 Platzhalter",
|
|
||||||
"src/content/docs/projekt/deploy.mdx:26 Platzhalter"
|
|
||||||
],
|
|
||||||
"t1Refs": [
|
"t1Refs": [
|
||||||
"src/content/docs/adr/0003-selbstlaeufer.md"
|
"src/content/docs/adr/0003-selbstlaeufer.md"
|
||||||
],
|
],
|
||||||
@@ -90,54 +82,9 @@
|
|||||||
"notInSidebar": [],
|
"notInSidebar": [],
|
||||||
"sidebarMissing": []
|
"sidebarMissing": []
|
||||||
},
|
},
|
||||||
"findings": [
|
"findings": [],
|
||||||
{
|
|
||||||
"file": "src/content/docs/admin/exporte.mdx",
|
|
||||||
"kind": "hollow",
|
|
||||||
"msg": "Marker \"Platzhalter\": Stehen im Export-Dialog eigene Reiter **vor** dem Standard-Tab, hat das Projekt fertige Berichte in `collectio",
|
|
||||||
"line": 37
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"file": "src/content/docs/anwender/seiten-bauen.mdx",
|
|
||||||
"kind": "hollow",
|
|
||||||
"msg": "Marker \"Platzhalter\": Die kleine Vorschau benötigt nach der Bildauswahl einen Moment. Ein Platzhalterbild ist in dieser Phase normal",
|
|
||||||
"line": 45
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"file": "src/content/docs/einstieg/neues-projekt.mdx",
|
|
||||||
"kind": "hollow",
|
|
||||||
"msg": "Marker \"Platzhalter\": ## 2. Platzhalter und Starter-Reste",
|
|
||||||
"line": 26
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"file": "src/content/docs/einstieg/schnellstart.mdx",
|
|
||||||
"kind": "hollow",
|
|
||||||
"msg": "Marker \"noch nicht\": - `project not found` → Projektdateien liegen da, aber das Projekt ist im laufenden tibi-server noch nicht reg",
|
|
||||||
"line": 48
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"file": "src/content/docs/einstieg/schnellstart.mdx",
|
|
||||||
"kind": "hollow",
|
|
||||||
"msg": "Marker \"Platzhalter\": ## 2. Platzhalter ersetzen",
|
|
||||||
"line": 21
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"file": "src/content/docs/einstieg/was-ist-tibi.mdx",
|
|
||||||
"kind": "hollow",
|
|
||||||
"msg": "Marker \"Platzhalter\": - **Projekt-Website (aus `tibi-svelte-starter` geklont):** eigenständige Website auf Tibi-Basis — normale klei",
|
|
||||||
"line": 11
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"file": "src/content/docs/projekt/deploy.mdx",
|
|
||||||
"kind": "hollow",
|
|
||||||
"msg": "Marker \"Platzhalter\": Im Starter stehen Platzhalter (`__PROJECT_NAME__`, `_CUSTOMER_ID_`, `LIVE_URL=https://www`).",
|
|
||||||
"line": 26
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"summary": {
|
"summary": {
|
||||||
"total": 7,
|
"total": 0,
|
||||||
"byKind": {
|
"byKind": {}
|
||||||
"hollow": 7
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -14,6 +14,22 @@
|
|||||||
"/mcp": "projekt/mcp-nutzen",
|
"/mcp": "projekt/mcp-nutzen",
|
||||||
"/token/_scopes": "projekt/rechte-tokens",
|
"/token/_scopes": "projekt/rechte-tokens",
|
||||||
"/version": "server/schnittstellen",
|
"/version": "server/schnittstellen",
|
||||||
|
"/user": "reference/rest-system",
|
||||||
|
"/user/:id": "reference/rest-system",
|
||||||
|
"/project": "reference/rest-system",
|
||||||
|
"/project/:id": "reference/rest-system",
|
||||||
|
"/org": "reference/rest-system",
|
||||||
|
"/org/:id": "reference/rest-system",
|
||||||
|
"/team": "reference/rest-system",
|
||||||
|
"/team/:id": "reference/rest-system",
|
||||||
|
"/token": "reference/rest-system",
|
||||||
|
"/token/:id": "reference/rest-system",
|
||||||
|
"/_meta": "reference/rest-system",
|
||||||
|
"/_meta/user": "reference/rest-system",
|
||||||
|
"/_meta/project": "reference/rest-system",
|
||||||
|
"/_meta/org": "reference/rest-system",
|
||||||
|
"/_meta/team": "reference/rest-system",
|
||||||
|
"/_meta/token": "reference/rest-system",
|
||||||
"_/:project/_/admin/backup": "projekt/audit-backup",
|
"_/:project/_/admin/backup": "projekt/audit-backup",
|
||||||
"_/:project/_/admin/snapshots": "projekt/audit-backup",
|
"_/:project/_/admin/snapshots": "projekt/audit-backup",
|
||||||
"/_/:project/:collection/:id/:field": "projekt/abfragen-lesen",
|
"/_/:project/:collection/:id/:field": "projekt/abfragen-lesen",
|
||||||
@@ -158,6 +174,7 @@
|
|||||||
"field-list.schema.json": "reference/schemas",
|
"field-list.schema.json": "reference/schemas",
|
||||||
"field-meta.schema.json": "reference/schemas",
|
"field-meta.schema.json": "reference/schemas",
|
||||||
"image-filter.schema.json": "reference/schemas",
|
"image-filter.schema.json": "reference/schemas",
|
||||||
|
"embedding.schema.json": "server/konfiguration",
|
||||||
"openapi.schema.json": "reference/schemas",
|
"openapi.schema.json": "reference/schemas",
|
||||||
"projections.schema.json": "reference/schemas",
|
"projections.schema.json": "reference/schemas",
|
||||||
"snapshot.schema.json": "reference/schemas"
|
"snapshot.schema.json": "reference/schemas"
|
||||||
|
|||||||
+243
-238
@@ -1,9 +1,9 @@
|
|||||||
{
|
{
|
||||||
"generatedAt": "2026-10-17T02:32:47.546Z",
|
"generatedAt": "2026-10-17T19:48:49.848Z",
|
||||||
"categories": {
|
"categories": {
|
||||||
"routes": {
|
"routes": {
|
||||||
"total": 36,
|
"total": 52,
|
||||||
"mapped": 36,
|
"mapped": 52,
|
||||||
"openCount": 0,
|
"openCount": 0,
|
||||||
"openItems": []
|
"openItems": []
|
||||||
},
|
},
|
||||||
@@ -13,6 +13,195 @@
|
|||||||
"openCount": 0,
|
"openCount": 0,
|
||||||
"openItems": [],
|
"openItems": [],
|
||||||
"symbols": [
|
"symbols": [
|
||||||
|
{
|
||||||
|
"symbol": "cache.clear",
|
||||||
|
"page": "reference/hooks-daten",
|
||||||
|
"stufe": 1,
|
||||||
|
"goFile": "context_cache.go",
|
||||||
|
"hasArgs": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"symbol": "cache.count",
|
||||||
|
"page": "reference/hooks-daten",
|
||||||
|
"stufe": 1,
|
||||||
|
"goFile": "context_cache.go",
|
||||||
|
"hasArgs": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"symbol": "cache.delete",
|
||||||
|
"page": "reference/hooks-daten",
|
||||||
|
"stufe": 1,
|
||||||
|
"goFile": "context_cache.go",
|
||||||
|
"hasArgs": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"symbol": "cache.get",
|
||||||
|
"page": "reference/hooks-daten",
|
||||||
|
"stufe": 1,
|
||||||
|
"goFile": "context_cache.go",
|
||||||
|
"hasArgs": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"symbol": "cache.has",
|
||||||
|
"page": "reference/hooks-daten",
|
||||||
|
"stufe": 1,
|
||||||
|
"goFile": "context_cache.go",
|
||||||
|
"hasArgs": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"symbol": "cache.set",
|
||||||
|
"page": "reference/hooks-daten",
|
||||||
|
"stufe": 1,
|
||||||
|
"goFile": "context_cache.go",
|
||||||
|
"hasArgs": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"symbol": "db.count",
|
||||||
|
"page": "reference/hooks-daten",
|
||||||
|
"stufe": 1,
|
||||||
|
"goFile": "context_db.go",
|
||||||
|
"hasArgs": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"symbol": "db.create",
|
||||||
|
"page": "reference/hooks-daten",
|
||||||
|
"stufe": 1,
|
||||||
|
"goFile": "context_db.go",
|
||||||
|
"hasArgs": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"symbol": "db.delete",
|
||||||
|
"page": "reference/hooks-daten",
|
||||||
|
"stufe": 1,
|
||||||
|
"goFile": "context_db.go",
|
||||||
|
"hasArgs": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"symbol": "db.deleteMany",
|
||||||
|
"page": "reference/hooks-daten",
|
||||||
|
"stufe": 1,
|
||||||
|
"goFile": "context_db.go",
|
||||||
|
"hasArgs": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"symbol": "db.find",
|
||||||
|
"page": "reference/hooks-daten",
|
||||||
|
"stufe": 1,
|
||||||
|
"goFile": "context_db.go",
|
||||||
|
"hasArgs": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"symbol": "db.update",
|
||||||
|
"page": "reference/hooks-daten",
|
||||||
|
"stufe": 1,
|
||||||
|
"goFile": "context_db.go",
|
||||||
|
"hasArgs": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"symbol": "db.updateMany",
|
||||||
|
"page": "reference/hooks-daten",
|
||||||
|
"stufe": 1,
|
||||||
|
"goFile": "context_db.go",
|
||||||
|
"hasArgs": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"symbol": "fs.configDir",
|
||||||
|
"page": "reference/hooks-daten",
|
||||||
|
"stufe": 1,
|
||||||
|
"goFile": "context_fs.go",
|
||||||
|
"hasArgs": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"symbol": "fs.copy",
|
||||||
|
"page": "reference/hooks-daten",
|
||||||
|
"stufe": 1,
|
||||||
|
"goFile": "context_fs.go",
|
||||||
|
"hasArgs": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"symbol": "fs.mkDir",
|
||||||
|
"page": "reference/hooks-daten",
|
||||||
|
"stufe": 1,
|
||||||
|
"goFile": "context_fs.go",
|
||||||
|
"hasArgs": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"symbol": "fs.readDir",
|
||||||
|
"page": "reference/hooks-daten",
|
||||||
|
"stufe": 1,
|
||||||
|
"goFile": "context_fs.go",
|
||||||
|
"hasArgs": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"symbol": "fs.readFile",
|
||||||
|
"page": "reference/hooks-daten",
|
||||||
|
"stufe": 1,
|
||||||
|
"goFile": "context_fs.go",
|
||||||
|
"hasArgs": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"symbol": "fs.remove",
|
||||||
|
"page": "reference/hooks-daten",
|
||||||
|
"stufe": 1,
|
||||||
|
"goFile": "context_fs.go",
|
||||||
|
"hasArgs": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"symbol": "fs.stat",
|
||||||
|
"page": "reference/hooks-daten",
|
||||||
|
"stufe": 1,
|
||||||
|
"goFile": "context_fs.go",
|
||||||
|
"hasArgs": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"symbol": "fs.writeFile",
|
||||||
|
"page": "reference/hooks-daten",
|
||||||
|
"stufe": 1,
|
||||||
|
"goFile": "context_fs.go",
|
||||||
|
"hasArgs": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"symbol": "request",
|
||||||
|
"page": "reference/hooks-daten",
|
||||||
|
"stufe": 1,
|
||||||
|
"goFile": "context_request.go",
|
||||||
|
"hasArgs": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"symbol": "response.flush",
|
||||||
|
"page": "reference/hooks-daten",
|
||||||
|
"stufe": 1,
|
||||||
|
"goFile": "context_response.go",
|
||||||
|
"hasArgs": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"symbol": "response.header",
|
||||||
|
"page": "reference/hooks-daten",
|
||||||
|
"stufe": 1,
|
||||||
|
"goFile": "context_response.go",
|
||||||
|
"hasArgs": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"symbol": "response.write",
|
||||||
|
"page": "reference/hooks-daten",
|
||||||
|
"stufe": 1,
|
||||||
|
"goFile": "context_response.go",
|
||||||
|
"hasArgs": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"symbol": "response.writeHeader",
|
||||||
|
"page": "reference/hooks-daten",
|
||||||
|
"stufe": 1,
|
||||||
|
"goFile": "context_response.go",
|
||||||
|
"hasArgs": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"symbol": "response.writeSSE",
|
||||||
|
"page": "reference/hooks-daten",
|
||||||
|
"stufe": 1,
|
||||||
|
"goFile": "context_response.go",
|
||||||
|
"hasArgs": true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"symbol": "base64.decode",
|
"symbol": "base64.decode",
|
||||||
"page": "reference/hooks-meta",
|
"page": "reference/hooks-meta",
|
||||||
@@ -41,48 +230,6 @@
|
|||||||
"goFile": "context_bcrypt.go",
|
"goFile": "context_bcrypt.go",
|
||||||
"hasArgs": true
|
"hasArgs": true
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"symbol": "cache.clear",
|
|
||||||
"page": "reference/hooks-daten",
|
|
||||||
"stufe": 4,
|
|
||||||
"goFile": "context_cache.go",
|
|
||||||
"hasArgs": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"symbol": "cache.count",
|
|
||||||
"page": "reference/hooks-daten",
|
|
||||||
"stufe": 4,
|
|
||||||
"goFile": "context_cache.go",
|
|
||||||
"hasArgs": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"symbol": "cache.delete",
|
|
||||||
"page": "reference/hooks-daten",
|
|
||||||
"stufe": 4,
|
|
||||||
"goFile": "context_cache.go",
|
|
||||||
"hasArgs": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"symbol": "cache.get",
|
|
||||||
"page": "reference/hooks-daten",
|
|
||||||
"stufe": 4,
|
|
||||||
"goFile": "context_cache.go",
|
|
||||||
"hasArgs": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"symbol": "cache.has",
|
|
||||||
"page": "reference/hooks-daten",
|
|
||||||
"stufe": 4,
|
|
||||||
"goFile": "context_cache.go",
|
|
||||||
"hasArgs": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"symbol": "cache.set",
|
|
||||||
"page": "reference/hooks-daten",
|
|
||||||
"stufe": 4,
|
|
||||||
"goFile": "context_cache.go",
|
|
||||||
"hasArgs": true
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"symbol": "channel.send",
|
"symbol": "channel.send",
|
||||||
"page": "reference/hooks-netze",
|
"page": "reference/hooks-netze",
|
||||||
@@ -160,55 +307,6 @@
|
|||||||
"goFile": "context_crypto.go",
|
"goFile": "context_crypto.go",
|
||||||
"hasArgs": true
|
"hasArgs": true
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"symbol": "db.count",
|
|
||||||
"page": "reference/hooks-daten",
|
|
||||||
"stufe": 4,
|
|
||||||
"goFile": "context_db.go",
|
|
||||||
"hasArgs": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"symbol": "db.create",
|
|
||||||
"page": "reference/hooks-daten",
|
|
||||||
"stufe": 4,
|
|
||||||
"goFile": "context_db.go",
|
|
||||||
"hasArgs": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"symbol": "db.delete",
|
|
||||||
"page": "reference/hooks-daten",
|
|
||||||
"stufe": 4,
|
|
||||||
"goFile": "context_db.go",
|
|
||||||
"hasArgs": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"symbol": "db.deleteMany",
|
|
||||||
"page": "reference/hooks-daten",
|
|
||||||
"stufe": 4,
|
|
||||||
"goFile": "context_db.go",
|
|
||||||
"hasArgs": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"symbol": "db.find",
|
|
||||||
"page": "reference/hooks-daten",
|
|
||||||
"stufe": 4,
|
|
||||||
"goFile": "context_db.go",
|
|
||||||
"hasArgs": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"symbol": "db.update",
|
|
||||||
"page": "reference/hooks-daten",
|
|
||||||
"stufe": 4,
|
|
||||||
"goFile": "context_db.go",
|
|
||||||
"hasArgs": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"symbol": "db.updateMany",
|
|
||||||
"page": "reference/hooks-daten",
|
|
||||||
"stufe": 4,
|
|
||||||
"goFile": "context_db.go",
|
|
||||||
"hasArgs": true
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"symbol": "debug.dump",
|
"symbol": "debug.dump",
|
||||||
"page": "reference/hooks-meta",
|
"page": "reference/hooks-meta",
|
||||||
@@ -237,62 +335,6 @@
|
|||||||
"goFile": "context_exec.go",
|
"goFile": "context_exec.go",
|
||||||
"hasArgs": true
|
"hasArgs": true
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"symbol": "fs.configDir",
|
|
||||||
"page": "reference/hooks-daten",
|
|
||||||
"stufe": 4,
|
|
||||||
"goFile": "context_fs.go",
|
|
||||||
"hasArgs": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"symbol": "fs.copy",
|
|
||||||
"page": "reference/hooks-daten",
|
|
||||||
"stufe": 4,
|
|
||||||
"goFile": "context_fs.go",
|
|
||||||
"hasArgs": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"symbol": "fs.mkDir",
|
|
||||||
"page": "reference/hooks-daten",
|
|
||||||
"stufe": 4,
|
|
||||||
"goFile": "context_fs.go",
|
|
||||||
"hasArgs": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"symbol": "fs.readDir",
|
|
||||||
"page": "reference/hooks-daten",
|
|
||||||
"stufe": 4,
|
|
||||||
"goFile": "context_fs.go",
|
|
||||||
"hasArgs": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"symbol": "fs.readFile",
|
|
||||||
"page": "reference/hooks-daten",
|
|
||||||
"stufe": 4,
|
|
||||||
"goFile": "context_fs.go",
|
|
||||||
"hasArgs": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"symbol": "fs.remove",
|
|
||||||
"page": "reference/hooks-daten",
|
|
||||||
"stufe": 4,
|
|
||||||
"goFile": "context_fs.go",
|
|
||||||
"hasArgs": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"symbol": "fs.stat",
|
|
||||||
"page": "reference/hooks-daten",
|
|
||||||
"stufe": 4,
|
|
||||||
"goFile": "context_fs.go",
|
|
||||||
"hasArgs": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"symbol": "fs.writeFile",
|
|
||||||
"page": "reference/hooks-daten",
|
|
||||||
"stufe": 4,
|
|
||||||
"goFile": "context_fs.go",
|
|
||||||
"hasArgs": true
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"symbol": "http.fetch",
|
"symbol": "http.fetch",
|
||||||
"page": "reference/hooks-netze",
|
"page": "reference/hooks-netze",
|
||||||
@@ -398,48 +440,6 @@
|
|||||||
"goFile": "context_ratelimit.go",
|
"goFile": "context_ratelimit.go",
|
||||||
"hasArgs": true
|
"hasArgs": true
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"symbol": "request",
|
|
||||||
"page": "reference/hooks-daten",
|
|
||||||
"stufe": 4,
|
|
||||||
"goFile": "context_request.go",
|
|
||||||
"hasArgs": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"symbol": "response.flush",
|
|
||||||
"page": "reference/hooks-daten",
|
|
||||||
"stufe": 4,
|
|
||||||
"goFile": "context_response.go",
|
|
||||||
"hasArgs": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"symbol": "response.header",
|
|
||||||
"page": "reference/hooks-daten",
|
|
||||||
"stufe": 4,
|
|
||||||
"goFile": "context_response.go",
|
|
||||||
"hasArgs": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"symbol": "response.write",
|
|
||||||
"page": "reference/hooks-daten",
|
|
||||||
"stufe": 4,
|
|
||||||
"goFile": "context_response.go",
|
|
||||||
"hasArgs": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"symbol": "response.writeHeader",
|
|
||||||
"page": "reference/hooks-daten",
|
|
||||||
"stufe": 4,
|
|
||||||
"goFile": "context_response.go",
|
|
||||||
"hasArgs": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"symbol": "response.writeSSE",
|
|
||||||
"page": "reference/hooks-daten",
|
|
||||||
"stufe": 4,
|
|
||||||
"goFile": "context_response.go",
|
|
||||||
"hasArgs": true
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"symbol": "smtp.sendMail",
|
"symbol": "smtp.sendMail",
|
||||||
"page": "reference/hooks-netze",
|
"page": "reference/hooks-netze",
|
||||||
@@ -486,188 +486,188 @@
|
|||||||
{
|
{
|
||||||
"symbol": "action_call",
|
"symbol": "action_call",
|
||||||
"page": "projekt/mcp-nutzen",
|
"page": "projekt/mcp-nutzen",
|
||||||
"stufe": 2
|
"stufe": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"symbol": "action_describe",
|
"symbol": "action_describe",
|
||||||
"page": "projekt/mcp-nutzen",
|
"page": "projekt/mcp-nutzen",
|
||||||
"stufe": 2
|
"stufe": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"symbol": "actions_list",
|
"symbol": "actions_list",
|
||||||
"page": "projekt/mcp-nutzen",
|
"page": "projekt/mcp-nutzen",
|
||||||
"stufe": 2
|
"stufe": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"symbol": "agent_guide_get",
|
"symbol": "agent_guide_get",
|
||||||
"page": "projekt/mcp-nutzen",
|
"page": "projekt/mcp-nutzen",
|
||||||
"stufe": 2
|
"stufe": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"symbol": "asset_read",
|
"symbol": "asset_read",
|
||||||
"page": "projekt/mcp-nutzen",
|
"page": "projekt/mcp-nutzen",
|
||||||
"stufe": 2
|
"stufe": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"symbol": "assets_list",
|
"symbol": "assets_list",
|
||||||
"page": "projekt/mcp-nutzen",
|
"page": "projekt/mcp-nutzen",
|
||||||
"stufe": 2
|
"stufe": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"symbol": "audit_query",
|
"symbol": "audit_query",
|
||||||
"page": "projekt/mcp-nutzen",
|
"page": "projekt/mcp-nutzen",
|
||||||
"stufe": 2
|
"stufe": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"symbol": "backup_create",
|
"symbol": "backup_create",
|
||||||
"page": "projekt/mcp-nutzen",
|
"page": "projekt/mcp-nutzen",
|
||||||
"stufe": 2
|
"stufe": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"symbol": "collection_describe",
|
"symbol": "collection_describe",
|
||||||
"page": "projekt/mcp-nutzen",
|
"page": "projekt/mcp-nutzen",
|
||||||
"stufe": 2
|
"stufe": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"symbol": "collections_list",
|
"symbol": "collections_list",
|
||||||
"page": "projekt/mcp-nutzen",
|
"page": "projekt/mcp-nutzen",
|
||||||
"stufe": 2
|
"stufe": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"symbol": "document_create",
|
"symbol": "document_create",
|
||||||
"page": "projekt/mcp-nutzen",
|
"page": "projekt/mcp-nutzen",
|
||||||
"stufe": 2
|
"stufe": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"symbol": "document_delete",
|
"symbol": "document_delete",
|
||||||
"page": "projekt/mcp-nutzen",
|
"page": "projekt/mcp-nutzen",
|
||||||
"stufe": 2
|
"stufe": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"symbol": "document_get",
|
"symbol": "document_get",
|
||||||
"page": "projekt/mcp-nutzen",
|
"page": "projekt/mcp-nutzen",
|
||||||
"stufe": 2
|
"stufe": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"symbol": "document_update",
|
"symbol": "document_update",
|
||||||
"page": "projekt/mcp-nutzen",
|
"page": "projekt/mcp-nutzen",
|
||||||
"stufe": 2
|
"stufe": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"symbol": "documents_count",
|
"symbol": "documents_count",
|
||||||
"page": "projekt/mcp-nutzen",
|
"page": "projekt/mcp-nutzen",
|
||||||
"stufe": 2
|
"stufe": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"symbol": "documents_facet",
|
"symbol": "documents_facet",
|
||||||
"page": "projekt/mcp-nutzen",
|
"page": "projekt/mcp-nutzen",
|
||||||
"stufe": 2
|
"stufe": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"symbol": "documents_list",
|
"symbol": "documents_list",
|
||||||
"page": "projekt/mcp-nutzen",
|
"page": "projekt/mcp-nutzen",
|
||||||
"stufe": 2
|
"stufe": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"symbol": "file_read",
|
"symbol": "file_read",
|
||||||
"page": "projekt/mcp-nutzen",
|
"page": "projekt/mcp-nutzen",
|
||||||
"stufe": 2
|
"stufe": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"symbol": "jobs_list",
|
"symbol": "jobs_list",
|
||||||
"page": "projekt/mcp-nutzen",
|
"page": "projekt/mcp-nutzen",
|
||||||
"stufe": 2
|
"stufe": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"symbol": "openapi_get",
|
"symbol": "openapi_get",
|
||||||
"page": "projekt/mcp-nutzen",
|
"page": "projekt/mcp-nutzen",
|
||||||
"stufe": 2
|
"stufe": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"symbol": "org_get",
|
"symbol": "org_get",
|
||||||
"page": "projekt/mcp-nutzen",
|
"page": "projekt/mcp-nutzen",
|
||||||
"stufe": 2
|
"stufe": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"symbol": "orgs_list",
|
"symbol": "orgs_list",
|
||||||
"page": "projekt/mcp-nutzen",
|
"page": "projekt/mcp-nutzen",
|
||||||
"stufe": 2
|
"stufe": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"symbol": "project_get",
|
"symbol": "project_get",
|
||||||
"page": "projekt/mcp-nutzen",
|
"page": "projekt/mcp-nutzen",
|
||||||
"stufe": 2
|
"stufe": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"symbol": "project_reload",
|
"symbol": "project_reload",
|
||||||
"page": "projekt/mcp-nutzen",
|
"page": "projekt/mcp-nutzen",
|
||||||
"stufe": 2
|
"stufe": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"symbol": "projects_list",
|
"symbol": "projects_list",
|
||||||
"page": "projekt/mcp-nutzen",
|
"page": "projekt/mcp-nutzen",
|
||||||
"stufe": 2
|
"stufe": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"symbol": "queue_status",
|
"symbol": "queue_status",
|
||||||
"page": "projekt/mcp-nutzen",
|
"page": "projekt/mcp-nutzen",
|
||||||
"stufe": 2
|
"stufe": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"symbol": "regenerate_search",
|
"symbol": "regenerate_search",
|
||||||
"page": "projekt/mcp-nutzen",
|
"page": "projekt/mcp-nutzen",
|
||||||
"stufe": 2
|
"stufe": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"symbol": "snapshots_list",
|
"symbol": "snapshots_list",
|
||||||
"page": "projekt/mcp-nutzen",
|
"page": "projekt/mcp-nutzen",
|
||||||
"stufe": 2
|
"stufe": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"symbol": "system_meta_get",
|
"symbol": "system_meta_get",
|
||||||
"page": "projekt/mcp-nutzen",
|
"page": "projekt/mcp-nutzen",
|
||||||
"stufe": 2
|
"stufe": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"symbol": "team_get",
|
"symbol": "team_get",
|
||||||
"page": "projekt/mcp-nutzen",
|
"page": "projekt/mcp-nutzen",
|
||||||
"stufe": 2
|
"stufe": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"symbol": "teams_list",
|
"symbol": "teams_list",
|
||||||
"page": "projekt/mcp-nutzen",
|
"page": "projekt/mcp-nutzen",
|
||||||
"stufe": 2
|
"stufe": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"symbol": "user_create",
|
"symbol": "user_create",
|
||||||
"page": "projekt/mcp-nutzen",
|
"page": "projekt/mcp-nutzen",
|
||||||
"stufe": 2
|
"stufe": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"symbol": "user_delete",
|
"symbol": "user_delete",
|
||||||
"page": "projekt/mcp-nutzen",
|
"page": "projekt/mcp-nutzen",
|
||||||
"stufe": 2
|
"stufe": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"symbol": "user_get",
|
"symbol": "user_get",
|
||||||
"page": "projekt/mcp-nutzen",
|
"page": "projekt/mcp-nutzen",
|
||||||
"stufe": 2
|
"stufe": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"symbol": "user_update",
|
"symbol": "user_update",
|
||||||
"page": "projekt/mcp-nutzen",
|
"page": "projekt/mcp-nutzen",
|
||||||
"stufe": 2
|
"stufe": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"symbol": "users_list",
|
"symbol": "users_list",
|
||||||
"page": "projekt/mcp-nutzen",
|
"page": "projekt/mcp-nutzen",
|
||||||
"stufe": 2
|
"stufe": 1
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"schemas": {
|
"schemas": {
|
||||||
"total": 16,
|
"total": 17,
|
||||||
"mapped": 16,
|
"mapped": 17,
|
||||||
"openCount": 0,
|
"openCount": 0,
|
||||||
"openItems": []
|
"openItems": []
|
||||||
},
|
},
|
||||||
@@ -686,31 +686,31 @@
|
|||||||
},
|
},
|
||||||
"depth": {
|
"depth": {
|
||||||
"routes": {
|
"routes": {
|
||||||
"total": 36,
|
"total": 52,
|
||||||
"stufe4": 0,
|
"stufe4": 0,
|
||||||
"stufe3": 0,
|
"stufe3": 0,
|
||||||
"stufe2": 36,
|
"stufe2": 52,
|
||||||
"stufe1": 0
|
"stufe1": 0
|
||||||
},
|
},
|
||||||
"contexts": {
|
"contexts": {
|
||||||
"total": 66,
|
"total": 66,
|
||||||
"stufe4": 66,
|
"stufe4": 39,
|
||||||
"stufe3": 0,
|
"stufe3": 0,
|
||||||
"stufe2": 0,
|
"stufe2": 0,
|
||||||
"stufe1": 0
|
"stufe1": 27
|
||||||
},
|
},
|
||||||
"tools": {
|
"tools": {
|
||||||
"total": 36,
|
"total": 36,
|
||||||
"stufe4": 0,
|
"stufe4": 0,
|
||||||
"stufe3": 0,
|
"stufe3": 0,
|
||||||
"stufe2": 36,
|
"stufe2": 0,
|
||||||
"stufe1": 0
|
"stufe1": 36
|
||||||
},
|
},
|
||||||
"schemas": {
|
"schemas": {
|
||||||
"total": 16,
|
"total": 17,
|
||||||
"stufe4": 0,
|
"stufe4": 0,
|
||||||
"stufe3": 0,
|
"stufe3": 0,
|
||||||
"stufe2": 16,
|
"stufe2": 17,
|
||||||
"stufe1": 0
|
"stufe1": 0
|
||||||
},
|
},
|
||||||
"components": {
|
"components": {
|
||||||
@@ -784,6 +784,11 @@
|
|||||||
"uploadPath"
|
"uploadPath"
|
||||||
],
|
],
|
||||||
"defs.schema.json": [],
|
"defs.schema.json": [],
|
||||||
|
"embedding.schema.json": [
|
||||||
|
"goldenPath",
|
||||||
|
"groups",
|
||||||
|
"providers"
|
||||||
|
],
|
||||||
"field-list.schema.json": [],
|
"field-list.schema.json": [],
|
||||||
"field-meta.schema.json": [
|
"field-meta.schema.json": [
|
||||||
"addElementLabel",
|
"addElementLabel",
|
||||||
|
|||||||
+15
-18
@@ -1,6 +1,6 @@
|
|||||||
# Doku-Ausbau: Plan und Status
|
# Doku-Ausbau: Plan und Status
|
||||||
|
|
||||||
Lebendes Dokument. Der Orga-Agent (Agent Warpfuchs) aktualisiert Status, Sessions und Second-Opinion-Ergebnisse nach jedem Schritt. Stand: 2026-10-16.
|
Lebendes Dokument. Der Orga-Agent aktualisiert Status, Sessions und Second-Opinion-Ergebnisse nach jedem Schritt. Stand: 2026-10-17.
|
||||||
|
|
||||||
## Regeln (kurz)
|
## Regeln (kurz)
|
||||||
|
|
||||||
@@ -23,22 +23,21 @@ Lebendes Dokument. Der Orga-Agent (Agent Warpfuchs) aktualisiert Status, Session
|
|||||||
| T-ADMIN-B Admin II | aktionen, benutzer-rechte, ki-funktionen, setup, customizing | general ses_ebad2bf8affeZ9uV0HzJf2k357 | ✅ fertig | ✅ SO eingearbeitet (Test-Pläne 40/42 verlinkt, Widget-Enum klargestellt, toter Anker gefixt) | Build + Links ✅ |
|
| T-ADMIN-B Admin II | aktionen, benutzer-rechte, ki-funktionen, setup, customizing | general ses_ebad2bf8affeZ9uV0HzJf2k357 | ✅ fertig | ✅ SO eingearbeitet (Test-Pläne 40/42 verlinkt, Widget-Enum klargestellt, toter Anker gefixt) | Build + Links ✅ |
|
||||||
| T-ANW-A Anwender I | anmelden, orientierung, lesen-suchen-filtern, eintrag-bearbeiten, medien | general ses_ebad2bf77ffeQm3uhj279Qrc09 | ✅ fertig | ✅ SO eingearbeitet (/ statt Strg+K, „Dateien hinzufügen", Tabelle statt Zeilen, Duplikat-Aside) | Build + Links ✅ |
|
| T-ANW-A Anwender I | anmelden, orientierung, lesen-suchen-filtern, eintrag-bearbeiten, medien | general ses_ebad2bf77ffeQm3uhj279Qrc09 | ✅ fertig | ✅ SO eingearbeitet (/ statt Strg+K, „Dateien hinzufügen", Tabelle statt Zeilen, Duplikat-Aside) | Build + Links ✅ |
|
||||||
| T-ANW-B Anwender II | seiten-bauen, benutzer-teams, exportieren, sichern, hilfe | general ses_ebad2bf75ffezS1KTRTQDO5GT5 | ✅ fertig | ✅ SO eingearbeitet (Snapshot-Reiter, „Exportieren", Benutzerverwaltung, echte Fehltexte) | Build + Links ✅ |
|
| T-ANW-B Anwender II | seiten-bauen, benutzer-teams, exportieren, sichern, hilfe | general ses_ebad2bf75ffezS1KTRTQDO5GT5 | ✅ fertig | ✅ SO eingearbeitet (Snapshot-Reiter, „Exportieren", Benutzerverwaltung, echte Fehltexte) | Build + Links ✅ |
|
||||||
| T-ADMIN-B Admin II | aktionen, benutzer-rechte, ki-funktionen, setup, customizing | – | ⏳ offen | ⏳ | Build + Links |
|
| T-SHOTS Screenshots | `src/assets/{anwender,admin}/*` NUR aus Mock-Projekt `corporate` (nie `t1`!), Auftrag: `plans/t-shots-arbeitsauftrag.md` | general ses_ebac0c7feffed3DYtWznC2bqzJ | ✅ fertig — Stand 17.10.: 66 WebP (49 Anwender, 17 Admin), <200 KB; 2 nicht darstellbare Motive kommentiert | ✅ Text-Abweichungen eingearbeitet (Live-Schalter, OK-Button, Reiter, Corporate-Blöcke) | Build + Links ✅ |
|
||||||
| T-ANW-A Anwender I | anmelden, orientierung, lesen-suchen-filtern, eintrag-bearbeiten, medien | – | ⏳ offen | ⏳ | Build + Links |
|
|
||||||
| T-ANW-B Anwender II | seiten-bauen, benutzer-teams, exportieren, sichern, hilfe | – | ⏳ offen | ⏳ | Build + Links |
|
|
||||||
| T-SHOTS Screenshots | `src/assets/anwender/*` NUR aus Mock-Projekt `corporate` (nie `t1`!), Auftrag: `plans/t-shots-arbeitsauftrag.md` | general ses_ebac0c7feffed3DYtWznC2bqzJ | ✅ fertig — Stand 17.10.: 49 webp (40 Anwender, 9 Admin), <200 KB | ✅ Text-Abweichungen eingearbeitet (Live-Schalter, OK-Button, Reiter, Corporate-Blöcke) | Build + Links ✅ |
|
|
||||||
| T-PROJ-D Vollständigkeit | pagebuilder-dev, mcp-nutzen (36 Tools), llm-nutzen | general ses_ebac0c804ffe9vElWvaKTju4H9 | ✅ fertig | ✅ SO eingearbeitet (REST-only: sieben statt fünf) | Build + Links ✅ |
|
| T-PROJ-D Vollständigkeit | pagebuilder-dev, mcp-nutzen (36 Tools), llm-nutzen | general ses_ebac0c804ffe9vElWvaKTju4H9 | ✅ fertig | ✅ SO eingearbeitet (REST-only: sieben statt fünf) | Build + Links ✅ |
|
||||||
| T-FINISH Finish | index-Karten, uebersicht/konzept-Stempel, Voll-Linkcheck, AGENTS-Spiegelung | Orga (direkt) | ✅ fertig (v1) | — (Linkcheck: alle ok, 0 Hüllen, ADR-0003 angelegt) | Build 71 Seiten ✅ (Stand 17.10.) |
|
| T-FINISH Finish | index-Karten, uebersicht/konzept-Stempel, Voll-Linkcheck, AGENTS-Spiegelung | Orga (direkt) | ✅ fertig (v1) | — (Linkcheck: alle ok, 0 Hüllen, ADR-0003 angelegt) | Build 71 Seiten ✅ (Stand 17.10.) |
|
||||||
| T-PB Pagebuilder komplett | pagebuilder-dev + seiten-bauen: Overlay-Editor, Modi, Viewport, Overview/inline, drillDown | general ses_eb9584bafffekRtyPPBn7ORTeA | ✅ fertig | ✅ SO eingearbeitet (OK/blur-Pfad, <768-px-Hinweis) | Build + Links ✅ |
|
| T-PB Pagebuilder komplett | pagebuilder-dev + seiten-bauen: Overlay-Editor, Modi, Viewport, Overview/inline, drillDown | general ses_eb9584bafffekRtyPPBn7ORTeA | ✅ fertig | ✅ SO eingearbeitet (OK/blur-Pfad, <768-px-Hinweis) | Build + Links ✅ |
|
||||||
| T-TON Ton-Rewrite | alle 10 anwender-Seiten: professionell-per-du, UI-Namen aus de.json | general ses_eb95443a5ffe8IrJVmt1DcAReX | ✅ fertig | ✅ SO eingearbeitet („Bild hochladen", Sitzungs-Hinweis, Live-Qualifier, KI-Beschreibung, Browser-Zurück) | Build + Links ✅ |
|
| T-TON Ton-Rewrite | alle 10 anwender-Seiten: professionell-per-du, UI-Namen aus de.json | general ses_eb95443a5ffe8IrJVmt1DcAReX | ✅ fertig | ✅ SO eingearbeitet („Bild hochladen", Sitzungs-Hinweis, Live-Qualifier, KI-Beschreibung, Browser-Zurück) | Build + Links ✅ |
|
||||||
| T-SHOTS-2 Pagebuilder-Shots | Overlay + Viewport (corporate), Einbau in seiten-bauen | general ses_eb9503e20ffetq8gZU0Ff5U06T | ✅ fertig (3 webp, Icon-Tooltip korrigiert) | ✅ Abweichung eingearbeitet | Build ✅ |
|
| T-SHOTS-2 Pagebuilder-Shots | Overlay + Viewport (corporate), Einbau in seiten-bauen | general ses_eb9503e20ffetq8gZU0Ff5U06T | ✅ fertig (3 webp, Icon-Tooltip korrigiert) | ✅ Abweichung eingearbeitet | Build ✅ |
|
||||||
| T-COV Coverage-Inventar | Skript + Map: Routen, Kontexte, Tools, Schemas, Komponenten, Test-Pläne | general ses_eb9584ba6ffeUrQq7fowAHlPXO | ✅ fertig (282/282 gemappt, 0 OFFEN) | ⏳ Map v1 = Topic-Level bei ui/*, Verifikation folgt | `npm run coverage` grün |
|
| T-COV Coverage-Inventar | Skript + Map: Controller- und System-Routen, Kontexte, Tools, Schemas, Komponenten, Test-Pläne | general ses_eb9584ba6ffeUrQq7fowAHlPXO | ✅ 341/341 zugeordnet (Zuordnung ist kein Tiefennachweis) | ✅ Map v1; Tiefe siehe `plans/coverage-report.json` | `npm run coverage` grün |
|
||||||
|
|
||||||
Legende: ⏳ offen · 🔄 läuft (Session-ID) · 👀 Review/SO läuft · ✅ fertig.
|
Legende: ⏳ offen · 🔄 läuft (Session-ID) · 👀 Review/SO läuft · ✅ fertig.
|
||||||
|
|
||||||
## Vollständigkeit: Was ist wo abgedeckt (100-%-Ziel)
|
Der T-REF-Eintrag hält den damaligen Second-Opinion-Stand fest (16 Schemas). Das nachträglich ergänzte `embedding.schema.json` ist inzwischen in der aktuellen Fähigkeitsmatrix enthalten; Gesamtbestand: 17 Schemas.
|
||||||
|
|
||||||
Jede Fähigkeit von tibi-server / tibi-admin braucht genau eine Dokustelle. Der Orga-Agent prüft diese Tabelle vor T-FINISH Zeile für Zeile.
|
## Fähigkeitszuordnung: Was ist wo abgedeckt
|
||||||
|
|
||||||
|
Jede Fähigkeit von tibi-server / tibi-admin braucht genau eine Dokustelle. Die Zuordnung zeigt den passenden Ort, beweist aber nicht, dass jedes Verhalten in voller Tiefe beschrieben ist. Dafür sind Coverage-Tiefenstufen und fachliche Reviews getrennt zu betrachten.
|
||||||
|
|
||||||
### tibi-server (`internal/*`)
|
### tibi-server (`internal/*`)
|
||||||
|
|
||||||
@@ -87,7 +86,7 @@ Jede Fähigkeit von tibi-server / tibi-admin braucht genau eine Dokustelle. Der
|
|||||||
|
|
||||||
| Baustein | Dokustelle | Status |
|
| Baustein | Dokustelle | Status |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| 16 Schemas (project, collection, field, hooks, permissions, job, action, snapshot, ...) | reference/schemas + je Projekt-Seite | ✅ |
|
| 17 Schemas (project, collection, field, hooks, permissions, job, action, snapshot, embedding, ...) | reference/schemas + je Projekt-Seite | ✅ |
|
||||||
| Starter-Skill (Platzhalter, Registrierung, Pfad A/B) | einstieg/schnellstart + einstieg/neues-projekt | ✅ |
|
| Starter-Skill (Platzhalter, Registrierung, Pfad A/B) | einstieg/schnellstart + einstieg/neues-projekt | ✅ |
|
||||||
| Mock-Projekte (corporate/shop/blog/intranet/events/t1) | plans/t-shots-arbeitsauftrag.md (corporate für Shots) | ✅ |
|
| Mock-Projekte (corporate/shop/blog/intranet/events/t1) | plans/t-shots-arbeitsauftrag.md (corporate für Shots) | ✅ |
|
||||||
|
|
||||||
@@ -143,7 +142,7 @@ Kontrollen: Depth-Gate im Skript (gemapptes Item < Stufe Signatur = Fail), Blind
|
|||||||
- [x] Abschlussmeldung an User
|
- [x] Abschlussmeldung an User
|
||||||
- [x] Stil-Guide professionell-per-du in AGENTS.md (§1)
|
- [x] Stil-Guide professionell-per-du in AGENTS.md (§1)
|
||||||
- [x] T-PB Ergebnis + Build + Second Opinion
|
- [x] T-PB Ergebnis + Build + Second Opinion
|
||||||
- [x] T-COV Inventar + Map, Lückenzahl steht (282/282, 0 OFFEN — Map v1 Topic-Level bei ui/*)
|
- [x] T-COV Inventar + Map v1 erstellt; UI-Einträge waren zunächst Topic-Level, Tiefenstufen wurden danach ergänzt
|
||||||
- [x] T-TON gestartet (alle 10 Anwender-Seiten)
|
- [x] T-TON gestartet (alle 10 Anwender-Seiten)
|
||||||
- [x] T-TON Ergebnis + Build + Second Opinion
|
- [x] T-TON Ergebnis + Build + Second Opinion
|
||||||
- [x] T-SHOTS-2 gestartet (Overlay + Viewport, corporate)
|
- [x] T-SHOTS-2 gestartet (Overlay + Viewport, corporate)
|
||||||
@@ -157,14 +156,12 @@ Kontrollen: Depth-Gate im Skript (gemapptes Item < Stufe Signatur = Fail), Blind
|
|||||||
- [x] P-HOOKS-1 gestartet (Muster-Los Daten)
|
- [x] P-HOOKS-1 gestartet (Muster-Los Daten)
|
||||||
- [x] P-HOOKS-1 Ergebnis + Blind-Read + SO (27 Symbole Stufe 4, Scanner per-###, Zitat-Regel)
|
- [x] P-HOOKS-1 Ergebnis + Blind-Read + SO (27 Symbole Stufe 4, Scanner per-###, Zitat-Regel)
|
||||||
- [x] P-HOOKS-2 bis 5 parallel gestartet (nur Kapitel-Dateien, Shared-Edits beim Orga)
|
- [x] P-HOOKS-2 bis 5 parallel gestartet (nur Kapitel-Dateien, Shared-Edits beim Orga)
|
||||||
- [ ] Lose 2-5 eingetroffen: Sidebar + Index-Links + Map-Umtrag (Orga), Build, SO-Spotcheck
|
- [x] Lose 2-5 eingetroffen: Sidebar + Index-Links + Map-Umtrag (Orga), Build, SO-Spotcheck
|
||||||
- [ ] Blind-Read-Test über alle 5 Kapitel (Mini-Hook nur aus Doku)
|
- [x] Blind-Read-Test über alle 5 Kapitel (Mini-Hook nur aus Doku)
|
||||||
- [x] P-MCP-D + P-LLM-D + P-UI-D starten
|
- [x] P-MCP-D + P-LLM-D + P-UI-D starten
|
||||||
- [x] Abschlussmeldung Runde 3 an User
|
- [x] Abschlussmeldung Runde 3 an User
|
||||||
- [ ] Abschlussmeldung Runde 3 an User
|
- [x] Issue zu `reponse.header` im Server-Code angelegt: tibi-server #44
|
||||||
- [ ] Offen an tibi-server: Typo `reponse.header` im Server-Code (`context_response.go`, von Doku wörtlich zitiert) → Issue
|
- [x] Issue zum `toggleUsers`-Kürzel angelegt: tibi-admin-nova #5
|
||||||
- [ ] Offen an tibi-admin-nova: totes `u`-Kürzel (`toggleUsers`-Key fehlt in `de.json`, nur Akkord `g → u` funktioniert) → Issue
|
|
||||||
- [ ] Abschlussmeldung Runde 3 an User
|
|
||||||
|
|
||||||
## Runde 4 — Audit und Umsetzung (2026-10-17)
|
## Runde 4 — Audit und Umsetzung (2026-10-17)
|
||||||
|
|
||||||
@@ -178,7 +175,7 @@ Vollständige Prüfung von Code und Doku, dann Abarbeitung in Wellen. Übersicht
|
|||||||
| C | P5 `reference/schema-properties.md` (generiert) + Starter-Kapitel + 5 neue Anwender-Seiten | ✅ |
|
| C | P5 `reference/schema-properties.md` (generiert) + Starter-Kapitel + 5 neue Anwender-Seiten | ✅ |
|
||||||
| D | P7 Stil, Starlight, Struktur, UI-Text-Treue, Kontrast | ✅ |
|
| D | P7 Stil, Starlight, Struktur, UI-Text-Treue, Kontrast | ✅ |
|
||||||
| E | P6b Screenshots: 9 Admin- + 10 Anwender-Bilder aus `corporate` | ✅ |
|
| E | P6b Screenshots: 9 Admin- + 10 Anwender-Bilder aus `corporate` | ✅ |
|
||||||
| G | Screenshot-Nachtrag: restliche UI-Bereiche (8 Anwender + 9 Admin + Befehlspalette) | ✅ (65 Bilder gesamt) |
|
| G | Screenshot-Nachtrag: restliche UI-Bereiche (8 Anwender + 9 Admin + Befehlspalette) | ✅ (66 Bilder gesamt) |
|
||||||
| F | P8 Meta (AGENTS.md, Werkzeuge, Issues) | ✅ |
|
| F | P8 Meta (AGENTS.md, Werkzeuge, Issues) | ✅ |
|
||||||
| — | P9 Repo-Hygiene: 5 Alt-Kopien gelöscht (~6,1 GB), 6 mit unpushed Commits behalten | ✅ |
|
| — | P9 Repo-Hygiene: 5 Alt-Kopien gelöscht (~6,1 GB), 6 mit unpushed Commits behalten | ✅ |
|
||||||
| H | Ton: Fehlerabschnitte auf Handbuch-Sprache (Regel in AGENTS.md §1, 12 Anwender-Seiten + 5 Stellen) | ✅ |
|
| H | Ton: Fehlerabschnitte auf Handbuch-Sprache (Regel in AGENTS.md §1, 12 Anwender-Seiten + 5 Stellen) | ✅ |
|
||||||
@@ -189,6 +186,6 @@ Vollständige Prüfung von Code und Doku, dann Abarbeitung in Wellen. Übersicht
|
|||||||
`scripts/gen-schema-matrix.mjs` (`npm run gen:schemas` → `reference/schema-properties.md`).
|
`scripts/gen-schema-matrix.mjs` (`npm run gen:schemas` → `reference/schema-properties.md`).
|
||||||
**Neue Seiten:** `projekt/feld-rechte`, `reference/rest-system`, `reference/schema-properties`,
|
**Neue Seiten:** `projekt/feld-rechte`, `reference/rest-system`, `reference/schema-properties`,
|
||||||
`projekt/tests`, `anwender/{verlauf-wiederherstellen,massenbearbeitung,aktionen,backup-einspielen,tastenkombinationen}`.
|
`projekt/tests`, `anwender/{verlauf-wiederherstellen,massenbearbeitung,aktionen,backup-einspielen,tastenkombinationen}`.
|
||||||
**Stand:** 70 Inhaltsseiten, 49 Screenshots, Build grün, Audit: 0 tote Links, 0 kaputte Tabellen.
|
**Stand:** 70 Inhaltsseiten, 66 Screenshots (49 Anwender, 17 Admin), Build grün, Audit: 0 tote Links, 0 kaputte Tabellen.
|
||||||
**Offen:** Issues für die Nachbar-Repos (`plans/offene-issues.md`), Löschkandidaten `tibi-docs-legacy`,
|
**Offen:** Issues für die Nachbar-Repos (`plans/offene-issues.md`), Löschkandidaten `tibi-docs-legacy`,
|
||||||
`tibi-docs-kaputt`, `tibi-admin.bak*`, `tibi-server.bak` (Freigabe), Coverage v2 (Funktionskörnung).
|
`tibi-docs-kaputt`, `tibi-admin.bak*`, `tibi-server.bak` (Freigabe), Coverage v2 (Funktionskörnung).
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
# Aktuelle Doku-Prüfung: tibi-server und tibi-admin
|
||||||
|
|
||||||
|
**Stand:** 2026-10-17
|
||||||
|
**Umfang:** `tibi-server`, `tibi-admin-nova` und die dazugehörigen Seiten, Screenshots und Prüfpläne in `tibi-docs`.
|
||||||
|
**Ziel:** Restlücken, Darstellungsfehler und konkrete Verbesserungen nachvollziehbar prüfen und abarbeiten.
|
||||||
|
|
||||||
|
## Ergebnis in Kürze
|
||||||
|
|
||||||
|
Die Dokumentation ist umfangreich und deckt die zentralen Entwickler-, Betreiber-, Admin- und Anwenderabläufe ab. Die alten Auditlisten sind aber nicht überall auf dem aktuellen Stand: die Server-Systemrouten, Meta-Routen, Upload-Allowlist, Suchaggregate, Token-Scopes und Embedding-Gruppen sind inzwischen dokumentiert. Die Screenshots liegen überwiegend an der passenden Stelle. Zwei UI-Motive bleiben bewusst offen, weil sie sich mit dem erlaubten Mock-Projekt nicht erzeugen lassen.
|
||||||
|
|
||||||
|
„Alles erfasst“ lässt sich aus dem Coverage-Inventar allein nicht ableiten: Das Inventar ordnet 341 Elemente einer Doku-Seite zu, misst aber keine vollständige Verhaltenstiefe. Im aktuellen Report erreichen die Hook-Funktionen Stufe 4; Routen, MCP-Werkzeuge, Schemas, Komponenten und Test-Pläne stehen auf Zuordnungsstufe 2.
|
||||||
|
|
||||||
|
## Befunde und Abarbeitung
|
||||||
|
|
||||||
|
### Sprache und UI-Bezeichnungen
|
||||||
|
|
||||||
|
- [x] **Startseite verwendete die unpersönliche „man“-Form.** `src/content/docs/index.mdx` sagt jetzt „wie du damit baust“.
|
||||||
|
- [x] **„Schnellsuche“ als UI-Name entfernt.** Seitentitel, Überschrift und Querverweis heißen jetzt „Befehlspalette“. Der Suchbegriff bleibt nur als Alias in der Referenz.
|
||||||
|
|
||||||
|
### Struktur und Prüfbarkeit
|
||||||
|
|
||||||
|
- [x] **Lebenden Ausbauplan aktualisiert.** Veraltete Screenshot-/Coverage-Zahlen, doppelte offene Pakete und alte Abschluss-Checkboxen wurden bereinigt; Umfang und Tiefenhinweis sind aktualisiert.
|
||||||
|
- [x] **Struktur-Auditor präzisiert.** Er sucht jetzt nach konkreten redaktionellen Markern, nicht nach legitimen Begriffen wie „Platzhalter“ oder „noch nicht“.
|
||||||
|
- [x] **Coverage-Zuordnung als Zuordnung gekennzeichnet.** `plans/doku-ausbau.md` trennt Mapping von vollständiger Verhaltenstiefe.
|
||||||
|
- [x] **Embedding-Schema ergänzt.** `embedding.schema.json` ist im Coverage-Inventar zugeordnet, in die generierte Property-Referenz aufgenommen und in der Schema-Liste als Serverkonfiguration eingetragen.
|
||||||
|
- [x] **Schema-Zähler berichtigt.** Der Generator und die ausgegebene Referenz nannten noch 16 statt 17 Schemas; beide Angaben sind nun konsistent.
|
||||||
|
- [x] **Schema-Zähler in der Fähigkeitsmatrix berichtigt.** Die aktuelle Liste nennt 17 Schemas einschließlich `embedding`; die historische Prüfnachricht vermerkt den alten Stand 16.
|
||||||
|
- [x] **Stand des Ausbauplans aktualisiert.** Die Kopfzeile nennt jetzt den aktuellen Prüftag.
|
||||||
|
|
||||||
|
### Screenshots und Oberflächen
|
||||||
|
|
||||||
|
- [x] **Bestand geprüft:** Bilder unter `assets/admin/` und `assets/anwender/` liegen in den passenden Ordnern, haben Alt-Texte und sind kleiner als 200 KB. Keine UI-Aufnahme ist verwaist; Branding-Dateien sind keine Screenshots.
|
||||||
|
- [x] **Platzierung korrigiert:** Sieben Admin-Screenshots standen erst nach Fehlerabschnitten oder am Seitenende. Die sieben unterschiedlichen Dateien stehen jetzt bei ihren Themen: `admin-filter-voice` (Listenfilter/Mikrofon), `admin-medien` (Bildeditor), `admin-exporte` (Export-Dialog), `admin-eintrags-editor` (Pagebuilder-Editor), `admin-ki-funktionen` (Mikrofon im Chat), `admin-benutzer-rechte` (Benutzerverwaltung) und `admin-customizing` (eigene Exporte).
|
||||||
|
- [x] **Offene Motive bewertet:** Sitzungshinweis und Suchindex-Hinweisbanner bleiben als redaktionelle Notiz stehen, weil sie im erlaubten Mock-Projekt `corporate` nicht erzeugbar sind. Es gibt keinen Ersatz durch `t1` oder erfundene UI-Zustände.
|
||||||
|
- [x] **Mock-Änderungen berücksichtigt:** Die Referenzseiten für Aktionen und Custom-Exporte nennen den `corporate`-Mock-Commit `bff84be6`. Die uncommittete Änderung an der Suchindex-Anzeige blieb unangetastet.
|
||||||
|
|
||||||
|
### Abgleich mit den Quell-Repositories
|
||||||
|
|
||||||
|
- [x] **Veraltete Audit-Befunde gegen den aktuellen Seitenbestand geprüft.** REST-Systemrouten, `_meta`, Upload-MIME-Allowlist, Aggregation, Token-Scopes und Embedding-Gruppen haben aktuelle Dokustellen.
|
||||||
|
- [x] **Aktuelle Arbeitskopie des Admin-Repos beachtet.** `SearchIndexBuildNotice.svelte` ist lokal geändert. Die Änderung betrifft das Polling bei nicht verfügbaren Sammlungen; sie ist nicht Teil des Commits und wurde nicht überschrieben.
|
||||||
|
|
||||||
|
## Arbeitsprotokoll
|
||||||
|
|
||||||
|
| Punkt | Ergebnis / Beleg |
|
||||||
|
|---|---|
|
||||||
|
| Quellstände | `tibi-server` HEAD `88118b8e`; `tibi-admin-nova` HEAD `bff84be6`. Admin-Arbeitskopie hat zusätzlich eine uncommittete Änderung an `SearchIndexBuildNotice.svelte`. |
|
||||||
|
| Coverage | Inventar um die 16 unterschiedlichen System-CRUD- und Meta-Pfadformen erweitert; das bisherige `setup.go`-Inventar ließ die DB-API-Routen aus. |
|
||||||
|
| Coverage-Schema | `embedding.schema.json` war das einzige nicht zugeordnete Schema; es ist nun `server/konfiguration` zugeordnet. |
|
||||||
|
| Abschlusstests | Coverage 341/341, Schema-Generator 17 Schemas/167 Properties und idempotent, Build 71 Seiten, Doku-Audit 0 Findings. |
|
||||||
|
| Review | Erstreview fand einen kosmetischen P2 zum Schema-Zähler; Generator und Ausgabe wurden korrigiert. Finalreview bestätigte danach keine offenen P1-/P2-Befunde sowie Screenshot-, Quellen- und Coverage-Angaben. |
|
||||||
|
| Server-Lücken gegengeprüft | System-CRUD und `_meta`: `reference/rest-system.mdx`; Upload-MIME-Regeln: `server/konfiguration.mdx`; Aggregation: `projekt/abfragen-lesen.mdx`; Token-Scopes: `projekt/rechte-tokens.mdx`; Embedding-Gruppen: `server/konfiguration.mdx` und `server/betrieb.mdx`. |
|
||||||
|
| Screenshot-Bestand | 67 Bildplatzierungen, 66 eindeutige WebP-Dateien: 17 Admin- und 49 Anwender-Bilder. Alle liegen im passenden Unterordner, haben Alt-Text und sind kleiner als 200 KB. `favicon.svg` und `admin-nova.png` sind keine UI-Screenshots. `seiten-bloecke.webp` wird in zwei passenden Abschnitten derselben Anwender-Seite wiederverwendet. |
|
||||||
|
| Screenshot-Platzierung | Sieben unterschiedliche Admin-Bilder an die thematisch passenden Abschnitte verschoben. Listen-Mikrofon (`admin-filter-voice`) und Chat-Mikrofon (`admin-ki-funktionen`) sind getrennte Screenshots; Anwender-Bilder standen bereits neben den zugehörigen Schritten. |
|
||||||
|
| Offene Screenshot-Motive | `anwender/anmelden.mdx`: Inaktivitätsdialog im Mock deaktiviert. `anwender/lesen-suchen-filtern.mdx`: Corporate-Mock hat keine Suchkonfiguration, die das Queue-Banner auslösen könnte. Beides bleibt als Kommentar markiert. |
|
||||||
|
|
||||||
|
## Abschluss
|
||||||
|
|
||||||
|
- [x] `npm run coverage` weist alle 341 inventarisierten Elemente zu.
|
||||||
|
- [x] `npm run gen:schemas` erzeugt 17 Schemas mit 167 Properties idempotent.
|
||||||
|
- [x] `npm run build` ist erfolgreich (71 Seiten).
|
||||||
|
- [x] `node scripts/audit-docs.mjs` meldet 0 Findings, keine defekten Links, Anker, Bilder, Tabellen oder MDX-Komponenten.
|
||||||
|
- [x] Änderungen wurden von einem unabhängigen Reviewer geprüft; keine P1-/P2-Befunde.
|
||||||
@@ -41,7 +41,7 @@ Verbindlich für den Agenten, der T-SHOTS ausführt. Stand: 2026-10-16.
|
|||||||
## Bewusst offene Motive (Hinweise für spätere Runden)
|
## Bewusst offene Motive (Hinweise für spätere Runden)
|
||||||
|
|
||||||
Stand 2026-10-17: Alle Anwender- und Admin-Seiten haben mindestens ein Bild (66 Bilder, alle aus
|
Stand 2026-10-17: Alle Anwender- und Admin-Seiten haben mindestens ein Bild (66 Bilder, alle aus
|
||||||
`corporate`). Zwei Motive sind **im Mock nicht darstellbar** und bleiben als Kommentar-Hinweis in der
|
`corporate`; Aktionen/Exporte im Mock seit `tibi-admin-nova` bff84be6). Zwei Motive sind **im Mock nicht darstellbar** und bleiben als Kommentar-Hinweis in der
|
||||||
jeweiligen Seite stehen — bitte nicht „irgendwie" aus `t1` oder einem anderen Projekt erzeugen:
|
jeweiligen Seite stehen — bitte nicht „irgendwie" aus `t1` oder einem anderen Projekt erzeugen:
|
||||||
|
|
||||||
| Seite | Motiv | Grund (am Code belegt) |
|
| Seite | Motiv | Grund (am Code belegt) |
|
||||||
|
|||||||
+13
-6
@@ -234,7 +234,8 @@ for (const f of files) {
|
|||||||
stats.asciiUmlauts.push(rel(f));
|
stats.asciiUmlauts.push(rel(f));
|
||||||
if (/(?:waehl|einstell(?:ung)?en?|benutz(?:er)?|sc(?:h)luessel)/i.test('') ) {} // noop
|
if (/(?:waehl|einstell(?:ung)?en?|benutz(?:er)?|sc(?:h)luessel)/i.test('') ) {} // noop
|
||||||
|
|
||||||
// Hüllen-Reste (nur Fließtext — in Codeblöcken sind „Platzhalter"/„TODO" legitime Beispieltexte)
|
// Hüllen-Reste (nur konkrete Redaktionsmarker; Fachbegriffe wie „Platzhalter"
|
||||||
|
// und gültige Zustandsbeschreibungen wie „noch nicht registriert" sind kein Befund.)
|
||||||
const proseText = (() => {
|
const proseText = (() => {
|
||||||
const out = [];
|
const out = [];
|
||||||
let f = false;
|
let f = false;
|
||||||
@@ -244,14 +245,20 @@ for (const f of files) {
|
|||||||
}
|
}
|
||||||
return out.join('\n');
|
return out.join('\n');
|
||||||
})();
|
})();
|
||||||
['Für spätere Agenten', 'TODO', 'FIXME', 'noch nicht', 'Hülle', 'Platzhalter', 'TBD', 'WIP']
|
[
|
||||||
.forEach((k) => {
|
{ label: 'Für spätere Agenten', pattern: /Für spätere Agenten/i },
|
||||||
const idx = proseText.indexOf(k);
|
{ label: 'TODO/FIXME/TBD/WIP', pattern: /\b(?:TODO|FIXME|TBD|WIP)\b/i },
|
||||||
|
{ label: 'Hülle', pattern: /\bHülle\b/i },
|
||||||
|
{ label: 'unersetzter Platzhalter-Vermerk', pattern: /\bStand\s*:\s*Platzhalter\b/i },
|
||||||
|
].forEach(({ label, pattern }) => {
|
||||||
|
const match = pattern.exec(proseText);
|
||||||
|
if (!match) return;
|
||||||
|
const idx = match.index;
|
||||||
if (idx < 0) return;
|
if (idx < 0) return;
|
||||||
const line = proseText.slice(0, idx).split(/\r?\n/).length;
|
const line = proseText.slice(0, idx).split(/\r?\n/).length;
|
||||||
const ctx = proseText.split(/\r?\n/)[line - 1]?.trim().slice(0, 110) ?? '';
|
const ctx = proseText.split(/\r?\n/)[line - 1]?.trim().slice(0, 110) ?? '';
|
||||||
add(f, 'hollow', `Marker "${k}": ${ctx}`, line);
|
add(f, 'hollow', `Marker "${label}": ${ctx}`, line);
|
||||||
stats.hollowMarkers.push(`${rel(f)}:${line} ${k}`);
|
stats.hollowMarkers.push(`${rel(f)}:${line} ${label}`);
|
||||||
});
|
});
|
||||||
|
|
||||||
// Verbotene Namen
|
// Verbotene Namen
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ function warn(msg) {
|
|||||||
console.error(`WARN: ${msg}`);
|
console.error(`WARN: ${msg}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 1. Routen: apiGroup.GET/POST/PUT/DELETE("pfad") + adm.* + OPTIONS aus setup.go, Duplikate raus. */
|
/** 1. Routen: Controller-Routen aus setup.go plus System-CRUD/Meta-Routen aus dbapi/register.go. */
|
||||||
function collectRoutes() {
|
function collectRoutes() {
|
||||||
const file = path.join(SERVER_ROOT, "internal", "controller", "setup.go");
|
const file = path.join(SERVER_ROOT, "internal", "controller", "setup.go");
|
||||||
if (!existsSync(file)) {
|
if (!existsSync(file)) {
|
||||||
@@ -60,6 +60,18 @@ function collectRoutes() {
|
|||||||
let m;
|
let m;
|
||||||
while ((m = re.exec(src)) !== null) found.add(m[m.length - 1]);
|
while ((m = re.exec(src)) !== null) found.add(m[m.length - 1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// RegisterModel erzeugt für diese Modelle GET/POST auf der Collection-Route
|
||||||
|
// sowie GET/PUT/DELETE auf der :id-Route. AddMetaRoute erzeugt _meta und
|
||||||
|
// eine /_meta/<modell>-Route je registriertem Modell. Diese Routen liegen
|
||||||
|
// in dbapi/register.go und waren im bisherigen setup.go-only-Inventar weg.
|
||||||
|
const models = ['user', 'project', 'org', 'team', 'token'];
|
||||||
|
for (const model of models) {
|
||||||
|
found.add(`/${model}`);
|
||||||
|
found.add(`/${model}/:id`);
|
||||||
|
}
|
||||||
|
found.add('/_meta');
|
||||||
|
for (const model of models) found.add(`/_meta/${model}`);
|
||||||
return [...found].sort();
|
return [...found].sort();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -36,13 +36,14 @@ function sourceStamp() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Feste Liste: genau diese 16 Schemas erwartet der Generator.
|
// Feste Liste: genau diese 17 Schemas erwartet der Generator.
|
||||||
const SCHEMAS = [
|
const SCHEMAS = [
|
||||||
'action.schema.json',
|
'action.schema.json',
|
||||||
'asset.schema.json',
|
'asset.schema.json',
|
||||||
'collection-meta.schema.json',
|
'collection-meta.schema.json',
|
||||||
'collection.schema.json',
|
'collection.schema.json',
|
||||||
'defs.schema.json',
|
'defs.schema.json',
|
||||||
|
'embedding.schema.json',
|
||||||
'field-list.schema.json',
|
'field-list.schema.json',
|
||||||
'field-meta.schema.json',
|
'field-meta.schema.json',
|
||||||
'field.schema.json',
|
'field.schema.json',
|
||||||
@@ -239,10 +240,10 @@ function effectiveSchema(file, schema) {
|
|||||||
const out = [];
|
const out = [];
|
||||||
out.push('---');
|
out.push('---');
|
||||||
out.push("title: 'Schema-Properties (generiert)'");
|
out.push("title: 'Schema-Properties (generiert)'");
|
||||||
out.push("description: 'Alle Properties aller 16 Config-Schemas als Tabelle — generiert, nicht von Hand editieren.'");
|
out.push("description: 'Alle Properties aller 17 Config-Schemas als Tabelle — generiert, nicht von Hand editieren.'");
|
||||||
out.push('---');
|
out.push('---');
|
||||||
out.push('');
|
out.push('');
|
||||||
out.push('Diese Seite listet die Properties aller 16 Config-Schemas aus `tibi-types/schemas/config/`.');
|
out.push('Diese Seite listet die Properties aller 17 Config-Schemas aus `tibi-types/schemas/config/`.');
|
||||||
out.push('');
|
out.push('');
|
||||||
out.push('> Generiert, nicht von Hand editieren — neu erzeugen mit `npm run gen:schemas`.');
|
out.push('> Generiert, nicht von Hand editieren — neu erzeugen mit `npm run gen:schemas`.');
|
||||||
out.push('');
|
out.push('');
|
||||||
|
|||||||
@@ -120,4 +120,4 @@ Klick-Abläufe dazu stehen im Test-Plan `docs/test-plans/40-actions.md` (Methode
|
|||||||
|
|
||||||
Anwender-Sicht zum Starten einer Aktion: [Aktionen ausführen](/anwender/aktionen/).
|
Anwender-Sicht zum Starten einer Aktion: [Aktionen ausführen](/anwender/aktionen/).
|
||||||
|
|
||||||
Verifiziert am 2b091d8 2026-10-17 (tibi-admin-nova); `execution`-Abschnitt verifiziert am 4c55f82 (tibi-types: action.schema.json:274-288, 401-403), am 2b091d8 (ActionView.svelte:260-295, 350-382)
|
Verifiziert am 2b091d8 2026-10-17 (tibi-admin-nova); `execution`-Abschnitt verifiziert am 4c55f82 (tibi-types: action.schema.json:274-288, 401-403), am 2b091d8 (ActionView.svelte:260-295, 350-382); Screenshot-Mock verifiziert am bff84be6 2026-10-17 (tibi-admin-nova: corporate/actions/reindex-search.yml)
|
||||||
@@ -67,6 +67,8 @@ Manche Sammlungen haben Reiter über der Liste (`meta.subNavigation`, z. B. `?su
|
|||||||
</TabItem>
|
</TabItem>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
## Mehrfachauswahl und Tastatur
|
## Mehrfachauswahl und Tastatur
|
||||||
|
|
||||||
- Auswahl per Checkbox, `Leertaste` oder `a` (alle umschalten). Pfeiltasten bewegen den Fokus, `Enter` öffnet den Eintrag.
|
- Auswahl per Checkbox, `Leertaste` oder `a` (alle umschalten). Pfeiltasten bewegen den Fokus, `Enter` öffnet den Eintrag.
|
||||||
@@ -101,8 +103,6 @@ Teile eine gefilterte Liste per URL — Empfänger sehen exakt dieselbe Auswahl,
|
|||||||
| Gesamtzahl fehlt oder lädt lange | `/_count` auf altem Server nicht verfügbar | Direkt laden lassen (Fallback) oder Server aktualisieren |
|
| Gesamtzahl fehlt oder lädt lange | `/_count` auf altem Server nicht verfügbar | Direkt laden lassen (Fallback) oder Server aktualisieren |
|
||||||
| Ansicht startet „falsch“ | `viewHint` der Sammlung schlägt die Startansicht vor | Ansicht einmal wechseln — `view=…` in der URL gewinnt |
|
| Ansicht startet „falsch“ | `viewHint` der Sammlung schlägt die Startansicht vor | Ansicht einmal wechseln — `view=…` in der URL gewinnt |
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
Anwender-Sicht zum Ändern vieler Einträge auf einmal: [Massenbearbeitung](/anwender/massenbearbeitung/).
|
Anwender-Sicht zum Ändern vieler Einträge auf einmal: [Massenbearbeitung](/anwender/massenbearbeitung/).
|
||||||
|
|
||||||
Verifiziert am 2b091d8 2026-10-17 (tibi-admin-nova)
|
Verifiziert am 2b091d8 2026-10-17 (tibi-admin-nova)
|
||||||
@@ -51,6 +51,8 @@ Der Org-Drawer zeigt **Einstellungen** (**Name**, **Branche**, **Ort**, **Websit
|
|||||||
|
|
||||||
</Steps>
|
</Steps>
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
## Rollen und Chips
|
## Rollen und Chips
|
||||||
|
|
||||||
<Badge text="role: 0" variant="tip" /> <Badge text="role: 1" variant="note" />
|
<Badge text="role: 0" variant="tip" /> <Badge text="role: 1" variant="note" />
|
||||||
@@ -151,8 +153,6 @@ Stellvertretung nur mit Freigabe nutzen — du handelst mit den Rechten der vert
|
|||||||
| Token-Bereich leer | Server ohne Token-Feature (`404`) | Normal — kein Fehler, Bereich bleibt verborgen |
|
| Token-Bereich leer | Server ohne Token-Feature (`404`) | Normal — kein Fehler, Bereich bleibt verborgen |
|
||||||
| `permission denied` | Kopf oder Recht falsch | [Token-Köpfe](/reference/token-koepfe/) und Chips prüfen |
|
| `permission denied` | Kopf oder Recht falsch | [Token-Köpfe](/reference/token-koepfe/) und Chips prüfen |
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
Klick-Abläufe zur Stellvertretung stehen im Test-Plan `docs/test-plans/42-impersonation.md` (Auslöser, Bestätigungsdialog, Banner, Rückkehr zur Admin-Sitzung — nur im Mock-Modus testen).
|
Klick-Abläufe zur Stellvertretung stehen im Test-Plan `docs/test-plans/42-impersonation.md` (Auslöser, Bestätigungsdialog, Banner, Rückkehr zur Admin-Sitzung — nur im Mock-Modus testen).
|
||||||
|
|
||||||
Verifiziert am 2b091d8 2026-10-17 (tibi-admin-nova); Projekt-Admin-Token verifiziert am 4c55f82 (tibi-types: project.schema.json:227-261), am 68b4278 (tibi-server: models/project.go:116-120)
|
Verifiziert am 2b091d8 2026-10-17 (tibi-admin-nova); Projekt-Admin-Token verifiziert am 4c55f82 (tibi-types: project.schema.json:227-261), am 68b4278 (tibi-server: models/project.go:116-120)
|
||||||
@@ -71,11 +71,11 @@ Volle Kontext-Tabelle in der Repo-Doku `custom-export-script.md`; Bedienung unte
|
|||||||
</TabItem>
|
</TabItem>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
<Aside type="caution">
|
<Aside type="caution">
|
||||||
Anpassungen an Sammlungs-Config und Skripten erst im lokalen Stack ([einrichten](/admin/setup/)) testen — falsche `meta`-Einträge blenden Ansichten oder Export-Reiter ersatzlos aus.
|
Anpassungen an Sammlungs-Config und Skripten erst im lokalen Stack ([einrichten](/admin/setup/)) testen — falsche `meta`-Einträge blenden Ansichten oder Export-Reiter ersatzlos aus.
|
||||||
|
|
||||||
</Aside>
|
</Aside>
|
||||||
|
|
||||||

|
Verifiziert am 2b091d8 2026-10-17 (tibi-admin-nova); Screenshot-Mock verifiziert am bff84be6 2026-10-17 (tibi-admin-nova: corporate/collections/pages.yml); Widerspruchsprüfung am 2026-10-17: veraltete `meta.views`-Zeile parallel zu `meta.viewHint` korrigiert, kein Custom-Views-Widerspruch mehr.
|
||||||
|
|
||||||
Verifiziert am 2b091d8 2026-10-17 (tibi-admin-nova); Widerspruchsprüfung am 2026-10-17: veraltete `meta.views`-Zeile parallel zu `meta.viewHint` korrigiert, kein Custom-Views-Widerspruch mehr.
|
|
||||||
@@ -75,6 +75,8 @@ Sprachwechsel-Tastenkürzel: `Strg + L` (zyklisch durch die Inhaltssprachen).
|
|||||||
|
|
||||||
Seitenfelder (`pagebuilder`) rendert `PagebuilderWidget` als Stapel aus Block-Karten mit Block-Label und Farbpunkt. Ein Klick öffnet den Overlay-Editor (`PagebuilderOverlay`): links das Formular, rechts die Live-Vorschau, oben der Modus-Umschalter (**Nur Formular**, **Formular und Vorschau**, **Nur Vorschau**) und **OK** (oder `Esc`) zum Schließen. Das Übersichts-Overlay (`PagebuilderOverviewOverlay`, Knopf **Pagebuilder-Overlay öffnen**) listet alle Blöcke als Blueprint-Karten (`BlueprintCard`: Typ, Bilder, Kind-Elemente, weitere Felder) zum Anspringen und Umsortieren. Unter der Vorschau steuert `PagebuilderViewportControl` die simulierte Breite: **Desktop** (1280), **Tablet** (768), **Mobil** (375), per Slider frei von 320 bis 1920 px. Blöcke anlegen und füllen steht unter [Seiten bauen](/anwender/seiten-bauen/).
|
Seitenfelder (`pagebuilder`) rendert `PagebuilderWidget` als Stapel aus Block-Karten mit Block-Label und Farbpunkt. Ein Klick öffnet den Overlay-Editor (`PagebuilderOverlay`): links das Formular, rechts die Live-Vorschau, oben der Modus-Umschalter (**Nur Formular**, **Formular und Vorschau**, **Nur Vorschau**) und **OK** (oder `Esc`) zum Schließen. Das Übersichts-Overlay (`PagebuilderOverviewOverlay`, Knopf **Pagebuilder-Overlay öffnen**) listet alle Blöcke als Blueprint-Karten (`BlueprintCard`: Typ, Bilder, Kind-Elemente, weitere Felder) zum Anspringen und Umsortieren. Unter der Vorschau steuert `PagebuilderViewportControl` die simulierte Breite: **Desktop** (1280), **Tablet** (768), **Mobil** (375), per Slider frei von 320 bis 1920 px. Blöcke anlegen und füllen steht unter [Seiten bauen](/anwender/seiten-bauen/).
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
## Tastatur
|
## Tastatur
|
||||||
|
|
||||||
| Kürzel | Wirkung |
|
| Kürzel | Wirkung |
|
||||||
@@ -101,6 +103,4 @@ Drücke `?` im Editor — die Hilfe listet alle Kürzel inklusive Listen-Kürzel
|
|||||||
| Übersetzung fehlt in der Leiste | Kein Gruppenschlüssel oder Sprache nicht konfiguriert | `translationKey`/`lang` prüfen, fehlende Sprache per `+` anlegen |
|
| Übersetzung fehlt in der Leiste | Kein Gruppenschlüssel oder Sprache nicht konfiguriert | `translationKey`/`lang` prüfen, fehlende Sprache per `+` anlegen |
|
||||||
| Änderung „verschwunden“ | Drawer geschlossen ohne Speichern | Auf Änderungs-Warnung achten, erst Drawer-, dann Haupt-Speichern |
|
| Änderung „verschwunden“ | Drawer geschlossen ohne Speichern | Auf Änderungs-Warnung achten, erst Drawer-, dann Haupt-Speichern |
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
Verifiziert am 2b091d8 2026-10-17 (tibi-admin-nova)
|
Verifiziert am 2b091d8 2026-10-17 (tibi-admin-nova)
|
||||||
@@ -19,6 +19,8 @@ Du exportierst Einträge einer Sammlung im **tibi-admin** (Verwaltungs-Backend,
|
|||||||
|
|
||||||
</Steps>
|
</Steps>
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
| Format | Technik | Wofür |
|
| Format | Technik | Wofür |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| `JSON` | Rohdatensätze als Datei | Weiterverarbeitung, Sicherung, Import anderswo |
|
| `JSON` | Rohdatensätze als Datei | Weiterverarbeitung, Sicherung, Import anderswo |
|
||||||
@@ -107,6 +109,4 @@ Details für Entwickler (Styling per `cell.s`, Spaltenbreiten, Autofilter) stehe
|
|||||||
| Skript-Fehler im Dialog | Modul ohne Standard-Export oder Laufzeitfehler | Browser-Konsole lesen, Modul-Export und Rückgabeformat prüfen |
|
| Skript-Fehler im Dialog | Modul ohne Standard-Export oder Laufzeitfehler | Browser-Konsole lesen, Modul-Export und Rückgabeformat prüfen |
|
||||||
| Leere Datei trotz Treffern | Leserecht auf Zielfelder fehlt | Rechte unter [Rechte und Tokens](/projekt/rechte-tokens/) klären |
|
| Leere Datei trotz Treffern | Leserecht auf Zielfelder fehlt | Rechte unter [Rechte und Tokens](/projekt/rechte-tokens/) klären |
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
Verifiziert am 2b091d8 2026-10-17 (tibi-admin-nova); `ctx`-Tabelle und Beispiel verifiziert am 2b091d8 (custom-export.types.ts:17-102, custom-export-script.md, custom-export-result.ts:14-18)
|
Verifiziert am 2b091d8 2026-10-17 (tibi-admin-nova); `ctx`-Tabelle und Beispiel verifiziert am 2b091d8 (custom-export.types.ts:17-102, custom-export-script.md, custom-export-result.ts:14-18)
|
||||||
@@ -89,6 +89,8 @@ Verhalten: Quelle zuerst Browser-**„Systemstimme auf diesem Gerät“** (passe
|
|||||||
</TabItem>
|
</TabItem>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
Zusatz: **Vision** (`/api/ai/vision`) beschreibt Bilder für CMS-Felder („erfinde keine nicht sichtbaren Fakten“); **Übersetzung** (`/api/ai/chat` mit System-Prompt) hält das angeforderte Ausgabeformat exakt ein.
|
Zusatz: **Vision** (`/api/ai/vision`) beschreibt Bilder für CMS-Felder („erfinde keine nicht sichtbaren Fakten“); **Übersetzung** (`/api/ai/chat` mit System-Prompt) hält das angeforderte Ausgabeformat exakt ein.
|
||||||
|
|
||||||
## Werkzeuge
|
## Werkzeuge
|
||||||
@@ -143,6 +145,4 @@ Wichtig zur Einordnung: Der Admin-Chat läuft über den Proxy (`/api/ai/chat`, `
|
|||||||
| **„Transkription fehlgeschlagen: \{error\}“** | Rate-Limit, Netz oder Proxy-Fehler | Kürzeren Abschnitt sprechen, erneut versuchen |
|
| **„Transkription fehlgeschlagen: \{error\}“** | Rate-Limit, Netz oder Proxy-Fehler | Kürzeren Abschnitt sprechen, erneut versuchen |
|
||||||
| Stimme klingt falsch | Andere Stimme aktiv | Stimme in den KI-Einstellungen zurück auf `eva-de` setzen |
|
| Stimme klingt falsch | Andere Stimme aktiv | Stimme in den KI-Einstellungen zurück auf `eva-de` setzen |
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
Verifiziert am 2b091d8 2026-10-17 (tibi-admin-nova: AiChat/AiButton/AiConversationList/AiToolStatus/AiToolInspector/AiDebugContext, aiChatHistory/aiController/aiTools/aiTokenEstimator/aiVoiceInput/aiSummarizer/aiTTS/aiModelCatalog, config/ai-proxy.config.json, frontend/assets/system.config.json, de.json admin.ai + Befehle)
|
Verifiziert am 2b091d8 2026-10-17 (tibi-admin-nova: AiChat/AiButton/AiConversationList/AiToolStatus/AiToolInspector/AiDebugContext, aiChatHistory/aiController/aiTools/aiTokenEstimator/aiVoiceInput/aiSummarizer/aiTTS/aiModelCatalog, config/ai-proxy.config.json, frontend/assets/system.config.json, de.json admin.ai + Befehle)
|
||||||
@@ -11,9 +11,9 @@ import { Card, CardGrid } from '@astrojs/starlight/components';
|
|||||||
- Laufzeitwerte in `frontend/assets/system.config.json`, Proxy-Ziele/Modelle in `config/ai-proxy.config.json`.
|
- Laufzeitwerte in `frontend/assets/system.config.json`, Proxy-Ziele/Modelle in `config/ai-proxy.config.json`.
|
||||||
- Screens: `frontend/src/lib/components/admin/` (Hub, Orgs, Teams, User, Projekte) und `components/entry/` (Editor, Widgets, Drawers, Preview).
|
- Screens: `frontend/src/lib/components/admin/` (Hub, Orgs, Teams, User, Projekte) und `components/entry/` (Editor, Widgets, Drawers, Preview).
|
||||||
|
|
||||||
## Schnellsuche und Tastatur
|
## Befehlspalette und Tastatur
|
||||||
|
|
||||||
Die **Befehlspalette** öffnest du mit `/` (oder `Strg`/`Cmd` + `K`) — sie springt zu Sammlungen, Einträgen, Aktionen und Verwaltungsseiten, ohne dass du dich durch die Navigation klickst. `?` zeigt alle Tastenkürzel (Vollreferenz: [Tastatur und Schnellsuche](/reference/tastatur-kurzbefehle/)).
|
Die **Befehlspalette** öffnest du mit `/` (oder `Strg`/`Cmd` + `K`) — sie springt zu Sammlungen, Einträgen, Aktionen und Verwaltungsseiten, ohne dass du dich durch die Navigation klickst. `?` zeigt alle Tastenkürzel (Vollreferenz: [Tastatur und Befehlspalette](/reference/tastatur-kurzbefehle/)).
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
|||||||
@@ -47,6 +47,8 @@ Den Editor öffnest du aus der Kachel oder aus Datei-Feldern (`Bild bearbeiten`)
|
|||||||
|
|
||||||
Welche Werkzeuge verfügbar sind, steuert die Projekt-Konfiguration (`crop`, `rotate`, `flip`, `scale`, `focalPoint`, `adjust`, `palette`).
|
Welche Werkzeuge verfügbar sind, steuert die Projekt-Konfiguration (`crop`, `rotate`, `flip`, `scale`, `focalPoint`, `adjust`, `palette`).
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
## Einbetten
|
## Einbetten
|
||||||
|
|
||||||
Aus Redakteurs-Sicht gibt es drei Wege, eine Datei in Inhalte zu bringen:
|
Aus Redakteurs-Sicht gibt es drei Wege, eine Datei in Inhalte zu bringen:
|
||||||
@@ -78,6 +80,4 @@ Bilder im Fließtext verwaltet das `richtext`-Widget des Editors (siehe [Eintrag
|
|||||||
| Bild-Einbettung bleibt leer | Verweis ohne `lookup` gelesen oder Eintrag nicht öffentlich | `lookup` auf `medialib` prüfen, `active`-Status und Rechte unter [Rechte und Tokens](/projekt/rechte-tokens/) klären |
|
| Bild-Einbettung bleibt leer | Verweis ohne `lookup` gelesen oder Eintrag nicht öffentlich | `lookup` auf `medialib` prüfen, `active`-Status und Rechte unter [Rechte und Tokens](/projekt/rechte-tokens/) klären |
|
||||||
| Editor-Änderung weg | Dialog ohne Übernehmen geschlossen | Erst im Bildeditor übernehmen, dann den Eintrag speichern |
|
| Editor-Änderung weg | Dialog ohne Übernehmen geschlossen | Erst im Bildeditor übernehmen, dann den Eintrag speichern |
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
Verifiziert am 2b091d8 2026-10-17 (tibi-admin-nova)
|
Verifiziert am 2b091d8 2026-10-17 (tibi-admin-nova)
|
||||||
@@ -54,4 +54,4 @@ Ein gestarteter Lauf lässt sich nicht abbrechen.
|
|||||||
Ein gestarteter Lauf lässt sich nicht abbrechen; ein zweiter Lauf löst Versand und Berechnung erneut aus.
|
Ein gestarteter Lauf lässt sich nicht abbrechen; ein zweiter Lauf löst Versand und Berechnung erneut aus.
|
||||||
</Aside>
|
</Aside>
|
||||||
|
|
||||||
Verifiziert am 2b091d8 2026-10-17 (tibi-admin-nova)
|
Verifiziert am 2b091d8 2026-10-17 (tibi-admin-nova); Screenshot-Mock verifiziert am bff84be6 2026-10-17 (tibi-admin-nova: corporate/actions/reindex-search.yml)
|
||||||
@@ -3,7 +3,7 @@ title: Tibi Doku
|
|||||||
description: Entwickler- und Anwender-Dokumentation für Tibi-Server und Tibi-Admin.
|
description: Entwickler- und Anwender-Dokumentation für Tibi-Server und Tibi-Admin.
|
||||||
template: splash
|
template: splash
|
||||||
hero:
|
hero:
|
||||||
tagline: Headless-CMS mit Go-Backend und Svelte-Frontends — hier steht, wie man damit baut.
|
tagline: Headless-CMS mit Go-Backend und Svelte-Frontends — hier steht, wie du damit baust.
|
||||||
actions:
|
actions:
|
||||||
- text: Schnellstart
|
- text: Schnellstart
|
||||||
link: /einstieg/schnellstart/
|
link: /einstieg/schnellstart/
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
title: 'Schema-Properties (generiert)'
|
title: 'Schema-Properties (generiert)'
|
||||||
description: 'Alle Properties aller 16 Config-Schemas als Tabelle — generiert, nicht von Hand editieren.'
|
description: 'Alle Properties aller 17 Config-Schemas als Tabelle — generiert, nicht von Hand editieren.'
|
||||||
---
|
---
|
||||||
|
|
||||||
Diese Seite listet die Properties aller 16 Config-Schemas aus `tibi-types/schemas/config/`.
|
Diese Seite listet die Properties aller 17 Config-Schemas aus `tibi-types/schemas/config/`.
|
||||||
|
|
||||||
> Generiert, nicht von Hand editieren — neu erzeugen mit `npm run gen:schemas`.
|
> Generiert, nicht von Hand editieren — neu erzeugen mit `npm run gen:schemas`.
|
||||||
|
|
||||||
@@ -142,6 +142,23 @@ Dieses Schema definiert nur **`$ref`-Bausteine** (kein eigenes Config-Ziel):
|
|||||||
| `methodPermissionGet` | boolean oder object | — | — |
|
| `methodPermissionGet` | boolean oder object | — | — |
|
||||||
| `methodPermissionWrite` | boolean oder object | — | — |
|
| `methodPermissionWrite` | boolean oder object | — | — |
|
||||||
|
|
||||||
|
## embedding
|
||||||
|
|
||||||
|
*Tibi server config — embedding section (server-level, not project config)* — `embedding.schema.json`
|
||||||
|
|
||||||
|
| Property | Typ | Pflicht | Vorgabe/Default | Beschreibung |
|
||||||
|
| --- | --- | --- | --- | --- |
|
||||||
|
| `providers` | Liste von `provider` — object | nein | — | — |
|
||||||
|
| `groups` | Liste von `group` — object | nein | — | — |
|
||||||
|
| `goldenPath` | string | nein | — | Verzeichnis der Gold-Dateien für die Mitglieds-Prüfung (Vorgabe: testdata/embedding-golden relativ zum Arbeitsverzeichnis). Erzeugen mit cmd/embed-probe-golden. Ohne verankerte Gold-Datei prüft die Gruppe nur gegen ihre Referenz. |
|
||||||
|
|
||||||
|
### Bausteine in embedding
|
||||||
|
|
||||||
|
| Baustein | Felder | Pflicht |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| `provider` | `name`, `type`, `model`, `modelPath`, `dimensions`, `baseURL`, `apiKey`, `documentPrefix`, `queryPrefix`, `timeoutPerAttempt`, `slowThreshold`, `revision`, `sparse` | `name` |
|
||||||
|
| `group` | `name`, `description`, `members`, `onSingleQuery`, `onBulkWrite`, `health` | `name`, `members` |
|
||||||
|
|
||||||
## field-list
|
## field-list
|
||||||
|
|
||||||
*Tibi field list config* — `field-list.schema.json`
|
*Tibi field list config* — `field-list.schema.json`
|
||||||
@@ -383,4 +400,4 @@ Pflicht: `name`.
|
|||||||
| `permissions` | Liste von string | nein | — | Bare permission names for team-based access (Phase 2). Empty = admin-only in Phase 1. |
|
| `permissions` | Liste von string | nein | — | Bare permission names for team-based access (Phase 2). Empty = admin-only in Phase 1. |
|
||||||
| `enabled` | boolean | nein | `false` | Whether this snapshot profile is active. Disabled profiles are skipped by the scheduler but can still be triggered manually. |
|
| `enabled` | boolean | nein | `false` | Whether this snapshot profile is active. Disabled profiles are skipped by the scheduler but can still be triggered manually. |
|
||||||
|
|
||||||
Generiert aus `tibi-types 4c55f82` (Stand 2026-10-12) — Änderungen an den Schemas dort erfordern `npm run gen:schemas`.
|
Generiert aus `tibi-types 3bf8055` (Stand 2026-10-17) — Änderungen an den Schemas dort erfordern `npm run gen:schemas`.
|
||||||
@@ -9,7 +9,7 @@ Deine `api/*.yml`-Dateien sind durch JSON-Schemas geprüft. Die Schemas liegen i
|
|||||||
|
|
||||||
## Schema-Liste
|
## Schema-Liste
|
||||||
|
|
||||||
Das Verzeichnis enthält 16 Dateien (nicht 15, wie ältere Docs behaupten):
|
Das Verzeichnis enthält 17 Dateien:
|
||||||
|
|
||||||
| Schema | Gilt für | Pflichtfelder |
|
| Schema | Gilt für | Pflichtfelder |
|
||||||
| --- | --- | --- |
|
| --- | --- | --- |
|
||||||
@@ -29,6 +29,7 @@ Das Verzeichnis enthält 16 Dateien (nicht 15, wie ältere Docs behaupten):
|
|||||||
| `snapshot.schema.json` | Snapshots in `config.yml` | `name` |
|
| `snapshot.schema.json` | Snapshots in `config.yml` | `name` |
|
||||||
| `openapi.schema.json` | OpenAPI-Metadaten je Collection | keine |
|
| `openapi.schema.json` | OpenAPI-Metadaten je Collection | keine |
|
||||||
| `defs.schema.json` | nur `$ref`-Bausteine, kein eigenes Ziel | — |
|
| `defs.schema.json` | nur `$ref`-Bausteine, kein eigenes Ziel | — |
|
||||||
|
| `embedding.schema.json` | `embedding:` in der Server-`config.yml` | keine (Provider und Gruppen sind optional) |
|
||||||
|
|
||||||
## Vollständige Property-Matrix
|
## Vollständige Property-Matrix
|
||||||
|
|
||||||
@@ -91,4 +92,4 @@ tibi-server beim Reload (Bedeutung)
|
|||||||
- Schlage einen Hook-Kontext nach: Hook-Kontexte.
|
- Schlage einen Hook-Kontext nach: Hook-Kontexte.
|
||||||
- Verstehe Fehlermeldungen: Fehlerbilder.
|
- Verstehe Fehlermeldungen: Fehlerbilder.
|
||||||
|
|
||||||
Verifiziert am 4c55f82 2026-10-12 (tibi-types)
|
Verifiziert am 3bf8055 2026-10-17 (tibi-types, 17 JSON-Schemas einschließlich embedding.schema.json)
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
title: 'Tastatur und Schnellsuche'
|
title: 'Tastatur und Befehlspalette'
|
||||||
description: 'Alle Tastenkürzel, die Befehlspalette und die Breadcrumb-Navigation im tibi-admin.'
|
description: 'Alle Tastenkürzel, die Befehlspalette und die Breadcrumb-Navigation im tibi-admin.'
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user