Skip to content

Fix Liferay issues fasterDiagnose the incident, reproduce production locally, apply the fix safely, and verify before touching production.

ldev logo
bash
ldev doctor
ldev start
ldev logs diagnose --json
ldev deploy module my-module

From first symptom to verified fix, without living in the UI.

Problem

Incidents start with vague symptoms, environment drift, and too much UI-driven investigation.

Solution

ldev gives you one CLI to inspect the portal, reproduce the issue locally, fix it safely, and verify the result.

Solve Incidents, Not Screens

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.

Bring Real Issues Into a Controlled Environment

Production → Local

Reproduce production issues locally with Docker and worktrees so you can debug the real problem instead of a rough approximation.

Safe Changes

Test the fix in a controlled environment first, confirm the outcome, and only then carry the change back to production.

Discovery Without the UI

bash
ldev portal inventory sites
ldev portal inventory pages --site /global
ldev portal inventory page --url /home --json

Inspect 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.

Resources as Files

Export / Import

Use ldev resource to export and import structures, templates, ADTs, and fragments without depending on the UI.

Migration Plans

Use migration descriptors when structure changes affect real content so the change stays reviewable and reproducible.

Who Is This For

Users

Developers fixing bugs, consultants handling incidents, and teams tired of debugging Liferay through the UI.

Why Teams Use It

Less UI dependency, less environment drift, and clearer handoff during maintenance work.

Incident Workflow

01

Understand

Use ldev portal inventory to find sites, pages, and exact context.

02

Diagnose

Use ldev logs and ldev doctor to isolate failures quickly.

03

Fix

Use ldev deploy and ldev osgi to change code and runtime state safely.

04

Verify

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.

Example

bash
ldev logs diagnose --json
ldev osgi status com.acme.foo.web
ldev deploy module foo-web
ldev context --json

A 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.

Quickstart

bash
npm i -g @mordonezdev/ldev

ldev project init --name my-project --dir .
ldev start
ldev doctor

Start the environment, run the checks, and begin from the CLI.

Agents

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:

bash
ldev ai install --target .

Agents are secondary. They are useful because the system is already inspectable and scriptable.

ldev turns Liferay into a scriptable, inspectable, and operable system.

@mordonezdev/ldev for operational Liferay maintenance workflows. Built by Miguel Ordóñez