Skip to main content
Artemis City contains a Python domain core, a FastAPI dashboard backend, a separate Express API, and individually packaged MCP adapters. Choose the receiving service before configuring credentials or following startup commands.
This map was reviewed against local working-tree source, including uncommitted changes, on October 3, 2026. Package scripts and the installation defects below describe that inspected working tree and can differ from the committed revision. Separate manifests identify ownership; some packages still depend on the root Python project or host runtime bindings. Their presence does not establish independently deployable services.

Project map

The root JavaScript workspace lists app/api and app/web/frontend. The Obsidian memory layer has its own manifest outside those two workspaces.

Request paths

The checked Vite development configuration forwards /api and /health to http://localhost:8000 without rewriting either prefix. That destination is FastAPI.
For example, the dashboard security page requests /api/mtls/status, /api/mtls/clients, and /api/mtls/handshakes from FastAPI. Express authentication and rate limits apply to its own mounted routes. Production routing must be configured and verified separately.

MCP package boundaries

There are six domain adapter packages, plus a separate Kernel prototype: common is a quarantined support package, not another server. A separate artemis-governance package was not present in the inspected tree. Memory, routing, and task adapters require authenticated host integration. See the memory MCP guide for its current fail-closed startup boundary. The Kernel prototype and Agent Studio JSON stores are not substitutes for the governed task service or canonical PostgreSQL memory ledger. The intended consolidation direction is individual interfaces backed by shared domain services, storage, and validation. Treat completion of that migration as a separate implementation milestone.

Manifests and commands

The root JavaScript manifest requires Node 24 or newer. The frontend’s current scripts also invoke Yarn. Check the selected checkout’s manifests and lockfiles before installing; package-manager requirements differ between components. The root commands delegate as follows: These commands do not start the entire platform. Python and MCP packages have their own dependency and runtime requirements. Each MCP package owns a pyproject.toml; the memory adapter still depends on the root artemis-city project. The October 3 local review found an invalid root Python manifest and missing npm lockfiles referenced by the install workflow. Installation and startup were not verified in this documentation review. Resolve those checkout defects before treating the command map as a successful setup recipe.

Configuration ownership

The root .env supplies local operator values. config/environment-contract.yaml defines generated service views, and setup_secrets.sh synchronizes them. See Secrets and environment setup. Use Environments for policy selection and the distinction between CI checks, branch promotion, and application deployment.
Last modified on July 15, 2026