vibehub
v0.2.2
Published
Command line interface for VibeHub
Downloads
84
Maintainers
Readme
VibeHub CLI
Ship Vibes, Not Code.
The VibeHub CLI allows you to deploy any project directly to VibeHub with a single command. No configuration required - just point it at your code and deploy!
Installation
# Install from npm (when published)
npm install -g vibehub
# Or run directly with npx
npx vibehub
# Or run from source
yarn
yarn build
node dist/index.jsQuick Start
Deploy any project in seconds:
# Deploy current directory
vibehub deploy
# Deploy specific directory
vibehub deploy ./my-project
# Deploy while ignoring specific directories
vibehub deploy --ignore xxx --ignore yyy
# Deploy with custom name and environment variables
vibehub deploy --name "My App" --env API_KEY=xxx --env DATABASE_URL=postgres://...That's it! The CLI handles authentication, packaging, uploading, and deployment automatically.
How It Works
- Auto-Authentication: If not logged in, opens browser for quick OAuth
- Smart Packaging: Automatically excludes common files (node_modules, .git, etc.)
- Framework Detection: Detects your framework (Next.js, React, Express, Python, etc.)
- Direct Upload: Uploads straight to VibeHub builder service
- Provision Database: Provisions PostgreSQL if you want
- Live Deployment: Builds and deploys in real-time
Commands
vibehub deploy [directory]
Deploy your project to VibeHub.
vibehub deploy # Deploy current directory
vibehub deploy ./my-app # Deploy specific directory
vibehub deploy --name "My App" # Custom deployment name
vibehub deploy --env KEY=value # Set environment variablesArguments:
[directory]- Project directory to deploy (defaults to current directory)
Options:
-n, --name <name>- Custom deployment name-e, --env <key=value>- Environment variables (repeatable)-v, --verbose- Enable verbose logging--api-url <url>- Override VibeHub API URL--builder-url <url>- Override VibeHub Builder URL--ignore <directory>- Ignore a specified directory
Environment Variables
When you run the deploy command, VibeHub analyzes your project and prompts only for the environment variables it needs. VibeHub intelligently auto-populates variables whenever possible. For instance, if your code references WEB_URL, VibeHub automatically maps it to your deployment URL. Similarly, when PostgreSQL-related variables are detected and you choose to provision a database through VibeHub, the corresponding credentials are configured automatically.
Authentication
First Time Usage
- Run
vibehub deploy - CLI opens browser to VibeHub login
- Sign in or create account
- Copy the generated token
- Paste token in CLI
- Deploy continues automatically
Subsequent Uses
- Token is saved locally
- Auto-validates on each deploy
- Re-authenticates if token expires
File Exclusions
The CLI automatically excludes common files and directories:
node_modules/ # Dependencies
.git/ # Version control
.svn/, .hg/ # Other VCS
dist/, build/ # Build outputs
.next/, .nuxt/ # Framework outputs
*.log # Log files
.cache/ # Cache directories
.DS_Store # macOS files
.vscode/, .idea/ # Editor files
...Regarding .env, it is important to analyze the project, so we will mask the .env files keeping raw non-sensitive variables.
Configuration
Configuration is stored in ~/.vibehub/project.json:
{
"token": "vhb_...",
"apiUrl": "https://vibehub.co",
"builderUrl": "https://builder.vibehub.co",
"userId": "user_123",
"username": "myusername"
}Examples
Deploy a Next.js App
git clone https://github.com/vercel/next.js.git
cd next.js/examples/hello-world
vibehub deploy --name "Hello World"Deploy with Environment Variables
vibehub deploy \
--name "Production API" \
--env DATABASE_URL=$DATABASE_URL \
--env JWT_SECRET=$JWT_SECRET \
--env STRIPE_SECRET_KEY=$STRIPE_SECRET_KEYDeploy from Any Directory
vibehub deploy ~/projects/my-app --name "My App"Limits
- File Size: 100MB maximum project size
- Files: Large files and dependencies are automatically excluded
- Timeout: 5 minute upload timeout
Troubleshooting
Authentication Issues
# Clear credentials and re-authenticate
rm ~/.vibehub/config.json
vibehub deployLarge Project Size
# Check what's being included
vibehub deploy --verbose
# The CLI automatically excludes:
# - node_modules (use package.json instead)
# - Build outputs (rebuilt during deployment)
# - Cache directoriesUpload Timeout
# For very large projects, consider:
# - Removing unnecessary files
# - Using .gitignore patterns
# - Reducing image/asset sizesDeployment Failures
- Check the deployment URL provided after upload
- VibeHub builder handles compilation and deployment
- View logs in the VibeHub dashboard
What's Different
Unlike other deployment tools, VibeHub CLI:
- ✅ Zero Configuration - No config files required
- ✅ Universal - Works with any framework or language
- ✅ Smart - Automatically detects your stack
- ✅ Direct - Uploads straight to builder service
- ✅ Simple - One command does everything
License
MIT License - see LICENSE file for details.
