novatec-deploy
v1.0.0
Published
Professional CLI for automatic deployment of full-stack applications (frontend, backend, database) to production
Maintainers
Readme
🚀 NOVATEC DEPLOY CLI
Professional CLI for automatic deployment of full-stack applications (frontend, backend, database) to production with a single command.
📋 Features
- ✅ Automatic Stack Detection - Detects Next.js, React, Vue, Express, NestJS, Fastify, PostgreSQL, MongoDB, and more
- ✅ One-Command Deployment - Deploy entire full-stack applications with
novatec deploy - ✅ Multi-Provider Support - Vercel, Railway, Render, Supabase, and more
- ✅ Custom Domain Support - Add custom domains with
--domainflag - ✅ Real-Time Logs - View deployment logs in real-time
- ✅ Rollback Support - Easily rollback to previous stable versions
- ✅ Secure Authentication - CLI authentication with token management
- ✅ Environment Management - Automatic environment variable configuration
- ✅ Professional UI - Beautiful CLI with colors, progress indicators, and clear feedback
🎯 Quick Start
Installation
npm install -g novatec-deploy-cliBasic Usage
# 1. Authenticate
novatec login
# 2. Deploy your application
novatec deploy
# 3. View logs
novatec logs
# 4. Check status
novatec status📖 Commands
novatec login
Authenticate with your provider tokens.
novatec loginPrompts you to:
- Select authentication method (Vercel, Railway, API)
- Enter your token
- Configure default providers
novatec deploy
Deploy your full-stack application.
# Deploy everything
novatec deploy
# Deploy only frontend
novatec deploy --frontend
# Deploy only backend
novatec deploy --backend
# Deploy everything
novatec deploy --full
# Deploy with custom domain
novatec deploy --domain myapp.com
# Force deploy without confirmation
novatec deploy --force
# Deploy to specific provider
novatec deploy --provider vercel
# Verbose output
novatec deploy --verboseAutomatic Detection:
- Detects your framework stack
- Creates projects on selected providers
- Configures environment variables
- Sets up custom domains (if provided)
- Returns URLs for frontend and backend
novatec logs
View real-time deployment logs.
# View logs with service selection
novatec logs
# View specific service logs
novatec logs --service backend
# View last 50 lines
novatec logs --lines 50
# Follow logs in real-time
novatec logs --followAvailable Services:
backend- Backend application logsfrontend- Frontend application logsdatabase- Database logssystem- System and deployment logs
novatec status
Show current deployment status and project information.
novatec statusDisplays:
- Project information
- Detected stack
- Available scripts
- Current deployment URLs
- Service status
novatec list
List all deployed projects.
# List as table
novatec list
# List as JSON
novatec list --jsonnovatec rollback
Rollback to a previous stable version.
# Interactive rollback
novatec rollback
# Rollback to specific version
novatec rollback --version 1.2.0
# Force rollback without confirmation
novatec rollback --forcenovatec logout
Logout from NovaTec Deploy.
novatec logout🏗️ Supported Stacks
Frontend Frameworks
- ✅ Next.js
- ✅ React
- ✅ Vue.js
- ✅ Nuxt
- ✅ Astro
Backend Frameworks
- ✅ Express.js
- ✅ NestJS
- ✅ Fastify
Databases
- ✅ PostgreSQL
- ✅ MySQL
- ✅ MongoDB
- ✅ Supabase
Languages
- ✅ Node.js
- ✅ Python
- ✅ Java
- ✅ Go
🔗 Deployment Providers
Frontend Deployment
- Vercel - Optimized for Next.js
- Netlify - Static and serverless
- AWS Amplify - Full AWS integration
Backend Deployment
- Railway - Modern deployment platform
- Render - Simple and powerful
- AWS EC2 - Traditional servers
Database
- Supabase - PostgreSQL with real-time
- AWS RDS - Managed databases
- Self-hosted - Docker containers
🔐 Configuration
Token Storage
Tokens are securely stored in ~/.novatec/config.json
{
"token": "your-token-here",
"defaultFrontendProvider": "vercel",
"defaultBackendProvider": "railway",
"defaultDomain": "mydomain.com",
"projects": {}
}Environment Variables
Create .env file:
NOVATEC_DEBUG=false
VERCEL_TOKEN=your-vercel-token
RAILWAY_TOKEN=your-railway-token
SUPABASE_TOKEN=your-supabase-token📚 Examples
Deploy a Next.js + Express + PostgreSQL App
# Initialize
novatec login
# Navigate to project
cd my-fullstack-app
# Deploy
novatec deploy --full --domain myapp.com
# Result:
# ✔ Frontend deployed to: https://myapp.com
# ✔ Backend deployed to: https://api.myapp.com
# ✔ Database ready at: postgres://...Deploy Only Frontend
novatec deploy --frontendCheck Logs
novatec logs --service backend --followRollback on Issues
novatec rollback --force🛠️ Development
Prerequisites
- Node.js >= 18.0.0
- npm or yarn
Installation from Source
git clone https://github.com/novatec/deploy-cli
cd deploy-cli
npm install
npm run build
npm linkDevelopment Mode
npm run devWatching for Changes
npm run watch📁 Project Structure
novatec-deploy-cli/
├── src/
│ ├── commands/ # CLI commands
│ │ ├── login.ts
│ │ ├── deploy.ts
│ │ ├── logs.ts
│ │ ├── rollback.ts
│ │ ├── status.ts
│ │ ├── list.ts
│ │ └── logout.ts
│ ├── services/ # Core services
│ │ └── stack-detector.ts
│ ├── providers/ # Integration providers
│ │ ├── vercel/
│ │ ├── railway/
│ │ ├── supabase/
│ │ └── render/
│ ├── config/ # Configuration management
│ │ └── manager.ts
│ ├── utils/ # Utilities
│ │ └── logger.ts
│ ├── types/ # TypeScript types
│ │ └── index.ts
│ └── index.ts # Entry point
├── dist/ # Compiled output
├── package.json
├── tsconfig.json
└── README.md🔑 API Integration
Vercel API
import { VercelProvider } from './providers/vercel/provider';
const vercel = new VercelProvider(token);
await vercel.authenticate();
const project = await vercel.createProject('my-app');
await vercel.addDomain(project.id, 'myapp.com');Railway API
import { RailwayProvider } from './providers/railway/provider';
const railway = new RailwayProvider(token);
await railway.authenticate();
const project = await railway.createProject('my-backend');Supabase API
import { SupabaseProvider } from './providers/supabase/provider';
const supabase = new SupabaseProvider(token);
const project = await supabase.createProject(orgId, 'my-db', password);🐛 Troubleshooting
"No token found"
novatec login"Failed to detect project"
Make sure you have:
package.jsonin your project root- At least one framework installed (Next.js, Express, etc.)
"Authentication failed"
Check your token:
- Verify token is correct
- Ensure token hasn't expired
- Try
novatec loginagain
Enable Debug Mode
NOVATEC_DEBUG=true novatec deploy🚀 Performance Tips
- Use
--frontendor--backendflags - Deploy only what changed - Set up GitHub Actions - Automate deployments on push
- Use custom domains - Improves SEO and brand
- Monitor logs regularly - Catch issues early
📝 Environment Variables
Automatically Set by NovaTec Deploy
BACKEND_URL- Backend URL in frontendDATABASE_URL- Database connection stringAPI_KEY- Supabase API keyVERCEL_ENV- Environment indicator
🤝 Contributing
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
📄 License
MIT License - see LICENSE file for details
🔗 Links
📞 Support
For help and support:
- 📧 Email: [email protected]
- 💬 Discord: Join our community
- 🐛 Bug Reports: GitHub Issues
Made with ❤️ by NovaTec Development Team
