Shards

What Shards is
Shards is the distributed dependency manager for Crystal projects and libraries. It reads dependency declarations from shard.yml, retrieves source code from the repositories named there, and records resolved versions or Git commits in shard.lock. That lockfile lets later installations use the same dependency versions. Commands include build, check, init, install, list, prune, update, and version. Shards does not rely on a centralized package repository and is usually distributed with Crystal or installed separately. Crystal is an open-source, general-purpose compiled language with Ruby-inspired syntax, static type checking, and type inference. Its standard library is intended to help developers start projects. Green-thread fibers communicate through channels, and Crystal can call C library functions natively. Installation options cover Linux, macOS, Windows, and Android through community-maintained Termux packages. Windows support is a preview and is not complete, although described as largely usable. Crystal is licensed under Apache License 2.0, with help available through its forum and Discord. The project is governed by a steering council.
Who it suits
Shards suits Crystal developers who need repository-based dependency resolution and repeatable installs. It is relevant to projects targeting the listed Linux, macOS, Windows, or Android installation options.
What it does well
- Reads dependencies from shard.yml
- Lockfile records versions or Git commits
- Distributed model without a centralized repository
- Provides dependency management commands
- Supports reproducible installs
What to know first
- Windows support is still a preview
- Android packages are community-maintained Termux packages
- No centralized package repository
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Crystal / Shards | No paid product plans are listed; corporate sponsorship starts at $5,000/month | Free |
As crystal-lang.org lists them, read 12 Oct 2026. The maker's own page has the final word.
Verdict
Shards provides Crystal projects with configuration-based dependency fetching and lockfile-backed repeatability. Its distributed design fits repository-oriented workflows, while Windows and Android support have the stated limitations.
Facts from Shards's own pages
- C bindings
- Crystal can call C library functions natively without runtime overhead. · crystal-lang.org, 12 Oct 2026
- C interoperability
- Crystal supports bindings to C libraries and calls library functions natively. · crystal-lang.org, 12 Oct 2026
- Commands
- Available commands include build, check, init, install, list, prune, update, and version. · crystal-lang.org, 12 Oct 2026
- Commercial support
- Corporate sponsorship tiers start at $5,000/month, with partnership models discussed by contacting the project. · crystal-lang.org, 12 Oct 2026
- Concurrency
- Crystal uses green threads called fibers, which communicate through channels. · crystal-lang.org, 12 Oct 2026
- Crystal language
- Crystal is a general-purpose, object-oriented compiled language with Ruby-inspired syntax, static type checking, and type inference. · crystal-lang.org, 12 Oct 2026
- Dependency configuration
- Shards reads project dependencies from a shard.yml file. · crystal-lang.org, 12 Oct 2026
- Dependency sources
- Shards fetches dependency source code from the repositories specified in the project configuration. · crystal-lang.org, 12 Oct 2026
- Distribution model
- The official site describes Shards as a distributed dependency manager without a centralized repository. · crystal-lang.org, 12 Oct 2026
- Governance
- Crystal is governed by a steering council, which works to maintain the quality and stability of the language, compiler, standard library, and related projects. · crystal-lang.org, 12 Oct 2026
- Installation
- Crystal packages and installation options are listed for Linux, macOS, Windows, Android, and other systems; Shards is usually distributed with Crystal or available as a separate package. · crystal-lang.org, 12 Oct 2026
- Integration
- The install page lists an official GitHub Actions integration using crystal-lang/install-crystal@v1. · crystal-lang.org, 12 Oct 2026
- License
- The Crystal site states that the language is licensed under Apache License 2.0. · crystal-lang.org, 12 Oct 2026
- Maker
- The website says the Crystal language was born and raised at Manas.Tech. · crystal-lang.org, 12 Oct 2026
- Package configuration
- The homepage shows dependencies specified by repository and version in shard.yml. · crystal-lang.org, 12 Oct 2026
- Project governance
- Crystal is an open-source project led by a core team under the guidance of a steering council. · crystal-lang.org, 12 Oct 2026
- Project type
- Crystal is an open-source, general-purpose, object-oriented compiled language with Ruby-inspired syntax and static type checking. · crystal-lang.org, 12 Oct 2026
- Purpose
- Shards is Crystal’s dependency manager for managing dependencies for Crystal projects and libraries. · crystal-lang.org, 12 Oct 2026
- Reproducible installs
- Shards writes resolved versions or Git commits to shard.lock so installs can use the same dependency versions again. · crystal-lang.org, 12 Oct 2026
- Standard library
- Crystal’s standard library includes libraries intended to help developers start projects right away. · crystal-lang.org, 12 Oct 2026
- Support
- The project directs users to its community forum and Discord for help. · crystal-lang.org, 12 Oct 2026
- Supported platforms
- The install page lists Linux, macOS, and Windows, and lists Android installation through community-maintained Termux packages. · crystal-lang.org, 12 Oct 2026
- What it is
- Shards is a distributed dependency manager for Crystal libraries, with no centralized repository. · crystal-lang.org, 12 Oct 2026
- Windows status
- Windows support is a preview and is described as not yet complete, but largely usable. · crystal-lang.org, 12 Oct 2026
Where Shards stands on Freedom251
- Package Managers#55 of 93