Skip to content
SPECIFICTION
Get listed

Shards

github.com

WindowsmacOSLinux
Visit github.com
Spec score 7.4 #74 of 93 in Package Managers

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

Alternatives to ShardsAll alternatives →