your-hub/
├── AGENTS.md ← the contract. One file, read first, never duplicated
├── CLAUDE.md ← a thin pointer to it. Never a copy
├── ADAPTER-PROMPT.md ← the seven activation steps, for a host with no agent format
├── .claude/agents/
│ └── hub-onboarding.md ← the same seven steps, dispatchable in Claude Code
├── global/ ← what you author; the pushed subset reaches repositories
│ ├── SUMMARY.md GUARDRAILS.md WORKFLOWS.md
│ ├── IDENTITY.md GOALS.md RESOURCES.md OWNERS.md
│ └── people/ agents/ skills/ shared/
├── projects/
│ └── <repo-id>/
│ ├── MARK.md ← remote, host, default branch, visibility, builders, links
│ ├── SUMMARY.md ← your summary of it, ≤ 150 words
│ ├── blueprint/
│ │ ├── EPIC.md ← authored here, pushed down, read-only there
│ │ └── ARCHITECTURE.md
│ └── pulled/ ← their records, stamped. Never edit; the next pull overwrites you
├── owners_window/ ← yours. Never pushed, never linted, never pulled into
├── registry.md ← every known repository, its mark, its last pull and push
├── guides/ ← six short guides, one question each
├── skills/ ← the init, pull and push commands
├── .project-hub.json ← the marker: schema, version, push allow-list, budgets
└── .obsidian/ ← configuration only. No plugin code