Skip to content

feat(plugins): add portable plugin lockfile - #2976

Open
artrixdotdev wants to merge 1 commit into
AvengeMedia:masterfrom
artrixdotdev:feat/plugin-lockfile
Open

feat(plugins): add portable plugin lockfile#2976
artrixdotdev wants to merge 1 commit into
AvengeMedia:masterfrom
artrixdotdev:feat/plugin-lockfile

Conversation

@artrixdotdev

@artrixdotdev artrixdotdev commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

Description

Adds a portable ~/.config/DankMaterialShell/plugins.lock.json that stays synchronized with managed plugin installs, updates, and removals.

  • Records each plugin repository, optional monorepo path, and exact Git commit
  • Adds dms plugins lock and dms plugins restore [lockfile], with optional --prune
  • Migrates existing managed installs, preserves shared monorepo revisions, and validates/atomically writes lockfiles

Type of change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that changes existing behavior)
  • Refactor / internal cleanup
  • Documentation
  • Other

Related issues

None.

Screenshots / video

Not applicable; this is a CLI and backend change.

Checklist

  • My code follows the conventions in CONTRIBUTING.md
  • I have tested my changes locally
  • New user-facing strings are wrapped in I18n.tr() with translator context, reusing existing terms where possible (no QML strings added)
  • Go changes: ran make fmt, added/updated tests, make test passes, and go mod tidy is clean
  • QML changes: not applicable
  • I have opened a corresponding pull request in dlx-docs to document the new behavior: docs(plugins): document lockfile restore workflow DankLinux-Docs#122

@artrixdotdev
artrixdotdev marked this pull request as draft August 1, 2026 06:58
@artrixdotdev
artrixdotdev marked this pull request as ready for review August 1, 2026 07:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant