Skip to content

[v0.1 W5] Distribution wiring (npm shim + maturin + GitHub Actions release) #5

@liam-ai-reality

Description

@liam-ai-reality

Week 5 of v0.1 implementation. References: design.md §9.

  • Replace npm placeholder with biome-style shim:
    • npm/klasp/package.json with optionalDependencies for 5 platform sub-packages
    • npm/klasp/bin/klasp.js (~20 lines using require.resolve)
    • 5 per-platform stub package.json files (@klasp-dev/klasp-darwin-arm64, etc.) with os/cpu fields
  • Replace PyPI placeholder with maturin: switch pypi/pyproject.toml to [build-system] build-backend = "maturin", [tool.maturin] bindings = "bin". Remove the Hatchling stub.
  • .github/workflows/release.yml — on tag push:
    1. matrix build per-platform binary, upload artifact
    2. publish job: download all artifacts, stage into npm sub-packages and PyPI wheel directories
    3. publish order: per-platform npm packages → main npm package → PyPI wheels → cargo publish → GitHub Release
  • Tag v0.1.0-rc.1, verify cargo install klasp@0.1.0-rc.1, npm i -g @klasp-dev/klasp@0.1.0-rc.1, pip install klasp==0.1.0rc1 all resolve cleanly from a fresh machine

Metadata

Metadata

Assignees

No one assigned

    Labels

    v0.1klasp v0.1 milestone work

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions