{"id":49979423,"url":"https://github.com/ryo-arima/vem","last_synced_at":"2026-05-18T14:31:24.214Z","repository":{"id":319369718,"uuid":"1078509678","full_name":"ryo-arima/vem","owner":"ryo-arima","description":"VEM is a command-line tool written in Rust for efficiently managing multiple Vim environments. Switch between different .vim configurations easily based on your needs and preferences.","archived":false,"fork":false,"pushed_at":"2025-10-26T13:04:47.000Z","size":202,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-26T15:04:30.651Z","etag":null,"topics":["vim","vimrc"],"latest_commit_sha":null,"homepage":"https://ryo-arima.github.io/vem/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ryo-arima.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-17T21:13:25.000Z","updated_at":"2025-10-26T13:02:45.000Z","dependencies_parsed_at":"2025-10-18T23:03:25.461Z","dependency_job_id":"89880f6a-9a71-4105-b146-5f734b65bd59","html_url":"https://github.com/ryo-arima/vem","commit_stats":null,"previous_names":["ryo-arima/vem"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/ryo-arima/vem","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryo-arima%2Fvem","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryo-arima%2Fvem/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryo-arima%2Fvem/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryo-arima%2Fvem/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ryo-arima","download_url":"https://codeload.github.com/ryo-arima/vem/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryo-arima%2Fvem/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33180952,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-18T09:27:30.708Z","status":"ssl_error","status_checked_at":"2026-05-18T09:27:28.300Z","response_time":71,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["vim","vimrc"],"created_at":"2026-05-18T14:31:22.856Z","updated_at":"2026-05-18T14:31:24.206Z","avatar_url":"https://github.com/ryo-arima.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VEM (Vim Environment Manager)\n\n\u003e [!WARNING]\n\u003e **🚧 UNDER DEVELOPMENT 🚧**\n\u003e \n\u003e This project is currently in active development and is not yet ready for production use.\n\u003e Features, APIs, and commands may change without notice.\n\nVEM is a command-line tool written in Rust for efficiently managing multiple Vim environments. Switch between different `.vim` configurations easily based on your needs and preferences.\n\n## Special Thanks\n\nVEM aims to integrate with various amazing tools and plugins in the Vim/Neovim ecosystem. We would like to express our gratitude to the following projects:\n\n### Plugin Managers\n- [vim-plug](https://github.com/junegunn/vim-plug) - Minimalist Vim Plugin Manager\n- [packer.nvim](https://github.com/wbthomason/packer.nvim) - A use-package inspired plugin manager for Neovim\n- [lazy.nvim](https://github.com/folke/lazy.nvim) - Modern plugin manager for Neovim\n- [dein.vim](https://github.com/Shougo/dein.vim) - Dark powered Vim/Neovim plugin manager\n- [paq-nvim](https://github.com/savq/paq-nvim) - Neovim package manager\n- [jetpack.vim](https://github.com/tani/vim-jetpack) - Lightning-fast plugin manager for Vim/Neovim\n\n### AI Tools\n- [GitHub Copilot](https://github.com/features/copilot) - AI pair programmer\n- [ChatGPT](https://chat.openai.com/) - Conversational AI assistant\n- [Codeium](https://codeium.com/) - Free AI code completion tool\n- [Tabnine](https://www.tabnine.com/) - AI code completion assistant\n- [Amazon CodeWhisperer](https://aws.amazon.com/codewhisperer/) - AI-powered code suggestions\n- [Claude Code](https://claude.ai/) - Anthropic's AI assistant\n- [Gemini Code Assist](https://cloud.google.com/gemini/docs/codeassist/overview) - Google's AI coding assistant\n- [Cursor](https://cursor.sh/) - AI-powered code editor\n- [Continue](https://continue.dev/) - Open-source AI code assistant\n- [Aider](https://aider.chat/) - AI pair programming in terminal\n- [Sourcegraph Cody](https://sourcegraph.com/cody) - AI coding assistant\n\n### Color Schemes\n- [Gruvbox](https://github.com/morhetz/gruvbox) - Retro groove color scheme\n- [Nord](https://www.nordtheme.com/) - Arctic, north-bluish color palette\n- [Dracula](https://draculatheme.com/) - Dark theme for many applications\n- [TokyoNight](https://github.com/folke/tokyonight.nvim) - Clean, dark Neovim theme\n- [Catppuccin](https://github.com/catppuccin/catppuccin) - Soothing pastel theme\n- [OneDark](https://github.com/joshdick/onedark.vim) - Atom's iconic One Dark theme\n- [Solarized](https://ethanschoonover.com/solarized/) - Precision colors for machines and people\n- [Monokai](https://monokai.pro/) - Iconic color scheme for developers\n\n### Development Tools\n- [Exuberant Ctags](https://ctags.sourceforge.net/) - Programming language indexing tool\n- [Universal Ctags](https://ctags.io/) - Modern maintained version of Ctags\n- [LSP (Language Server Protocol)](https://microsoft.github.io/language-server-protocol/) - Language intelligence protocol\n- [CoC.nvim](https://github.com/neoclide/coc.nvim) - Intellisense engine for Vim/Neovim\n\nAnd many more themes and plugins that enhance the Vim/Neovim experience!\n\n## Features\n\n- 🚀 **Fast**: Lightweight and fast environment switching powered by Rust\n- 🔧 **Flexible**: Manage multiple Vim configuration profiles with TOML-based configuration\n- 📁 **Organized**: Keep each environment isolated to prevent configuration conflicts\n- 🎯 **Simple**: Intuitive command-line interface with comprehensive ctags management\n- 🤖 **AI-Enhanced**: Built-in support for AI coding assistants (GitHub Copilot, ChatGPT, Codeium)\n- 🔌 **Plugin Management**: Support for multiple plugin managers (vim-plug, lazy.nvim, packer, etc.)\n- 🏷️ **Smart Tagging**: Advanced ctags management with multi-repository support\n- 🌈 **Theme Support**: Extensive color scheme and theme management\n- 🔍 **Multi-Repository**: Cross-repository code navigation and tagging\n\n## Documentation\n\n📖 **[Read the full documentation](https://ryo-arima.github.io/vem/)**\n\n### Getting Started\n- [Quick Start Guide](https://ryo-arima.github.io/vem/quick-start.html) - Get up and running in 5 minutes\n- [Installation Instructions](https://ryo-arima.github.io/vem/installation.html) - Platform-specific installation guides\n\n### User Guides  \n- [Environment Management](https://ryo-arima.github.io/vem/environment-structure.html) - Managing Vim/Neovim environments\n- [Command Reference](https://ryo-arima.github.io/vem/commands.html) - Complete command documentation\n- [Configuration Guide](https://ryo-arima.github.io/vem/configuration.html) - TOML configuration reference\n- [Ctags Management](https://ryo-arima.github.io/vem/commands/ctags.html) - Advanced ctags features\n\n### Advanced Topics\n- [AI Integration Guide](https://ryo-arima.github.io/vem/ai-integration.html) - Setting up AI coding assistants\n- [Multi-Repository Setup](https://ryo-arima.github.io/vem/multi-repo.html) - Managing multiple codebases\n- [Plugin Manager Guide](https://ryo-arima.github.io/vem/plugin-managers.html) - Using different plugin managers\n\n### Developer Resources\n- [Architecture Overview](https://ryo-arima.github.io/vem/architecture.html) - Technical architecture details\n- [Contributing Guide](https://ryo-arima.github.io/vem/contributing.html) - How to contribute to VEM\n- [API Reference](https://ryo-arima.github.io/vem/api.html) - Internal API documentation\n\n## Installation\n\n### From Pre-built Packages\n\nDownload the latest release from [GitHub Releases](https://github.com/ryo-arima/vem/releases).\n\nPackage names follow the format: `vem-\u003cversion\u003e-\u003cdate\u003e-\u003carch\u003e.\u003cext\u003e`\n- Example: `vem-0.1.0-20251020-amd64.deb`\n- Date is in UTC format (YYYYMMDD)\n\n**Note:** Replace the package names below with the actual latest version from the [Releases page](https://github.com/ryo-arima/vem/releases/latest).\n\n#### Debian/Ubuntu (deb)\n\n```bash\n# Check the latest release and download the appropriate package for your architecture\n# For amd64:\nwget https://github.com/ryo-arima/vem/releases/download/latest/vem_0.1.0-20251020_amd64.deb\nsudo dpkg -i vem_0.1.0-20251020_amd64.deb\n\n# For arm64:\nwget https://github.com/ryo-arima/vem/releases/download/latest/vem_0.1.0-20251020_arm64.deb\nsudo dpkg -i vem_0.1.0-20251020_arm64.deb\n```\n\n#### Red Hat/Fedora/CentOS (rpm)\n\n```bash\n# Check the latest release and download the appropriate package for your architecture\n# For x86_64:\nwget https://github.com/ryo-arima/vem/releases/download/latest/vem-0.1.0-20251020.x86_64.rpm\nsudo rpm -i vem-0.1.0-20251020.x86_64.rpm\n\n# For aarch64:\nwget https://github.com/ryo-arima/vem/releases/download/latest/vem-0.1.0-20251020.aarch64.rpm\nsudo rpm -i vem-0.1.0-20251020.aarch64.rpm\n```\n\n#### macOS (Homebrew)\n\n```bash\n# Download the Homebrew formula from the release\nwget https://github.com/ryo-arima/vem/releases/download/latest/vem.rb\nbrew install ./vem.rb\n```\n\n#### Binary Archives (tar.gz/zip)\n\n```bash\n# Linux x86_64\nwget https://github.com/ryo-arima/vem/releases/download/latest/vem-0.1.0-20251020-x86_64.tar.gz\ntar -xzf vem-0.1.0-20251020-x86_64.tar.gz\nsudo mv vem/vem /usr/local/bin/\n\n# Linux aarch64\nwget https://github.com/ryo-arima/vem/releases/download/latest/vem-0.1.0-20251020-aarch64.tar.gz\ntar -xzf vem-0.1.0-20251020-aarch64.tar.gz\nsudo mv vem/vem /usr/local/bin/\n\n# macOS x86_64 (Intel)\nwget https://github.com/ryo-arima/vem/releases/download/latest/vem-0.1.0-20251020-x86_64.tar.gz\ntar -xzf vem-0.1.0-20251020-x86_64.tar.gz\nsudo mv vem/vem /usr/local/bin/\n\n# macOS arm64 (Apple Silicon)\nwget https://github.com/ryo-arima/vem/releases/download/latest/vem-0.1.0-20251020-arm64.tar.gz\ntar -xzf vem-0.1.0-20251020-arm64.tar.gz\nsudo mv vem/vem /usr/local/bin/\n```\n\n### Using Cargo\n\n```bash\ncargo install vem\n```\n\n### Build from Source\n\n```bash\ngit clone https://github.com/ryo-arima/vem.git\ncd vem\ncargo build --release\nsudo cp target/release/vem /usr/local/bin/\n```\n\n## Usage\n\n### Environment Management\n\n```bash\n# Create a new environment\nvem create \u003cenvironment-name\u003e\n\n# List all environments\nvem list\n\n# Switch to an environment\nvem switch \u003cenvironment-name\u003e\n\n# Show current environment\nvem current\n\n# Remove an environment\nvem remove \u003cenvironment-name\u003e\n```\n\n### Ctags Management\n\nVEM provides powerful ctags management for efficient code navigation across multiple repositories:\n\n```bash\n# Generate ctags for a repository\nvem generate ctags \u003crepository\u003e [options]\n\n# Update existing ctags\nvem update ctags \u003crepository\u003e [options]\n\n# Delete ctags for a repository\nvem delete ctags \u003crepository\u003e [options]\n\n# List all ctags\nvem list ctags\n\n# Clean all ctags files\nvem clean ctags\n```\n\n### Examples\n\n#### Basic Environment Setup\n```bash\n# Create a development environment\nvem create development\n\n# Create an AI-enhanced environment\nvem create ai-development\n\n# List all environments\nvem list\n# basic-vim\n# developer-vim  \n# modern-nvim\n# ai-development\n\n# Switch to AI development environment\nvem switch ai-development\n\n# Check current environment\nvem current\n# ai-development\n```\n\n#### Advanced Ctags Usage\n```bash\n# Generate ctags for main project\nvem generate ctags main_project\n\n# Generate ctags for ML models with AI enhancement\nvem generate ctags ml_models --ai-enhance\n\n# Update shared libraries ctags\nvem update ctags shared_libs --languages=python,rust\n\n# List all ctags with status\nvem list ctags\n# Name            Repository   Tag File           Size    Status\n# ai_comprehensive ml_models   ai_comprehensive   2.1MB   Active\n# copilot_enhanced ai_project  copilot_enhanced   1.8MB   Active\n\n# Clean all ctags files (with backup)\nvem clean ctags\n```\n\n## Sample Environments\n\nVEM comes with pre-configured sample environments to get you started quickly:\n\n### 📝 **basic-vim**\n- **Purpose**: Minimal Vim setup for beginners\n- **Features**: Essential settings, syntax highlighting, line numbers\n- **Plugin Manager**: None (pure Vim)\n- **Best For**: Learning Vim, lightweight editing\n\n### 🛠️ **developer-vim** \n- **Purpose**: Professional development environment\n- **Features**: vim-plug, NERDTree, FZF, CoC.nvim, Git integration\n- **Plugin Manager**: vim-plug\n- **Theme**: Gruvbox\n- **Ctags**: Multi-repository support with shared libraries\n- **Best For**: Serious development work\n\n### 🚀 **modern-nvim**\n- **Purpose**: Modern Neovim with LSP and Treesitter\n- **Features**: lazy.nvim, Neo-tree, Telescope, Mason LSP, completion\n- **Plugin Manager**: lazy.nvim\n- **Theme**: TokyoNight\n- **Ctags**: Workspace-focused with LSP integration\n- **Best For**: Modern development workflow\n\n### 🤖 **ai-development**\n- **Purpose**: AI-enhanced development environment\n- **Features**: GitHub Copilot, ChatGPT, Codeium, comprehensive LSP\n- **Plugin Manager**: lazy.nvim\n- **Theme**: Catppuccin\n- **Ctags**: AI-optimized cross-repository tagging\n- **Best For**: AI-assisted coding, ML/Data Science\n\nEach environment is fully configured and ready to use with its own `vem.toml` configuration file.\n\n## Configuration Structure\n\nVEM uses a sophisticated configuration system based on TOML files:\n\n```\netc/.vem/\n├── envs/                          # Environment configurations\n│   ├── basic-vim/\n│   │   ├── vimrc                  # Vim configuration\n│   │   └── vem.toml              # Environment settings\n│   ├── developer-vim/\n│   │   ├── vimrc\n│   │   └── vem.toml\n│   ├── modern-nvim/\n│   │   ├── init.lua              # Neovim configuration\n│   │   ├── lua/plugins/\n│   │   └── vem.toml\n│   └── ai-development/\n│       ├── init.lua\n│       └── vem.toml\n└── global/                       # Shared configurations\n    ├── vim/                      # Global Vim settings\n    ├── nvim/                     # Global Neovim settings\n    ├── scripts/                  # Shared VimScript functions\n    ├── themes/                   # Color schemes\n    └── ai-tools/                 # AI tool configurations\n```\n\n### vem.toml Configuration\n\nEach environment's `vem.toml` file contains:\n\n- **Environment metadata** (name, description, type)\n- **Plugin manager selection** (vim-plug, lazy.nvim, packer, etc.)\n- **Package management** with dependency tracking\n- **Ctags configuration** with multi-repository support  \n- **Theme and UI settings**\n- **Keymapping definitions**\n- **LSP and AI tool integrations**\n\n## Advanced Features\n\n### 🏷️ Multi-Repository Ctags Management\n\nVEM provides sophisticated ctags management across multiple repositories:\n\n- **Cross-Repository Navigation**: Generate unified tags across related projects\n- **Smart Filtering**: AI-enhanced tag relevance and filtering\n- **Repository Sync**: Automatic synchronization of external repositories\n- **Context-Aware Tagging**: Different tag configurations for different purposes\n\n### 🤖 AI Integration\n\nBuilt-in support for modern AI coding assistants:\n\n- **GitHub Copilot**: Native integration with enhanced context\n- **ChatGPT**: Direct access to conversational AI assistance\n- **Codeium**: Free alternative with smart completion\n- **Context Enhancement**: AI tools receive rich context from ctags\n\n### 🔌 Plugin Manager Ecosystem\n\nSupport for all major Vim/Neovim plugin managers:\n\n- **Vim**: vim-plug, pathogen, vundle, dein\n- **Neovim**: lazy.nvim, packer.nvim, paq-nvim\n- **Auto-Configuration**: Automatic plugin installation and updates\n- **Dependency Management**: Smart package dependency resolution\n\n### 🌈 Theme Management\n\nComprehensive color scheme and theme support:\n\n- **30+ Built-in Themes**: Gruvbox, Nord, Dracula, TokyoNight, Catppuccin, etc.\n- **Environment-Specific**: Different themes for different purposes\n- **Plugin Integration**: Automatic theme configuration for status lines and UI\n\n## Project Architecture\n\nVEM follows a modular architecture with clear separation of concerns:\n\n### Core Modules\n\n```\nsrc/\n├── main.rs          # Application entry point\n├── cnf/             # Configuration management\n├── ctl/             # Control layer (commands and CLI)\n├── ent/             # Entity definitions (data models)\n├── rep/             # Repository layer (data persistence)\n└── usc/             # Use case layer (business logic)\n```\n\n### Architecture Overview\n\n- **Configuration (`cnf`)**: Handles application settings and environment configurations\n- **Control (`ctl`)**: Command-line interface and user interaction handling\n- **Entity (`ent`)**: Core data structures and domain models\n- **Repository (`rep`)**: Data storage and retrieval operations\n- **Use Case (`usc`)**: Business logic and application workflows\n\nThis layered architecture ensures:\n- Clear separation of concerns\n- Easy testing and maintenance\n- Scalable codebase structure\n- Clean dependency management\n\n## Development\n\n### Prerequisites\n\n- Rust 1.70 or higher (nightly toolchain recommended for development)\n- Git\n\n### Project Structure\n\n```\nvem/\n├── docs/                # Documentation (mdBook)\n│   ├── src/            # Documentation source\n│   ├── book.toml       # mdBook configuration\n│   └── book/           # Generated documentation (ignored)\n├── scripts/             # Packaging and release scripts\n│   ├── main.sh         # Main packaging script entry point\n│   └── packages/       # Package format specific scripts\n│       ├── apt/        # Debian package scripts\n│       ├── rpm/        # RPM package scripts\n│       ├── brew/       # Homebrew formula scripts\n│       └── common/     # Shared utilities\n├── src/                 # Source code\n│   ├── cnf/            # Configuration layer\n│   ├── ctl/            # Control layer\n│   ├── ent/            # Entity layer\n│   ├── rep/            # Repository layer\n│   ├── usc/            # Use case layer\n│   ├── util/           # Utility modules\n│   └── main.rs         # Entry point\n├── .github/             # GitHub Actions workflows\n│   └── workflows/      # CI/CD pipelines\n├── Cargo.toml          # Project configuration\n├── Cargo.lock          # Dependency lock file\n├── rustfmt.toml        # Rust formatter configuration\n└── README.md           # Project documentation\n```\n\n### Setup\n\n```bash\ngit clone https://github.com/ryo-arima/vem.git\ncd vem\ncargo build\n```\n\n### Running Tests\n\n```bash\ncargo test\n```\n\n### Code Formatting\n\nThis project uses nightly rustfmt with custom configurations:\n\n```bash\n# Install nightly toolchain\nrustup toolchain install nightly\n\n# Format code\ncargo +nightly fmt\n\n# Check formatting\ncargo +nightly fmt --check\n```\n\n### Building Packages\n\nTo build distribution packages locally:\n\n```bash\n# Build all packages (Linux only)\nbash scripts/main.sh all\n\n# Build specific package types\nbash scripts/main.sh apt    # Debian packages\nbash scripts/main.sh rpm    # RPM packages\nbash scripts/main.sh dist   # tar.gz and zip archives\nbash scripts/main.sh brew   # Homebrew formula\n```\n\n## License\n\nMIT License\n\n## Contributing\n\nPull requests and issue reports are welcome!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryo-arima%2Fvem","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fryo-arima%2Fvem","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryo-arima%2Fvem/lists"}