This guide is for contributors and maintainers working inside the runmark monorepo. If you want to use the tool, start with README.md.
- Node.js 20.3.0 or newer
pnpm10.x
pnpm install
pnpm check
pnpm testpnpm check runs linting, typechecking, and builds. pnpm test rebuilds and executes the automated suites, including the public example coverage under examples/.
For most non-trivial changes:
- make the code or docs change
- run
pnpm check - run
pnpm test - exercise
examples/pause-resumewhen the change affects CLI, MCP, runtime behavior, or user-facing documentation
A quick manual loop against the canonical example looks like:
pnpm build
node apps/cli/dist/index.js validate --project-root examples/pause-resume
node apps/cli/dist/index.js describe --run smoke --project-root examples/pause-resume
node apps/cli/dist/index.js explain variables --run smoke --step login --project-root examples/pause-resume| Command | Purpose |
|---|---|
pnpm build |
build all workspace packages |
pnpm check |
run lint, typecheck, and build together |
pnpm test |
run build plus unit, example, E2E, and publish tests |
pnpm exec changeset status |
inspect pending release state |
pnpm publish:packages -- --dry-run |
verify publish packaging without releasing |
| Path | Purpose |
|---|---|
apps/cli |
thin CLI + MCP adapter published as @exit-zero-labs/runmark (bin: runmark; runmark mcp starts the stdio server) |
apps/docsweb |
Starlight docs site intended for runmark.exitzerolabs.com |
packages/ |
shared contracts, definition loading, execution, runtime, HTTP, and utilities |
examples/ |
public example projects that double as canonical test inputs |
testing/runmark/ |
unit, example, E2E, publish, flow, and judge-oriented validation assets |
docs/ |
product, architecture, roadmap, and operator guidance |
The public examples are part of the product surface, not throwaway fixtures.
- keep
examples/getting-startedminimal and easy to copy - treat
examples/pause-resumeas the canonical full workflow reference - use
examples/api-key-body-filefor secret, auth, and body template scenarios - when an example changes behavior, update the matching automated tests and any linked docs in the same PR
Only the unified CLI package publishes to npm:
@exit-zero-labs/runmark(bin:runmark; exposes both the CLI surface and therunmark mcpstdio MCP server)
When a change affects published behavior, packaging, or install-time documentation:
- add or update the relevant changeset
- run
pnpm exec changeset status - run
pnpm publish:packages -- --dry-run
CONTRIBUTING.mdfor contribution workflow and release guidancedocs/architecture.mdfor package boundaries and runtime semanticsdocs/agent-guide.mdfor CLI/MCP execution guidancetesting/runmark/README.mdfor automated test assets and judge checklistsdocs/roadmap.mdfor planned work and scope guardrails