feat: add USER.md and TOOLS.md to bootstrap framework

Introduce user profile (USER.md) and machine tool reference (TOOLS.md)
as first-class framework files. Both ship as generic defaults and are
personalized via mosaic init.

- Add USER.md/TOOLS.md defaults and parameterized templates
- Update AGENTS.md load order (6 → 8 steps)
- Update SOUL.md: default name "Assistant", add trash/mental-notes guardrails
- Update install.sh: preserve USER.md/TOOLS.md on reinstall
- Update mosaic-init: interactive USER.md + TOOLS.md generation
- Update mosaic-doctor: existence checks for new files
- Update mosaic launcher: inject USER.md/TOOLS.md into runtime prompt
- Update README: architecture diagram, generic-repo policy note

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-21 11:36:16 -06:00
parent e3ec3e32e5
commit 9ccd13fae7
12 changed files with 454 additions and 30 deletions

View File

@@ -4,6 +4,8 @@ Universal agent standards layer for Claude Code, Codex, and OpenCode.
One config, every runtime, same standards.
> **This repository is a generic framework baseline.** No personal data, credentials, user-specific preferences, or machine-specific paths should be committed. All personalization happens at install time via `mosaic init` or by editing files in `~/.config/mosaic/` after installation.
## Quick Install
### Mac / Linux
@@ -42,7 +44,10 @@ After install, open a new terminal (or `source ~/.bashrc`) and run:
mosaic init
```
This generates `~/.config/mosaic/SOUL.md` — your agent identity contract. It's loaded into every session regardless of runtime.
This generates three files loaded into every agent session:
- `SOUL.md` — agent identity contract (name, style, guardrails)
- `USER.md` — your user profile (name, timezone, accessibility, preferences)
- `TOOLS.md` — machine-level tool reference (git providers, credentials, CLI patterns)
## Launching Agent Sessions
@@ -65,7 +70,9 @@ You can still launch runtimes directly (`claude`, `codex`, etc.) — thin runtim
```
~/.config/mosaic/
├── AGENTS.md ← THE source of truth (all standards, all runtimes)
├── SOUL.md ← User identity (generated by mosaic init)
├── SOUL.md ← Agent identity (generated by mosaic init)
├── USER.md ← User profile and accessibility (generated by mosaic init)
├── TOOLS.md ← Machine-level tool reference (generated by mosaic init)
├── STANDARDS.md ← Machine-wide standards
├── guides/E2E-DELIVERY.md ← Mandatory E2E software delivery procedure
├── guides/PRD.md ← Mandatory PRD requirements gate before coding
@@ -121,7 +128,7 @@ mosaic upgrade project ... # Project file cleanup mode (see below)
Upgrade the installed framework in place:
```bash
# Default (safe): keep local SOUL.md + memory
# Default (safe): keep local SOUL.md, USER.md, TOOLS.md + memory
mosaic upgrade
# Check current/target release info without changing files
@@ -245,7 +252,7 @@ cd ~/src/mosaic-bootstrap && git pull && bash install.sh
```
If an existing install is detected, the installer prompts for:
- `keep` (recommended): preserve local `SOUL.md` and `memory/`
- `keep` (recommended): preserve local `SOUL.md`, `USER.md`, `TOOLS.md`, and `memory/`
- `overwrite`: replace everything in `~/.config/mosaic`
Or use the one-liner again — it always pulls the latest: