hylius
v2.0.3
Published
A CLI tool to initialize and manage Docker configurations for development
Maintainers
Readme
hylius
A CLI tool to initialize and manage Docker configurations for development projects with beautiful colored terminal output.
Features
- 🔍 Automatic project type detection (Node.js, Python, Go, Java, PHP)
- 🐳 Optimized Docker configurations for different frameworks
- 🚀 Quick development environment setup
- 📦 Production-ready build configurations
- 🛠️ Server Provisioning (
hylius setup) - Automatic Docker/Firewall setup - 🚢 Atomic Deployment (
hylius deploy) - Zero-downtime push to VPS - 🤖 CI/CD Automation (
hylius ci-generate) - Quick GitHub Actions scaffolding - 🎨 Beautiful colored terminal output with spinners
- 📊 Real-time streaming command output
Installation
Using npm
npm install -g hyliusFrom Source
# Clone the repository
git clone https://github.com/isaac-hash/hylius.git
cd hylius
# Install dependencies
npm install
# Build the project
npm run build
# Link globally (optional)
npm linkUsage
Initialize a Project
# Initialize with automatic detection
hylius init
# Skip Docker initialization
hylius init --skip-docker
# Skip CI workflow generation
hylius init --skip-ciStart Development Environment
# Start in foreground
hylius dev
# Start in detached mode
hylius dev -d
# Enable hot-reload (watch mode)
hylius dev --watchBuild Production Image
hylius buildDeploy to VPS
Hylius allows you to manage your own servers with ease.
# Prepare a fresh VPS
hylius setup
# Deploy code directly
hylius deploy
# Generate GitHub Actions workflow
hylius ci-generateFor detailed instructions on server setup and automation, see the CI/CD & Deployment Guide.
This will create Docker images with tags:
<project-name>:latest<project-name>:<git-hash>(if in a git repository)
Supported Project Types
- Next.js - Server-side rendered React applications
- Vite - Modern frontend tooling (React, Vue, Svelte)
- Node.js - Express, NestJS, and other Node.js frameworks
- Python - Flask, Django, FastAPI
- Go - Go applications with hot-reload
- Java - Maven-based Spring Boot applications
- PHP - Apache-based PHP applications
Project Structure
hylius/
├── src/
│ ├── commands/
│ │ ├── root.ts # Main CLI program
│ │ ├── init.ts # Init command
│ │ ├── dev.ts # Dev command
│ │ └── build.ts # Build command
│ ├── utils/
│ │ ├── config.ts # Config file handling
│ │ └── detect.ts # Project type detection
│ ├── templates/
│ │ └── index.ts # Docker/compose templates
│ └── index.ts # Entry point
├── package.json
├── tsconfig.json
└── README.mdDevelopment
# Run in development mode
npm run dev
# Build TypeScript
npm run build
# Run built version
npm start
# Try the colored output examples
npx tsx examples/colored-output.tsTerminal Output Features
This CLI uses chalk for colored output and ora for loading spinners:
- ✅ Success messages in green
- ❌ Error messages in red
- ⚠️ Warnings in yellow
- 📘 Info messages in blue/cyan
- 🔄 Animated spinners for long-running operations
- 📊 Real-time streaming output from Docker commands
See examples/colored-output.ts for comprehensive examples of all coloring options.
Configuration
hylius creates a hylius.yaml file in your project:
project_name: my-app
type: nodeLicense
MIT
