directus-main — system architecture

Forty manifests done, three packages of forty carrying real source — foundation first.

Every workspace's package.json is migrated and resolves today — the layers below are the target shape, not a claim it already runs end-to-end. packages/* (32 of them) is the dependency floor everything else builds on, which is why real source landed there first, not in api or app . See Yarn Migration for how the manifest layer itself got here, and Package Manifests for every package's real one-line role.

Layers

Runtimes
api (Express/Knex) app (Vue 3) sdk (integrator client)
↓ depend on the foundation below via workspace:*
CLI
directus (source done, not runnable)
↓ imports @directus/api + @directus/update-check, both manifest-only
Foundation (32)
types (56 of 56 files, complete) schema (3 of 16 files) 30 other packages/*
↓ every layer above builds on this one
Tests (6 manifests)
blackbox (+2 fixtures) e2e mock-license-server sandbox
done in progress manifest only, no source yet

What's real today

Source done, not runnable

directus

  • 6 files: cli.js , version helpers, license, readme
  • Imports 2 manifest-only packages — fails on first run today
Complete, doesn't fully type-check

packages/types

  • 56 of 56 planned files, one commit each
  • Every file diffed byte-for-byte against upstream before landing
  • 3 cross-package dependencies (constants, schema, ai) still unresolved
In progress

packages/schema

  • 3 of 16 planned files, one commit each
  • Directly unblocks 2 of packages/types's 3 cross-package gaps once its own index.ts lands
Manifest only

Everything else

  • 30 other packages/* , sdk , api , app , all 4 tests/*
  • yarn install resolves them; no source on disk yet
i

Migration order is manifests-first, source-additive: nothing about the root config changes as more packages land real source, which is why packages/types could start without waiting on anything else. See Package Manifests for every one of the 40 workspace packages grouped by role, and Yarn Migration for the five real gaps found getting the manifest layer this far.