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
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)
Run setup non-interactively with default choices.
Skip
cd tools && npm install.Skip
cd operations/tests && npm install.Skip
.githooks/install.sh.Run
npm i -g mintlify.Skip PATH installation for
lpd.Skip syncing
agentic-project-management-orchestrator into the local Codex skills directory.Emit the standard JSON status envelope.
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
Fail with a non-zero exit code if any issue is found.
Emit the standard JSON status envelope.
Use these as the fast discovery commands.Examples
Local Dev And Scoped Docs
Local Dev And Scoped Docs
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 distinctionUse 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.Load scoped selection settings from JSON. This is for filters such as
versions, languages, tabs, prefixes, and optional disableOpenapi.Run advisory tests before starting the dev server.
Choose which advisory test mode to run with
--test.Override the launcher script path.
Print the resolved launcher command and scoped settings, then exit.
Enable scoped Mint profile generation.
Prompt for scoped filters interactively.
Print available versions, languages, and tab names from
docs.json, then exit. Use this to discover valid scope values before running a scoped session.Limit included versions.
Limit included languages.
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.
Limit included routes by prefix such as
v2/orchestrators.Set
MINT_SKIP_EXTERNAL_FETCH=1 for this run.Exclude OpenAPI routes from the scoped profile.
Pass the remaining arguments to the Mint launcher.
Compatibility alias to Examples
lpd dev.UsageThin 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
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
Auto-confirm the move.
Dry-run the move path sync flow.
Do not stage rewritten files after the move.
Emit the standard JSON status envelope.
Hooks And Script Runner
Hooks And Script Runner
Manage hooks or run ExamplesBuilt-in subcommands
.githooks scripts.UsageInstall or update
.git/hooks/pre-commit from .githooks/pre-commit.Check whether the installed hook exists, is executable, and matches source.
Run
.githooks/verify.sh.Print hook scripts, bypass flags, and human-only override trailers.
Fallback resolution into managed scripts under
.githooks/.List managed scripts across Examples
tools, tasks, tests, v2, and hooks.UsageResolve and run a managed script.UsageExamplesInputsFlags
One of
tools, tasks, tests, v2, or hooks.Space-delimited command path that resolves to a discovered script.
Prints the resolved executable command and exits.
Auto-confirms high-risk script groups.
Enables JSON status envelope output.
Passes remaining args to the resolved script target.
Example:
lpd scripts run tools dev authoring add-callouts -- --helpGroup shorthand alias for Examples
lpd scripts run <group> ....UsageScripts 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
Run:Then open a new shell or source your shell rc file. Until PATH is updated, use
bash lpd ....Run:
Prefer scoped mode:For alternate docs configs, use the helper:
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
true for success and false for failure.Normalised command label (for example:
test, scripts list, hooks status).Human-readable summary of the command result.
Exit code returned by the command path.
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().