Commit 65472e4
007 sync ai config tui (#16)
* feat(sync-config-ai): add AI config sync TUI command (spec 007)
Introduces `dvmi sync-config-ai` — an interactive full-screen TUI for
managing AI coding tool configurations (MCP servers, commands, skills,
agents) across VS Code Copilot, Claude Code, OpenCode, Gemini CLI, and
GitHub Copilot CLI from a single place.
Key capabilities:
- Filesystem scan on every launch detects installed AI tools (project +
global paths, including ~/.config/opencode/ for globally installed OpenCode)
- 5-tab TUI: Environments (read-only) + dedicated tab per category type
(MCPs | Commands | Skills | Agents) — each tab shows only its entries
- Inline forms with type-specific fields and a mini text editor for
multi-line content; Environments multi-select filtered to compatible
tools per compatibility matrix
- Full CRUD: create, edit, deactivate/activate, delete with confirmation
- Entries persist in ~/.config/dvmi/ai-config.json and are deployed to
target environment config files on save
- Chezmoi integration: auto-syncs AI config after mutations if configured;
shows setup tip in footer otherwise
- --json flag for non-interactive/CI use
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* chore(release): sync version to 1.5.0
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* refactor: apply consistent code style across codebase
Format all source and test files with Prettier (space-free destructuring,
consistent import spacing). Add project-level Claude Code slash commands
under .claude/commands/ for speckit workflow integration.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* chore: exclude .claude/ from version control
Add .claude/ to .gitignore and remove tracked files — project-level
Claude Code commands and memory are local-only artifacts.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* docs(changelog): rewrite with accurate release history for devvami
Replace stale content (old repo references, incorrect versions) with
the actual release history from v1.0.0 to v1.4.2, plus an [Unreleased]
section documenting the sync-config-ai feature landing in v1.5.0.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* docs(changelog): move sync-config-ai to v1.5.0 release section
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* docs(readme): add missing commands to Commands section [skip ci]
Added dotfiles, prompts, vuln, logs, security, sync-config-ai, and welcome
commands that existed in src/ but were not documented in the README.
Also updated the "What It Does" feature table to reflect the full feature set.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix(sync-config-ai): extend TUI to 10 envs, 5 categories, native entries, drift detection
- Add 5 new AI environments: Cursor, Windsurf, Continue.dev, Zed, Amazon Q
- Add Rules category (5th type) with MDC/markdown deployment support
- Add native entry parsing — show unmanaged items in read-only Native section
- Add drift detection with re-deploy/accept-changes resolution UI
- Add env var masking for MCP entries with r to reveal, i to import native
- Wire chezmoi sync after every store mutation
- Bump schema to v2 with migration, expand --json output
- Bump version to 1.5.1
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* docs(changelog,readme): update for v1.5.1 sync-config-ai extension
- Add v1.5.1 changelog entry with new environments, categories, native entries, drift detection
- Update README sync-config-ai section with 10 envs, TUI sections, key bindings, --json flag
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat(sync-config-ai): dynamic MCP form, env vars, type fix, args/env serialization (v1.5.2)
- Dynamic form fields based on transport type (stdio shows Command/Args, sse/http shows URL)
- Env vars editor field (KEY=VALUE per line) for MCP servers
- Transport-specific validation (stdio requires Command, sse/http requires URL)
- Args as multi-line editor (one per line) instead of space-separated text
- Fix params pollution: name/environments/description no longer leak into MCPParams
- Fix type field: omit type for stdio (environments infer from command)
- Fix env/args serialization: always write as object/array, not strings
- Normalize legacy string args/env from older store entries
- Align drift detection with deployer output for stdio type omission
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>1 parent e832893 commit 65472e4
0 file changed
0 commit comments