Skip to content

feat(zpm): add ZPM devcontainer feature#9

Merged
pocky merged 1 commit into
mainfrom
feat/zpm
May 23, 2026
Merged

feat(zpm): add ZPM devcontainer feature#9
pocky merged 1 commit into
mainfrom
feat/zpm

Conversation

@pocky
Copy link
Copy Markdown
Contributor

@pocky pocky commented May 23, 2026

Summary

  • Add a new zpm devcontainer feature that installs ZPM, the Zig-based MCP server exposing a Trealla Prolog logic engine over STDIO for deterministic logical reasoning
  • The feature resolves the latest version from GitHub releases or accepts a pinned version, detects architecture (amd64/arm64), downloads the pre-built binary, and verifies its SHA256 checksum before installing to /usr/local/bin/
  • Includes a full test suite with two scenarios: default (latest) install and version-pinned install (v0.3.0)
  • Documents the new feature in the README with usage examples, option reference, and architecture support notes

Changes

Feature

  • src/zpm/devcontainer-feature.json: Feature metadata with version option (default latest), documentation and license URLs
  • src/zpm/install.sh: Installation script with architecture detection, GitHub API version resolution, binary download, SHA256 checksum verification, and install to /usr/local/bin/zpm

Tests

  • test/zpm/scenarios.json: Two test scenarios — install_zpm_latest and install_zpm_specific_version (v0.3.0)
  • test/zpm/test.sh: Base assertions — binary on PATH, zpm version returns non-empty output
  • test/zpm/install_zpm_latest.sh: Scenario script sourcing test.sh for the default install
  • test/zpm/install_zpm_specific_version.sh: Scenario script verifying the installed version matches the pinned 0.3.0

Documentation

  • README.md: Add ZPM to the table of contents, add feature section with devcontainer.json usage snippets, options table, version-pinning example, and architecture support note; update repository structure tree

Test plan

  • Run ./test-local.sh zpm — both scenarios must pass
  • Verify zpm version returns a non-empty string inside the container
  • Pin version: v0.3.0 and confirm the installed version matches exactly
  • Confirm ShellCheck passes on src/zpm/install.sh with no errors

Generated with awf commit workflow

- `README.md`: add ZPM to table of contents, feature docs, and repo structure
- `src/zpm/devcontainer-feature.json`: feature metadata with version option
- `src/zpm/install.sh`: install script with arch detection and SHA256 verification
- `test/zpm/scenarios.json`: latest and specific version test scenarios
- `test/zpm/test.sh`: base assertions for PATH and version command
- `test/zpm/install_zpm_latest.sh`: scenario script for latest version
- `test/zpm/install_zpm_specific_version.sh`: scenario script verifying v0.3.0
@pocky pocky marked this pull request as ready for review May 23, 2026 18:11
@pocky pocky merged commit 70f5d4a into main May 23, 2026
4 checks passed
@pocky pocky deleted the feat/zpm branch May 23, 2026 18:11
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