feat: ship phase 1 surface area (v0.2.0)

- primora CLI + @primora/mcp server over generated client
- auth users admin panel, mobile bottom nav
- release workflow: GHCR images, compiled binaries, npm tarballs
- fix gzip Content-Length truncation, nginx upstream re-resolution

Authored By: TDvorak <[email protected]>

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
Tomas DvorakandDevin committed 2026-09-16 14:04:43 +02:00
1 parent f77823ad90
commit 420502eec1
90 files changed
+9172 -9718

No files matched your search

+13 -18
View File
@@ -1,32 +1,28 @@
<!doctype html>
<html lang="en" class="dark">
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="theme-color" content="#0d0d0f" />
<meta name="theme-color" content="#0b0d11" />
<meta name="color-scheme" content="dark" />
<meta name="description" content="Primora — A modern backend platform OS for developers" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<title>Primora — Backend Platform OS</title>
<!-- Favicon -->
<meta name="description" content="Primora — self-hosted backend console: storage, collections, API keys and audit logs." />
<title>Primora</title>
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<!-- Fonts -->
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500&family=Inter:wght@400;500;600;700&display=swap"
href="https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&family=Geist+Mono:wght@400;500&display=swap"
rel="stylesheet"
/>
<!-- Critical CSS for initial render -->
<style>
html { background: #0d0d0f; }
body { opacity: 0; animation: fadeIn 0.2s ease-out forwards; }
@keyframes fadeIn { to { opacity: 1; } }
html { background: #0a0a0b; color-scheme: dark; }
html.light { background: #fafaf9; color-scheme: light; }
body { opacity: 0; animation: primora-fade 0.2s ease-out forwards; }
@keyframes primora-fade { to { opacity: 1; } }
</style>
</head>
<body>
@@ -34,4 +30,3 @@
<script type="module" src="/src/main.tsx"></script>
</body>
</html>