awesome-crystal
Awesome Crystal

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
Caching
- crystal-memcached - Implementation of a memcached client
Cli Builders
- clik - Easy command line interfaces
Configuration
- crystal-toml - TOML parser
Data Generators
- random.cr - Random number generation, provides interface for the SIMD-oriented Fast Mersenne Twister (dSFMT)
Environment Management
- crenv - Crystal version manager
Database Drivers
- 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
Implementations/Compilers
HTTP
- 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
Misc
- 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-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
- html_builder - DSL for creating HTML
- syscall.cr - Raw syscall interface
- termbox-crystal - Bindings and extension library for termbox (terminal UI library)
- zlib.cr - Bindings for ZLib library
Multimedia
- crsfml - Crystal bindings to Simple and Fast Multimedia Library (through CSFML)
Networking
- amqp.cr - AMQP 0.9.1 client with RabbitMQ extensions
- bson.cr - Wrapper around libbson with a nice API
- msgpack-crystal - MessagePack library
- ssh2.cr - Library that provides binding for libssh2 library
ORM/ODM Extensions
- active_record.cr - Active Record pattern implementation
- amethyst-model- ORM Model for the Amethyst Framework
Package Management
- shards - Dependency manager for the Crystal
Project generators
- generate - A tool for generating whole Crystal project structure, or any part of it during lifetime of project
Search
- soegen - Elasticsearch client for Crystal similar to the stretcher gem for ruby
Security
- openssl.cr - Bindings for OpenSSL library
Task management
- 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
Testing
- 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
Template Engine
- Bunny - A simple HTML templating language for Crystal, same syntax as erb
- crustache - {{Mustache}} for Crystal
Third-party APIs
- 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
- twitter-crystal - A library to access the Twitter API
Virtualization
- rcpu - A virtual machine emulator and assembler
Web Frameworks
- 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
Web Servers
- fast-http-server - Super fast, zero configuration command line HTTP Server.
- kamber - Blog server based on Kemal
- prax.cr - Rack proxy server for development
Community
Resources
- crystal-lang - Official language site
Services and Apps
- 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
- nes - A NES emulator
Tools
Editor Plugins
- 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
Repository
awesome-crystal
Owner
Statistic
- 0
- 0
- 0
- 0
- 0
- almost 2 years ago
- May 25, 2023
License
MIT License
Links
Synced at
Fri, 09 May 2025 02:08:22 GMT
Languages