Loading project...
# project-deploy
**Status:** 🟢 Active
**Phase:** Architecture Documented → Ready for First Deployment
**Last Activity:** 2026-02-01
---
## Linear Metadata
**Project ID:** `2948c16b-25a9-4a91-a72e-7ad23827d84d`
**Team ID:** `96b685fe-2252-47c5-97ee-273d8c484942`
**Last Synced:** `2026-02-06T13:22:30.684Z`
## Overview
Repeatable deployment infrastructure for taking projects from development to production. Covers Vercel hosting, Supabase backends, GitHub integration, DNS configuration, and live status tracking in Minna Portal.
**First Target:** minna-portal → minna.johngirard.com ✅ **DEPLOYED**
---
## Architecture Documentation
### Created Documents
| Document | Purpose | Location |
|----------|---------|----------|
| **ARCHITECTURE-SPEC.md** | Comprehensive deploy service capabilities, patterns, and integration | `docs/ARCHITECTURE-SPEC.md` |
| **PROJECT-TEMPLATE.md** | Ready-to-use template for new projects | `docs/PROJECT-TEMPLATE.md` |
| **COMMON-COMPONENTS-SPEC.md** | Reusable component library specification | `docs/COMMON-COMPONENTS-SPEC.md` |
### Key Findings
#### Deploy Capabilities Mapped
| Category | Capabilities |
|----------|-------------|
| **Core Deployment** | Push-to-deploy, preview deploys, rollback, blue/green, canary, feature flags |
| **Infrastructure** | Multi-environment, env var management, secrets rotation, migrations, edge functions, CDN |
| **Monitoring** | Deployment status, build logs, performance (Core Web Vitals), Sentry, uptime, alerts |
| **CI/CD** | Pre-deploy checks (lint, type, test), post-deploy verification, smoke tests, Lighthouse, bundle tracking |
| **DX** | Local-prod parity, hot reload, debug tooling, CLI commands |
#### Golden Path Stack (Documented)
| Layer | Choice |
|-------|--------|
| Framework | Next.js 16 (App Router) |
| Language | TypeScript (strict) |
| UI | Tailwind + shadcn/ui |
| Database | Supabase (PostgreSQL) |
| Auth | Supabase Auth |
| Hosting | Vercel |
| Payments | Stripe (when needed) |
| Analytics | Vercel Analytics + Plausible |
| Errors | Sentry |
#### Component Library Scoped
| Category | Components |
|----------|------------|
| **Auth** | AuthProvider, LoginForm, ProtectedRoute, RoleGate |
| **Payments** | CheckoutButton, PricingTable, SubscriptionManager, Webhooks |
| **User** | ProfileForm, SettingsPanel, AvatarUpload |
| **UI** | shadcn/ui base + Theme toggle, Modal system, Toast (Sonner) |
| **Data** | Real-time subscriptions, Optimistic updates, Pagination, Infinite scroll |
| **Infra** | Analytics, ErrorBoundary, Loading states, SEO/meta |
#### Minna Portal Integration Designed
- Project card status badges (Live/Building/Failed/Not Deployed)
- Deployment history via Vercel API
- One-click deploy triggers
- Build log streaming
- Environment switching UI
---
## Tech Stack
| Component | Choice | Notes |
|-----------|--------|-------|
| Hosting | Vercel | Account exists, push-to-deploy on main |
| Database | Supabase Cloud | Per-project instances |
| Source Control | GitHub | Auto-deploy on push to main |
| DNS | Various | Document per-project |
| Secrets | Vercel Env Vars | Document in runbooks |
---
## Deployment Flow
```
GitHub (main branch)
│
│ push
▼
Vercel (auto-deploy)
│
├── Build
├── Preview URL (for PRs)
└── Production URL
│
▼
Custom Domain (DNS)
│
└── minna.johngirard.com
```
**Strategy:** Push-to-deploy on `main` with preview deployments on PRs.
---
## First Deployment: minna-portal
### Pre-Deployment Checklist
## Runbooks (to be created)
| Runbook | Purpose |
|---------|---------|
| `RUNBOOK-VERCEL-SETUP.md` | New project setup in Vercel |
| `RUNBOOK-DNS-CONFIG.md` | DNS configuration by provider |
| `RUNBOOK-SUPABASE-PROD.md` | Production Supabase setup |
| `RUNBOOK-ENV-VARS.md` | Environment variable management |
| `RUNBOOK-ROLLBACK.md` | How to rollback a bad deploy |
---
## Minna Portal Integration
**Goal:** Project cards show deployment status
| Status | Badge | Meaning |
|--------|-------|---------|
| 🔵 Live | ✅ | Deployed and accessible |
| 🔄 Deploying | ⏳ | Build in progress |
| ❌ Failed | 🚨 | Last deploy failed |
| ⚪ Not Deployed | — | No production deployment |
**Future:** Uptime monitoring integration
---
## Key Decisions
| Decision | Choice | Rationale |
|----------|--------|-----------|
| Deploy trigger | Push to main | Standard, low friction, preview deploys on PRs |
| Secrets storage | Vercel env vars | Native, encrypted, per-environment |
| DNS strategy | Per-project docs | Different providers, document each |
| Component lib | Spec, not package | Too early for npm package, patterns documented |
---
## Next Steps
1. **Execute first deployment** (minna-portal)
2. Create RUNBOOK documents as we go
3. Build portal integration after successful deploy
4. Consider component library package once patterns proven across 3+ projects
---
*Last updated: 2/1/2026 — Architecture docs complete*