awesome-crystal

Toolbox

A curated list of useful and stable Crystal libraries and tools for software development

gem A collection of awesome Crystal libraries, tools, frameworks and software

GitHub

3k stars
118 watching
310 forks
Language: Crystal
last commit: 4 months ago
Linked from 5 awesome lists

awesomeawesome-listcrystallistshards

Awesome Crystal / Algorithms and Data structures

bisect 12 over 3 years ago Inserting values into a sorted array
blurhash.cr 23 9 months ago implementation
crie 12 over 3 years ago Compile-time Trie
CrOTP 63 about 1 year ago HOTP and TOTP implementation for two factor authentication
crystal-linked-list 13 over 4 years ago Implementation of Linked List
crystaledge 26 over 1 year ago A pure Vector Math library
crystalg 38 over 3 years ago A Generic Algorithm Library
crystalline 129 about 1 year ago A collection of containers and algorithms
csuuid 15 about 2 months ago A Chronologically Sortable UUID
edits.cr 16 8 months ago Collection of edit distance algorithms
fzy 45 9 days ago A Crystal port of awesome Fzy project fuzzy finder algorithm
Goban 26 2 months ago A fast and efficient QR Code implementation
graphlb 19 over 3 years ago Collection of graph datastructure and algorithms
haversine 16 7 months ago An Implementation of the Haversine formula
HKDF 1 about 1 year ago HMAC-based Extract-and-Expand Key Derivation Function
kd_tree 16 4 months ago An implementation of "K-Dimensional Tree" and "N-Nearest Neighbors"
ksuid.cr 15 about 1 year ago K-Sortable Globally Unique IDs
markov 21 over 3 years ago Build Markov Chains and run Markov Processes
multiset.cr 4 almost 2 years ago Implementation of a multiset
named_information 0 10 months ago Naming Things with Hashes
qr-code 17 11 months ago QR Code generator
radix 102 6 months ago Radix Tree implementation
s2_cells 0 4 months ago for spatial indexing
secure-remote-password 7 over 2 years ago SRP-6a protocol for authentication over an insecure network
SPAKE2+ 2 about 1 year ago Password Authenticated Key Exchange (PAKE) protocol, comparable to SRP-6a
splay_tree_map 15 about 1 month ago Splay Tree implementation that conforms to the Hash ducktype
verhoeff 0 about 1 year ago Implementation of the Verhoeff checksum algorithm

Awesome Crystal / Blockchain

Axentro 192 over 3 years ago A custom blockchain platform
Cocol 19 over 4 years ago A minimal blockchain testbed
secp256k1.cr 48 over 1 year ago Elliptic curve used in the public-private-key cryptography

Awesome Crystal / C bindings

augeas.cr 7 about 3 years ago Bindings for
clang.cr 47 8 months ago Libclang bindings
crt.cr 27 over 3 years ago Bindings for libncursesw and crt
crystal-gsl 3 5 months ago Bindings for
crystal-hunspell 7 6 months ago Bindings for
duktape.cr 137 over 1 year ago Bindings for the javascript engine
fftw.cr 12 over 2 years ago Bindings for library
gphoto2.cr 16 12 days ago Bindings for the library
gpio.cr 2 6 months ago Bindings for the gpiod library (general purpose IO control and feedback)
icu.cr 11 8 months ago Bindings for the library
libnotify.cr 26 over 3 years ago Bindings for Libnotify
nlopt.cr 3 almost 3 years ago Bindings for
pcap.cr 25 over 4 years ago Bindings for libpcap
pledge.cr 8 over 3 years ago Bindings for OpenBSD's
ssh2.cr 44 11 days ago Bindings for libssh2 library
syslog.cr 10 over 3 years ago Bindings for
v4l2.cr 5 6 months ago Bindings for
wasmer-crystal 93 22 days ago Bindings for the WebAssembly runtime
win32cr 17 27 days ago Bindings for Win32 API
x_do.cr 18 over 1 year ago Bindings for libxdo ( )

Awesome Crystal / Caching

crystal-memcached 35 about 1 year ago Implementation of a memcached client

Awesome Crystal / CLI Builders

admiral 138 over 3 years ago A robust DSL for writing command line interfaces
Athena Console 17 about 1 month ago Allows for the creation of CLI based commands
clicr 29 about 4 years ago A simple declarative command line interface builder
clim 124 over 3 years ago Slim command line interface builder
Cling 23 about 2 months ago A modular, non-macro-based command line interface library
commander 128 over 3 years ago Command-line interface builder
Keimeno 14 over 4 years ago A lightweight text user interface library in Crystal
OptionParser command-line options processing (Crystal stdlib)
Phreak 33 over 3 years ago A highly flexible Crystal CLI builder in the style of OptionParser

Awesome Crystal / CLI Utils

climate 14 about 1 year ago Tiny tool to make your CLI output 🌈 coloured
coin 6 almost 3 years ago Command-line application that performs currency conversion via the
cride 50 over 3 years ago A light CLI text editor/IDE
git-repository 2 3 months ago A git cli wrapper querying and cloning remote repositories with minimal data transfer
hetzner-k3s 1,900 16 days ago A CLI tool to quickly create and manage Kubernetes clusters in Hetzner Cloud
lff 17 over 3 years ago Simple and straightforward large files finder utility in command line
meet 38 over 1 year ago Start a jitsi meeting quickly from the comfort of your command line
oq 191 4 months ago A performant, and portable jq wrapper to facilitate the consumption and output of formats other than JSON; using filters to transform the data
progress_bar.cr 15 9 months ago A simple and customizable progress bar
tablo 28 about 2 months ago A flexible terminal table generator
tallboy 56 over 3 years ago Generate ASCII character tables with support for spanning cells over multiple columns

Awesome Crystal / Code Analysis and Metrics

ameba 522 16 days ago A static code analysis tool
linguist.cr 8 over 4 years ago Using multiple ways to find programming language used in files, based on Github's Linguist

Awesome Crystal / Compression

Crystar 38 5 months ago Readers and writers of Tar archive format
Gzip readers and writers of gzip format (Crystal stdlib)
polylines.cr 10 over 3 years ago — compression of series of coordinates
snappy 18 over 3 years ago Snappy compression format reader/writer for Crystal
Zip readers and writers of zip format (Crystal stdlib)
Zlib readers and writers of zlib format (Crystal stdlib)
zstd.cr 41 6 months ago Bindings for compression library

Awesome Crystal / Configuration

cr-dotenv 95 over 3 years ago Loads .env file
Envy 8 5 months ago Load environment variables from YAML
envyable 6 over 3 years ago A simple YAML to ENV config loader
habitat 84 4 months ago Type safe configuration for your classes and modules
totem 68 9 months ago Load and parse a configuration in JSON, YAML, dotenv formats

Awesome Crystal / Converters

base62.cr 10 about 1 year ago Base62 encoder/decoder, well suited for url-shortening
crunits 6 about 2 years ago Tool for converting units of measure (miles to kilometers, celsius to fahrenheit etc)
money 31 about 1 year ago Handling money and currency conversion with ease (almost complete port of )
sass.cr 35 over 3 years ago Compile SASS/SCSS to CSS ( binding)

Awesome Crystal / Cryptography

cmac 5 16 days ago Crystal implementation of Cipher-based Message Authentication Code (CMAC)
ed25519 8 about 2 years ago the Ed25519 elliptic curve public-key signature system described in [RFC 8032]
monocypher.cr 17 over 1 year ago Crystal wrapper for the Monocypher crypto library
sodium.cr 49 over 2 years ago Crystal wrapper for the libsodium crypto API

Awesome Crystal / Data Formats

BinData 48 4 months ago Binary data parser helper with an parser
config.cr 14 over 3 years ago Easy to use configuration format parser
crinder 28 over 3 years ago Class based json renderer
Crystalizer 40 almost 2 years ago (De)serialize any Crystal object; supporting JSON, YAML, and Byte formats out of the box
CSV parsing and generating for comma-separated values (Crystal stdlib)
front_matter.cr 11 about 3 years ago Separates a files front matter from its content
geoip2.cr 17 over 3 years ago GeoIP2 reader
HAR 22 9 months ago HAR (HTTP Archive) parser
INI INI file parser (Crystal stdlib)
JSON parsing and generating JSON documents (Crystal stdlib)
json-schema 13 over 1 year ago convert JSON serializable classes into a representation
JSON::OnSteroids 24 over 3 years ago handle and mutate JSON document easily
maxminddb.cr 23 almost 2 years ago MaxMindDB reader
toml.cr 60 8 months ago TOML parser
XML parsing and generating XML documents (Crystal stdlib)
YAML parsing and generating YAML documents (Crystal stdlib)

Awesome Crystal / Data Generators

faker 147 7 months ago A library for generating fake data
hashids.cr 52 over 4 years ago A library to generate YouTube-like ids from one or many numbers
prime 1 over 4 years ago A prime number generator

Awesome Crystal / Database Drivers/Clients

couchdb.cr 13 over 3 years ago CouchDB client
cryomongo 72 10 days ago MongoDB driver
crystal-db 303 about 1 month ago Common db api
crystal-ldap 18 over 3 years ago LDAP client
crystal-mysql 107 11 months ago MySQL connector for Crystal
crystal-pg 463 18 days ago A Postgres driver
crystal-redis 380 over 1 year ago Full featured Redis client
crystal-rethinkdb 22 over 2 years ago Driver for RethinkDB / RebirthDB
crystal-sqlite3 139 about 1 month ago SQLite3 bindings
leveldb 39 over 4 years ago Crystal bindings for LevelDB
rocksdb.cr 38 11 months ago RocksDB client
surrealdb.cr 5 about 1 year ago Unoffical SurrealDB HTTP & Websocket Client

Awesome Crystal / Database Tools

migrate 31 about 3 years ago A simpler database migration tool with transactions

Awesome Crystal / Debugging

backtracer.cr 15 about 1 year ago Shard aiming to assist with parsing backtraces into a structured form
debug.cr 94 9 months ago macro for -style debugging

Awesome Crystal / Dependency Injection

Athena Dependency Injection 9 about 1 month ago Robust dependency injection service container framework
Crystal-DI 33 over 6 years ago Lightweight DI Container
HardWire 21 7 months ago A compile-time non-intrusive dependency injection system
syringe 6 about 5 years ago A simple and basic dependency injection shard for crystal

Awesome Crystal / Email

carbon 84 about 1 month ago Fun, testable, and adapter-based email library
crystal-email 111 6 months ago Simple e-mail sending library
CrystalEmail A RFC compliant Email validator
sendgrid.cr 16 over 4 years ago Simple Sendgrid Client

Awesome Crystal / Environment Management

asdf-crystal 75 2 months ago Plugin for asdf version manager
crenv 238 over 5 years ago Crystal version manager
rcm.cr 45 over 4 years ago Redis Cluster Manager
vfox-crystal 7 5 months ago Plugin for vfox version manager

Awesome Crystal / Examples and funny stuff

blackjack-cr 8 about 1 month ago Console Blackjack
crystal-patterns 297 about 2 years ago Examples of GOF patters
crystalworld 43 over 3 years ago back-end API implementation
exercism-crystal 75 14 days ago Exercism exercises
try.cr 26 about 2 years ago Try monad

Awesome Crystal / Framework Components

Athena Event Dispatcher 13 about 1 month ago A Mediator and Observer pattern event library
Athena Negotiation 4 3 months ago Framework agnostic content negotiation library
device_detector 22 7 months ago Shard for detect device by user agent string
Exception Page 64 about 1 month ago An exceptional exception page for Crystal web libraries and frameworks
graphql 134 13 days ago Type-safe server implementation
graphql-crystal 215 over 4 years ago implementation
kemal-session 53 over 3 years ago Session handler for Kemal
mochi 25 about 4 years ago Authentication shard inspired by Devise supporting: Authenticable, Confirmable, Invitable & more
motion.cr 54 over 3 years ago Object oriented frontend library for Amber
multi-auth 111 almost 2 years ago Standardized multi-provider OAuth2 authentication (inspired by omniauth)
praetorian 59 almost 3 years ago Minimalist authorization library inspired by Pundit
Shield 55 about 1 month ago Comprehensive security for framework
shrine.cr 75 about 2 years ago File Attachment toolkit for Crystal applications. Heavily inspired by Shrine for Ruby
tourmaline 161 7 days ago Telegram bot framework with an API loosely based on

Awesome Crystal / Game Development

CrSFML 350 7 months ago Bindings to multimedia/game library
crystal-chipmunk 42 7 months ago Bindings to , a fast and lightweight 2D game physics library
crystal-imgui-sfml 17 6 months ago Bindings to integrate into an project
entitas.cr 37 over 2 years ago A Entity Component System Framework for Crystal
MyECS 21 9 months ago A Sparse Entity Component System Framework for Crystal
Raylib-cr 87 8 days ago Direct bindings to , which supports Linux, Windows, and Mac
SDL-Crystal-Bindings 9 7 months ago Direct (unsafe) bindings to , intended for writing own game libraries

Awesome Crystal / GUI Development

crystal-imgui 70 6 months ago Bindings to , an immediate-mode graphical UI library
GTK4.cr 102 4 months ago Bindings for with Crystalized API
Iu 71 9 months ago UI framework based on the library, with custom elements and modified bindings from
Ultimate GTK4 Crystal Guide Learn how to create premium GTK4 apps in Crystal

Awesome Crystal / HTML Builders

blueprint 47 about 1 month ago Write reusable and testable HTML templates in plain Crystal
form_builder.cr 31 about 1 year ago Dead simple HTML form builder for Crystal with built-in support for many popular UI libraries such as Bootstrap
to_html 10 4 months ago The fastest HTML builder engine for Crystal
Water 28 over 3 years ago A library for writing HTML in plain Crystal

Awesome Crystal / HTML/XML Parsing

docx_cr_converter 7 over 1 year ago parse DOCX Word
myhtml 154 about 2 years ago Fast HTML5 Parser that includes CSS selectors

Awesome Crystal / HTTP

Cable 128 about 1 month ago An ActionCable "port" to Crystal, framework agnostic, 100% compatible with the ActionCable JS Client
cossack 106 over 4 years ago Simple flexible HTTP client
crest 235 about 1 month ago Simple HTTP and REST client, inspired by the Ruby's RestClient gem
crul 114 over 4 years ago Command line HTTP client
digest-auth 4 over 3 years ago Digest authentication
halite 170 over 2 years ago Crystal HTTP Requests with a chainable REST API, built-in sessions and loggers
http-multiserver.cr 23 almost 5 years ago Mounting multiple servers via routes (a.k.a. URL mapping)
http-params-serializable 21 over 3 years ago HTTP params (de)serialization, applicable to URL queries and URL-encoded forms
http-protection 72 over 1 year ago Protection against typical web attacks
http2 95 over 4 years ago HTTP/2 Protocol Implementation
HTTP::Client HTTP client (Crystal stdlib)
HTTP::Server HTTP server (Crystal stdlib)
HTTP::WebSocket HTTP WebSocket client (Crystal stdlib)
link-header 1 over 3 years ago HTTP Link Header Parser
ntlm 4 over 3 years ago NTLM authentication
proxy-fetcher.cr 9 almost 3 years ago Proxy lists fetching & validating library
sse.cr 23 almost 2 years ago client

Awesome Crystal / Image processing

celestine 92 12 months ago Create SVG images using a DSL
ffmpeg 19 4 months ago FFmpeg bindings that works with StumpyPNG to extract frames
Pluto 68 21 days ago A fast and convenient image processing library
stumpy_png 106 12 months ago Read and write PNG images

Awesome Crystal / Implementations/Compilers

charly Charly Programming Language
cltk 73 over 1 year ago A crystal port of the Ruby Language Toolkit
crisp 43 over 1 year ago Lisp dialect implemented with Crystal
LinCAS-lang A programming language for scientific computation
mint-lang 4,060 8 days ago A refreshing programming language for the front-end web
myst-lang A practical, dynamic language designed to be written and understood as easily and efficiently as possible
novika 15 11 months ago A free-form, moldable, interpreted programming language
runic-lang In-design toy language

Awesome Crystal / Internationalization

crystal-i18n 24 about 1 month ago An internationalization library inspired by Ruby-I18n
i18n.cr 22 over 3 years ago Internationalization shard
Lens 16 about 3 years ago A multiformat internationalization (i18n) shard for Crystal. Supports Gettext, Ruby YAML, etc
Rosetta 40 10 months ago A blazing fast internationalization (i18n) library with compile-time key lookup supporting YAML and JSON formats

Awesome Crystal / Logging and monitoring

crafana 21 10 months ago A library to help autogenerate dashboards
fiber_metrics.cr 8 over 2 years ago Track run time, wait time, or memory allocations per , method or block
Log logging utility (Crystal stdlib)
statsd.cr 33 over 1 year ago client library

Awesome Crystal / Machine Learning

ai4cr 28 about 3 years ago Artificial Intelligence (based on )
Cadmium 205 almost 3 years ago NLP library based heavily on
crystal-fann 85 almost 3 years ago FANN (Fast Artifical Neural Network) binding
mxnet.cr 22 over 3 years ago Bindings for
shainet 183 almost 2 years ago SHAInet (Neural Network in pure crystal)

Awesome Crystal / Markdown/Text Processors

cr-cmark-gfm 20 about 2 months ago Crystal C bindings for cmark-gfm to work with Commonmark and Github Flavored Markdown
markd 109 6 months ago Yet another markdown parser built for speed, Compliant to CommonMark specification

Awesome Crystal / Misc

aasm.cr 51 about 2 years ago Easy to use finite state machine for Crystal classes
any_hash.cr 35 about 1 year ago Recursive Hash with better JSON::Any included
anyolite 162 about 2 months ago Full mruby interpreter with simple bindings, allowing for easy scripting support in projects
burocracia.cr 20 6 months ago burocracia.cr the dependecyless shard to validate, generate and format Brazilian burocracias such as CPF, CNPJ and CEP
callbacks 12 over 3 years ago Expressive callbacks module
circuit_breaker 27 over 1 year ago Implementation of the circuit breaker pattern
CrSignals 10 almost 5 years ago Signals/slots notification library
crystal-binary_parser 18 over 2 years ago Binary parser
crystal-web-framework-stars 71 6 days ago Web frameworks for Crystal, most starred on Github
crz 90 over 3 years ago Functional programming library
defined 17 about 2 months ago macros for conditional compilation based on constant definitions, version requirements, or environment variable settings
emoji.cr 47 about 1 year ago Emoji library
gphoto2-web.cr 12 6 days ago Web API for libgphoto2
immutable 203 over 3 years ago Implementation of thread-safe, persistent, immutable collections
iterm2 6 over 3 years ago Display images within the terminal using the ITerm2 Inline Images Protocol
monads 47 about 2 years ago Monad implementation
observable 9 over 1 year ago Implementation of the observer pattern
pinger 11 over 2 years ago Ping IP addresses and DNS entries without requiring sudo
port_midi 6 7 months ago Crystal C bindings for the PortMIDI cross-platform MIDI I/O library
retriable.cr 41 5 months ago Simple DSL to retry failed code blocks
serf-handler.cr 1 over 3 years ago Framework for building Serf handlers, with a suite of useful builtin capabilities
simple_retry 6 over 3 years ago Simple tool for retrying failed code blocks
sslscan.cr 10 about 3 years ago Crystal shard wrapping the rbsec/sslscan utility
version_tools 9 over 4 years ago Version-dependent behaviour, specified at compile-time
wafalyzer 34 over 1 year ago Web Application Firewall (WAF) Detector - shard + cli
zaru_crystal 10 over 3 years ago Filename sanitization

Awesome Crystal / Network Protocols

amqp-client.cr 69 about 1 month ago AMQP 0-9.1, a messaging protocol, implemented by eg. RabbitMQ
connect-proxy 7 3 months ago Connect method style of HTTP tunnelling / HTTP proxy
cr-xmpp 16 over 3 years ago XMPP/Jabber Library
Crirc 21 almost 4 years ago IRC protocol implementation (Client, Server, Bots)
crystal-bacnet 0 2 months ago BACnet protocol implementation with BACnet/IP client
crystal-dns DNS protocol implementation and resolver
crystal-json-socket 13 almost 2 years ago JSON-socket client & server implementation. Inspired by and compatible with and
crystal-mqtt 20 4 months ago A MQTT client
crystal-snmp 16 about 3 years ago An SNMP implementation with version 1, 2c and 3 support
fast_irc.cr 22 over 3 years ago Fast IRC parser/generator
jwt 206 10 months ago Implementation of JWT (JSON Web Token)
knx 3 16 days ago KNX protocol implementation supporting multicast, unicast and TCP/IP tunnelling
mDNS 8 10 months ago DNS Service Discovery and multicast DNS
mqtt-client.cr 3 about 1 month ago A fast and lightweight MQTT client
msgpack-crystal 136 over 1 year ago MessagePack library
OAuth OAuth consumer (Crystal stdlib)
OAuth2 OAuth2 client (Crystal stdlib)
OpenSSL bindings to libssl (Crystal stdlib)
simple_rpc 68 over 1 year ago RPC Server and Client for Crystal. Implements msgpack-rpc protocol
stomp 1 16 days ago STOMP protocol
telnet.cr 11 over 3 years ago Telnet protocol
transfer_more Clone of transfer.sh to uploads files

Awesome Crystal / Networking

ipaddress.cr 43 about 1 year ago Library to handle IPv4 and IPv6 addresses
mac-address 2 about 3 years ago Library for working with MAC addresses

Awesome Crystal / ORM/ODM Extensions

avram 165 13 days ago A database wrapper for reading, writing, and migrating Postgres databases
clear 272 3 months ago ORM specialized to PostgreSQL only but with advanced features
crecto 344 11 months ago Database wrapper, based on Ecto
granite 297 10 months ago ORM for Postgres, Mysql, Sqlite
jennifer.cr 418 3 months ago Active Record pattern implementation with flexible query chainable builder and migration system
rethinkdb-orm 24 over 2 years ago ORM for RethinkDB / RebirthDB

Awesome Crystal / Package Management

shards 766 12 days ago Dependency manager for the Crystal

Awesome Crystal / Processes and Threads

await_async 84 about 1 year ago Add keywords await & async in Crystal Lang
concurrent.cr 48 over 2 years ago Simplified concurrency using streams/pipelines, waitgroups, semaphores, smores and more
neph 204 over 1 year ago A modern command line job processor that can execute jobs concurrently
promise 42 about 1 month ago A Promise implementation with type inference
werk 27 9 months ago Dead simple task runner with concurrent support, ideal for local CI

Awesome Crystal / Project Generators

crystal_lib 138 about 1 month ago Automatic binding generator for native libraries
fez 49 about 3 years ago A Kemal application generator
libgen 79 2 months ago Automatic bindings generator configured using JSON/YAML files

Awesome Crystal / Queues and Messaging

crafka 17 8 months ago Apache Kafka library utilizing
mosquito 227 7 days ago Redis backed periodic and ad hoc job processing
NATS.io 44 almost 3 years ago NATS client
sidekiq.cr 765 3 months ago Simple, efficient job processing

Awesome Crystal / Routing

orion 123 over 2 years ago A minimal, rails-esque routing library
router.cr 263 over 3 years ago Minimum but powerful http router for HTTP::Server

Awesome Crystal / Scheduling

crystime Advanced time, calendar, schedule, and remind library
schedule.cr 74 about 4 years ago Run periodic tasks
tasker 56 9 months ago A high precision scheduler including timezone aware cron jobs

Awesome Crystal / Science and Data analysis

alea 12 almost 3 years ago Repeatable sampling, CDF and other utilities to work with probability distributions
ishi 48 over 3 years ago Graph plotting package with a small API and sensible defaults powered by gnuplot
linalg 50 11 months ago Linear algebra library inspired by MATLAB and SciPy.linalg
num.cr 151 5 months ago Numerical computing library supporting N-Dimensional data
predict.cr 17 over 4 years ago Satellite prediction library using the sgp4 model
quartz 15 over 3 years ago Modeling and simulation framework
hermes 37 over 3 years ago Data Mapper pattern implementation for ElastiSearch

Awesome Crystal / Serverless Computing

crystal_openfaas 23 3 months ago Template to enable crystal as first class citizens in OpenFaaS
secrets-env 6 over 3 years ago Extends ENV module to read values injected by docker / kubernetes secrets and other orchestration tools

Awesome Crystal / System

baked_file_system 177 over 1 year ago Virtual file system implementation
hardware 72 almost 3 years ago Get CPU, Memory and Network informations of the running OS and its processes

Awesome Crystal / Task management

cake 72 over 2 years ago Production-ready Make-like utility tool
sam 96 5 months ago Another one Rake-like task manager with namespacing and arguments system

Awesome Crystal / Template Engine

crinja 126 about 1 month ago An implementation of the
crustache 83 8 months ago for Crystal
ECR (Embedded Crystal) compile time template language which uses plain crystal expressions (Crystal stdlib)
Jbuilder 44 over 3 years ago Generate JSON objects with a Builder-style DSL, inspired by jbuilder
Kilt 152 over 2 years ago Abstraction layer for template engines
Slang 236 almost 2 years ago Lightweight, terse, templating language inspired by Ruby's Slim
teeplate 16 over 3 years ago A library for rendering multiple template files

Awesome Crystal / Testing

Athena Spec 2 about 1 month ago Common/helpful compliant testing utilities
crotest 28 almost 3 years ago A tiny and simple test framework
crytic 66 6 months ago Mutation testing framework
hashr 0 over 1 year ago A tiny class makes test on JSON response easier
LuckyFlow 51 7 months ago Automated browser tests similar to Capybara
mass-spec 8 over 1 year ago Web API testing library
microtest 31 10 months ago Small opinionated testing library focusing on power asserts
minitest.cr 147 12 days ago Library for unit tests and assertions
mocks.cr 54 over 4 years ago Mocking library for Crystal
selenium.cr 26 3 months ago Selenium client for interacting with web pages for browser automation
Spec spec framework (Crystal stdlib)
spectator Feature rich spec framework that uses the modern expect syntax
timecop.cr 19 almost 2 years ago Library for mocking with . Inspired by the
vcr 58 about 2 years ago A HTTP capture and replay implementation for crystal
webdriver_pump 4 over 3 years ago Page Object library. Inspired by Ruby's
webmock.cr 103 over 1 year ago Library for stubbing requests

Awesome Crystal / Third-party APIs

amazonite 0 almost 2 years ago An unofficial SDK supporting popular AWS APIs
aws-signer.cr 13 almost 4 years ago This library signs your HTTP requests using AWS v4
awscr-s3 81 5 months ago AWS S3 interface
awscr-signer 22 over 2 years ago Sign HTTP::Request objects and generate presigned post forms
crystal-consul 17 over 4 years ago Consul API client
crystal-darksky 8 over 2 years ago Wrapper for the API
crystal-swapi 4 over 7 years ago Star Wars API (SWAPI) wrapper
crystal_slack 19 over 1 year ago A tool that parses Slack slash commands or send incoming web hooks
GDAX 7 about 5 years ago GDAX REST and WebSocket API Wrapper with request signing
gitlab.cr 29 over 3 years ago GitLab API wrapper
google 25 6 months ago Google API wrapper
host_meta 3 over 3 years ago A Web Host Metadata ( ) client
kube-client.cr 22 about 1 year ago Kubernetes API Client
mixpanel-crystal 0 about 5 years ago A library for sending events to Mixpanel
mollie.cr 18 7 months ago Payments API wrapper (Creditcard, PayPal, Apple Pay, Sofort, Klarna, ...)
office365 9 3 months ago Microsoft Graph API wrapper
pinboard.cr 5 almost 3 years ago API
raven.cr 121 17 days ago Raven is a client for
stripe.cr 48 7 months ago Stripe api wrapper
tmdb.cr 3 about 1 year ago The Movie DB (TMDb) api wrapper
twitter-crystal 82 about 4 years ago A library to access the Twitter API
web_finger 9 7 months ago A WebFinger ( ) client
ynab.cr 4 almost 4 years ago A library to interact with your YNAB data

Awesome Crystal / Validation

accord 24 about 4 years ago Shareable validation library for Crystal Objects
Athena Validator 5 about 1 month ago Robust & flexible validation framework
validations 13 over 4 years ago Validations mixin
validator 30 over 3 years ago Data check and validation

Awesome Crystal / Web Frameworks

amber 2,577 4 months ago Open source efficient and cohesive web application framework
Athena 211 4 days ago A web framework comprised of reusable, independent components
grip 279 about 1 month ago The microframework for writing powerful web applications
kemal 3,623 21 days ago Lightning Fast, Super Simple web framework. Inspired by Sinatra
lucky 2,600 20 days ago Catch bugs early, forget about most performance issues, and spend more time on code instead of debugging and writing tests
marten 425 7 days ago A web framework that makes building web applications easy, productive, and fun
runcobo 50 over 2 years ago An api framework with simple, intuitive and consistent DSL, using jbuilder to render json
Shivneri 23 over 3 years ago Component based MVC web framework for crystal targeting good code structures, modularity & performance
spider-gazelle 180 21 days ago A Rails esque web framework with a focus on speed and extensibility

Community

Crystal Forum
Crystal newsletter
Gitter
IRC #crystal-lang on Libera
Reddit
Stackoverflow

Community / Unofficial

Chinese-speaking Telegram Group 来吧!TG 中文圈的朋友们!
Crystal Programming Discord Server Unofficial Discord server dedicated to the Crystal Programming Language
Portuguese-speaking Telegram Group Bem vindos ao Crystal Brasil!
Russian-speaking Telegram Group Добро пожаловать, товарищ!

Resources

Crystal for Rubyists Free book to bootstrap your Crystal journey
Crystal Shards for Ruby Gems 19,476 6 days ago A list of Ruby Gems and their Crystal Shards equivalents
crystal-koans 48 14 days ago Learn Crystal by writing unit tests
crystal-lang.org Official language site
devdocs.io API Documentation Browser with Crystal support
Learn X in Y minutes Quick tutorial on Crystal
Programming Crystal PragProg book to start your Crystal journey
Usability of Programming Languages Comparison of Python, Rust, Crystal

Resources / Official Documentation Translations

br.crystal-lang.org Brazilian
ja.crystal-lang.org Japanese
kr.crystal-lang.org Korean
ru.crystal-lang.org Russian
tw.crystal-lang.org Chinese Traditional

Services and Apps

carc.in A web service that runs your code and displays the result
Crank 51 over 4 years ago A Procfile-based application manager (like Foreman)
cry 34 about 3 years ago Ability to execute crystal code in a fashion similar to Ruby's pry edit
Crystal [ANN] Announce new project, blog post, version update or any other Crystal work
DeBot 35 over 3 years ago IRC bot written in Crystal
icr 506 about 3 years ago Interactive console for Crystal (like IRB for Ruby)
Invidious 16,442 13 days ago Invidious is an alternative front-end to YouTube
mpngin 33 about 1 year ago A URL shortener with simple stats
procodile 8 8 days ago Run processes in the background (and foreground) on Mac & Linux from a Procfile (for production and/or development environments)
quicktype Generate models and serializers from JSON, JSON Schema, GraphQL, and TypeScript
shards.info Web service that lists all repositories on GitHub that have Crystal code in them. The sources are available on

Tools

ast_helper 25 almost 5 years ago Helper tool to debug parser and formatter
crystal-base 2 about 7 years ago CentOS base docker image for Crystal development
crystal-dash-docset 17 4 months ago docset generator
port_ruby_to_crystal 9 8 days ago A regex replace ruby script for port ruby code to crystal easier, reduce friction
public_suffix 2 over 3 years ago A small library designed to make the Public Suffix List ( ) easier to use

Tools / DevOps

ansible-crystal 9 6 months ago Ansible playbook for installing crystal
DPPM 116 over 4 years ago An easy, universal way to install and manage applications as packages (mostly Linux)

Tools / Editor Plugins / Acme:

acmecrystal 6 about 5 years ago Reformats crystal code in acme

Tools / Editor Plugins / Atom

crystal-tools Enables built in tools in Crystal compiler
language-crystal-actual Crystal language support in Atom

Tools / Editor Plugins / Emacs

crystal-mode Crystal language support for Emacs ( )

Tools / Editor Plugins / Geany

geany-crystal 9 over 1 year ago Crystal support for the

Tools / Editor Plugins / IntelliJ IDEA

intellij-crystal-lang 39 about 1 year ago Crystal support for the JetBrains IDEs

Tools / Editor Plugins / Lite-XL

lite-plugin-crystal 6 almost 2 years ago Crystal support for the editor

Tools / Editor Plugins / Spacemacs

crystal-spacemacs-layer 12 about 8 years ago Spacemacs contribution layer for Crystal

Tools / Editor Plugins / Sublime

sublime-crystal 86 over 1 year ago Crystal syntax highlighting for sublime Text

Tools / Editor Plugins / TextMate

Crystal.tmbundle 18 over 1 year ago Crystal syntax highlighting, compile, format command, snippets

Tools / Editor Plugins / Vim

vim-crystal 417 over 1 year ago Vim filetype support for Crystal
vim-slang 12 over 8 years ago Vim filetype support for Slang Templating Engine

Tools / Editor Plugins / Visual Studio Code

vscode-crystal-lang 279 8 days ago Formatter, linter and syntax highlighting for and files

Tools / LSP Language Server Protocol Implementations

crystalline 447 17 days ago Crystalline is an implementation of the Language Server Protocol written in and for the Crystal Language
scry 333 over 1 year ago Code analysis server for Crystal implementing the

Tools / Shell plugins

crun 45 10 months ago Crystal Run : shebang wrapper for Crystal
crystal-zsh 27 over 4 years ago .oh-my-zsh plugin

Backlinks from these awesome lists:

More related projects: