Use
bash lpd ... until you have run bash lpd setup --yes and confirmed lpd is on your PATH. After that, plain lpd ... is the normal form.lpd dev defaults to port 3333 when no port is provided. Agent sessions may not use port 3333 via lpd dev, and direct Mint launcher sessions may not use port 3000.What lpd does
lpd standardizes the main contributor workflows for this repo:
- bootstrap local dependencies
- sync the repo planning skill into the local Codex skills directory
- verify your environment
- run Mint locally
- launch scoped docs previews for large navs
- load alternate docs config files through scoped dev or the custom loader alias
- run tests and CI-like checks
- manage hooks
- move pages with governed docs-path sync
- discover and run repo-managed scripts
Most common workflows
Start local docs
bash lpd setup --yes installs tools/tests dependencies, refreshes hooks, optionally installs lpd on PATH, and syncs agentic-project-management-orchestrator into $CODEX_HOME/skills (fallback: ~/.codex/skills).
Start a scoped Mint session
Load an alternate docs config
Use the custom Mint loader helper
Run pre-PR checks
Move a page with governed rewrites
Command quick index
Command guide
Getting Started
Getting Started
command
Bootstrap the local repo environment.UsageWhat it doesFlags
- installs
toolsdependencies - installs
testsdependencies - installs or refreshes git hooks
- optionally installs Mintlify globally
- optionally installs
lpdon your PATH - syncs
agentic-project-management-orchestratorinto$CODEX_HOME/skills(fallback:~/.codex/skills)
boolean
default:"false"
Run setup non-interactively with default choices.
boolean
default:"false"
Skip
cd tools && npm install.boolean
default:"false"
Skip
cd operations/tests && npm install.boolean
default:"false"
Skip
.githooks/install.sh.boolean
default:"false"
Run
npm i -g mintlify.boolean
default:"false"
Skip PATH installation for
lpd.boolean
default:"false"
Skip syncing
agentic-project-management-orchestrator into the local Codex skills directory.boolean
default:"false"
Emit the standard JSON status envelope.
command
Check whether your repo and local environment are ready.UsageChecksFlags
- git repository context
- Node availability
- Mint availability
tools/node_modulesoperations/tests/node_modules- hook sync state
boolean
default:"false"
Fail with a non-zero exit code if any issue is found.
boolean
default:"false"
Emit the standard JSON status envelope.
command
Use these as the fast discovery commands.Examples
Local Dev And Scoped Docs
Local Dev And Scoped Docs
command
Run the local docs dev launcher.UsageWhat Recommended use
Use Flags
--scoped does
Generates a reduced dev-only Mint profile so large docs nav trees start faster and route changes are lighter when you are filtering the main docs navigation. Scope inputs are validated before any setup work runs (hooks, patches, fetches) so bad tab names fail immediately.Tab name matching
Tab names are case-insensitive and support fuzzy matching. You do not need to quote multi-word tab names. The matcher resolves partial names using prefix, substring, and stem matching:Resourcesresolves toResource HUBOrchresolves toOrchestratorsLPresolves toLP TokenInternalresolves toInternal Hub
lpd dev --scoped for filtered previews of the main docs navigation and for alternate scoped navigation files such as docs-orch-work.json or docs-gate-work.json.Advanced distinctionstring
default:""
Use an alternate docs config as the scoped navigation source. Scoped dev keeps Mint on a projected workspace and rewrites the active workspace-root
docs.json when this source file changes.string
default:""
Load scoped selection settings from JSON. This is for filters such as
versions, languages, tabs, prefixes, and optional disableOpenapi.boolean
default:"false"
Run advisory tests before starting the dev server.
enum
default:"fast"
Choose which advisory test mode to run with
--test.string
default:"tools/dev/preview/mint-dev.sh"
Override the launcher script path.
boolean
default:"false"
Print the resolved launcher command and scoped settings, then exit.
boolean
default:"false"
Enable scoped Mint profile generation.
boolean
default:"false"
Prompt for scoped filters interactively.
boolean
default:"false"
Print available versions, languages, and tab names from
docs.json, then exit. Use this to discover valid scope values before running a scoped session.string
default:"all"
Limit included versions.
string
default:"all"
Limit included languages.
string
default:"all"
Limit included tabs. Supports fuzzy matching: partial names, prefix matches, and stem matches resolve automatically. Multi-word tab names do not require quotes. Multiple tabs can be comma-separated or passed as repeated flags.
string
default:"all"
Limit included routes by prefix such as
v2/orchestrators.boolean
default:"false"
Set
MINT_SKIP_EXTERNAL_FETCH=1 for this run.boolean
default:"false"
Exclude OpenAPI routes from the scoped profile.
separator
Pass the remaining arguments to the Mint launcher.
command
Compatibility alias to Examples
lpd dev.Usagecommand
Thin alias for ExamplesUse this when
lpd dev --scoped --docs-config.Usage- you want a shorter alias for
lpd dev --scoped --docs-config ... - you want alternate navigation from
docs-gate-work.json - you want a custom docs config, not just a filtered view of the main docs nav
Validation And CI
Validation And CI
Page Operations
Page Operations
command
Move a docs page with governed rewrites.UsageWhat it doesFlags
- runs
git mv - runs governed docs-path sync
- stages related rewrites unless you opt out
boolean
default:"false"
Auto-confirm the move.
boolean
default:"false"
Dry-run the move path sync flow.
boolean
default:"false"
Do not stage rewritten files after the move.
boolean
default:"false"
Emit the standard JSON status envelope.
Hooks And Script Runner
Hooks And Script Runner
command
Manage hooks or run ExamplesBuilt-in subcommands
.githooks scripts.Usagesubcommand
Install or update
.git/hooks/pre-commit from .githooks/pre-commit.subcommand
Check whether the installed hook exists, is executable, and matches source.
subcommand
Run
.githooks/verify.sh.subcommand
Print hook scripts, bypass flags, and human-only override trailers.
subcommand
Fallback resolution into managed scripts under
.githooks/.command
List managed scripts across Examples
tools, tasks, tests, v2, and hooks.Usagecommand
Resolve and run a managed script.UsageExamplesInputsFlags
enum
required
One of
tools, tasks, tests, v2, or hooks.string
required
Space-delimited command path that resolves to a discovered script.
boolean
default:"false"
Prints the resolved executable command and exits.
boolean
default:"false"
Auto-confirms high-risk script groups.
boolean
default:"false"
Enables JSON status envelope output.
separator
Passes remaining args to the resolved script target.
Example:
lpd scripts run tools dev authoring add-callouts -- --helpcommand
Group shorthand alias for Examples
lpd scripts run <group> ....Usagecommand
Scripts are assigned risk by group and may require confirmation.UsageExamplesHigh-risk groups prompt for confirmation unless
--yes is supplied.
In non-interactive mode, high-risk commands fail without --yes.Human-only override trailers:
git commit -m "msg" --trailer "allowlist-edit=true" and
git commit -m "msg" --trailer "allow-deletions=true".Troubleshooting And JSON Output
Troubleshooting And JSON Output
troubleshooting
Run:Then open a new shell or source your shell rc file. Until PATH is updated, use
bash lpd ....troubleshooting
Run:
Prefer scoped mode:For alternate docs configs, use the helper:
response
Many commands support the standard finish-envelope JSON output.ExamplesThe envelope typically includes:
- command label
- status
- message
- command-specific payload where supported
Script Catalog
For generated full script metadata (script path, summary, usage, domain), see
scripts-catalog.Troubleshooting
lpd not found
Use the repo-local fallback and verify setup:
source ~/.zshrc or equivalent).
Hooks mismatch
Check and reinstall hooks:--json expectations
Global JSON mode is prefix form: lpd --json <command> ....
Some commands also accept local --json.
lpd info --json is invalid because info only accepts --help|-h.
Port collision on lpd dev
Pass a port through the launcher:
Slow startup or slow route changes on very large docs.json
Use scoped dev mode so Mint loads only the version, language, tab, or prefix you are actively editing:
JSON Output
When JSON mode is active on finish-based commands, output uses this status envelope:JSON Output Envelope
JSON Output Envelope
boolean
true for success and false for failure.string
Normalised command label (for example:
test, scripts list, hooks status).string
Human-readable summary of the command result.
number
Exit code returned by the command path.
string
Absolute repo root used during command execution.
lpd info does not emit a structured JSON envelope.
Use JSON mode with commands that complete via finish().