Lilleman auf Larv lilleman
lilleman pushed to main at larvit/plainpages 2026-06-17 10:19:31 +02:00
f2898696e6 Wire Kratos self-service flows to themed routes (todo §3); enable recovery/verification via email code, add mailpit dev courier + --watch-courier
lilleman pushed to main at larvit/plainpages 2026-06-16 23:24:34 +02:00
120e1a0929 Add kratos service + migrate (todo §3); pin oryd/kratos:v26.2.0, identity schema (email, name), bootable password config
lilleman pushed to main at larvit/plainpages 2026-06-16 17:13:41 +02:00
bc15f00c44 Add postgres service (todo §3); pin postgres:18.4-alpine3.23, one DB per Kratos/Keto/Hydra via init.sql
lilleman pushed to main at larvit/plainpages 2026-06-16 16:42:50 +02:00
a602f794d1 Consolidate tests (todo §2); merge HTTP static tests, fold 403 render into the live gated route, unify resolveViewPath cases
lilleman pushed to main at larvit/plainpages 2026-06-16 16:31:58 +02:00
9489bd124b Tighten code comments + README (todo §2); trim verbose §2 headers, drop stale planned/next-item markers, correct README status
lilleman pushed to main at larvit/plainpages 2026-06-16 16:23:11 +02:00
a8ebf81588 Address whole-project review (todo §2); wire plugin hooks (onBoot/onRequest/onResponse), document template trust boundary, tidy discovery
lilleman pushed to main at larvit/plainpages 2026-06-16 16:07:27 +02:00
ff7b55be4c Wire branding into the app shell (todo §2); render config logo + default theme, fall back to the brand mark
lilleman pushed to main at larvit/plainpages 2026-06-16 15:52:04 +02:00
952dd03cc2 Add config/menu.ts central override + branding (todo §2); loadMenuConfig validates+merges, override applied to nav, branding into shell
lilleman pushed to main at larvit/plainpages 2026-06-16 15:18:22 +02:00
3cdefff233 Serve per-plugin static assets (todo §2); /public/<id>/ → plugins/<id>/public/ via routePublic, core public/ unaffected
lilleman pushed to main at larvit/plainpages 2026-06-16 13:41:03 +02:00
fe89dd1c06 Add per-plugin view resolver (todo §2); render plugins/<id>/views/<view>.ejs with nested names + traversal guard, core partials reachable via include()
lilleman pushed to main at larvit/plainpages 2026-06-16 12:22:20 +02:00
9b6684c653 Mount plugin routes via the router (todo §2); match method+path under /<id>, resolve :params, permission gate, RouteResult→response
lilleman pushed to main at larvit/plainpages 2026-06-16 12:11:11 +02:00
ca3f6ba8ce Discover plugins at boot (todo §2); scan plugins/, import + validate each plugin.ts default export, fail loud on bad plugin/conflict
lilleman pushed to main at larvit/plainpages 2026-06-16 11:58:30 +02:00
0ebe8144c2 Document how plugins get into the container (README); bind-mount to /app/plugins/<id> or bake in, front-and-center under Building a plugin
lilleman pushed to main at larvit/plainpages 2026-06-16 11:53:16 +02:00
09d616ddd3 Loosen plugin id rule (todo §2); allow digits and dashes anywhere (^[a-z0-9-]+$)
lilleman pushed to main at larvit/plainpages 2026-06-16 10:58:30 +02:00
1623a81ddc Refine plugin contract (todo §2); derive id/mount from folder (isValidPluginId), apiVersion literal not HOST_API_VERSION, nav icon = Lucide, drop redundant basePath
lilleman pushed to main at larvit/plainpages 2026-06-16 10:46:05 +02:00
a0d39ef624 Make checkApiVersion semver-based (todo §2); strict parseSemver via official semver regex (no dep), major/minor compatibility rules
lilleman pushed to main at larvit/plainpages 2026-06-15 17:07:57 +02:00
3be67ff8e4 Specify the plugin contract (todo §2); typed manifest + version/conflict rules in src/plugin.ts, authoritative docs/plugin-contract.md
lilleman pushed to main at larvit/plainpages 2026-06-15 16:58:28 +02:00
f91e08c2a6 Add Full, parallel E2E principle (todo §1.1); AGENTS §6 + README, 404 E2E coverage, --build the runner so spec edits apply
lilleman pushed to main at larvit/plainpages 2026-06-15 16:53:10 +02:00
645a316419 Make markup semantic + add semantic DOM principle (todo §1); page <h1>, skip link, row-header <th scope=row>, descriptive error pages
lilleman pushed to main at larvit/plainpages 2026-06-15 16:37:23 +02:00
6f590148af Add dockerized Playwright E2E (todo §1); screenshot live pages + foundation mockups, assert shared design-system styles match