vibehub
v0.2.2
Published
Command line interface for VibeHub
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.
