Skip to content

Development commands

Run these commands from the repository root after pnpm install --frozen-lockfile. Public packages live under packages/*; Storybook apps, shared tooling, corpus and benchmark workspaces are private. Scripts are grouped by purpose in the root package.json.

CommandScope and prerequisites
pnpm storybookStart React, Vue and the composition entry using workspace source. No package build required.
pnpm storybook:react / pnpm storybook:vueStart one renderer catalog.
pnpm buildBuild all six public packages and execute their distribution assertions. Excludes Storybook and benchmark applications.
pnpm lint / pnpm lint:fixCheck ESLint rules / apply available fixes.
pnpm format:check / pnpm formatCheck formatting / rewrite files with Prettier.
pnpm typecheckRun both workspace and Storybook typechecks. Build packages first.
pnpm typecheck:packagesRecursive workspace typechecks, including public packages, corpus and benchmark applications.
pnpm typecheck:storybookStorybook configuration, stories, shared tooling and root Vitest configuration.
pnpm test:unitRecursive workspace unit suites using each package’s own configuration. Build packages first. Does not run Storybook browser suites.

test:unit clears CORE_SEQUENCE_SEED, CORE_SEQUENCE_PATH and CORE_SEQUENCE_RUNS so aggregate gates use the committed core sequence budget. For a targeted replay, use the core package test directly as described in core testing. The root Vitest configuration remains available for focused runs, but CI and preflight use test:unit followed by the separate Storybook suites.

CommandWhat it validates
pnpm check:overridesWorkspace dependency override configuration.
pnpm check:public-apiBuilt engine, core and Vue public declaration snapshots and boundary rules. Requires a build; --update rewrites snapshots for review. This is not an API snapshot gate for every package.
pnpm test:core-contractsStandalone core gate: build its dependency closure, check types and run all core tests with protected sequence settings.
pnpm test:command-controlPreflight fail-fast behavior, build reuse and protected unit-test settings.
pnpm test:soak-controlSoak runner control logic and change-impact classification. Does not start soak.
pnpm test:release-controlRelease authentication and publishing control logic. Does not publish packages.
pnpm packcheckattw and publint checks for all public package distributions. Requires a build.
pnpm test:packed-consumersPack and install packages into an isolated consumer, then validate runtime and type entry points. Requires a build and dependency installation access.
pnpm test:document-lifetimeReact concurrent document ownership and garbage-collection regression in Chromium.
pnpm test:vue-browserVue SSR, hydration and browser adapter regressions in Chromium.

Install the browser with pnpm exec playwright install chromium before browser checks. Adapter browser checks require built package dependencies; the Vue check also reads its generated CSS.

CommandWhat it runs
pnpm test:storybookReact/Mantine and Vue browser story suites, sequentially.
pnpm test:storybook:react / pnpm test:storybook:vueOne renderer’s browser story suite.
pnpm test:storybook:devProcess-supervisor regressions, development composition, source/CSS updates and shutdown checks. Ports 6006–6008 must be free. Temporarily edits and restores source files; run in an idle checkout.
pnpm build:storybookBuild public packages, then generate the composed static site.
pnpm build:storybook --skip-buildReuse packages already built from the current source. Only skips the package build, not the site build. Do not use with stale or missing distributions.
pnpm test:storybook:siteVerify an existing static export under a nested deployment path, including navigation, Controls and isolated iframes.

For a public documentation export, use STORYBOOK_DOCS_EXPORT=1 pnpm build:storybook. See Storybook for catalog structure and deployment details.

Terminal window
pnpm preflight

Preflight stops at the first failed step. It checks configuration, lint and formatting; builds public packages once; checks all types and public API snapshots; runs control and unit tests; validates packed distributions and external consumers; runs browser stories; exports and verifies the static site; verifies development mode; and runs the React lifetime and Vue browser regressions.

The build, workspace typecheck and unit steps cover the same core checks as the standalone core gate without rebuilding and rerunning core. CI retains a separate core-only job to verify that this package can be validated independently. Release validation uses the shared unit and typecheck commands too.

Preflight requires installed Chromium, free Storybook ports and an idle checkout. It does not install dependencies, change versions, publish packages, run performance benchmarks or start a long soak. It is not a substitute for the release workflow’s soak decision and approval.

CommandPurpose
pnpm check:soak-coverageValidate the soak coverage map.
pnpm check:soak-impactReport whether changes since the preceding train tag require soak; accepts --base and --head for custom audits.
pnpm check:release-soak --evidence <run-dir>...Validate the clean release candidate and, when required, local release-profile evidence.
pnpm --filter @ai-markdown/engine soakStart the engine soak runner.
pnpm --filter @ai-markdown/engine soak:watchRead soak progress.
pnpm --filter @ai-markdown/engine soak:aggregateAggregate and validate run results.
pnpm --filter @ai-markdown/engine fuzz:spliceRun the focused splice fuzz test.

Use soak coverage for profiles and evidence requirements. Engine’s soak:coverage is a package-local entry for the coverage-map check.

CommandPurpose
pnpm bench:unitVitest microbenchmarks; currently the LaTeX preprocessor.
pnpm bench:webProduction browser benchmark scenarios.
pnpm bench:web:selftestValidate the browser benchmark harness itself.
pnpm bench:web:scaleDocument-size scaling with delivery every 24 characters.
pnpm bench:web:scale:coldDocument-size scaling with one complete update.
pnpm bench:web:scale:stepsDocument-size scaling with exactly 100 updates.
pnpm version-packages <version>Rewrite the root and five release-train package versions and related references. Highlight remains independently versioned. Does not publish; follow with lockfile synchronization and review.

See the browser benchmark guide before interpreting performance results. Actual npm publication belongs to the release workflow.

Existing commands remain supported. New documentation and CI use these canonical names:

Existing commandCanonical command
build-storybookbuild:storybook
test:storybook-devtest:storybook:dev
test:storybook-sitetest:storybook:site
benchbench:unit

typecheck now covers both workspaces and Storybook. Use typecheck:storybook for the old narrower scope. No ambiguous root test alias is provided: choose unit, Storybook, adapter or full preflight explicitly.

pnpm test:vue-browser:compat runs the Vue hydration, reference, customization, smooth-stream, cursor and unmount contracts in Firefox and WebKit. Install them with pnpm exec playwright install firefox webkit --with-deps. The Chromium command retains its additional forced-GC stress checks. Both CI and Release also run packed consumers on Node 20.19.0, 22.12.0 and 24.20.0; the first two are the declared runtime lower bounds. These jobs use actual tarballs outside the workspace.