Skip to content

jimmyliao/leapcode

Repository files navigation

LeapCode

Multi-AI Coding CLI Wrapper - Currently supports Gemini CLI (Claude Code & Codex planned)

Version License Node

English | 繁體中文


🚀 Quick Start

Installation

npm install -g @jimmyliao/leapcode

Usage

# Gemini CLI (✅ Available)
export GEMINI_API_KEY="your-api-key"
leapcode gemini

# Claude Code (📋 Planned)
# Coming soon...

# Codex (📋 Planned)
# Coming soon...

📖 What is LeapCode?

LeapCode wraps popular AI coding tools to provide unified interface and enhanced features.

Current Status:

  • Gemini CLI - Fully supported
  • 📋 Claude Code - Planned for future release
  • 📋 Codex - Planned for future release

Features:

  • Unified Interface: One CLI for all AI tools
  • I/O Interception: Capture and sync AI interactions
  • Offline First: Works without server connection
  • Optional Sync: Sync to mobile devices (optional)
  • End-to-End Encryption: Secure communication (when syncing)

🏗️ Architecture

LeapCode is a monorepo containing:

leapcode/
├── packages/
│   ├── cli/          📦 Main CLI (公開)
│   ├── core/         📦 Shared types and utilities (公開)
│   ├── sync/         📦 WebSocket sync client (私有)
│   └── server/       📦 Sync server (私有)
└── apps/
    └── mobile/       📱 Mobile app (未來)

Packages

Package Description Published
@jimmyliao/leapcode Main CLI package ✅ Public
@jimmyliao/leapcode-core Shared types & utilities ✅ Public
@jimmyliao/leapcode-sync WebSocket client ❌ Private
@jimmyliao/leapcode-server Sync server ❌ Private

💻 Development

Prerequisites

  • Node.js >= 18.0.0
  • npm >= 9.0.0

Setup

# Clone repository
git clone https://github.com/jimmyliao/leapcode.git
cd leapcode

# Install dependencies
npm install

# Build all packages
npm run build

Monorepo Structure

This project uses npm workspaces for monorepo management.

# Build all packages
npm run build

# Run tests
npm run test

# Lint code
npm run lint

# Clean build artifacts
npm run clean

Quick Start Script

# Start Gemini CLI
./quick-start.sh gemini

# Start Claude Code
./quick-start.sh claude

# Start Codex
./quick-start.sh codex

📚 Documentation


🔧 CLI Commands

# Start AI tool wrapper
leapcode <aiTool> [options]

Options:
  -s, --server <url>   LeapCode server URL
  --offline            Run without sync (default)
  --api-key <key>      AI API key
  -h, --help           Display help
  -V, --version        Display version

# Configuration management
leapcode config set <key> <value>
leapcode config get <key>
leapcode config list

🔐 Environment Variables

# AI API Keys
export GEMINI_API_KEY="your-gemini-api-key"  # ✅ Currently supported

# Planned for future releases:
# export ANTHROPIC_API_KEY="your-anthropic-api-key"  # 📋 Planned
# export OPENAI_API_KEY="your-openai-api-key"        # 📋 Planned

# Optional: Server URL
export LEAPCODE_SERVER="https://api.leapcode.dev"

📦 Publishing

Publish CLI to npm

# Dry run
npm publish -w @jimmyliao/leapcode --dry-run

# Publish
npm publish -w @jimmyliao/leapcode --access public

Publish Core to npm

npm publish -w @jimmyliao/leapcode-core --access public

🤝 Contributing

Contributions are welcome! Please read our contributing guidelines before submitting PRs.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📄 License

MIT License - see LICENSE file for details


👤 Author

Jimmy Liao [email protected]


🙏 Acknowledgments

  • Inspired by Happy Coder
  • Built for the AI coding community

LeapCode v0.2.0 - Making AI coding tools accessible everywhere! 🚀

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •