migrate mosaic home to xdg config path

This commit is contained in:
Jason Woltje
2026-02-17 14:12:02 -06:00
parent e16ff8af70
commit c7f363b2d2
60 changed files with 330 additions and 330 deletions

View File

@@ -1,6 +1,6 @@
# Mosaic Agent Framework
`~/.mosaic` is the universal userspace standards layer (master) for all agent runtimes.
`~/.config/mosaic` is the universal userspace standards layer (master) for all agent runtimes.
## Install Master Layer
@@ -13,15 +13,15 @@ bash ~/src/mosaic-bootstrap/install.sh
## What It Provides
- Shared standards document: `~/.mosaic/STANDARDS.md`
- Shared operational guides: `~/.mosaic/guides/`
- Shared quality rails/scripts: `~/.mosaic/rails/`
- Shared runtime-neutral presets/profiles: `~/.mosaic/profiles/`
- Runtime adapter docs: `~/.mosaic/adapters/`
- Runtime overlays: `~/.mosaic/runtime/`
- Shared wrapper commands: `~/.mosaic/bin/`
- Canonical skills directory: `~/.mosaic/skills`
- Local cross-runtime skills: `~/.mosaic/skills-local`
- Shared standards document: `~/.config/mosaic/STANDARDS.md`
- Shared operational guides: `~/.config/mosaic/guides/`
- Shared quality rails/scripts: `~/.config/mosaic/rails/`
- Shared runtime-neutral presets/profiles: `~/.config/mosaic/profiles/`
- Runtime adapter docs: `~/.config/mosaic/adapters/`
- Runtime overlays: `~/.config/mosaic/runtime/`
- Shared wrapper commands: `~/.config/mosaic/bin/`
- Canonical skills directory: `~/.config/mosaic/skills`
- Local cross-runtime skills: `~/.config/mosaic/skills-local`
## Universal Skills
@@ -31,7 +31,7 @@ The installer syncs skills from:
into:
- `~/.mosaic/skills`
- `~/.config/mosaic/skills`
Then links each skill into runtime directories:
@@ -39,51 +39,51 @@ Then links each skill into runtime directories:
- `~/.codex/skills`
- `~/.config/opencode/skills`
Local skills under `~/.mosaic/skills-local` are also linked into runtimes.
Local skills under `~/.config/mosaic/skills-local` are also linked into runtimes.
Manual commands:
```bash
~/.mosaic/bin/mosaic-sync-skills
~/.mosaic/bin/mosaic-sync-skills --link-only
~/.config/mosaic/bin/mosaic-sync-skills
~/.config/mosaic/bin/mosaic-sync-skills --link-only
```
## Runtime Compatibility Sync
Installer syncs runtime overlays as regular files (not symlinks):
- `~/.claude/{CLAUDE.md,settings.json,hooks-config.json,context7-integration.md}` <- `~/.mosaic/runtime/claude/...`
- `~/.config/opencode/AGENTS.md` <- `~/.mosaic/runtime/opencode/AGENTS.md`
- `~/.claude/{CLAUDE.md,settings.json,hooks-config.json,context7-integration.md}` <- `~/.config/mosaic/runtime/claude/...`
- `~/.config/opencode/AGENTS.md` <- `~/.config/mosaic/runtime/opencode/AGENTS.md`
Legacy symlink trees under `~/.claude` for migrated guides/scripts/templates/presets are pruned during sync.
Run manually:
```bash
~/.mosaic/bin/mosaic-link-runtime-assets
~/.mosaic/bin/mosaic-migrate-local-skills --apply
~/.config/mosaic/bin/mosaic-link-runtime-assets
~/.config/mosaic/bin/mosaic-migrate-local-skills --apply
```
Prune migrated legacy backups from runtime folders (dry-run by default):
```bash
~/.mosaic/bin/mosaic-prune-legacy-runtime --runtime claude
~/.mosaic/bin/mosaic-prune-legacy-runtime --runtime claude --apply
~/.config/mosaic/bin/mosaic-prune-legacy-runtime --runtime claude
~/.config/mosaic/bin/mosaic-prune-legacy-runtime --runtime claude --apply
```
Clean empty legacy runtime directories:
```bash
~/.mosaic/bin/mosaic-clean-runtime --runtime claude
~/.mosaic/bin/mosaic-clean-runtime --runtime claude --apply
~/.mosaic/bin/mosaic-clean-runtime --runtime claude --all-empty --apply
~/.config/mosaic/bin/mosaic-clean-runtime --runtime claude
~/.config/mosaic/bin/mosaic-clean-runtime --runtime claude --apply
~/.config/mosaic/bin/mosaic-clean-runtime --runtime claude --all-empty --apply
```
Audit runtime drift:
```bash
~/.mosaic/bin/mosaic-doctor
~/.mosaic/bin/mosaic-doctor --fail-on-warn
~/.config/mosaic/bin/mosaic-doctor
~/.config/mosaic/bin/mosaic-doctor --fail-on-warn
```
Opt-out during install:
@@ -97,9 +97,9 @@ MOSAIC_SKIP_SKILLS_SYNC=1 bash ~/src/mosaic-bootstrap/install.sh
Inside any compatible repository:
```bash
~/.mosaic/bin/mosaic-session-start
~/.mosaic/bin/mosaic-critical
~/.mosaic/bin/mosaic-session-end
~/.config/mosaic/bin/mosaic-session-start
~/.config/mosaic/bin/mosaic-critical
~/.config/mosaic/bin/mosaic-session-end
```
Wrapper commands call local repo scripts under `scripts/agent/`.
@@ -108,18 +108,18 @@ Wrapper commands call local repo scripts under `scripts/agent/`.
Mosaic includes vendored quality-rails templates and scripts at:
- `~/.mosaic/rails/quality/`
- `~/.config/mosaic/rails/quality/`
Apply to a repo:
```bash
~/.mosaic/bin/mosaic-quality-apply --template typescript-node --target /path/to/repo
~/.config/mosaic/bin/mosaic-quality-apply --template typescript-node --target /path/to/repo
```
Verify enforcement:
```bash
~/.mosaic/bin/mosaic-quality-verify --target /path/to/repo
~/.config/mosaic/bin/mosaic-quality-verify --target /path/to/repo
```
Templates currently supported:
@@ -132,16 +132,16 @@ Templates currently supported:
Mosaic includes a runtime-agnostic orchestrator rail at:
- `~/.mosaic/rails/orchestrator-matrix/`
- `~/.config/mosaic/rails/orchestrator-matrix/`
Run from a bootstrapped repo:
```bash
~/.mosaic/bin/mosaic-orchestrator-matrix-cycle
~/.mosaic/bin/mosaic-orchestrator-run --once
~/.mosaic/bin/mosaic-orchestrator-run --poll-sec 10
~/.mosaic/bin/mosaic-orchestrator-matrix-publish
~/.mosaic/bin/mosaic-orchestrator-matrix-consume
~/.config/mosaic/bin/mosaic-orchestrator-matrix-cycle
~/.config/mosaic/bin/mosaic-orchestrator-run --once
~/.config/mosaic/bin/mosaic-orchestrator-run --poll-sec 10
~/.config/mosaic/bin/mosaic-orchestrator-matrix-publish
~/.config/mosaic/bin/mosaic-orchestrator-matrix-consume
```
The controller reads/writes repo-local state in `.mosaic/orchestrator/` and emits
@@ -152,13 +152,13 @@ structured events to `.mosaic/orchestrator/events.ndjson` for Matrix bridge cons
Attach any repository/workspace to the master layer:
```bash
~/.mosaic/bin/mosaic-bootstrap-repo /path/to/repo
~/.config/mosaic/bin/mosaic-bootstrap-repo /path/to/repo
```
Attach and apply quality rails in one step:
```bash
~/.mosaic/bin/mosaic-bootstrap-repo --quality-template typescript-node /path/to/repo
~/.config/mosaic/bin/mosaic-bootstrap-repo --quality-template typescript-node /path/to/repo
```
This creates/updates:
@@ -172,11 +172,11 @@ This creates/updates:
Preview upgrades (dry-run):
```bash
~/.mosaic/bin/mosaic-upgrade-slaves
~/.config/mosaic/bin/mosaic-upgrade-slaves
```
Apply upgrades:
```bash
~/.mosaic/bin/mosaic-upgrade-slaves --apply
~/.config/mosaic/bin/mosaic-upgrade-slaves --apply
```