/ opencodehub / cli / README.md
swadhinbiswas ✨ feat(cli): harden auth, TLS, retries, and repo parsing · 1/22/2026
3ac03a2
299 lines · 8.7 KB
Raw Download

OpenCodeHub CLI

OpenCodeHub CLI

🎨 Production-grade Git workflows with beautiful UI

npm version npm downloads license GitHub stars

Installation • Features • Commands • Examples • Contributing


✨ Features

  • 🎨 Beautiful UI - GitHub-like progress indicators, ASCII art, and colored output
  • 📦 Git Push/Pull - Fast repository operations with real-time progress
  • 🚀 Simple Commands - och push, och clone, och create - that's it!
  • 📊 Progress Tracking - See object enumeration, compression, and upload speeds
  • 🎯 Production Ready - Professional output that rivals GitHub's CLI
  • ✨ Spinners & Boxes - Beautiful feedback for every operation

📦 Installation

# Install globally with npm
npm install -g opencodehub-cli

# Or with yarn
yarn global add opencodehub-cli

# Or with pnpm
pnpm add -g opencodehub-cli

# Verify installation
och --version

🚀 Quick Start

# 1. Login to your OpenCodeHub instance
och auth login

# 2. Navigate to your repository
cd your-repo

# 3. Push code with beautiful progress indicators
och push -b master

# That's it! 🎉

📖 Commands

Authentication

# Interactive login
och auth login

# Login with token (for CI/CD)
och auth login --token YOUR_TOKEN

# Check current user
och auth whoami

# Logout
och auth logout

Repository Operations

# Push current repository
och push                    # Push current branch
och push -b feature-branch  # Push specific branch
och push --force           # Force push

# Clone a repository
och clone owner/repo       # Clone to ./repo
och clone owner/repo mydir # Clone to ./mydir

# Create new repository
och create myrepo                    # Create public repo
och create myrepo --private          # Create private repo
och create myrepo --description "..." # With description

# List repositories
och repo list

🎨 Beautiful Output Examples

Push Command

ℹ Pushing to swadhinbiswas/myrepo
  Branch: master

✔ Objects prepared
  Enumerating objects: 159, done.
  Counting objects: 100% (159/159), done.
  Delta compression using up to 20 threads
  Compressing objects: 100% (76/76), done.
  Writing objects: 100% (90/90), 49.17 KiB | 8.20 MiB/s, done.
  Total 90 (delta 45), reused 0 (delta 0), pack-reused 0

✔ Uploaded 49.17 KB in 0.52s (94.56 KB/s)

remote: Processing: 100% (90/90), done.
remote:
To https://opencodehub.com/swadhinbiswas/myrepo.git
   abc1234..def5678  master -> master

╭─────────────────────────────────────────╮
│                                         │
│   ✨ Push Successful!                  │
│                                         │
│   Repository: swadhinbiswas/myrepo      │
│   Branch: master                        │
│   Size: 49.17 KB                        │
│                                         │
│   View at: https://opencodehub.com/... │
│                                         │
╰─────────────────────────────────────────╯

Clone Command

ℹ Cloning swadhinbiswas/awesome-project

✔ Repository found

→ Cloning into awesome-project/...
Cloning into 'awesome-project'...
remote: Enumerating objects: 234, done.
remote: Total 234 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (234/234), 1.23 MiB | 2.45 MiB/s, done.

╭─────────────────────────────────────────╮
│                                         │
│   ✨ Clone Successful!                  │
│                                         │
│   Repository: swadhinbiswas/project     │
│   Location: awesome-project/            │
│                                         │
│   cd awesome-project && och push        │
│                                         │
╰─────────────────────────────────────────╯

Create Command

ℹ Creating 🌐 my-new-repo
  Description: An awesome new project

✔ Repository created

    ✨ SUCCESS! ✨

    Repository swadhinbiswas/my-new-repo is ready!

╭─────────────────────────────────────────╮
│                                         │
│   🎉 Repository Created!                 │
│                                         │
│   Repository: swadhinbiswas/my-new-repo │
│   Visibility: 🌐 Public                 │
│   Description: An awesome new project   │
│                                         │
│   Clone URL: https://...                │
│                                         │
│   ✓ Added remote 'opencode'             │
│                                         │
│   View at: https://opencodehub.com/... │
│                                         │
╰─────────────────────────────────────────╯

🔧 CI/CD Usage

# .github/workflows/deploy.yml
name: Deploy

on: push

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Setup Node
        uses: actions/setup-node@v4
        with:
          node-version: "20"

      - name: Install CLI
        run: npm install -g opencodehub-cli

      - name: Push to OpenCodeHub
        run: |
          och auth login --token ${{ secrets.OCH_TOKEN }}
          och push -b main

⚙️ Configuration

OCH CLI stores configuration in ~/.ochrc.

# View current configuration
och config list

# Set server URL
och config set serverUrl https://git.yourcompany.com

# Set default branch
och config set defaultBranch main

🎨 UI Features

  • ASCII Art Logos - Gradient-colored branding
  • Progress Indicators - GitHub-style object counting and compression
  • Upload Speeds - Real-time speed indicators
  • Colored Output - Green for success, red for errors, cyan for info
  • Spinners - Smooth animations for long operations
  • Boxed Messages - Beautiful bordered success/error boxes
  • Ref Updates - Color-coded branch update notifications

📦 What's New in v1.1.0

✨ Production-Grade UI Overhaul

  • GitHub-like progress indicators
  • Beautiful ASCII art and gradients
  • Real-time upload/download speeds
  • Professional boxed messages
  • Color-coded output throughout

🤝 Contributing

We welcome contributions! Please see our Contributing Guide.

# Clone the repo
git clone https://github.com/swadhinbiswas/OpencodeHub.git
cd OpenCodeHub/cli

# Install dependencies
npm install

# Build
npm run build

# Run in development
npm run dev

📝 License

MIT License - see LICENSE for details.

🔗 Links


Made with ❤️ by Swadhin Biswas