# Bootstrap - Novo Codex da Impresscione

Use este guia quando abrir o Codex em um dispositivo novo, sem contexto anterior.

Este arquivo nao contem senhas, tokens ou chaves privadas.

## Ideia principal

O dispositivo novo pode ter um projeto local vazio. Ele sera apenas uma estacao de controle.

O workspace real da Impresscione fica na VPS:

```text
/root/claude
```

O Codex novo deve operar o projeto remoto via SSH, lendo os arquivos de contexto que ja estao na VPS.

## Pre-requisitos no novo dispositivo

### macOS ou Linux

1. Instalar Codex.
2. Criar uma pasta local qualquer, por exemplo:

```bash
mkdir -p ~/codex-impresscione-controle
cd ~/codex-impresscione-controle
```

3. Gerar uma chave SSH, se ainda nao existir:

```bash
ssh-keygen -t ed25519 -f ~/.ssh/impresscione_vps_ed25519
cat ~/.ssh/impresscione_vps_ed25519.pub
```

4. Cadastrar manualmente a chave publica na VPS em:

```text
/root/.ssh/authorized_keys
```

5. Testar SSH pelo IP publico:

```bash
ssh -i ~/.ssh/impresscione_vps_ed25519 root@179.197.67.180 "hostname && cd /root/claude && pwd"
```

Se o dispositivo tambem estiver na rede Tailscale autorizada, pode testar pelo IP privado:

```bash
ssh -i ~/.ssh/impresscione_vps_ed25519 root@100.95.122.78 "hostname && cd /root/claude && pwd"
```

### Windows PowerShell

1. Instalar Codex.
2. Abrir o PowerShell.
3. Criar uma pasta local qualquer:

```powershell
New-Item -ItemType Directory -Force "$env:USERPROFILE\codex-impresscione-controle"
Set-Location "$env:USERPROFILE\codex-impresscione-controle"
```

4. Gerar uma chave SSH:

```powershell
ssh-keygen -t ed25519 -f "$env:USERPROFILE\.ssh\impresscione_vps_ed25519"
Get-Content "$env:USERPROFILE\.ssh\impresscione_vps_ed25519.pub"
```

5. Cadastrar manualmente a chave publica na VPS em:

```text
/root/.ssh/authorized_keys
```

6. Testar SSH pelo IP publico:

```powershell
ssh -i "$env:USERPROFILE\.ssh\impresscione_vps_ed25519" root@179.197.67.180 "hostname && cd /root/claude && pwd"
```

Se o dispositivo tambem estiver na rede Tailscale autorizada:

```powershell
ssh -i "$env:USERPROFILE\.ssh\impresscione_vps_ed25519" root@100.95.122.78 "hostname && cd /root/claude && pwd"
```

### Windows com Git Bash ou WSL

Se estiver usando Git Bash ou WSL, pode seguir os comandos de macOS/Linux. Apenas confirme onde a chave foi criada e use o caminho correto no teste SSH.

## Prompt para colar no Codex novo

Cole o texto abaixo no primeiro chat do Codex novo:

```text
Voce e o Codex da Impresscione.

Este dispositivo e apenas uma estacao de controle. O projeto local pode estar vazio.

O workspace real fica na VPS em:
/root/claude

Acesse a VPS por SSH. Primeiro tente:
ssh -i ~/.ssh/impresscione_vps_ed25519 root@179.197.67.180

No Windows PowerShell, use:
ssh -i "$env:USERPROFILE\.ssh\impresscione_vps_ed25519" root@179.197.67.180

Se houver Tailscale configurado neste dispositivo, prefira:
ssh -i ~/.ssh/impresscione_vps_ed25519 root@100.95.122.78

No Windows PowerShell com Tailscale, use:
ssh -i "$env:USERPROFILE\.ssh\impresscione_vps_ed25519" root@100.95.122.78

Depois de conectar, trabalhe sempre em:
cd /root/claude

Antes de qualquer tarefa, leia estes arquivos remotos:
- /root/claude/AGENTS.md
- /root/claude/CLAUDE.md
- /root/claude/clientes/impresscione/projetos/vps-config/COMO_USAR_WORKSPACE_REMOTO.md
- /root/claude/clientes/impresscione/PROJETO_STATUS.md
- /root/claude/clientes/impresscione/INDEX.md

Regras obrigatorias:
- Nao trabalhe no projeto local vazio como se fosse o projeto real.
- Opere o projeto real via SSH na VPS.
- Nao substitua producao sem copia paralela, teste ponta a ponta e aprovacao clara.
- Nao pare containers, altere DNS, PM2, banco, webhook ou arquivos publicados sem aprovacao.
- Antes de declarar algo pronto, valide com comando real.
- Ao criar ou alterar arquivos importantes na VPS, registre a sessao em /root/claude/clientes/impresscione/sessoes/.

Primeira validacao esperada:
ssh -i ~/.ssh/impresscione_vps_ed25519 root@179.197.67.180 "cd /root/claude && pwd && sed -n '1,80p' AGENTS.md && sed -n '1,80p' clientes/impresscione/projetos/vps-config/COMO_USAR_WORKSPACE_REMOTO.md"
```

## Alias opcional de SSH

No macOS/Linux, pode criar ou editar `~/.ssh/config`:

```sshconfig
Host impresscione-vps
    HostName 179.197.67.180
    User root
    IdentityFile ~/.ssh/impresscione_vps_ed25519
    ServerAliveInterval 60
```

Se for usar Tailscale:

```sshconfig
Host impresscione-vps
    HostName 100.95.122.78
    User root
    IdentityFile ~/.ssh/impresscione_vps_ed25519
    ServerAliveInterval 60
```

Com alias configurado, o teste fica:

```bash
ssh impresscione-vps "cd /root/claude && pwd"
```

No Windows, o arquivo de config costuma ficar em:

```text
C:\Users\SEU_USUARIO\.ssh\config
```

Conteudo equivalente:

```sshconfig
Host impresscione-vps
    HostName 179.197.67.180
    User root
    IdentityFile C:\Users\SEU_USUARIO\.ssh\impresscione_vps_ed25519
    ServerAliveInterval 60
```

Depois teste no PowerShell:

```powershell
ssh impresscione-vps "cd /root/claude && pwd"
```

## Comando padrao para operar o workspace remoto

```bash
ssh impresscione-vps "cd /root/claude && <comando>"
```

Exemplos:

```bash
ssh impresscione-vps "cd /root/claude && rg 'VIAGENS 29' clientes/impresscione"
ssh impresscione-vps "cd /root/claude && sed -n '1,120p' clientes/impresscione/PROJETO_STATUS.md"
```

## Quando algo falhar

Se o SSH falhar:

- confirmar se a chave publica foi cadastrada em `/root/.ssh/authorized_keys`;
- conferir permissao da chave privada local;
- testar com `ssh -v`;
- confirmar se o IP publico da VPS continua `179.197.67.180`;
- se estiver usando Tailscale, confirmar se o dispositivo esta conectado na rede correta.

Se o Codex novo parecer sem contexto:

- lembrar que o contexto esta nos arquivos remotos;
- pedir explicitamente para ele ler `/root/claude/AGENTS.md` e o runbook remoto;
- nao continuar uma tarefa antes dessa leitura.

## O que nunca colocar neste arquivo

- senha root;
- token Hostinger;
- chave privada SSH;
- tokens Google, Meta, Instagram, OpenAI ou Evolution;
- segredos de banco;
- links publicos para arquivos sensiveis.
