How devartslab/universal-ai-config works
Universal AI Configuration is a Python CLI and library that consolidates AI-agent settings and shared resources across providers. The principal workflow is to initialize a user or project configuration, migrate existing provider data when present, then let provider integrations retrieve merged settings. Configuration merging, project-local overrides, MCP servers, skills, rules, and status/validation are also represented. The README documents additional migration coverage; sampled migration code is partial, so uncertain internal steps and wiring are omitted.
Main entry points: config.py Unified settings · cli.py CLI commands · migration.py Provider migrator · environment.py Environment paths
Components 10
Command interface
- CLI commands
universal_ai_config/cli.py
Configuration
- Environment paths
universal_ai_config/environment.py - Unified settings
universal_ai_config/config.py
Migration
- Provider migrator
universal_ai_config/migration.py
Project resources
- Project configuration
universal_ai_config/project.py
Other components
- Engineer
- Provider integration
- Legacy provider files
- Managed configuration files
- Skills and rules
Connections 15
- Engineer → CLI commands: runs commands
- CLI commands → Environment paths: resolves paths
- CLI commands → Unified settings: reads or updates
- CLI commands → Provider migrator: starts migration
- CLI commands → Managed configuration files: initializes project files
- Provider migrator → Legacy provider files: discovers and reads
- Provider migrator → Unified settings: imports settings
- Provider migrator → Skills and rules: copies resources
- Provider migrator → Environment paths: uses paths
- Unified settings → Environment paths: resolves storage
- Unified settings → Managed configuration files: loads and saves
- Provider integration → Unified settings: requests provider config
- Project configuration → Environment paths: finds project
- Project configuration → Managed configuration files: reads and writes project files
- Project configuration → Unified settings: uses merge and JSON helpers