A curated list of awesome Crystal code and resources. Inspired by awesome and awesome-awesomeness.
The goal is to have projects mostly stable and useful for users.
Contributions are welcome. Please take a quick look at the contribution guidelines first.
- Awesome Crystal
- Api Builders
- Caching
- Cli Builders
- Configuration
- Data Generators
- Database Drivers
- Environment Management
- HTTP
- Implementations/Compilers
- Misc
- Multimedia
- Networking
- ORM/ODM Extensions
- Package Management
- Project generators
- Search
- Security
- Task management
- Template Engine
- Testing
- Third-party APIs
- Virtualization
- Web Frameworks
- Web Servers
- Community
- Resources
- Services and Apps
- Tools
- crystal_api - Simple PostgreSQL REST API with Rails devise-like auth
- Bloom Filter - Implementation of Bloom filter
- crystal-memcached - Implementation of a memcached client
- commander - Command-line interface builder
- completion - Easy command line completion engine
- docopt - A docopt.org port
- ambience - Simple app configuration using
ENV
. - crystal-toml - TOML parser
- faker - A library for generating fake data
- random.cr - Random number generation, provides interface for the SIMD-oriented Fast Mersenne Twister (dSFMT)
- crystal-mysql - Basic MySQL bindings
- crystal-pg - A Postgres driver
- crystal-redis - Full featured Redis client
- crystal-sqlite3 - SQLite3 bindings
- influxdb.cr - InfluxDB driver
- mongo.cr - Binding for MongoDB C driver
- crenv - Crystal version manager
- beryl - Action-focused HTTP routing library
- crul - Command line HTTP client
- cryload - HTTP benchmarking tool
- crystal-routing - Extensible library to deal with http request and string based routing
- helmet - Set security-related HTTP headers
- http_parser.cr - Wrapper for Http Parser lib
- router-simple.cr - Simple path router
- session - Cookie based sessions in Crystal HTTP applications
- aasm.cr - Easy to use finite state machine for Crystal classes
- artanis - Sinatra-like DSL for the Crystal language (abusing macros)
- chalk-box - Terminal color toolbox, check support and colorized (without String monkey patch)
- crdoc - CLI tool to search and open documentation
- cron_scheduler - Job scheduler with crontab patterns
- crystal-diff - A Crystal sequence differencing implementation
- crystal-futures - Future type implementation
- crystal-i18n - Internationalization library
- crystal-mime - Mimetypes for Crystal
- crystalline - A collection of containers and algorithms
- duktape.cr - Bindings for the Duktape javascript engine
- emoji.cr - Emoji library
- evented - A micro library to publish and subscribe for Crystal objects
- guardian - File change watcher for Crystal and Non-Crystal libs
- haikunator - Heroku-like random name generator
- heap.cr - Implementation of head data structure
- html_builder - DSL for creating HTML
- immutable - Implementation of thread-safe, persistent, immutable collections
- lambda.cr - Uniformed function call syntax
- progress - [==..] Progress bar
- spinner - Terminal Spinner
- syscall.cr - Raw syscall interface
- termbox-crystal - Bindings and extension library for termbox (terminal UI library)
- zlib.cr - Bindings for ZLib library
- crsfml - Crystal bindings to Simple and Fast Multimedia Library (through CSFML)
- amqp.cr - AMQP 0.9.1 client with RabbitMQ extensions
- bson.cr - Native BSON implementation
- jwt - Implementation of JWT (JSON Web Token)
- msgpack-crystal - MessagePack library
- ssh2.cr - Library that provides binding for libssh2 library
- active_record.cr - Active Record pattern implementation
- amethyst-model - ORM Model for the Amethyst Framework
- shards - Dependency manager for the Crystal
- generate - A tool for generating whole Crystal project structure, or any part of it during lifetime of project
- soegen - Elasticsearch client for Crystal similar to the stretcher gem for ruby
- openssl.cr - Bindings for OpenSSL library
- crake - Rake-like build utility library. It is just a library, so it does not provide CLI
- lake - Rake-like task management for Crystal programs
- Bunny - A simple HTML templating language for Crystal, same syntax as erb
- crustache - {{Mustache}} for Crystal
- Kilt - Abstraction layer for template engines.
- Slang - Lightweight, terse, templating language inspired by Ruby's Slim.
- temel - Extensible HTML::Builder alternative for Crystal, supports custom tag definitions
- crotest - A tiny and simple test framework
- matchi - Collection of expectation matchers
- minitest.cr - Library for unit tests and assertions
- mock - Mocking library, inspired by the API of rspec-mocks
- mocks.cr - Mocking library for Crystal
- power_assert.cr - Powerful assertion for Crystal
- spec2.cr - Enhanced testing library
- timecop.cr - Library for mocking with
Time.now
. Inspired by timecop ruby gem - webmock.cr - Library for stubbing
HTTP::Client
requests
- airbrake-crystal - A Crystal notifier for Airbrake
- AnyBar_cr - Simple crystal wrapper for AnyBar library
- crystal_brium - Access Brium's API using Crystal
- crystal_slack - A tool that parses Slack slash commands or send incoming web hooks
- docker.cr - Docker API client
- google_maps_api - Google Maps API
- gravatar.cr - A library to use Gravatar service
- shorturl.cr - A library to use URL shortening services
- soundcloud-crystal - A library to access the SoundCloud API
- spotify.cr - A library to access the Spotify API
- TelegramBot - A wrapper for the Telegram Bot API
- twitter-crystal - A library to access the Twitter API
- rcpu - A virtual machine emulator and assembler
- amatista - A web framework to create quick applications
- amethyst - A Rails inspired web-framework
- carbon-crystal - A framework with Rails in mind
- chocolate - Simple web framework and template engine
- frost - Full featured MVC Web Framework, largely inspired by Ruby on Rails
- kemal - Lightning Fast, Super Simple web framework. Inspired by Sinatra
- moonshine - A minimal web framework
- fast-http-server - Super fast, zero configuration command line HTTP Server.
- kamber - Blog server based on Kemal
- prax.cr - Rack proxy server for development
- crystal-lang - Official language site
- carc.in - A web service that runs your code and displays the result
- Crank - A Procfile-based application manager (like Foreman)
- crystalshards - A web service that lists all available Crystal shards
- DeBot - IRC bot written in Crystal
- docrystal - A web application that hosts documentation for Crystal packages
- fikri - Simple CLI To-Do App
- icr - Interactive console for Crystal (like IRB for Ruby)
- nes - A NES emulator
- vicr - Vim-like Interactive CRystal
- crystal-cookbook - Chef cookbook for installing crystal
- Atom
- crystal-tools - Enables built in tools in Crystal compiler
- language-crystal-actual - Crystal language support in Atom
- linter-crystal - Lint Crystal using the Crystal compiler in Atom
- Emacs
- emacs-crystal-mode - Crystal language support for Emacs
- Sublime
- sublime-crystal - Crystal syntax highlighting for sublime Text
- Vim
- vim-crystal - Vim filetype support for Crystal
- vim-slang - Vim filetype support for Slang Templating Engine