Shards
github.com
Spec sheet
- Purpose
- Shards is a dependency manager for the Crystal language.Read 11 Oct 2026 · github.com
- Intended users
- The project README describes its use for Crystal applications and libraries.Read 11 Oct 2026 · github.com
- Platforms
- The Crystal install page lists Shards in package instructions for Linux, macOS, Windows tooling, FreeBSD, and OpenBSD.Read 11 Oct 2026 · crystal-lang.org
- Free plan
- YesRead 21 Sep 2026 · github.com
- License
- The repository states that Shards is licensed under Apache License, Version 2.0.Read 11 Oct 2026 · github.com
- Authorship
- The shard.yml documentation credits Julien Portalier and the Crystal project as authors.Read 11 Oct 2026 · github.com
- Build behavior
- The build command ensures dependencies are installed and delegates build options to crystal build.Read 11 Oct 2026 · crystal-lang.org
- Build requirements
- The repository lists Crystal and libyaml as requirements for compiling Shards.Read 11 Oct 2026 · github.com
- Commands
- The documented commands include build, check, init, install, list, prune, update, and version.Read 11 Oct 2026 · crystal-lang.org
- Dependency installation
- The `shards install` command installs dependencies and records them in shard.lock for reproducible installations across computers.Read 11 Oct 2026 · github.com
- Dependency resolution
- YesRead 21 Sep 2026 · github.com
- Dependency sources
- The README shows dependencies fetched from Git repositories, including GitHub repositories.Read 11 Oct 2026 · github.com
- Development dependencies
- Development dependencies are installed for the project itself and are not installed when its library is used as another project's dependency.Read 11 Oct 2026 · github.com
- Discovery model
- The Crystal community page describes Shards as a decentralized dependency system with no central registry.Read 11 Oct 2026 · crystal-lang.org
- Distribution
- Shards is usually distributed with Crystal, and a separate shards package may be available for a user's system.Read 11 Oct 2026 · github.com
- Install options
- Shards is usually distributed with Crystal, including through Homebrew and Debian packages; source tarballs can also be built and installed.Read 11 Oct 2026 · github.com
- Lockfile
- shards install writes locked dependency versions to shard.lock so subsequent installs can use the same versions across computers.Read 11 Oct 2026 · github.com
- Lockfile support
- YesRead 21 Sep 2026 · github.com
- Overrides
- A shard.override.yml file can override dependency sources and version restrictions, and its location can be configured with SHARDS_OVERRIDE.Read 11 Oct 2026 · crystal-lang.org
- Package formats
- Crystal shards defined in shard.ymlRead 21 Sep 2026 · github.com
- Platform notes
- The installation instructions mention Debian or Ubuntu Linux and Mac OS X, and say a shards package may be available for a user's system.Read 11 Oct 2026 · github.com
- Postinstall scripts
- A shard can define a postinstall shell command that runs when the dependency is installed or upgraded.Read 11 Oct 2026 · github.com
- Project files
- Crystal applications and libraries are expected to have a shard.yml file at their root to describe dependencies.Read 11 Oct 2026 · github.com
- Project type
- The GitHub repository is public and licensed under Apache-2.0.Read 11 Oct 2026 · github.com
- Project users
- Crystal applications and libraries use a shard.yml file to describe project metadata and dependencies.Read 11 Oct 2026 · github.com
- Release
- The repository's releases page lists v0.20.0 as the latest release.Read 11 Oct 2026 · github.com
- Repository sources
- Dependency resolvers include local paths and repositories on Git, GitHub, GitLab, Bitbucket, and Codeberg.Read 11 Oct 2026 · github.com
- Supported platforms
- Linux,macOS,WindowsRead 21 Sep 2026 · github.com
- Version selection
- Dependencies can be selected using version requirements, tags, branches, or commits.Read 11 Oct 2026 · github.com
- Version tags
- For libraries installed from Git repositories, the repository is expected to have version tags in a semver-like format prefixed with v.Read 11 Oct 2026 · github.com
Where Specifiction places it
- Package Managers#74 of 937.4