A cloudless, Git-based package registry for Vix.
Vix Registry does not host packages. It indexes them.
Packages live in Git repositories. The registry provides discovery, version resolution, and reproducibility — nothing more.
This design keeps costs near zero, avoids fragile infrastructure, and aligns with Vix’s local-first / offline-first philosophy.
- A Git repository acting as a package index
- A source of truth for package metadata
- A SemVer resolver that maps versions → commits
- A foundation for reproducible installs
- ❌ A cloud service
- ❌ A tarball host
- ❌ A VPS-backed registry
- ❌ A runtime dependency at build time
Every package is a Git repository (GitHub-first in V1).
No file uploads. No storage billing. No single point of failure.
The registry only stores:
- package metadata
- repository locations
- version → commit mappings
The actual source code remains where it already belongs.
All installations are pinned to commit SHAs, not floating tags.
Same lockfile → same code → same build.
- The registry index is cached locally
- Packages are cloned once and reused
- Offline installs work if dependencies are cached
vix-registry/
├── registry.json
├── index/
│ └── example.package.json
├── namespaces/
├── policies/
└── README.md
Each package is described by a single JSON file inside index/.
{
"name": "rix",
"namespace": "vixcpp",
"repo": "https://github.com/vixcpp/rix",
"license": "MIT",
"type": "header-only",
"manifestPath": "vix.json",
"versions": {
"1.0.0": { "tag": "v1.0.0", "commit": "abc123" }
}
}vix registry sync
vix registry search json
vix add vixcpp/rix
vix install- Public Git repository
- SemVer tags
vix.jsonpresent- Explicit license
- Pull request adding a JSON entry
MIT
Vix Registry Indexing code, not hosting it.