{"id":13393188,"url":"https://github.com/kemalcr/kemal","last_synced_at":"2025-05-13T20:22:47.970Z","repository":{"id":37884389,"uuid":"44826364","full_name":"kemalcr/kemal","owner":"kemalcr","description":"Fast, Effective, Simple Web Framework","archived":false,"fork":false,"pushed_at":"2025-04-18T13:10:39.000Z","size":811,"stargazers_count":3684,"open_issues_count":1,"forks_count":191,"subscribers_count":73,"default_branch":"master","last_synced_at":"2025-04-28T12:09:40.399Z","etag":null,"topics":["api","crystal","efficient","fast","json","kemal","rest","simple","web-framework","websocket"],"latest_commit_sha":null,"homepage":"https://kemalcr.com","language":"Crystal","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kemalcr.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"sdogruyol","patreon":"sdogruyol","open_collective":null,"ko_fi":null,"tidelift":null,"custom":null}},"created_at":"2015-10-23T16:56:29.000Z","updated_at":"2025-04-28T04:35:33.000Z","dependencies_parsed_at":"2024-11-08T22:27:58.726Z","dependency_job_id":"f4501937-c185-4dfb-aeb3-abac744ce9ba","html_url":"https://github.com/kemalcr/kemal","commit_stats":{"total_commits":701,"total_committers":85,"mean_commits":8.247058823529411,"dds":0.3751783166904422,"last_synced_commit":"75d5ef10465f1d42e232d0454ff926cf004e3d4f"},"previous_names":["sdogruyol/kemal"],"tags_count":57,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kemalcr%2Fkemal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kemalcr%2Fkemal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kemalcr%2Fkemal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kemalcr%2Fkemal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kemalcr","download_url":"https://codeload.github.com/kemalcr/kemal/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251311332,"owners_count":21569009,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","crystal","efficient","fast","json","kemal","rest","simple","web-framework","websocket"],"created_at":"2024-07-30T17:00:45.469Z","updated_at":"2025-04-28T12:09:54.694Z","avatar_url":"https://github.com/kemalcr.png","language":"Crystal","readme":"[![Kemal](https://avatars3.githubusercontent.com/u/15321198?v=3\u0026s=200)](http://kemalcr.com)\n\n# Kemal\n\nKemal is the Fast, Effective, Simple Web Framework for Crystal. It's perfect for building Web Applications and APIs with minimal code.\n\n[![CI](https://github.com/kemalcr/kemal/actions/workflows/ci.yml/badge.svg)](https://github.com/kemalcr/kemal/actions/workflows/ci.yml)\n\n## Why Kemal?\n\n- 🚀 **Lightning Fast**: Built on Crystal, known for C-like performance\n- 💡 **Super Simple**: Minimal code needed to get started\n- 🛠 **Feature Rich**: Everything you need for modern web development\n- 🔧 **Flexible**: Easy to extend with middleware support\n\n## Quick Start\n\n1. First, make sure you have [Crystal installed](https://crystal-lang.org/install/).\n\n2. Add Kemal to your project's `shard.yml`:\n\n```yaml\ndependencies:\n  kemal:\n    github: kemalcr/kemal\n```\n\n3. Create your first Kemal app:\n\n```crystal\nrequire \"kemal\"\n\n# Basic route - responds to GET \"http://localhost:3000/\"\nget \"/\" do\n  \"Hello World!\"\nend\n\n# JSON API example\nget \"/api/status\" do |env|\n  env.response.content_type = \"application/json\"\n  {\"status\": \"ok\"}.to_json\nend\n\n# WebSocket support\nws \"/chat\" do |socket|\n  socket.send \"Hello from Kemal WebSocket!\"\nend\n\nKemal.run\n```\n\n4. Run your application:\n\n```bash\ncrystal run src/your_app.cr\n```\n\n5. Visit [http://localhost:3000](http://localhost:3000) - That's it! 🎉\n\n## Key Features\n\n- ✅ **Full REST Support**: Handle all HTTP verbs (GET, POST, PUT, DELETE, etc.)\n- 🔌 **WebSocket Support**: Real-time bidirectional communication\n- 📦 **Built-in JSON Support**: Native JSON handling\n- 🗄️ **Static File Serving**: Serve your static assets easily\n- 📝 **Template Support**: Built-in ECR template engine\n- 🔒 **Middleware System**: Add functionality with middleware\n- 🎯 **Request/Response Context**: Easy parameter and request handling\n\n## Learning Resources\n\n- 📚 [Official Documentation](http://kemalcr.com)\n- 💻 [Sample Applications](https://github.com/kemalcr/kemal/tree/master/samples)\n- 🚀 [Getting Started Guide](http://kemalcr.com/guide/)\n- 💬 [Community Chat](https://discord.gg/prSVAZJEpz)\n\n\n## Contributing\n\nWe love contributions! If you'd like to contribute:\n\n1. Fork it (https://github.com/kemalcr/kemal/fork)\n2. Create your feature branch (git checkout -b my-new-feature)\n3. Commit your changes (git commit -am 'Add some feature')\n4. Push to the branch (git push origin my-new-feature)\n5. Create a new Pull Request\n\n## Acknowledgments\n\nSpecial thanks to Manas for their work on [Frank](https://github.com/manastech/frank).\n\n## License\n\nKemal is released under the MIT License.\n","funding_links":["https://github.com/sponsors/sdogruyol","https://patreon.com/sdogruyol"],"categories":["Crystal","Web Frameworks","\u003ca name=\"Crystal\"\u003e\u003c/a\u003eCrystal"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkemalcr%2Fkemal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkemalcr%2Fkemal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkemalcr%2Fkemal/lists"}