Skip to content

Global Sources

0.5.0

Archcore now lets one project read another’s .archcore/ knowledge base as a read-only global source — share company-wide rules, platform conventions, or a monorepo root across repos without copying them.

Improvements

  • New globals array in .archcore/settings.json mounts external knowledge bases read-only. Each entry is { "id", "path" }; path points at the source’s .archcore directory and may be relative (including ../), absolute, or in-tree under the reserved .archcore/global/.
  • Global documents are surfaced through the MCP read tools (list_documents, search_documents, get_document) with source annotation — source_id, source_kind, read_only, global — so agents tell local from global content.
  • Read-only enforcement: create_document, update_document, remove_document, and add_relation reject global paths. Relations connect local documents only.
  • Local documents take precedence over a same-topic global; the scan surfaces both so the lineage stays visible.
  • Every declared global is mandatory — a missing source fails MCP startup fast (global source "<id>" not found … — clone it before starting the MCP server), and an invalid settings.json aborts startup rather than serving incomplete context.
  • Non-server surfaces never block a session: the session-start hook degrades to a local-only summary with a warning naming the missing source, and archcore status reports it as a visible failure while still running its local checks.
  • In-tree vendoring under .archcore/global/<id> is supported as the self-contained distribution form, and a monorepo root collapses into the same mechanism — local-to-itself, global to any sub-app that references it.

Misc

  • New end-to-end examples under examples/ covering single and multiple sources, in-tree globals, local overrides, and monorepo-root globals.

View on GitHub →