No project description provided
Project description
Vexy Overnight Manager (vomgr)
A unified management tool for AI assistant CLIs (Claude, Codex, Gemini), providing streamlined launching, automated continuation workflows, and configuration synchronization.
Overview
Vexy Overnight Manager (vomgr) consolidates and simplifies the management of multiple AI assistant CLIs, replacing a collection of over-engineered legacy tools with a single, maintainable Python package. It handles:
- Unified Launching: Start Claude, Codex, or Gemini with consistent interfaces
- Automated Continuation: Smart session continuation when tasks complete
- Configuration Management: Safe editing of CLI configuration files
- Rules Synchronization: Keep instruction files (CLAUDE.md, AGENTS.md, etc.) in sync
- Tool Updates: Manage updates for all CLI tools from one place
Features
Core Commands
vomgr install- Set up continuation hooks and configurationsvomgr enable/disable <tool>- Toggle continuation automationvomgr run <tool>- Launch AI assistants with proper settingsvomgr rules- Synchronize instruction files across projectsvomgr update- Update CLI tools and the package itselfvomgr status- View current configuration state
Simplified Launchers
vocl- Launch Claude with optimized settingsvoco- Launch Codex with profile managementvoge- Launch Gemini with appropriate flags
Continuation Tools
vocl-go- Auto-continue Claude sessions (replaces 1500+ line claude4ever.py)voco-go- Auto-continue Codex sessions (replaces complex codex4ever.py)voge-go- Gemini continuation (when API available)
Installation
# Install from PyPI
pip install vexy-overnight
# Or with uv (recommended)
uv add vexy-overnight
# Install and configure
vomgr install
Quick Start
# Enable continuation for Claude
vomgr enable claude
# Launch Claude with continuation enabled
vocl
# Or
vomgr run claude
# Sync instruction files in current project
vomgr rules sync
# Update all CLI tools
vomgr update --cli
# Check status
vomgr status
Usage Examples
Managing Continuation Hooks
# Enable auto-continuation for Claude and Codex
vomgr enable claude
vomgr enable codex
# Disable continuation for specific tool
vomgr disable claude
# Check what's enabled
vomgr status
Instruction File Management
# Sync instruction files (CLAUDE.md, AGENTS.md, etc.) in current directory
vomgr rules sync
# Append text to all instruction files
vomgr rules append "Additional instructions here"
# Search in instruction files
vomgr rules search "pattern"
# Replace text across instruction files
vomgr rules replace "old text" "new text"
# Manage global instruction files in home directory
vomgr rules --global sync
Launching AI Assistants
# Direct launchers (installed as console scripts)
vocl # Launch Claude
voco -m gpt5 # Launch Codex with gpt5 profile
voge # Launch Gemini
# Via vomgr
vomgr run claude --cwd /path/to/project
vomgr run codex --profile o3
vomgr run gemini
Updates and Maintenance
# Check for updates
vomgr update --check
# Update CLI tools (claude, codex, gemini)
vomgr update --cli
# Update vexy-overnight itself
vomgr update --self
# Update everything
vomgr update --all
# Dry run (show what would be updated)
vomgr update --cli --dry-run
Architecture
Simplified Design
Unlike the legacy tools with 1500+ lines of complex async code, vexy-overnight:
- No iTerm2 dependency: Uses standard subprocess calls
- No TTS: Simple logging instead of speech synthesis
- No state machines: Straightforward procedural flow
- Minimal dependencies: Just essential packages
- Testable: Every component is unit-testable
- Maintainable: Clear, simple code under 200 lines per file
Configuration Safety
- Creates backups before any config modification
- Validates changes after editing
- Provides rollback on errors
- Preserves all existing user settings
- Uses proper JSON/TOML libraries (no regex hacks)
Migration from Legacy Tools
If you're using the old tools (claude4ever.py, codex4ever.py, etc.):
# Back up existing configurations
vomgr install --backup-legacy
# Migration automatically preserves your settings
vomgr install --migrate
# Old tools remain available until you're ready
# Both can coexist during transition
Development
This project uses modern Python packaging with uv:
# Clone repository
git clone https://github.com/vexyart/vexy-overnight
cd vexy-overnight
# Set up development environment
uv venv --python 3.12
uv sync
# Run tests
python -m pytest -xvs
# Run with coverage
python -m pytest --cov=src --cov-report=term-missing
# Type checking
uvx mypy src/
# Format code
uvx ruff format src/ tests/
Requirements
- Python 3.12+
- One or more AI CLI tools installed:
- Claude Code (
npm install -g @anthropic-ai/claude-code) - Codex (
brew install codexor from source) - Gemini CLI (
npm install -g @google/gemini-cli)
- Claude Code (
License
MIT License
Contributing
Contributions welcome! Please ensure:
- All tests pass
- 80%+ code coverage
- Type hints on all functions
- No functions over 20 lines
- No files over 200 lines
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vexy_overnight-1.0.7.tar.gz.
File metadata
- Download URL: vexy_overnight-1.0.7.tar.gz
- Upload date:
- Size: 9.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3fd06e1f752222189b8dd697d2c67bf83f71001d5e3557000481f4daaf1e908d
|
|
| MD5 |
ddb1b2b64ec35e911afc15578714bb4e
|
|
| BLAKE2b-256 |
c1be652b98474958a51cd5d3eb922c5b7cb7b9b324abc17c47ccad657f605181
|
File details
Details for the file vexy_overnight-1.0.7-py3-none-any.whl.
File metadata
- Download URL: vexy_overnight-1.0.7-py3-none-any.whl
- Upload date:
- Size: 22.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c0ceed327610f1bbb27ff3b1abe3c21e1b7c46fb0a710726b45d676661729328
|
|
| MD5 |
a66717b74e8e96456309f156692e00fc
|
|
| BLAKE2b-256 |
7fdf91173bba92acc38bc733fdea5ad127d1559bcaffe6d7eac6b8206cb50081
|