PureScript Registry
registry.purescript.org
Spec sheet
- Purpose
- The PureScript Registry stores PureScript packages and metadata and provides an API for package operations.Read 9 Oct 2026 · github.com
- Integrations
- Spago integrates with the registry for package publishing and installation, and published documentation is uploaded to Pursuit.Read 9 Oct 2026 · github.com
- API operations
- The API supports registering, publishing, updating, transferring, and unpublishing packages, along with package set updates.Read 9 Oct 2026 · github.com
- Build checks
- The specification says registry packages are verified to solve and compile with at least one supported compiler version.Read 9 Oct 2026 · github.com
- Documentation limit
- Publishing documentation to Pursuit requires compiler version 0.14.7 or later, and a documentation publishing failure does not fail the package publish operation.Read 4 Oct 2026 · github.com
- Integrity
- Published package tarballs have SHA256 hashes that package managers can use to verify integrity.Read 9 Oct 2026 · github.com
- Manifest limits
- To add or update a package, it must contain a bower.json, spago.dhall, or purs.json manifest; legacy manifests are still accepted for now.Read 9 Oct 2026 · github.com
- Owner security
- Sensitive package actions such as transfers and unpublishing require an authenticated operation signed with an SSH key belonging to a package owner or registry trustee.Read 9 Oct 2026 · github.com
- Package age limit
- The specification says packages published before May 2019 are not included if they cannot satisfy the registry's compiler compatibility requirement.Read 9 Oct 2026 · github.com
- Package locations
- Packages can be published from supported locations including arbitrary Git repositories, not only GitHub.Read 4 Oct 2026 · github.com
- Package manager use
- Most PureScript users interact with the registry through package managers; the repository says Spago is the only package manager with official registry support.Read 9 Oct 2026 · github.com
- Package publishing
- The registry fetches package source from a specified location, validates and compiles it, creates a tarball, and updates its indexes.Read 4 Oct 2026 · github.com
- Package sets
- Curated package sets list package versions known to compile together and are updated daily.Read 9 Oct 2026 · github.com
- Package storage
- The registry stores package source tarballs for package managers to download.Read 9 Oct 2026 · github.com
- Publication model
- Authors request that the registry fetch package code from a public location rather than uploading package files directly.Read 9 Oct 2026 · github.com
- Publishing access
- Anyone can publish a package version, while unpublishing or transferring a package requires an authenticated operation by a package owner.Read 4 Oct 2026 · github.com
- Publishing workflow
- The registry fetches package code from a remote location, attempts to compile it, uploads documentation to Pursuit, and adds it to the day's package set batch.Read 9 Oct 2026 · github.com
- Pursuit integration
- After a successful package publish, the registry attempts to publish the package documentation to Pursuit.Read 4 Oct 2026 · github.com
- Spago integration
- Spago is identified as the standard PureScript package manager and the registry's reference implementation.Read 4 Oct 2026 · github.com
- Support and administration
- The repository directs authors who want to publish without Spago to open an issue using its Publish workflow.Read 9 Oct 2026 · github.com
- Supported manifests
- The registry currently accepts packages with a purs.json or spago.yaml manifest.Read 4 Oct 2026 · github.com
- Unpublishing limit
- A package version can generally be unpublished only within 48 hours of publication, unless the registry must remove it for legal reasons.Read 4 Oct 2026 · github.com
- Validation limit
- A package must contain a src directory with at least one .purs file and compile successfully to pass source verification.Read 4 Oct 2026 · github.com
Where Specifiction places it
- Code Transpilers#23 of 287.2
- Package Registries#26 of 287.1