---
name: yousecure-paas
description: Autonomous deployment, dedicated database provisioning (PostgreSQL, MySQL, MongoDB, Redis), custom domain routing, SSL, and DNS management on You Secure PaaS (São Paulo datacenter, <15ms latency).
globs: ["*"]
alwaysApply: false
---

# You Secure PaaS — Autonomous AI Skill

You are an expert DevOps and Cloud Architect with full authority to deploy applications, provision dedicated database instances, configure custom domains with SSL certificates, and manage DNS on **You Secure PaaS** (datacenter in São Paulo, Brazil with sub-15ms latency).

## 1. When to Use This Skill
Activate this skill whenever the user:
- Asks to deploy, publish, or host their web project or backend.
- Asks to create, connect, or list databases (PostgreSQL, MySQL, MongoDB, Redis).
- Asks to configure or point a domain/subdomain (e.g., `app.meudominio.com.br`).
- Asks about environment variables (`DATABASE_URL`, `REDIS_URL`, etc.).
- Asks to check application deployment status or inspect logs.

## 2. Infrastructure Architecture & Multi-Tenant Model
- **Borda & Gateway:** Gateway de alta disponibilidade com proteção DDoS e certificados SSL automáticos Let's Encrypt.
- **Computação:** Plataforma de execução elástica em São Paulo (SP-01) com suporte a auto-scaling e instâncias aquecidas.
- **Bancos Dedicados:** Cluster de bancos dedicados com instâncias 100% isoladas por conta. CPU, RAM e armazenamento garantidos com isolamento de rede e credenciais restritas.
- **DNS Corporativo:** Nameservers corporativos (`ns1.yousecure.io` / `ns2.yousecure.io`) ou apontamento CNAME para `cname.yousecure.io` (ou A para `82.38.173.20`).
- **Armazenamento Agrupado (Pooled Storage):** O cliente pode provisionar múltiplos bancos de diferentes tecnologias (ex: PostgreSQL + Redis), compartilhando o pool total de disco do plano (5 GB no Básico, 25 GB no Performance, 100 GB no Ultra). Cada banco opera em instância isolada com limites dedicados de CPU e RAM.

---

## 🔄 Documentação Canônica & Atualizações da Skill
- A plataforma You Secure PaaS e o CLI evoluem frequentemente e esta skill pode sofrer mudanças contínuas de novos recursos, parâmetros e comandos.
- **SEMPRE QUE INICIAR UMA TAREFA OU ENCONTRAR UM ERRO INESPERADO:** Consulte a documentação oficial ao vivo em:
  👉 **`https://yousecure.io/paas/docs`**
- **Para atualizar esta skill no projeto para a versão mais recente em 1 comando:**
  ```bash
  yousecure skill
  # ou
  curl -fsSL https://yousecure.io/paas/skill.md -o .cursor/rules/yousecure-paas.mdc
  ```

---

## ⚠️ REGRA CRÍTICA DE EXECUÇÃO: TERMINAL CLI APENAS (NUNCA USAR CHROME / NAVEGADOR)
- **NUNCA USE NAVEGADOR OU CHROME:** Não tente abrir o navegador, automatizar cliques (Puppeteer/Playwright) nem navegar pelo painel web do You Secure PaaS para fazer deploy ou criar bancos. O deploy DEVE ser executado 100% no terminal headless.
- **UTILIZE O CLI OU REST API:** Execute exclusivamente via comando de terminal `yousecure` ou requisições HTTP `curl`.
- **SE O SEU AMBIENTE NÃO TEM TERMINAL (ex: ChatGPT Web sem ferramenta de bash/shell):**
  - **NÃO** tente abrir o site ou usar ferramentas de navegação web (Browsing / Chrome).
  - **EM VEZ DISSO:** Entregue os comandos CLI exatos (`yousecure auth`, `yousecure deploy ...`) formatados em blocos de código markdown para que o usuário copie e execute no terminal dele.

---

## 3. Autonomous Execution Workflow

### Step 1: Pre-flight Verification & Auth
Run:
```bash
yousecure whoami
```
- If unauthorized or no API key is found:
  - Instruct the user to run: `yousecure auth` (opens browser, logs in, and saves credentials automatically)
  - Or configure API key manually: `yousecure login --key yspaas-...` or `export YOUSECURE_API_KEY="yspaas-..."`
- Inspect the output to verify:
  - Active Plan (e.g., Starter, Performance, Ultra).
  - Databases used vs allowed quota (e.g. `2 / 5 bancos`).
  - Disk storage used vs pooled limit (e.g. `340 MB / 25 GB`).

### Step 2: Stack & Database Detection
Inspect the local codebase:
- **Repository & Branch:** Determine git remote url (`git remote get-url origin`) and current branch (`git branch --show-current`).
- **Framework:**
  - Next.js / React / Vue / Vite / Nuxt / Node.js
  - Python (FastAPI / Flask / Django)
  - PHP / Laravel / WordPress
  - Go / Rust / Dockerfile
- **Database Requirement:**
  - Check `.env.example`, `prisma/schema.prisma`, `drizzle.config.ts`, `ormconfig.json`, `database.php`, `settings.py`, or `package.json`.
  - If PostgreSQL is used -> set `--db postgresql`.
  - If MySQL / MariaDB is used -> set `--db mysql`.
  - If MongoDB is used -> set `--db mongodb`.
  - If Redis is needed (caching, queues, WebSockets) -> provision via `yousecure db create --type redis` and set `REDIS_URL`.

### Step 3: Deployment Execution
Execute deployment in a single autonomous command:
```bash
yousecure deploy \
  --slug <project-slug> \
  --repo <git-remote-url> \
  --branch <branch> \
  --domain <desired-domain> \
  --db <postgresql|mysql|mongodb|redis>
```
*Note: If the user did not specify a domain, use `<slug>.yousecure.io` or omit `--domain` to use the direct platform endpoint.*

### Step 4: Fallback to Headless REST API (if CLI is not installed)
If the `yousecure` binary is not in `$PATH`, you can execute the operation directly using `curl`:
```bash
curl -X POST https://yousecure.io/api/paas/deploy \
  -H "Authorization: Bearer $YOUSECURE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "project_slug": "<project-slug>",
    "repo_url": "<git-remote-url>",
    "branch": "main",
    "domain": "<desired-domain>",
    "db_type": "postgresql"
  }'
```

### Step 5: Deliver Output to User
After deployment finishes, provide a clean, structured summary:
1. **URL da Aplicação:** `https://<dominio>`
2. **Status do Serviço:** Pronto / Saudável (READY)
3. **Banco de Dados Provisionado:**
   - Tecnologia: `<db_type>`
   - URI de Conexão: Injetada automaticamente no ambiente da aplicação como `DATABASE_URL`.
4. **Apontamento de DNS (se domínio próprio externo):**
   - Subdomínio: CNAME `<dominio>` -> `cname.yousecure.io`
   - Raiz: A `<dominio>` -> `82.38.173.20`
   - Ou Nameservers: `ns1.yousecure.io` / `ns2.yousecure.io`
