{"_id":"@aether-baas/cli","_rev":"3-9ecec7d737008e41d9f77ec0d518f6b5","name":"@aether-baas/cli","dist-tags":{"latest":"3.2.0"},"versions":{"3.0.0":{"name":"@aether-baas/cli","version":"3.0.0","keywords":["aether","cli","baas"],"author":{"name":"Allan F. Souza"},"license":"ISC","_id":"@aether-baas/cli@3.0.0","maintainers":[{"name":"aetherbaas","email":"allanwesy2817@gmail.com"}],"bin":{"aether":"dist/index.js"},"dist":{"shasum":"2ddb2ee911da171ca6cd7e5283ac1e5c71642adc","tarball":"https://registry.npmjs.org/@aether-baas/cli/-/cli-3.0.0.tgz","fileCount":20,"integrity":"sha512-7J7X/tfVZaE6pCuwoJp4bN8ZA4yuUimYR3pZ+0bMcFbCLU6TUYRyFHqB/Ly5ymurYsqNKdzNSL8sv0m2WengxQ==","signatures":[{"sig":"MEUCIQCbhosm3btk9OL4LGyMujN0P4NMmoA6UvI1JpiwNtIhaAIgDb7BgpA0tB6KFARx9ojin6HS+dt4MOlnbMJngqkY5nQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81898},"type":"module","scripts":{"dev":"tsx src/index.ts","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"aetherbaas","email":"allanwesy2817@gmail.com"},"_npmVersion":"11.6.2","description":"CLI oficial para gerenciar projetos Aether - Enterprise Ready com CI/CD","directories":{},"_nodeVersion":"22.21.1","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","conf":"^12.0.0","axios":"^1.6.0","chalk":"^5.3.0","inquirer":"^9.2.12","commander":"^11.1.0","@allanfsouza/aether-sdk":"^2.4.6","@allanfsouza/aether-shared":"^0.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","@types/pg":"^8.15.6","typescript":"^5.3.0","@types/node":"^20.10.0","@types/inquirer":"^9.0.7"},"_npmOperationalInternal":{"tmp":"tmp/cli_3.0.0_1766779901144_0.08902850501843318","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"@aether-baas/cli","version":"3.1.0","keywords":["aether","cli","baas"],"author":{"name":"Allan F. Souza"},"license":"ISC","_id":"@aether-baas/cli@3.1.0","maintainers":[{"name":"aetherbaas","email":"allanwesy2817@gmail.com"}],"bin":{"aether":"dist/index.js"},"dist":{"shasum":"b27c39c9ea468d2ba5144360895fc8f534562480","tarball":"https://registry.npmjs.org/@aether-baas/cli/-/cli-3.1.0.tgz","fileCount":20,"integrity":"sha512-E/O5MyHplpzzsAyyHNv20g7Bj1icGCC2oN4WbXUS6TPMFpAJeRcq5dtFtcqdCTU7C1+CuHz5DE/CZiOc9zrnAg==","signatures":[{"sig":"MEUCIQCLxeYkj/M1KwSIFl88OSNyUs19hFwkVGEexH5Uyya4swIgNdplzRVDzax0+zankCq23MbcQtPjBVnGvJedBg8xHDQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84816},"type":"module","scripts":{"dev":"tsx src/index.ts","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"aetherbaas","email":"allanwesy2817@gmail.com"},"_npmVersion":"11.6.2","description":"CLI oficial para gerenciar projetos Aether - Enterprise Ready com CI/CD","directories":{},"_nodeVersion":"22.21.1","dependencies":{"pg":"^8.16.3","ora":"^7.0.1","conf":"^12.0.0","axios":"^1.6.0","chalk":"^5.3.0","inquirer":"^9.2.12","commander":"^11.1.0","@allanfsouza/aether-sdk":"^2.4.6","@allanfsouza/aether-shared":"^0.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","@types/pg":"^8.15.6","typescript":"^5.3.0","@types/node":"^20.10.0","@types/inquirer":"^9.0.7"},"_npmOperationalInternal":{"tmp":"tmp/cli_3.1.0_1767631795914_0.19300548498113312","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"@aether-baas/cli","version":"3.2.0","description":"CLI oficial para gerenciar projetos Aether - Enterprise Ready com CI/CD","type":"module","bin":{"aether":"dist/index.js"},"scripts":{"build":"tsc","dev":"tsx src/index.ts","start":"node dist/index.js"},"keywords":["aether","cli","baas"],"author":{"name":"Allan F. Souza"},"license":"ISC","dependencies":{"@allanfsouza/aether-sdk":"^2.4.6","@allanfsouza/aether-shared":"^0.3.1","axios":"^1.6.0","chalk":"^5.3.0","commander":"^11.1.0","conf":"^12.0.0","cron-parser":"^5.4.0","inquirer":"^9.2.12","ora":"^7.0.1","pg":"^8.16.3"},"devDependencies":{"@types/inquirer":"^9.0.7","@types/node":"^20.10.0","@types/pg":"^8.15.6","tsx":"^4.7.0","typescript":"^5.3.0"},"_id":"@aether-baas/cli@3.2.0","_nodeVersion":"22.21.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-Aiy9EqHa4N+aXL8bCqOFwKRdJ5CbwAndFNUlcl2b2JQkjNLBhwwqFAjzzLn1woR3Y7R5grCKc8lipvJUQocxbg==","shasum":"9c6fc34c4102142e1529a90b9f8eb6d96813a69d","tarball":"https://registry.npmjs.org/@aether-baas/cli/-/cli-3.2.0.tgz","fileCount":20,"unpackedSize":90159,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCIsxLPMRqm6gRXU2L6ORjiTmkyI/WD21tTK9HjU8BeSQIhAKmBnnc+Y/ARFkF1CWgM5JRgPLVh3GbxvjhqgV/RPURt"}]},"_npmUser":{"name":"aetherbaas","email":"allanwesy2817@gmail.com"},"directories":{},"maintainers":[{"name":"aetherbaas","email":"allanwesy2817@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cli_3.2.0_1767632225420_0.28751222737384596"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-26T20:11:40.968Z","modified":"2026-01-05T16:57:05.797Z","3.0.0":"2025-12-26T20:11:41.297Z","3.1.0":"2026-01-05T16:49:56.049Z","3.2.0":"2026-01-05T16:57:05.556Z"},"author":{"name":"Allan F. Souza"},"license":"ISC","keywords":["aether","cli","baas"],"description":"CLI oficial para gerenciar projetos Aether - Enterprise Ready com CI/CD","maintainers":[{"name":"aetherbaas","email":"allanwesy2817@gmail.com"}],"readme":"# @aether-baas/cli\r\n\r\n> CLI oficial para gerenciar projetos Aether - **Enterprise Ready com CI/CD**\r\n\r\n[![npm version](https://img.shields.io/npm/v/@aether-baas/cli.svg)](https://www.npmjs.com/package/@aether-baas/cli)\r\n[![License](https://img.shields.io/npm/l/@aether-baas/cli.svg)](https://github.com/aether-baas/cli/blob/main/LICENSE)\r\n\r\n## 🚀 Instalação\r\n\r\n```bash\r\n# Instalação global\r\nnpm install -g @aether-baas/cli\r\n\r\n# Ou via npx (sem instalação)\r\nnpx @aether-baas/cli <comando>\r\n```\r\n\r\n## 📋 Comandos\r\n\r\n### Autenticação\r\n\r\n```bash\r\n# Login interativo\r\naether login\r\n\r\n# Ver status da sessão\r\naether whoami\r\n\r\n# Logout\r\naether logout\r\n```\r\n\r\n### Projetos\r\n\r\n```bash\r\n# Vincular pasta a um projeto\r\naether link\r\n\r\n# Ver configuração atual\r\naether config --show\r\n\r\n# Configurar API URL (opcional)\r\naether config --api-url https://api.aether.app\r\n```\r\n\r\n### Functions\r\n\r\n```bash\r\n# Fazer deploy de todas as functions\r\naether deploy\r\n\r\n# Deploy em paralelo (mais rápido)\r\naether deploy --parallel\r\n\r\n# Listar functions do projeto\r\naether list\r\n\r\n# Ver logs\r\naether logs\r\n\r\n# Executar function manualmente\r\naether invoke <nome-da-function>\r\n\r\n# Deletar function\r\naether delete <nome-da-function>\r\n```\r\n\r\n## 🔐 CI/CD (GitHub Actions, GitLab, etc.)\r\n\r\nO CLI suporta autenticação via **Service API Key** para pipelines automatizados:\r\n\r\n```yaml\r\n# .github/workflows/deploy.yml\r\nname: Deploy Aether Functions\r\n\r\non:\r\n  push:\r\n    branches: [main]\r\n\r\njobs:\r\n  deploy:\r\n    runs-on: ubuntu-latest\r\n    steps:\r\n      - uses: actions/checkout@v4\r\n      \r\n      - name: Setup Node.js\r\n        uses: actions/setup-node@v4\r\n        with:\r\n          node-version: '20'\r\n      \r\n      - name: Deploy to Aether\r\n        env:\r\n          AETHER_SERVICE_KEY: ${{ secrets.AETHER_SERVICE_KEY }}\r\n          AETHER_PROJECT_ID: ${{ secrets.AETHER_PROJECT_ID }}\r\n        run: npx @aether-baas/cli deploy\r\n```\r\n\r\n### Variáveis de Ambiente\r\n\r\n| Variável | Descrição |\r\n|----------|-----------|\r\n| `AETHER_SERVICE_KEY` | API Key do projeto (substitui login) |\r\n| `AETHER_PROJECT_ID` | ID do projeto (substitui aether.json) |\r\n| `AETHER_API_URL` | URL da API (opcional) |\r\n\r\n## 📁 Estrutura do Projeto\r\n\r\n```\r\nmy-project/\r\n├── aether.json          # Configuração do projeto\r\n├── functions/           # Pasta das functions\r\n│   ├── onNewUser.ts\r\n│   ├── sendEmail.ts\r\n│   └── processPayment.ts\r\n└── ...\r\n```\r\n\r\n### aether.json\r\n\r\n```json\r\n{\r\n    \"projectId\": \"seu-project-id\",\r\n    \"functions\": \"functions\"\r\n}\r\n```\r\n\r\n## 🔧 Configuração\r\n\r\n### Prioridade de Autenticação\r\n\r\n1. `AETHER_SERVICE_KEY` (env var) - CI/CD\r\n2. `AETHER_ACCESS_TOKEN` (env var)\r\n3. Token salvo via `aether login`\r\n\r\n### Prioridade de Project ID\r\n\r\n1. `AETHER_PROJECT_ID` (env var) - CI/CD\r\n2. `aether.json` na pasta atual\r\n3. Projeto linkado via `aether link`\r\n4. Config global do CLI\r\n\r\n## 📝 Exemplo de Function\r\n\r\n```typescript\r\n// functions/onNewUser.ts\r\nexport default async function(context: AetherContext) {\r\n    const { data, db, push } = context;\r\n    \r\n    // Salvar no banco\r\n    await db.collection('welcome_emails').create({\r\n        userId: data.userId,\r\n        sentAt: new Date()\r\n    });\r\n    \r\n    // Enviar push notification\r\n    await push.send({\r\n        to: data.userId,\r\n        title: 'Bem-vindo!',\r\n        body: 'Obrigado por se cadastrar'\r\n    });\r\n    \r\n    return { success: true };\r\n}\r\n```\r\n\r\n## 🆘 Suporte\r\n\r\n- [Documentação](https://docs.aether.app)\r\n- [Discord](https://discord.gg/aether)\r\n- [Issues](https://github.com/aether-baas/cli/issues)\r\n\r\n## 📄 Licença\r\n\r\nISC © [Aether BaaS](https://aether.app)\r\n","readmeFilename":"README.md"}