MetaProject (~/Code/_claude.MetaProject) is a lightweight cross-project coordination workspace. It exists for tasks that span multiple projects, multiple git repositories, or that involve changes to the projects themselves — i.e. work that sits outside the scope of any single project's intra-repository development.
The _projects/ subdirectory holds symlinks to the real working copies of every managed project. _projects/README.md is a generated index of those projects (descriptions, stacks, statuses, and cross-project relationships); regenerate it when symlinks are added/removed or a project's README changes materially.
This is not a build/application project — it has no application code, tests, or sprint pipeline of its own.
_claude.MetaProject/
├── CLAUDE.md # This file — coordination rules for AI agents
├── README.md # MetaProject overview
├── _projects/ # Editable symlinks to each managed repo + a generated index README
├── _REFERENCE/ # Canonical cross-venture knowledgebase (the manual proto-graph-DB):
│ # PROJECT-ORGANIZATION-MODEL.md, ULTIMATE_VISION/ briefs, SOFTWARE_DEV/ briefs, DOMAIN_* docs
├── _workflows/ # MetaProject's cross-venture reasoning workflows (+ README index/map)
├── _canonical/ # Canonical clean-project TEMPLATE + NEW_PROJECT_GUIDE.md — the single source for creating new repos
├── _backlog_TODOs/ # Cross-project deferred items (LATER-NNN) + the standing RESEARCH-BACKLOG.md
└── _skills/ # Git-tracked source skills that copy-deploy to ~/.claude/skills/ (e.g. research-pdf)
_REFERENCE/is the canonical cross-venture knowledgebase — the manual, markdown proto-version of the future KSVGPS business-side graph-DB. The structural model lives in_REFERENCE/PROJECT-ORGANIZATION-MODEL.md(ventures · Build Lines · Build Envelopes · Triangulation Targets · Product Version-Releases · the business/software-dev two-knowledgebase split). Per-venture briefs are two files: business-side under_REFERENCE/ULTIMATE_VISION/PRODUCTS/<Umbrella>/, engineering-side under_REFERENCE/SOFTWARE_DEV/._workflows/holds the cross-venture reasoning workflows — start at_workflows/README.md(the map). Current:workflow_new_venture_intro_brief.md(interview-as-you-draft a new venture) andworkflow_cross_venture_future_scenario.md(reason about a dated future across all ventures)._canonical/is the single source of truth for creating new project repos:project-template/(the always-clean blank repo — standardized layout + project-agnostic_workflows/+techstacks/+ placeholder docs) and_canonical/NEW_PROJECT_GUIDE.md(the how-to). New repos are created by instantiating this template and filling onePROJECT_IDENTITY.md, not by cloning a sibling. (Layout is v0, pending John+team finalization; the existing-repo cleanup is a deliberate manual, one-at-a-time pass — no automated sync.)_backlog_TODOs/RESEARCH-BACKLOG.mdis the standing list of cross-venture research topics — the destination for the[Backlog:RESEARCH]shorthand used in venture-brief answers.
- The
_projects/*symlinks are editable working copies of other git repositories — MetaProject's purpose includes changing the projects themselves. - Each symlinked project is its own git repo with its own conventions. Before changing files in one, read that project's own
CLAUDE.mdand follow its rules. - When a task changes files inside a symlinked project, commit those changes inside that sub-repo (not in MetaProject), following that project's git rules — including local-only-by-default and no Co-Authored-By lines.
- Keep MetaProject's own files (this
CLAUDE.md,README.md, the_projects/index) committed in the MetaProject repo.
MetaProject uses a lightweight flow — no sprint/phase pipeline, no sp_/xp_ execution-plan gate, no P{NN}-S{NN}-T{NN} commit prefixes, no per-task branch requirement. Plain descriptive commits directly on main are fine.
- Always commit locally after completing work. At the end of every task or logical unit of work, stage and commit all modified and new files with a descriptive message. Do NOT leave uncommitted changes.
- NEVER git push unless John explicitly asks. All commits are local-only by default.
- Never amend previous commits unless explicitly asked.
- Never force-push or use destructive git operations without explicit permission.
- No Co-Authored-By lines. Do not add
Co-Authored-Bytrailers to commit messages. The git author field is sufficient. - Cross-repo commits: when committing inside a symlinked project, follow that repo's git rules, not these.
- Don't duplicate subagent work. Don't redo (in the main thread or another agent) what a subagent has already been dispatched to do.
- Wait for subagents before acting on their topic. Let a dispatched subagent finish before taking dependent action on what it's investigating.
- Don't re-read files already in context. Reuse what's already been read this session.
- Stop and ask rather than guess-and-redo. When a requirement is unclear, ask John rather than guessing and risking rework.
- Always use Opus for research and analysis subagents. Never use Sonnet for research tasks (documented factual errors in prior projects).
No soft-wrapped lines in Markdown. Write prose with NO manual/soft line-wrapping inside paragraphs: each paragraph and each list item is ONE unbroken line that soft-wraps in the renderer. Insert a newline ONLY at real semantic boundaries — a blank line between paragraphs, list items, headings, table rows, and fenced code blocks. Do NOT hard-wrap prose at a fixed column width (e.g. ~80 cols). Rationale: a one-sentence edit changes one line rather than re-flowing a block, so diffs stay clean and reviewable, and the rendered output is identical either way. This applies to all reports, research analyses, specs, briefs, and docs (including subagent output) — across this MetaProject and every managed sub-repo. When editing an already-soft-wrapped doc, apply the rule to new/rewritten content; do not reflow the whole file as a side effect. Each managed repo should also carry this rule in its own CLAUDE.md so subagents scoped to that repo inherit it.
Diagrams: inline MermaidJS only (no ASCII-art companions). In research reports and analysis docs, author each diagram as a single inline ```mermaid fenced block — the canonical single source of truth. Do NOT also generate an ASCII-art rendering, a separate .txt companion file, or a dual-format caption linking both. Rationale: GitHub, the research-pdf skill's PDFs (which render mermaid to SVG offline), and Claude itself all read mermaid directly, so an ASCII companion is redundant maintenance that silently drifts; one representation keeps diffs clean and authoring cheap. Forward-only: leave existing docs as-is — do NOT rewrite past docs to strip their ASCII versions. (Decided 2026-06-16; retires the earlier ascii + mermaid + .txt convention, which was dropped once real-world usage showed these research docs aren't long-term reference archives. The external .mmd-file question is deferred.) This canonical convention lives here; per _backlog_TODOs/LATER-001 (cross-project propagation), per-repo CLAUDE.md copies inherit it as that process matures rather than via a manual fan-out across 20+ repos now.
Before answering any question, reason step by step. Many questions contain subtle constraints, hidden assumptions, or trick aspects that are invisible to surface-level pattern matching. Verify that the answer you are about to give is actually sensible given ALL the details in the question, not just the most salient one.