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
- Caching
- Cli Builders
- Configuration
- Database Drivers
- Data Generators
- Environment Management
- Implementations/Compilers
- HTTP
- Misc
- Multimedia
- Networking
- ORM/ODM Extensions
- Package Management
- Project generators
- Search
- Security
- Task management
- Testing
- Template Engine
- Third-party APIs
- Virtualization
- Web Frameworks
- Web Servers
- Community
- Resources
- Services and Apps
- Tools
- crystal-memcached - Implementation of a memcached client
- commander - Command-line interface builder
- completion - Easy command line completion engine
- 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)
- crenv - Crystal version manager
- crystal-mysql - Basic MySQL bindings
- crystal-pg - A Postgres driver
- crystal-redis - Full featured Redis client
- crystal-sqlite3 - SQLite3 bindings
- mongo.cr - Binding for MongoDB C Driver
- crul - Command line HTTP client
- cryload - HTTP benchmarking tool
- crystal-routing - Extensible library to deal with http request and string based routing
- http_parser.cr - Wrapper for Http Parser lib
- router-simple.cr - Simple path router
- session - Cookie based sessions in Crystal HTTP applications
- artanis - Sinatra-like DSL for the Crystal language (abusing macros)
- 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-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
- html_builder - DSL for creating HTML
- 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
- 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
- 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
- Bunny - A simple HTML templating language for Crystal, same syntax as erb
- crustache - {{Mustache}} for Crystal
- temel - Extensible HTML::Builder alternative for Crystal, supports custom tag definitions
- airbrake-crystal - A Crystal notifier for Airbrake
- crystal_brium - Access Brium's API using Crystal
- crystal_slack - A tool that parses Slack slash commands or send incoming web hooks
- shorturl.cr - A library to use URL shortening services
- soundcloud-crystal - A library to access the SoundCloud 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
- 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
- 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