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! Please read our Contributing Guide to get started.

Acknowledgments

Special thanks to Manas for their work on Frank.

License

Kemal is released under the MIT License.