adi-cli, rust, plugin-manager, plugin-registry, cross-platform
- ADI CLI Manager - installs and manages plugins from registry
- Binary name:
adi(run asadi <command>) - Plugin registry: https://adi-plugin-registry.the-ihor.com
- License: BSL-1.0
adi search <query>- Search plugins/packages in registryadi plugin list- List all available plugins from registryadi plugin installed- List installed pluginsadi plugin install <plugin-id>- Install a pluginadi plugin update <plugin-id>- Update a pluginadi plugin update-all- Update all installed pluginsadi plugin uninstall <plugin-id>- Uninstall a pluginadi services- List registered services from loaded pluginsadi run [plugin-id]- Run a plugin's CLI interface (lists runnable plugins if omitted)adi self-update- Update adi CLI itselfadi config- Interactive config editor (TTY) or show config (non-TTY)adi config show- Show current configurationadi config power-user <true|false>- Enable or disable power user mode
- Plugin-based system using dynamic libraries (cdylib)
- Plugin loading via
lib-plugin-hostcrate - Service registry for inter-plugin communication (JSON-RPC)
- CLI delegates to
adi.cli.commandsservices - Plugins install to
~/.local/share/adi/plugins/
src/plugin_runtime.rs- PluginRuntime wrapping PluginHostsrc/plugin_registry.rs- Plugin download/management
- First launch in interactive session prompts for preferred language
- Non-interactive sessions use defaults until preference set
- Language preference stored in
~/.config/adi/config.toml - Available languages: English, 中文, Українська, Español, Français, Deutsch, 日本語, 한국語
- Auto-install: Missing language plugins are automatically installed from registry
--langCLI flag (highest priority)ADI_LANGenvironment variable- Saved user preference in config file
- System
LANGenvironment variable - Interactive prompt on first run (if TTY)
- Default to
en-US
- Location:
~/.config/adi/config.toml - Format: TOML with user preferences (language, theme, power_user)
- Auto-created on first interactive run when language is selected
- Enables advanced features and verbose output
- Set via:
adi config power-user trueorADI_POWER_USER=true - Check with:
cli::clienv::is_power_user()(env var > config > default false)
ADI_REGISTRY_URL- Override default plugin registry URLADI_LANG- Set language (e.g.,en-US,zh-CN,uk-UA)ADI_POWER_USER- Enable power user mode (true/false)
- Cross-platform: macOS (Intel/ARM), Linux (x86_64), Windows (x86_64)