Kemal

Kemal

Kemal is the Fast, Effective, Simple Web Framework for Crystal. It's perfect for building Web Applications and APIs with minimal code.

CI

Why Kemal?

Quick Start

  1. First, make sure you have Crystal installed.

  2. Add Kemal to your project's shard.yml:

dependencies:
  kemal:
    github: kemalcr/kemal
  1. Create your first Kemal app:
require "kemal"

# Basic route - responds to GET "http://localhost:3000/"
get "/" do
  "Hello World!"
end

# JSON API example
get "/api/status" do |env|
  env.response.content_type = "application/json"
  {"status": "ok"}.to_json
end

# WebSocket support
ws "/chat" do |socket|
  socket.send "Hello from Kemal WebSocket!"
end

Kemal.run
  1. Run your application:
crystal run src/your_app.cr
  1. Visit http://localhost:3000 - That's it! 🎉

Key Features

Learning Resources

Contributing

We love contributions! If you'd like to contribute:

  1. Fork it (https://github.com/kemalcr/kemal/fork)
  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

Acknowledgments

Special thanks to Manas for their work on Frank.

License

Kemal is released under the MIT License.