diff --git a/docs/codebase-summary.md b/docs/codebase-summary.md index df29f733..17ae9fca 100644 --- a/docs/codebase-summary.md +++ b/docs/codebase-summary.md @@ -1,6 +1,6 @@ # CCS Codebase Summary -Last Updated: 2026-03-17 +Last Updated: 2026-03-18 Comprehensive overview of the modularized CCS codebase structure following the Phase 9 modularization effort (Settings, Analytics, Auth Monitor splits + Test Infrastructure), v7.1 Remote CLIProxy feature, v7.2 Kiro + GitHub Copilot (ghcp) OAuth providers, v7.14 Hybrid Quota Management, v7.34 Image Analysis Hook, and account-context validation hardening. @@ -222,6 +222,13 @@ src/ - API route rejects `context_group`/`continuity_mode` when mode is not `shared` - registry normalization drops malformed persisted `context_group` values +### Shared Plugin Layout + +- Shared payload owner: `src/management/shared-manager.ts`. +- Profile entry point: `src/management/instance-manager.ts`. +- `plugins/marketplaces/`, `plugins/cache/`, and `installed_plugins.json` stay shared through the `~/.ccs/shared/` topology. +- `known_marketplaces.json` is now instance-local under `~/.ccs/instances//plugins/` so Claude Code validates `installLocation` against the active `CLAUDE_CONFIG_DIR` instead of a last-writer-wins shared file. + ### Target Adapter Module The targets module provides an extensible interface for dispatching profiles to different CLI implementations. diff --git a/docs/project-roadmap.md b/docs/project-roadmap.md index 347851b2..ebaef666 100644 --- a/docs/project-roadmap.md +++ b/docs/project-roadmap.md @@ -1,6 +1,6 @@ # CCS Project Roadmap -Last Updated: 2026-03-17 +Last Updated: 2026-03-18 Forward-looking roadmap documenting current priorities, GitHub issues, and future feature plans. @@ -41,6 +41,7 @@ All major modularization work is complete. The codebase evolved from monolithic ### Recent Fixes +- **2026-03-18**: **#755** Marketplace refresh no longer reuses one shared `known_marketplaces.json` across isolated instances. CCS now keeps marketplace payload directories shared while reconciling per-instance marketplace metadata so Claude Code validation succeeds for alternating or concurrent profiles, including Windows copy fallback. - **2026-03-17**: Deprecated user-facing GLMT discovery across CLI help, completions, presets, and docs. Existing `glmt` profiles now run through a compatibility path that normalizes legacy proxy settings to the direct GLM endpoint. - **#748**: API profile creation now keeps provider selection compact by collapsing advanced presets behind an explicit toggle, shrinking chooser cards so the form fields stay visually primary, and giving `llama.cpp` a dedicated provider logo. - **#744**: API profile creation now keeps featured providers in a horizontal rail with scroll fallback, moves Anthropic Direct API to the end, reuses the shared Claude logo, and separates the custom-endpoint entry point from advanced template discovery. diff --git a/docs/system-architecture/index.md b/docs/system-architecture/index.md index a13cd68e..7de060eb 100644 --- a/docs/system-architecture/index.md +++ b/docs/system-architecture/index.md @@ -1,6 +1,6 @@ # CCS System Architecture -Last Updated: 2026-03-02 +Last Updated: 2026-03-18 High-level architecture overview for the CCS (Claude Code Switch) system. @@ -233,12 +233,27 @@ For detailed provider flows (CLIProxyAPI, legacy GLMT compatibility, quota manag +---> commands/ # Claude Code commands +---> skills/ # Custom skills +---> agents/ # Agent configurations + +---> plugins/ + | + +---> cache/ # Shared plugin payload/cache data + +---> marketplaces/ # Shared marketplace payload directories + +---> installed_plugins.json + + ~/.ccs/instances// + | + +---> plugins/ + | + +---> known_marketplaces.json # Instance-local registry for active CLAUDE_CONFIG_DIR validation ~/.factory/ (Droid CLI) | +---> settings.json # Droid config (custom models) ``` +Plugin ownership note: +- `commands/`, `skills/`, `agents/`, and `settings.json` remain shared through the existing symlink/copy flow. +- Marketplace payload directories stay shared, but `known_marketplaces.json` is reconciled per instance so Claude Code can validate `installLocation` against that instance's `CLAUDE_CONFIG_DIR/plugins/marketplaces`. + ### Config Loading Order ```