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
globalsarray in.archcore/settings.jsonmounts external knowledge bases read-only. Each entry is{ "id", "path" };pathpoints at the source’s.archcoredirectory 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, andadd_relationreject 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 invalidsettings.jsonaborts 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 statusreports 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.