Expand description
stryke package manager — RFC: docs/PACKAGE_REGISTRY.md.
This module hosts the local-only foundation (RFC phases 1–6): manifest parsing, lockfile read/write, store layout, path-dep resolution, and module-resolution wiring. Network (registry/git) deps and the PubGrub semver resolver land in later tiers.
Surface area:
manifest—stryke.tomlparser/serializer.lockfile—stryke.lockparser/serializer with deterministic ordering and SHA-256 integrity hashes.store—~/.stryke/{store,cache,git,bin,index}/layout helpers.resolver— local-only resolver (path deps work, registry/git deps return a clear “not yet implemented” error).commands—s {init,new,add,remove,install,tree,info}impls.
Modules§
- commands
ssubcommand implementations for the package manager.- lockfile
stryke.lock— auto-generated, deterministic, sacred. RFC §“Lock File”.- manifest
stryke.tomlparser and serializer. Backed byserde+tomlso round-tripping preserves table ordering, comments are dropped (TOML comment preservation is not aserde-friendly use case — round-trip is for in-place edits vias add/s remove, not human-authored comment retention).- resolver
- Resolution pipeline. Local-only for Tier 1 (RFC phases 1–6):
- store
- Global store layout:
~/.stryke/{store,cache,git,bin,index}/.
Enums§
- PkgError
- Errors emitted by the package manager. Display impl produces a one-line diagnostic suitable for emission to stderr and exit code 1.
Type Aliases§
- PkgResult
Resultalias used throughout the package manager. Errors are stringly-typed for now (one user-facing diagnostic per failure path); structured errors land when we wire the registry protocol.