feat: turborepo monorepo scaffold and provisioning

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-02-21 16:44:30 -08:00
parent e22f5e379f
commit 8587644a62
35 changed files with 841 additions and 5 deletions

View File

@@ -100,11 +100,21 @@ export async function provisionTheiaWorkspace(
}
// ── Step 3: Set environment variables ────────────────────────────────────
const giteaBaseUrl = process.env.GITEA_URL ?? 'https://git.vibnai.com';
const giteaToken = process.env.GITEA_TOKEN ?? '';
// Authenticated clone URL so Theia can git clone on startup
const giteaCloneUrl = giteaRepo
? `https://${giteaToken ? `oauth2:${giteaToken}@` : ''}${giteaBaseUrl.replace(/^https?:\/\//, '')}/${giteaRepo}.git`
: '';
const envVars = [
{ key: 'VIBN_PROJECT_ID', value: projectId, is_preview: false },
{ key: 'VIBN_PROJECT_SLUG', value: slug, is_preview: false },
{ key: 'GITEA_REPO', value: giteaRepo ?? '', is_preview: false },
{ key: 'GITEA_API_URL', value: process.env.GITEA_API_URL ?? 'https://git.vibnai.com', is_preview: false },
{ key: 'VIBN_PROJECT_ID', value: projectId, is_preview: false },
{ key: 'VIBN_PROJECT_SLUG', value: slug, is_preview: false },
{ key: 'GITEA_REPO', value: giteaRepo ?? '', is_preview: false },
{ key: 'GITEA_CLONE_URL', value: giteaCloneUrl, is_preview: false },
{ key: 'GITEA_API_URL', value: giteaBaseUrl, is_preview: false },
// Theia opens this path as its workspace root
{ key: 'THEIA_WORKSPACE_ROOT', value: `/home/theia/${slug}`, is_preview: false },
];
await fetch(`${COOLIFY_URL}/api/v1/applications/${appUuid}/envs/bulk`, {