원클릭으로
ldm-developer
Guides and scripts for developing, testing, linting, and releasing Liferay Docker Manager (LDM).
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Guides and scripts for developing, testing, linting, and releasing Liferay Docker Manager (LDM).
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Activate this skill whenever writing tests, running linters, or committing code.
Activate this skill whenever preparing a release, bumping versions, or creating tags.
Activate this skill whenever opening Pull Requests, creating branches, or responding to GitHub issues.
Activate this skill whenever designing new features, modifying Docker compose logic, or interacting with Liferay environments.
Run FIRST before any task when workspace root lacks AGENTS.md. Creates AGENTS.md tailored to the Python environment (pyproject.toml, .venv, pytest).
Guides agents on documenting, naming, and categorizing upstream bugs/limitations in the repository's JIRA issue tracker.
| name | ldm-developer |
| description | Guides and scripts for developing, testing, linting, and releasing Liferay Docker Manager (LDM). |
This skill guides you through the standards, commands, and scripts required to develop, verify, and release updates in the Liferay Docker Manager (LDM) codebase.
Virtual Environment Gate: You MUST conduct all development, testing, linting, and Git operations within the project's Python virtual environment (.venv).
Hook Isolation: Git hooks and pre-commit checks rely on packages installed in the virtual environment. Running operations outside the virtual environment (e.g. using global system Python) will trigger hook failures.
Always run these commands from the repository root:
# Auto-format Python files
.venv/bin/ruff format .
# Check and auto-fix simple linting warnings
.venv/bin/ruff check . --fix
# Run the entire pytest suite (automatically gathers coverage)
.venv/bin/python -m pytest
# Run a specific test file
.venv/bin/python -m pytest ldm_core/tests/test_config.py
# Run a specific test case
.venv/bin/python -m pytest ldm_core/tests/test_config.py -k test_sync_common_assets_cascade_and_important
# Run all pre-commit hooks across the codebase (runs Ruff, MyPy, ShellCheck, Pytest, bandit, markdownlint-cli2, etc.)
.venv/bin/pre-commit run --all-files
All CLI handler command routines must output consistent exit codes:
0: Success
1: Generic/Validation Error
2: Authentication/Permission Error (e.g. LCP login required)
3: Infrastructure/Data Error (e.g. Backup download failure)
4: Orchestration/Deployment Error
126: Command Invocation Error
Do not manually bump versions or tag releases. Instead, use the automated release script:
.venv/bin/python scripts/release.py --bump [patch|minor|major|beta]
Verifies that the workspace only contains modified version files (pyproject.toml, constants.py, CHANGELOG.md) and documentation files (.md). Any Python source file edits must be committed first.
Bumps the SemVer version in LDM metadata configuration files.
Automatically runs all pre-commit quality checks.
Commits changes and pushes a new branch (e.g., release/v2.11.43).
Raises a Pull Request via GitHub CLI (gh pr create).
Enables auto-merge (gh pr merge --auto).
Polls until GitHub Actions builds pass and the PR merges.
Checks out master locally, pulls changes, tags the release (v2.11.43), and pushes the tag to trigger the final GitHub release workflows.