Skip to content

Latest commit

 

History

139 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Directus

🗄️ Directus — The Collaborative Backend for Builders & AI

Check CodeQL

📜 View the portfolio page →

Last updated: August 20, 2026 (40/40 manifests migrated · 3 of 40 packages have real source — directus complete but not yet runnable, types complete (56 of 56 files), schema newly started (3 of 16 files) · 5 real gaps found and fixed, 1 tracked openly)

This is an independently maintained port of Directus's own monorepo — a real-time API/App dashboard that wraps any SQL database with REST and GraphQL APIs and a visual management Studio — migrated from pnpm to Yarn and rebuilt one package at a time, each file evaluated and upgraded against what's actually current rather than copied over wholesale.

Not a fork left as-is. Every pnpm-specific mechanism Yarn has no exact equivalent for got a real decision, tested against a real install — two of those first-pass decisions were wrong and got corrected properly rather than left standing. Two more real gaps turned up in Directus's own published source and tooling. All five are disclosed, not smoothed over — see the Yarn Migration diagram.

At a glance: 40/40 workspace manifests migrated, packages/types complete (56 of 56 files) and packages/schema started (3 of 16 files) — each file added one commit at a time and diffed byte-for-byte against upstream before landing — five real gaps found and fixed, and this repo's own status kept honest across five public surfaces — todo.md, architect.md, the profile README, the portfolio site, and the wiki — with a full drift sweep run periodically rather than assumed still accurate.

🧭 Start Here

  • System Architecture — the four-layer dependency shape (foundation → CLI → runtimes → tests) and exactly what's real today
  • Yarn Migration — the six pnpm mechanisms with no exact Yarn equivalent, five real gaps found and fixed, one still open
  • Package Manifests — all 40 workspace packages, grouped by role, each with a real one-line description
  • Known Gaps — CI, testing, and Docker gaps, stated plainly rather than buried in a table

The wiki goes deeper per completed piece of work, each page linking back to the real source rather than repeating it.

  • todo.md — the evidence-backed log of everything done and everything still open, with commit hashes. This is the source of truth for progress.
  • architect.md — how this repo is put together and why, verified against the real source rather than described generically.
  • GitHub Project board — a Scrum-style Backlog/In Progress/Done view of the same work, kept in sync with todo.md.
  • portfolio.html — this repo as a portfolio piece: real gaps found, real corrections made, and why, for anyone scanning it rather than reading it as documentation.
  • contributing.md — development setup and contribution principles.

🧭 Why This Matters

Moving a large monorepo off pnpm is a genuinely common, genuinely underrated engineering task — the kind of work that shows up in real migrations far more often than greenfield builds do. Directus's own monorepo (40 workspace packages, a 331-entry shared version catalog, 17 CI workflows, two Dockerfiles) made a useful subject precisely because pnpm has mechanisms Yarn has no exact equivalent for: catalog:, pnpm.overrides, a regex script-filter, pnpm deploy, pnpm fetch's layer-caching, and an onlyBuiltDependencies allowlist. Each one needed a real decision, verified against a real install or a real compiler run — not assumed correct because it looked reasonable.

🏗 What's Here So Far

Every workspace's package.json (40 of them) is migrated — yarn install resolves the full dependency graph today. directus (the CLI wrapper) has a complete source tree, though not yet a runnable one: cli.js imports @directus/update-check and dynamically imports @directus/api/cli/run.js, both still manifest-only. packages/types is complete — 56 of 56 files, added one file per commit and diffed byte-for-byte against upstream before landing — though it doesn't fully type-check yet: cross-package dependencies on @directus/constants and @directus/schema touch several of its files each, plus one more on @directus/ai. packages/schema is newly started (3 of 16 files), directly chipping away at two of those gaps. The other 37 workspace packages exist on disk as manifests only. See todo.md for the full build-out plan and the honest current state.

  packages/types/          shared TypeScript types                        ✅ 56 of 56 files
  packages/schema/         DB schema inspector                            🚧 3 of 16 files
  directus/                CLI wrapper (bin)                              ✅ source done, not yet runnable
  packages/ (30 others)    constants, utils, storage drivers…             ⬜ manifest only
  sdk/                     TypeScript client for integrators              ⬜ manifest only
  api/                     Express/Knex backend                           ⬜ manifest only
  app/                     Vue 3 Studio                                   ⬜ manifest only
  tests/                   blackbox (+2 fixtures), e2e, mock-license…     ⬜ manifest only

🖥 Getting Started

Not runnable end-to-end yetdirectus's own CLI can't execute until @directus/api and @directus/update-check have real source, and api/app are still manifests. See todo.md for the honest current state. What follows is prerequisite setup, useful today regardless of how much of the app exists.

  • Clone this repository: https://github.com/Terrence721/directus-main
  • Install Node.js 26 (pinned in package.json's engines.node) — Corepack isn't bundled in this Node build, confirmed locally, so run npm install -g corepack first, then corepack enable for Yarn 4.18.0
  • Install & start Docker Desktopdocker-compose.yml brings up every supported database backend (Postgres, MySQL, MariaDB, MSSQL, Oracle, CockroachDB) plus Redis and MinIO for the eventual test matrix

Installing dependencies

yarn install

Resolves the complete 43-manifest dependency graph today, even though most packages are source-empty — adding real source to each one is purely additive from here.

Building what exists today

yarn build

Scoped to --include directus in the root script — the only workspace with a build script and real source right now. That scope grows by name as each package lands real source, not all at once.

Contributing

For more information on contributing to this repo, read the contribution documentation and the Code of Conduct.

📄 License

Licensed under the Monospace Sustainable Core License (MSCL) 1.0 — see license for the full text.

Free for most builders. Organizations under $5M in annual revenue and 50 employees can use it for free.

Free Core Tier. A free tier is available to everyone to explore and build on without a commercial license.

Commercial License. Organizations above those thresholds using advanced or enterprise features require a commercial license.

Acknowledgment

Built from Directus's own monorepo, copyright Monospace Inc. — kept as-is in directus/license rather than reattributed. For the original, upstream-maintained version, see the source repo directly.

About

Directus is a real-time API and App dashboard for managing SQL database content

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages