Skip to content

Extension registry and first-party extensions for Backslash 0.3 - #9

Merged
stevenpersia merged 2 commits into
mainfrom
rewrite/registry
Oct 27, 2026
Merged

stevenpersia merged 2 commits into
mainfrom
rewrite/registry

Conversation

@stevenpersia

Copy link
Copy Markdown
Contributor

Turns this repository into the extension registry for Backslash 0.3 (companion of backslash-app/backslash rewrite/rust-gtk4).

What's in it

  • registry/<id>.toml: one entry per extension, pointing to its code in any repository, pinned to a commit, with a checksum of the files and the permissions it asks for. Backslash installs exactly that and refuses any mismatch.
  • extensions/: first-party extensions written for the new TypeScript SDK:
    • GitHub: search repositories, your pull requests (token in the system keyring)
    • Packages: search apt / dnf / pacman / zypper and Flathub
    • Services: systemd user and system services (start, stop, restart, logs)
    • Containers: Docker / Podman (start, stop, logs, remove)
    • Emoji & Symbols: search and copy
  • scripts/validate.ts: CI check that clones each entry at its commit and verifies checksum, manifest and permissions (same algorithm as Backslash).
  • scripts/update-entries.sh: regenerates the first-party entries with backslash publish.
  • README: how the registry works, how to publish, review guidelines.
  • The Backslash 0.2 JavaScript plugins are removed: the new engine does not load them.

⚠️ Merging

  • Use a merge commit, not squash or rebase. The entries point to commit a64f600; squashing would make it unreachable and installs would fail. Otherwise, run scripts/update-entries.sh after merging and commit the result.
  • The CI type-checks extensions against the SDK of backslash main, so it only passes once backslash-app/backslash#rewrite/rust-gtk4 is merged.

Testing

  • deno run -A scripts/validate.ts: all 5 entries verified against GitHub; tampered entries (hidden permission, wrong commit) are rejected.
  • backslash search / install / outdated / uninstall end-to-end against this registry, and the in-launcher store.
  • Emoji and Packages (apt) run here; GitHub, systemd and Docker could not be exercised in the test environment (blocked API / no daemon).

Generated by Claude Code

GitHub, Packages, Services (systemd), Containers (Docker/Podman) and
Emoji & Symbols, written for the new TypeScript SDK. The JavaScript
plugins of Backslash 0.2 are removed: the new engine does not load them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WzDMDJteorsmKRm6FVPX94
registry/<id>.toml entries point to an extension's own repository, pinned
to a commit with a checksum and its permissions; Backslash installs
exactly that and refuses anything else. CI re-verifies every entry.
Entries for the first-party extensions, a publishing guide and review
guidelines.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WzDMDJteorsmKRm6FVPX94
@stevenpersia
stevenpersia merged commit cc7fd64 into main Oct 27, 2026
1 of 2 checks passed
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.

2 participants