This repository provides a unified development workspace for Quartz v5 core, infrastructure packages, and first-party plugins. It is designed to clone the ecosystem into a single pnpm workspace so changes can be validated across repos without running a Quartz site.
- Node.js 22+
- pnpm 10+
- git
- Optional: Nix (for a fully reproducible environment)
git clone https://github.com/quartz-community/dev-mode.git
cd dev-mode
just setup # clones all repos, installs, buildsWith Nix:
nix develop # drops into shell with Node 22, pnpm, just, libvips
just setupTo build only what changed:
just build-affectedminimal: Core + infrastructure + essential transformerscontent-pipeline: All transformers and filtersui: All component pluginsfull(default): Everything
just setup minimal
just setup content-pipelinejust add-plugin graph # add a single plugin
just remove-plugin graph # remove a plugin
just sync # pull latest for all repos
just validate # check workspace integrity
just typecheck # cross-repo type checking
just test-plugin search # test a specific plugin
just build-plugin graph # build a specific plugin
just check # full suite: typecheck + lint + format + testRun just with no arguments to see all available commands.
- pnpm workspace:
repos/*is a single workspace. Shared dependencies are managed at the root. - Override hook:
.pnpmfile.cjsrewritesgithub:quartz-community/*toworkspace:*for local linking. - Turbo pipeline:
turbo.jsondefines build order and affected runs. The dependency graph is created byscripts/generate-turbo-graph.tsbased on plugin dependencies.
- No lockfile:
pnpm-lock.yamlis intentionally not committed. Each setup recreates it. - Install skips scripts:
.npmrcsetsignore-scripts=true. If a package needs a postinstall, add it toonlyBuiltDependenciesinpnpm-workspace.yaml. - Missing repos: Run
just setuporjust add-plugin <name>to clone required packages. - Manifest sync:
just sync-manifestrequiresghCLI andGITHUB_TOKEN. - just not found: Install via your system package manager or use the Nix flake (
nix develop).
See CLAUDE.md for workspace rules, constraints, and task flows.
MIT