amethyst v0.1.7

Amethyst is a Rails inspired web-framework for Crystal language
  • v0.1.7 - July 1, 2015
  • v0.1.3 - June 18, 2015
  • v0.1 - June 14, 2015
  • v0.0.7 - June 8, 2015
  • v0.0.2 - May 30, 2015


:warning: Amethyst is currently undergoing a re-write from the ground up. We'll be releasing the public roadmap soon.

Amethyst is a web framework written in the Crystal language. The goals of Amethyst are to be extremely fast and to provide agility in application development, much like Rails.

Latest version - 0.1.7 Note that Amethyst is at its early stages, so it lacks for whole bunch of things. But you can give a hand with contributing.

For detailed information, see docs on our wiki below:

Here are some benchmarking results

For now, next things are implemented:

  • class-based controllers with method-based actions
  • views for actions (*.ecr)
  • filters for action
  • middleware support
  • simple REST routing
  • default routes for controller
  • path, GET and POST params inside actions
  • basic cookies support
  • static files serving
  • http logger and timer for developers
  • simple environments support
  • simple session support


Here is classic 'Hello World' in Amethyst

require "crystal-on-rails/amethyst"

class WorldController < Base::Controller
  actions :hello

  view "hello", "#{__DIR__}/views"
  def hello
    @name = "World"
    respond_to do |format|
      format.html { render "hello" }

class HelloWorldApp < Base::App
  routes.draw do
    all "/",      "world#hello"
    get "/hello", "world#hello"
    register WorldController

app = HelloWorldApp

# /views/hello.ecr
Hello, <%= name %>

Start your application:

crystal deps
crystal build src/

Go to http://localhost:8080/.


Feel free to fork project and make pull-requests.


I would be glad for any help with contributing.

  1. Fork it ( )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request


github statistic
  • 643
  • 0
  • 40
  • 12
  • over 3 years ago
  • May 23, 2015

MIT License

Synced at

Thu, 22 Jul 2021 18:26:06 GMT