Understand the portal
Inspect sites, pages, URLs, and page context directly from the CLI.
ldev doctor
ldev start
ldev logs diagnose --json
ldev deploy module my-moduleFrom first symptom to verified fix, without living in the UI.
Incidents start with vague symptoms, environment drift, and too much UI-driven investigation.
ldev gives you one CLI to inspect the portal, reproduce the issue locally, fix it safely, and verify the result.
Liferay maintenance work often starts with a vague symptom and too much clicking. You open the UI to find which site owns a page, inspect logs that are too broad to trust, and compare against a local setup that does not really match production.
ldev changes that operating model. It gives you one CLI for incident work: inspect portal structure, diagnose failures, reproduce the issue locally, and verify the fix with real context.
Reproduce production issues locally with Docker and worktrees so you can debug the real problem instead of a rough approximation.
Test the fix in a controlled environment first, confirm the outcome, and only then carry the change back to production.
ldev portal inventory sites
ldev portal inventory pages --site /global
ldev portal inventory page --url /home --jsonInspect Liferay without opening the UI. See sites and pages immediately, resolve what a URL maps to, and get structured output that works for humans, automation, and agents.
Use ldev resource to export and import structures, templates, ADTs, and fragments without depending on the UI.
Use migration descriptors when structure changes affect real content so the change stays reviewable and reproducible.
Developers fixing bugs, consultants handling incidents, and teams tired of debugging Liferay through the UI.
Less UI dependency, less environment drift, and clearer handoff during maintenance work.
Use ldev portal inventory to find sites, pages, and exact context.
Use ldev logs and ldev doctor to isolate failures quickly.
Use ldev deploy and ldev osgi to change code and runtime state safely.
Use ldev portal check and ldev context to confirm the expected state before production is affected.
Less UI exploration, less environment drift, and less time between symptom and verified fix.
ldev logs diagnose --json
ldev osgi status com.acme.foo.web
ldev deploy module foo-web
ldev context --jsonA bundle is not working. Diagnose the symptom, inspect runtime state, deploy the module, and confirm the environment you actually fixed. From symptom to verified fix, without guesswork.
npm i -g @mordonezdev/ldev
ldev project init --name my-project --dir .
ldev start
ldev doctorStart the environment, run the checks, and begin from the CLI.
ldev exposes JSON outputs, context snapshots, and machine-readable portal data so scripts and agents can work from the same operational state as the developer.
If you want that layer in the repo, bootstrap it explicitly:
ldev ai install --target .Agents are secondary. They are useful because the system is already inspectable and scriptable.