# Dev (/docs/dev)





LPM CLI's development surface. The marquee command is [`lpm dev`](/docs/dev/dev) — one command that picks up managed runtimes, syncs deps, loads `.env`, optionally serves over HTTPS, optionally exposes a public tunnel, and orchestrates multi-service projects. The rest of this section is the supporting cast: a parallel + cached task runner, runners for test / bench / lint / fmt / type-check / bundle / pack, and the runtime + env management around it.

For a step-by-step walkthrough, see [Zero-config dev server](/docs/guides/zero-config-dev-server).

## Run scripts + tasks [#run-scripts--tasks]

<Cards>
  <Card title="lpm dev" href="/docs/dev/dev" description="Zero-config dev server with HTTPS, tunnel, env loading, and multi-service orchestration." />

  <Card title="lpm run" href="/docs/dev/run" description="Run package.json scripts. Parallel, cached, watchable, workspace-aware." />

  <Card title="lpm <file> / exec" href="/docs/dev/exec" description="Run JS/TS files directly, or run project-local binaries." />

  <Card title="lpm dlx / lpx" href="/docs/dev/dlx" description="Run a package binary without installing it into the project." />
</Cards>

## Test + bench [#test--bench]

<Cards>
  <Card title="lpm test" href="/docs/dev/test" description="Auto-detect and run vitest / jest / mocha. Workspace-aware with --filter / --affected." />

  <Card title="lpm bench" href="/docs/dev/bench" description="Auto-detect and run vitest bench, or your scripts.bench fallback." />
</Cards>

## Lint, format, type-check, bundle, pack (built-in tools) [#lint-format-type-check-bundle-pack-built-in-tools]

<Cards>
  <Card title="lpm lint" href="/docs/dev/lint" description="Backed by Oxlint — lazy-downloaded, version-pinned, no npx round-trip." />

  <Card title="lpm fmt" href="/docs/dev/fmt" description="Backed by Biome — same pinning + caching model." />

  <Card title="lpm bundle" href="/docs/dev/bundle" description="Backed by a managed Rolldown plugin with a verified cached package layout." />

  <Card title="lpm pack" href="/docs/dev/pack" description="Backed by the project's tsdown install, wrapped in LPM CLI's workspace and JSON contract." />

  <Card title="lpm check" href="/docs/dev/check" description="TypeScript check (tsc --noEmit) against the project-local install." />

  <Card title="lpm plugin" href="/docs/dev/plugin" description="Manage installed built-in tool plugins (list, update, remove)." />

  <Card title="lpm completions" href="/docs/dev/completions" description="Generate shell completions for bash, zsh, fish, PowerShell, or elvish." />
</Cards>

## Runtime + environment [#runtime--environment]

<Cards>
  <Card title="lpm use" href="/docs/dev/use" description="Install and pin managed Node.js or Bun versions. Auto-installs on first use of a pinned version." />

  <Card title="lpm env" href="/docs/dev/env" description="Per-project secrets — set / get / list / push / pull / pair / OIDC. Encrypted local storage with optional cloud sync." />
</Cards>

## Features (concept pages) [#features-concept-pages]

<Cards>
  <Card title="Task runner" href="/docs/dev/task-runner" description="Parallel + cached execution model behind lpm run and lpm dev's services." />

  <Card title="Test + bench auto-detection" href="/docs/dev/test-bench-runners" description="How lpm test and lpm bench pick a runner — vitest, jest, mocha, or scripts fallback." />

  <Card title="Built-in tools" href="/docs/dev/builtin-tools" description="How plugin-backed tools, project-local wrappers, and managed engines fit together." />

  <Card title="Managed runtimes" href="/docs/dev/node-version-pinning" description="Node and Bun detection order, auto-install, storage, and script PATH behavior." />
</Cards>
