npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@conexean/cli

v3.0.24

Published

🚀 CLI moderno para deploy de projetos Next.js da Conexean

Readme

🚀 Conexean CLI

CLI moderno para deploy de projetos Next.js da Conexean

npm version Version License: MIT

📋 Índice

🚀 Instalação

Instalação Global (Recomendado)

npm install -g @conexean/cli
# ou
pnpm add -g @conexean/cli

Instalação Local

npm install --save-dev @conexean/cli
# ou
pnpm add -D @conexean/cli

Uso Direto

npx @conexean/cli --help

⚡ Uso Rápido

# 1. Inicializar configuração
conexean init

# 2. Criar banco de dados
conexean db create

# 3. Fazer build
conexean build

# 4. Fazer deploy
conexean deploy

# 5. Verificar status
conexean status

# 6. Listar bancos e usuĂĄrios
conexean db list

# 7. Conectar via SSH (se necessĂĄrio)
conexean ssh

## 🔧 Configuração

### 1. Inicializar Projeto

```bash
conexean init

Isso criarå um arquivo deploy.config.json com a configuração båsica.

2. Configurar Servidor

Edite o arquivo deploy.config.json:

{
  "name": "meu-projeto",
  "server": {
    "host": "192.168.1.100",
    "user": "ubuntu",
    "port": "22",
    "path": "/var/www/production"
  },
  "database": {
    "host": "localhost",
    "port": "5432",
    "adminUser": "postgres",
    "adminPassword": "senha_admin",
    "targetUser": "app_user",
    "targetPassword": "senha_app",
    "targetDatabase": "app_db"
  },
  "build": {
    "command": "pnpm build",
    "outputDir": ".next"
  },
  "files": [
    ".next",
    "public",
    "package.json",
    "pnpm-lock.yaml",
    "next.config.mjs",
    "prisma"
  ],
  "excludePatterns": [
    "node_modules",
    ".git",
    ".next/cache",
    "*.log",
    ".env.local",
    "coverage"
  ],
  "commands": {
    "beforeDeploy": [
      "echo 'Preparando deploy...'"
    ],
    "afterDeploy": [
      "pnpm install --production",
      "pnpm prisma generate",
      "pm2 delete ${name} || true",
      "pm2 start npm --name ${name} -- start"
    ]
  }
}

📚 Comandos

Comandos Principais

| Comando | Descrição | OpçÔes | |---------|-----------|--------| | init | Inicializa configuração do projeto | --force | | build | Builda o projeto Next.js | --env, --clean | | deploy | Faz deploy para o servidor | --env, --force, --no-build, --no-backup | | rollback | Faz rollback para versão anterior | --env, --version | | status | Mostra status do projeto | --env | | ssh | Abre conexão SSH direta no terminal | --env, --command |

Exemplos de Uso

# Build para produção
conexean build --env production

# Deploy para staging
conexean deploy --env staging

# Deploy forçado (ignora erros)
conexean deploy --env production --force

# Rollback para versĂŁo especĂ­fica
conexean rollback --env production --version v1.2.3

# Status do ambiente de produção
conexean status --env production

# Conectar SSH para ambiente especĂ­fico
conexean ssh --env production

# Executar comando especĂ­fico via SSH
conexean ssh --env production --command "ls -la"

## đŸ—„ïž Comandos de Banco de Dados

### Comandos DisponĂ­veis

| Comando | Descrição | OpçÔes |
|---------|-----------|--------|
| `db backup` | Cria backup do banco de produção | `--env` |
| `db backup-local` | Cria backup do banco local | - |
| `db restore-local` | Restaura backup no banco local | `[file]` |
| `db restore-prod` | Restaura backup local em produção | `[file]` |
| `db create` | Cria banco usando configuração do projeto | - |
| `db list` | Lista bancos de dados e usuĂĄrios | `--env` |
| `db drop` | Remove banco e usuĂĄrio do projeto | `--env`, `--force`, `--user`, `--database` |

### Backup e Restore

```bash
# Criar backup de produção
conexean db backup --env production

# Criar backup local
conexean db backup-local

# Restaurar backup no local
conexean db restore-local

# Restaurar backup especĂ­fico no local
conexean db restore-local backup_projeto_production_2024-01-15.sql

# Restaurar backup local em produção
conexean db restore-prod

# Restaurar backup específico em produção
conexean db restore-prod backup_projeto_production_2024-01-15.sql

🚀 Criar Banco de Dados

Cria banco de dados usando a configuração do projeto (definida no init):

# Criar banco usando configuração do projeto
conexean db create

O comando usa automaticamente as configuraçÔes definidas no deploy.config.json:

  • Nome do banco: config.database.targetDatabase
  • UsuĂĄrio: config.database.targetUser
  • Senha: config.database.targetPassword
  • Host: config.database.host
  • Porta: config.database.port

📋 Listar Bancos e Usuários

# Listar todos os bancos e usuĂĄrios
conexean db list

# Listar para ambiente especĂ­fico
conexean db list --env production

Exibe informaçÔes detalhadas:

  • Bancos: Nome, tamanho, proprietĂĄrio, collation
  • UsuĂĄrios: PermissĂ”es, bancos proprietĂĄrios, status

đŸ—‘ïž Remover Banco e UsuĂĄrio

# Remover banco e usuĂĄrio do projeto atual
conexean db drop

# Remover com confirmação forçada
conexean db drop --force

# Remover usuĂĄrio especĂ­fico
conexean db drop --user nome_do_usuario --force

# Remover banco especĂ­fico
conexean db drop --database nome_do_banco --force

# Remover ambos
conexean db drop --user nome_do_usuario --database nome_do_banco --force

🔧 Configuração de Banco Existente

# Configurar banco existente (usuårio, permissÔes)
conexean db setup --env production

🚀 Fluxo Completo de Banco de Dados

1. Inicializar Projeto

conexean init

2. Criar Banco de Dados

conexean db create

3. Listar Bancos e UsuĂĄrios

conexean db list

4. Fazer Backup

conexean db backup

5. Restaurar Backup (se necessĂĄrio)

conexean db restore-local

6. Remover Banco (se necessĂĄrio)

conexean db drop --force

📊 Exemplo de Saída do db list:

đŸ—„ïž BANCOS DE DADOS:
────────────────────────────────────────────────────────────────────────────────
   📁 postgres
      Tamanho: 7739 kB
      ProprietĂĄrio: conexean
      Collation: en_US.UTF-8

   📁 prod_barradao
      Tamanho: 8947 kB
      ProprietĂĄrio: conexean
      Collation: en_US.UTF-8

đŸ‘„ USUÁRIOS:
────────────────────────────────────────────────────────────────────────────────
   đŸ‘€ conexean
      Super usuário: ❌ Não
      Pode criar DB: ✅ Sim
      Pode fazer login: ✅ Sim
      Bancos proprietĂĄrio: prod_barradao, prod_conexean_portal, prod_cclimp

   đŸ‘€ prod_user_barradao
      Super usuário: ❌ Não
      Pode criar DB: ❌ Não
      Pode fazer login: ✅ Sim

🔧 Configuração Avançada

🔐 Autenticação SSH Melhorada

O CLI suporta mĂșltiplos mĂ©todos de autenticação SSH:

  1. SSH Agent (Recomendado - Mais seguro)

    # Adicionar chave ao SSH agent
    ssh-add ~/.ssh/id_rsa
       
    # O CLI detectarĂĄ automaticamente
    conexean db create
  2. Chaves SSH (AutomĂĄtico)

    • Tenta ~/.ssh/id_ed25519
    • Tenta ~/.ssh/id_rsa
    • Tenta ~/.ssh/id_ecdsa
  3. Senha Interativa (Fallback)

    • Solicita senha quando necessĂĄrio
    • NĂŁo requer variĂĄveis de ambiente

🔌 Conexão SSH Direta

Acesse o servidor diretamente via terminal:

# Conectar ao servidor (ambiente padrĂŁo: staging)
conexean ssh

# Conectar ao servidor de produção
conexean ssh --env production

# Executar comando especĂ­fico e sair
conexean ssh --command "ls -la /var/www"

# Verificar logs do PM2
conexean ssh --command "pm2 logs --lines 50"

# Verificar uso de disco
conexean ssh --command "df -h"

Vantagens:

  • ✅ Usa configuraçÔes do projeto automaticamente
  • ✅ Suporte a mĂșltiplos ambientes
  • ✅ Terminal interativo completo
  • ✅ Execução de comandos especĂ­ficos
  • ✅ NĂŁo precisa lembrar credenciais SSH

MĂșltiplos Ambientes

{
  "servers": {
    "staging": {
      "host": "staging.conexean.com",
      "port": 22,
      "username": "deploy"
    },
    "production": {
      "host": "prod.conexean.com",
      "port": 22,
      "username": "deploy"
    }
  }
}

Comandos Customizados

{
  "project": {
    "buildCommand": "pnpm build && pnpm test",
    "installCommand": "pnpm install --frozen-lockfile",
    "restartCommand": "pm2 restart app --update-env"
  }
}

Backup AutomĂĄtico

{
  "backup": {
    "enabled": true,
    "path": "/var/backups",
    "retention": 7,
    "compress": true,
    "includeDatabase": true
  }
}

🔍 Troubleshooting

Problemas Comuns

1. Erro de ConexĂŁo SSH

# Verificar conectividade
ssh -i ~/.ssh/id_rsa usuario@servidor

# Testar com o CLI
node dist/cli.js status --debug

2. Erro de PermissĂŁo

# Verificar permissÔes do diretório remoto
node dist/cli.js status --env production

# Ajustar permissÔes se necessårio
chmod 755 /var/www/projeto

3. Erro de Build

# Build local para testar
node dist/cli.js build --debug

# Verificar dependĂȘncias
pnpm install

4. Erro de Banco de Dados

# Listar bancos e usuĂĄrios
conexean db list

# Testar criação de banco
conexean db create

# Verificar configuraçÔes
cat deploy.config.json

Logs e Debug

# Ativar modo debug
DEBUG=1 node dist/cli.js deploy --env production

# Ver logs detalhados
node dist/cli.js status --env production --debug

đŸ€ Contribuição

  1. Fork o projeto
  2. Crie uma branch para sua feature (git checkout -b feature/AmazingFeature)
  3. Commit suas mudanças (git commit -m 'Add some AmazingFeature')
  4. Push para a branch (git push origin feature/AmazingFeature)
  5. Abra um Pull Request

📄 Licença

Este projeto estå licenciado sob a Licença MIT - veja o arquivo LICENSE para detalhes.

🆘 Suporte


Desenvolvido com ❀ pela Conexean