The central index for community Grayscale packages.
This repo contains a single registry file that maps package identities to their source repositories. It is the only discovery mechanism for the Grayscale package ecosystem. Packages themselves live in author-owned GitHub repos — this index simply tracks what exists.
Grayscale packages are distributed as source. Authors maintain their own repos.
This index maps author/package-name to the repo URL:
johndoe/color = github.com/johndoe/grayscale-color devB/color = github.com/devB/grayscale-color-lib alice/math-utils = github.com/alice/grayscale-math
Namespacing is username/package-name. GitHub usernames are globally unique, so
naming collisions are impossible.
Packages are registered via gray publish from your package repo. The tool
validates your package and submits an entry to this index.
Your package must meet all of the following requirements:
- No
main()function - Every function has a
#docattribute - Every
.grayfile has the required header (see below) - A README is present
- A valid semver git tag exists on the repo (e.g.,
v1.2.3) - Flat structure — a single
.grayfile or a single directory of.grayfiles, no subdirectories - No transitive dependencies — packages may only depend on Grayscale's stdlib
// Package: color
// Version: 1.2.3
// Author: John Doe
// GitHub: github.com/johndoe
// Email: john@example.com
// License: MIT
// Description: Color manipulation utilities for Grayscale
This header is the metadata. There is no manifest file.
For Package Users
gray add github.com/johndoe/color@1.2.3 # install specific version gray add github.com/johndoe/color # install latest tagged version gray dump color # remove a package gray update color@1.4.0 # update to specific version gray update color # update to latest gray list # show installed packages gray search query # search this index gray restore # re-fetch all from .registry
Packages are downloaded into a packages/ directory in your project and imported with:
import pkg"color"
Deprecation
Packages with no new version tag in 6+ months are flagged as potentially unmaintained. Archived repos are flagged immediately. Deprecation is a warning — packages are never auto-removed. Publishing a new version clears the flag.
This Repo Is Machine-Managed
Entries in this index are added and updated by the gray publish tool. Do not edit the index file by hand.