bruvtools π
About
π Your Private App Platform - Deploy Node.js, Python, Go, Java & more to CapRover, AWS, GCP with one CLI. Features MCP integration for Cursor.com, smart collision detection, auto-SSL, and costs 80% less than Heroku. Transform any $5 server into your personal Vercel.
Details
- License
- MIT
Explore
- Deploy any language with a single command.
- Automatic SSL certificates on every deployment.
- Zero-downtime rolling updates.
- Auto scaling of app instances.
- Private and secure β your own server.
- Cost effective at ~$5/month.
- Smart collision detection for app names.
- Domain name ($2/year) - for wildcard DNS (.yourdomain.com)
- Server with public IP ($5/month) - DigitalOcean, Vultr, Linode, etc.
- Docker installed - included in one-click deployment
npm install -g bruvtools
bruvtools --version # Should show: 0.2.16
bruvtools init
bruvtools deploy my-app
For the easiest setup, use the automated script from within the bruvtools repository:
bash
git clone https://github.com/fcavalcantirj/bruvtools.git
cd bruvtools
chmod +x setup-mcp.sh
./setup-mcp.sh
Note: The setup script must be run from within the bruvtools repository directory as it uses the included mcp-server.js file.
bash
npm install -g bruvtools
1. Open Cursor.com Settings:
- Press Cmd/Ctrl + , to open settings
- Search for "MCP" or go to Extensions β Model Context Protocol
2. Add bruvtools MCP Server:
{
"mcpServers": {
"bruvtools": {
"command": "bruvtools",
"args": ["mcp"],
"env": {
"CAPROVER_PASSWORD": "your-caprover-password",
"CAPROVER_DOMAIN": "your-domain.com",
"CAPROVER_MACHINE": "your-machine-name"
}
}
}
}
3. Alternative: Use Local Configuration:
If you have bruvtools.yml and .env files in your project:
{
"mcpServers": {
"bruvtools": {
"command": "bruvtools",
"args": ["mcp"],
"cwd": "${workspaceFolder}"
}
}
}
bruvtools deploy my-app
π¨ Large Environment Variable Detection & Auto-Splitting β οΈ EXPERIMENTAL
bruvtools can detect when environment variables exceed platform limits and offers smart solutions (currently experimental):
bruvtools init
π Manual Token Reconstruction β WORKING
You can manually implement split environment variables using this pattern:
// Universal function (manually add to your project)
function getEnvVar(varName) {
// First try to get the variable directly
if (process.env[varName]) {
return process.env[varName];
}
// If not found, try to reconstruct from split parts
let reconstructed = '';
let partIndex = 1;
while (true) {
const partName = ${varName}_${partIndex};
const part = process.env[partName];
if (part) {
reconstructed += part;
partIndex++;
} else {
break;
}
}
return reconstructed || undefined;
}
// Use in your app
const JWT_TOKEN = getEnvVar('JWT_TOKEN'); // Works with both single and split tokens!
bruvtools uses a clean separation between configuration and secrets:
default_provider: caprover
providers:
caprover:
machine: your-caprover-machine-name
domain: your-domain.com
projects:
my-app:
provider: caprover
port: 80
CAPROVER_PASSWORD=your-caprover-password
Set up a wildcard A record in your DNS:
- Type: A record
- Host: .captain (or .apps, .dev, etc.)
- Points to: Your server's IP address
- TTL: 300 (or default)
bruvtools init
bruvtools services # Show all deployed apps with URLs
bruvtools apps # Same as services (alias)
bruvtools deployed # Same as services (alias)
bruvtools dashboard # Same as services (alias)
bruvtools deploy <app-name> # Deploy with smart auto-creation
bruvtools create <app-name> # Create app manually (optional)
bruvtools status <app-name> # Check app status
bruvtools logs <app-name> # View app logs
bruvtools scale <app> <count> # Scale app replicas
bruvtools test <app-name> # Test app connectivity
bruvtools deploy my-app
bruvtools deploy my-app-dev # Development
bruvtools deploy my-app-staging # Staging
bruvtools deploy my-app-prod # Production
ls examples/abecmed-api-legacy/keys/abecmed-368dfd6bae7c.json
cd bruvtools/examples/abecmed-api-legacy
bruvtools deploy abecmed-api-legacy
The Problem: CapRover and many cloud platforms have strict limits on environment variable sizes:
- CapRover: ~1000 character limit per environment variable
- Heroku: 32KB total for all environment variables
- AWS Lambda: 4KB total for all environment variables
- Docker: No hard limit, but performance degrades with very large values
Common Culprits:
- π JWT Tokens: Often 1000+ characters (especially with extensive claims)
- π Private Keys: RSA/ECDSA keys can be 1600+ characters
- π JSON Configs: Large configuration objects
- π Base64 Encoded Data: Images, certificates, or binary data
1. Manual Splitting β
WORKING (recommended approach)
npm install -g bruvtools caprover
bruvtools --version # Should show: 0.2.16
caprover --version # Should show: 2.x.x
bruvtools init
bruvtools deploy my-app
---
Requirements: Node.js 16+ β’ License: MIT β’ Version: 0.2.16
Feature
Description
> Your Private App Platform - Deploy microservices anywhere, any language, one CLI
Deploy Node.js, Go, Python, Java, PHP, Ruby, or any containerizable application to CapRover, AWS, GCP, or Kubernetes with the same simple commands. Zero vendor lock-in.
bruvtools transforms any cloud server into your private app platform - like having your own Heroku, Vercel, or Railway. Combined with CapRover, you get:
| Feature | Description |
|---------|-------------|
| β
Push to deploy | bruvtools deploy my-app and you're live |
| β
Auto SSL certificates | HTTPS enabled automatically |
| β
Any language | Node.js, Python, Go, Java, PHP, Ruby, Docker |
| β
Zero downtime deployments | Rolling updates built-in |
| β
Auto scaling | Scale apps up/down as needed |
| β
Private & secure | Your own server, your own rules |
| β
Cost effective | $5/month vs $25+ on other platforms |
npm install -g bruvtools
bruvtools --version # Should show: 0.2.16
default_provider: caprover
providers:
caprover:
machine: your-caprover-machine-name
domain: your-domain.com
projects:
my-app:
provider: caprover
port: 80
> Your Private App Platform - Deploy microservices anywhere, any language, one CLI
Deploy Node.js, Go, Python, Java, PHP, Ruby, or any containerizable application to CapRover, AWS, GCP, or Kubernetes with the same simple commands. Zero vendor lock-in.
π― What is bruvtools?
bruvtools transforms any cloud server into your private app platform - like having your own Heroku, Vercel, or Railway. Combined with CapRover, you get:
| Feature | Description |
|---------|-------------|
| β
Push to deploy | bruvtools deploy my-app and you're live |
| β
Auto SSL certificates | HTTPS enabled automatically |
| β
Any language | Node.js, Python, Go, Java, PHP, Ruby, Docker |
| β
Zero downtime deployments | Rolling updates built-in |
| β
Auto scaling | Scale apps up/down as needed |
| β
Private & secure | Your own server, your own rules |
| β
Cost effective | $5/month vs $25+ on other platforms |
π Quick Start: Your Private Platform in 5 Minutes
Step 1: Create Your CapRover Server (2 minutes)
The easiest way to get started is with DigitalOcean's one-click CapRover deployment:
What this gives you:
- β
$5/month server with CapRover pre-installed
- β
$100 free credit for new DigitalOcean users (2 months free!)
- β
Docker & firewall configured automatically
- β
Ready to deploy in minutes
Alternative setup: Follow the CapRover Getting Started Guide for manual installation on any cloud provider.
Step 2: Install bruvtools (30 seconds)
npm install -g bruvtools
bruvtools --version # Should show: 0.2.16
Step 3: Configure & Deploy (2 minutes)
```bash
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



