# Commandes

## Dev quotidien

```bash
# Demarrer l'infra
colima start                    # VM Docker (macOS)
docker compose up -d            # PostgreSQL 17
pnpm dev                        # Next.js dev (port 3000)
pnpm dev:secure                 # Next.js dev avec HTTPS
```

```bash
# Arreter
docker compose down             # Stop PostgreSQL
colima stop                     # Stop VM Docker
```

## Base de donnees

```bash
# Docker Compose
pnpm db:up                      # = docker compose up -d
pnpm db:down                    # = docker compose down

# Migrations BetterAuth
pnpm db:migrate                 # Applique les migrations BetterAuth
pnpm db:generate                # Genere le schema BetterAuth

# Migrations custom CEOInsight
docker compose exec -T db psql -U allinmcp -d allinmcp -f - < migrations/001_ceoinsight_tables.sql
docker compose exec -T db psql -U allinmcp -d allinmcp -f - < migrations/002_seed_test_users.sql

# Acces psql direct
docker compose exec db psql -U allinmcp -d allinmcp
```

### Requetes utiles

```sql
-- Lister tous les users
SELECT id, name, email, role FROM "user" ORDER BY "createdAt";

-- Voir les subscriptions
SELECT s.id, s.plan, s.status, u.email
FROM subscription s JOIN "user" u ON s."referenceId" = u.id;

-- Membres d'une org
SELECT m.role, u.email, o.name AS org
FROM member m
JOIN "user" u ON m."userId" = u.id
JOIN organization o ON m."organizationId" = o.id;

-- Usage du jour
SELECT u.email, ul.provider, ul.endpoint, ul.count
FROM usage_log ul JOIN "user" u ON ul.user_id = u.id
WHERE ul.date = CURRENT_DATE;

-- Reset seed (supprimer puis re-seeder)
DELETE FROM "user" WHERE id LIKE 'usr_%';
-- puis relancer 002_seed_test_users.sql
```

## MCP Gateway (dev local)

```bash
# Demarrer le gateway en dev
pnpm --filter ceoinsight-gateway dev     # Port 3200, watch mode

# Tester avec curl
curl http://localhost:3200/health

# Tester MCP Initialize
curl -X POST http://localhost:3200/mcp \
  -H "Authorization: Bearer <MCP_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}'
```

## MCP Gateway (prod — Dedibox)

```bash
ssh egrfkmjgnbmqfcbbce@163.172.71.169
cd ~/infra-169

make ceoinsight-up           # Demarrer
make ceoinsight-down         # Arreter
make ceoinsight-deploy       # git pull + rebuild + restart
make logs-ceoinsight         # Logs temps reel
make status                  # Status tous containers

# Endpoint prod
# https://mcp.ceoinsight.dev/mcp
# https://mcp.ceoinsight.dev/health
```

## Build & qualite

```bash
pnpm build                      # Build production
pnpm start                      # Demarrer en prod
pnpm lint                       # ESLint
pnpm typecheck                  # TypeScript (tsc --noEmit)
```

## Stripe

```bash
# Ecouter les webhooks en local
stripe listen --forward-to localhost:3000/api/auth/stripe/webhook

# Lister les produits sandbox
stripe products list

# Lister les prix
stripe prices list --product prod_U6wo1NrlU3ZLp5   # Solo
stripe prices list --product prod_U6wou6l5A8MSQx   # Pro
```

## shadcn/ui

```bash
# Ajouter un composant
npx shadcn@latest add <component>

# Composants deja installes: button, card, dialog, input, label,
# radio-group, select, skeleton, badge, avatar, alert, tabs,
# dropdown-menu, separator, switch, tooltip
```

## Connexion DB

| Param | Valeur |
|-------|--------|
| Host | `127.0.0.1` |
| Port | `5432` |
| User | `allinmcp` |
| Password | `allinmcp_dev` |
| Database | `allinmcp` |
| URL | `postgresql://allinmcp:allinmcp_dev@127.0.0.1:5432/allinmcp` |
