بنقرة واحدة
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.