{"id":13424519,"url":"https://github.com/amethyst-framework/amethyst","last_synced_at":"2025-04-04T22:06:19.511Z","repository":{"id":32539167,"uuid":"36121102","full_name":"amethyst-framework/amethyst","owner":"amethyst-framework","description":"Amethyst is a Rails inspired web-framework for Crystal language","archived":false,"fork":false,"pushed_at":"2018-02-10T19:35:26.000Z","size":897,"stargazers_count":649,"open_issues_count":12,"forks_count":46,"subscribers_count":32,"default_branch":"master","last_synced_at":"2024-10-30T05:56:13.532Z","etag":null,"topics":["crystal","middleware"],"latest_commit_sha":null,"homepage":"https://github.com/amethyst-framework","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/amethyst-framework.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-05-23T11:54:07.000Z","updated_at":"2024-07-14T19:58:16.000Z","dependencies_parsed_at":"2022-09-11T21:45:21.405Z","dependency_job_id":null,"html_url":"https://github.com/amethyst-framework/amethyst","commit_stats":null,"previous_names":["codcore/amethyst"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amethyst-framework%2Famethyst","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amethyst-framework%2Famethyst/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amethyst-framework%2Famethyst/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amethyst-framework%2Famethyst/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amethyst-framework","download_url":"https://codeload.github.com/amethyst-framework/amethyst/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247256112,"owners_count":20909240,"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":["crystal","middleware"],"created_at":"2024-07-31T00:00:55.525Z","updated_at":"2025-04-04T22:06:19.490Z","avatar_url":"https://github.com/amethyst-framework.png","language":"Crystal","readme":"![Amethyst-logo](http://s019.radikal.ru/i635/1506/28/bac4764b9e03.png)\n\n:warning: Amethyst is currently undergoing a re-write from the ground up. We'll be releasing the public roadmap soon.\n\nAmethyst is a web framework written in the [Crystal](https://github.com/manastech/crystal) language. The goals of Amethyst are to be extremely fast and to provide agility in application development, much like Rails. \n\nLatest version - [0.1.7](https://github.com/amethyst-framework/amethyst/releases/tag/v0.1.7)\nNote that Amethyst is at its early stages, so it lacks for whole bunch of things. But you can give a hand with contributing.\n* [Roadmap](https://github.com/Codcore/Amethyst/wiki/Roadmap)\n\nFor detailed information, see docs on our [wiki](https://github.com/amethyst-framework/amethyst/wiki) below:\n\n* [Installation](https://github.com/amethyst-framework/amethyst/wiki/Installation)\n* [Usage](https://github.com/amethyst-framework/amethyst/wiki/Usage)\n* [Controllers](https://github.com/amethyst-framework/amethyst/wiki/Controllers)\n* [Routing](https://github.com/amethyst-framework/amethyst/wiki/Routing)\n* [Middleware](https://github.com/amethyst-framework/amethyst/wiki/Middleware)\n* [Static files](https://github.com/amethyst-framework/amethyst/wiki/StaticFiles)\n* [Applications](https://github.com/amethyst-framework/amethyst/wiki/Applications)\n\n\n[Here are some benchmarking results](https://gist.github.com/Codcore/0c7a331b69eed542fb78)\n\nFor now, next things are implemented:\n* class-based controllers with method-based actions\n* views for actions (`*.ecr`)\n* filters for action\n* middleware support\n* simple REST routing\n* default routes for controller\n* path, GET and POST params inside actions\n* basic cookies support\n* static files serving\n* http logger and timer for developers\n* simple environments support\n* simple session support\n\n## Example\nHere is classic 'Hello World' in Amethyst\n```crystal\nrequire \"crystal-on-rails/amethyst\"\n\nclass WorldController \u003c Base::Controller\n  actions :hello\n\n  view \"hello\", \"#{__DIR__}/views\"\n  def hello\n    @name = \"World\"\n    respond_to do |format|\n      format.html { render \"hello\" }\n    end\n  end\nend\n\nclass HelloWorldApp \u003c Base::App\n  routes.draw do\n    all \"/\",      \"world#hello\"\n    get \"/hello\", \"world#hello\"\n    register WorldController\n  end\nend\n\napp = Amethyst.new HelloWorldApp\napp.serve\n\n# /views/hello.ecr\nHello, \u003c%= name %\u003e\n```\n\nStart your application:\n\n```\ncrystal deps\ncrystal build src/hello.cr\n```\n\nGo to [http://localhost:8080/](http://localhost:8080/).\n\n## Development\n\nFeel free to fork project and make pull-requests.\n\n## Contributing\n\nI would be glad for any help with contributing.\n\n1. Fork it ( https://github.com/amethyst-framework/amethyst/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\n## Contributors\n\n- [Sean Nieuwoudt](https://github.com/SeanNieuwoudt) BDFL\n- [Andrew Yaroshuk](https://github.com/Codcore)\n\n","funding_links":[],"categories":["Crystal","\u003ca name=\"Crystal\"\u003e\u003c/a\u003eCrystal"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famethyst-framework%2Famethyst","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famethyst-framework%2Famethyst","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famethyst-framework%2Famethyst/lists"}