Files
grm/.devin/skills/devx-workflow/SKILL.md
T
emil eab452ec04
Post-merge / detect-and-configure (push) Successful in 1m2s
Post-merge / release-and-maintain (push) Successful in 2m14s
GRM-165: feat: adopt spec-driven CI gates, create_dependency_pr, and pr-review skill
Co-authored-by: emil User <emil.simeonov@tutanota.com>
2026-08-25 01:40:50 +00:00

2.3 KiB

devx-workflow

Quick reference for devx tools when working on this repo.

PR Workflow (use these, not raw git/tea/MCP)

Task Command
Create Vikunja task make create-task -- --title "..." --description "..."
Create PR make create-pr
Push + create PR make push-with-pr
Check CI status make devx-pr-status or make devx-pr-status PR=42 WAIT=1
Fetch CI failure logs make devx-pr-logs or make devx-pr-logs PR=42 JOB=quality TAIL=50
Add ready-to-merge label make devx-pr-label or make devx-pr-label PR=42
Rebase current branch make rebase
Rebase PR via API make pr-rebase or make pr-rebase PR=42

Auto-merge Behavior

When the ready-to-merge label is added and all CI checks pass:

  1. Auto-merge validates PR title format (GRM-N: <vikunja task title>)
  2. If branch is behind master, auto-merge rebases via Gitea API automatically
  3. The rebase triggers a new CI run; the next auto-merge attempt merges
  4. No manual rebase needed unless the API rebase fails

Pre-merge Check

CI runs a pre-merge-check job early (after quality + detect-changes) that validates branch format, PR title, and Vikunja task match. This fails fast before expensive molecule tests run.

Spec-Driven CI Gates (Pre-merge)

Every PR must pass these gates before merge:

Gate Module What it checks
Spec validation devx.ci.validate_spec Spec file exists at docs/specs/<TASK-ID>.md, has REQ-IDs, all ACs checked
PR size devx.ci.check_pr_size Max 500 lines / 10 files (excludes CHANGELOG, badges, locks)

Full molecule tests still run on every PR (6 scenarios, all platforms).

Post-merge Auto-publish + Dependency PR

After merge to master, post-merge.yml:

  1. Runs release (git-cliff semver, tags, publishes to Gitea PyPI)
  2. Auto-creates an infra dependency PR (devx.ci.create_dependency_pr) to bump the pinned grm version in infra/pyproject.toml
  3. Syncs wiki, updates Vikunja task, pushes badges

Key Rules

  • Never manually merge via API — always use auto-merge with ready-to-merge label
  • Branch naming: GRM-N-short-description (N = Vikunja task ID)
  • Commit format: conventional commits (feat:, fix:, docs:, etc.)
  • PR title: GRM-N: <vikunja task title> (auto-derived by make create-pr)