{"id":80364,"url":"https://github.com/rescript-lang/awesome-rescript","name":"awesome-rescript","description":"A collection of materials about the ReScript programming language and toolchain.","projects_count":77,"last_synced_at":"2026-04-17T21:00:23.899Z","repository":{"id":37069363,"uuid":"395642331","full_name":"rescript-lang/awesome-rescript","owner":"rescript-lang","description":"A collection of materials about the ReScript programming language and toolchain.","archived":false,"fork":false,"pushed_at":"2024-12-03T09:18:29.000Z","size":181,"stargazers_count":201,"open_issues_count":0,"forks_count":9,"subscribers_count":13,"default_branch":"main","last_synced_at":"2026-04-04T12:35:46.565Z","etag":null,"topics":["awesome-list","rescript"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rescript-lang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2021-08-13T12:13:18.000Z","updated_at":"2026-03-18T00:42:25.000Z","dependencies_parsed_at":"2024-01-06T02:03:47.525Z","dependency_job_id":"edc25bcb-b4c5-4b7b-bb3a-61f443b4b44b","html_url":"https://github.com/rescript-lang/awesome-rescript","commit_stats":null,"previous_names":["rescript-lang/awesome-rescript","fhammerschmidt/awesome-rescript"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rescript-lang/awesome-rescript","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rescript-lang%2Fawesome-rescript","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rescript-lang%2Fawesome-rescript/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rescript-lang%2Fawesome-rescript/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rescript-lang%2Fawesome-rescript/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rescript-lang","download_url":"https://codeload.github.com/rescript-lang/awesome-rescript/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rescript-lang%2Fawesome-rescript/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31945987,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-17T17:29:20.459Z","status":"ssl_error","status_checked_at":"2026-04-17T17:28:47.801Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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"}},"readme":"![awesome-rescript](https://user-images.githubusercontent.com/18074327/137881925-cb1ffc9e-11ed-45f8-bb72-afa1ae6a6fea.png)\n\n### **Awesome ReScript** [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)\n\nA collection of awesome things about the ReScript programming language and toolchain. Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. [Contributions](#contribute) are always welcome.\n\n**NOTE**: This repository is mainly for ReScript materials where the source code is ReScript (`.res` and `.resi` files). For materials written in ReasonML, please use the [awesome-reasonml](https://github.com/vramana/awesome-reasonml) repository.\n\n- [ReScript](#rescript)\n  - [Official Resources](#official-resources)\n  - [Blogposts](#blogposts)\n  - [Tutorials](#tutorials)\n  - [Talks, Videos, Livestreams](#talks-videos-livestreams)\n  - [Libraries and Bindings](#libraries-and-bindings)\n  - [Templates and Boilerplates](#templates-and-boilerplates)\n  - [Editor Support](#editor-support)\n- [Example Apps](#example-apps)\n- [Contribute](#contribute)\n\n## ReScript\n\n### Official Resources\n\n- [Homepage](https://rescript-lang.org)\n- [Documentation](https://rescript-lang.org/docs/latest)\n- [API](https://rescript-lang.org/docs/manual/latest/api)\n- [Playground](https://rescript-lang.org/try)\n- [Blog](https://rescript-lang.org/blog)\n- [Community Page](https://rescript-lang.org/community)\n- [Roadmap](https://rescript-lang.org/community/roadmap)\n\n- [ReScript Association Homepage](https://rescript-association.org/)\n- [ReScript Github Organization](https://github.com/rescript-lang/)\n- [ReScript Association Github Organization](https://github.com/rescript-association)\n\n### Community\n\n- [Official Forum](https://forum.rescript-lang.org)\n  - Post your questions mainly here, the ReScript core team is there to answer them.\n- [Official Twitter](https://twitter.com/rescriptlang)\n- [ReScript Subreddit](https://www.reddit.com/r/rescript)\n- [ReScript Telegram Channel](https://t.me/rescriptjs)\n\n### Blogposts\n\nA lot of posts can be found via the [#rescript tag on dev.to](https://dev.to/t/rescript). So please check first, if a post is also there to keep this list small.\nRoughly sorted from newest to oldest. But some posts have no date or get updated sometimes.\n\n- [Belt.Array vs Js.Array in ReScript](https://www.daggala.com/belt_vs_js_array_in_rescript/) by [@daggala](https://github.com/daggala)\n- [From TypeScript to ReScript](https://www.greyblake.com/blog/from-typescript-to-rescript) by [@greyblake](https://github.com/greyblake)\n- [Full-stack ReScript. Architecture Overview](https://fullsteak.dev/posts/fullstack-rescript-architecture-overview) by [@nkrkv](https://github.com/nkrkv/)\n- [ReScript for React Development](https://scalac.io/blog/rescript-for-react-development/) by [@mishaszu](https://github.com/mishaszu)\n- [A Journey from JavaScript and TypeScript, to Rescript/React, via Elm, OCaml \u0026 Haskell.](https://alex.kleydints.com/a-journey-from-javascript-and-typescript-to-rescript-react-via-elm-ocaml-haskell-c878867b6fe6)\n- [Rewriting a Project in ReScript](https://yangdanny97.github.io/blog/2021/07/09/Migrating-to-Rescript) by [@yangdanny97](https://github.com/yangdanny97)\n- [Responsive images and cumulative layout shift](https://alexfedoseev.com/blog/dev/2021/responsive-images-and-cumulative-layout-shift) by [@alexfedoseev](https://github.com/alexfedoseev)\n- [Lazy Loading Images With ReScript](https://alexfedoseev.com/blog/dev/2021/lazy-loading-images-with-rescript) by [@alexfedoseev](https://github.com/alexfedoseev)\n- [Type-safe bindings in ReScript](https://www.benadamstyles.com/blog/rescript-type-safe-bindings/) by [@benadamstyles](https://github.com/benadamstyles)\n- [Cool Things You Can Do with First-Class Modules in ReScriptReact](https://alexfedoseev.com/blog/dev/2020/cool-things-you-can-do-with-first-class-modules-in-rescript-react) by [@alexfedoseev](https://github.com/alexfedoseev)\n- [Safe Routing in ReScript](https://alexfedoseev.com/blog/dev/2020/safe-routing-in-rescript) by [@alexfedoseev](https://github.com/alexfedoseev)\n\n\n#### Blogpost series\n\n- [Practical ReScript](https://practicalrescript.com/) by [@ostera](https://github.com/ostera)\n- [Ongoing list of Rescript articles](https://dusty.phillips.codes/rescript/) by [@dusty-phillips](https://github.com/dusty-phillips)\n- [Series of ReScript posts](https://willcodefor.beer/posts/resreact) by [@believer](https://github.com/believer)\n- [Functional Friday: Discovering ReScript](https://mauriziovacca.blogspot.com/2023/03/functional-friday-discovering-rescript.html) by [@MaurizioVacca](https://github.com/MaurizioVacca)\n- [ReScript Blog](https://kevanstannard.github.io/rescript-blog/) by [@kevanstannard](https://github.com/kevanstannard)\n  \n### Tutorials\n\n- [ReScript Programming Language Course by Bob Zhang](https://bobzhang.github.io/rescript-pl-course)\n- [ReScript Tutorial by protoship.io](https://github.com/protoship/rescript-tutorial)\n- [ReScript GraphQL Tutorial by hasura](https://hasura.io/learn/graphql/rescript-react-apollo/introduction/)\n- [Bindings cookbook by ReScriptBR](https://github.com/rescriptbr/rescript-bindings-cookbook)\n- [ReScript video tutorial by Robert Bertram](https://www.youtube.com/playlist?list=PLKUvTphkugkaOvV-VJWSSeVdOg3y4nyOl)\n- [ReScript/React video tutorial by Robert Bertram](https://www.youtube.com/playlist?list=PLKUvTphkugkZ0MW4jtEq0bwqlN0RYLyRK)\n- [ReScript video tutorial by Exegetech](https://youtube.com/playlist?list=PL0HxFJWEUHWsutPmX-OtD-M3EAmqVQkqb\u0026si=kmsMkJS5ok4Dc6Y5)\n\n### Talks, Videos, Livestreams\n\n- 2022/09 - [@IwanKaramazow](https://github.com/IwanKaramazow) - React Alicante 2022 - [ReScript: digitalising a hospital with the JavaScript from the Future](https://youtu.be/KDL-kRgilkQ)\n- 2021/08 - [@hswolff](https://github.com/hswolff) - [What is ReScript?](https://youtu.be/kAWP0laFz6M)\n- 2021/04 - [@tom-sherman](https://github.com/tom-sherman) - NorfolkDevelopers - [Should you consider ReScript over Typescript for your next project?](https://youtu.be/XWgL51JSbGI)\n- 2020/10 - [@IwanKaramazow](https://github.com/IwanKaramazow) and [@serras](https://github.com/serras) - 47 Degrees - [Immutable Conversations - ReScript](https://youtu.be/IlykOL4Z0gw)\n- 2024/05 - [@nojaf](https://github.com/nojaf) - [A glimpse of ReScript](https://www.youtube.com/watch?v=Giio_WHNDmQ)\n- 2024/08 - [@cristianoc](https://github.com/cristianoc) - [Intro to compiler development | ReScript Retreat 2024](https://www.youtube.com/watch?v=sQinTXDynew)\n- 2024/11 - [@nojaf](https://github.com/nojaf) = [An early look at @rescript/webapi](https://www.youtube.com/watch?v=MC-dbM-GEuw)\n\n#### ReScript Community Meetings\n- 2022/05 - [ReScript Community Meeting May 2022](https://www.youtube.com/watch?v=t5wAuyXB1IA)\n\n### Libraries and Bindings\n\n[ReScript Package Index](https://rescript-lang.org/packages)\nTo discover libraries and bindings for ReScript, please use the [official package index tool](https://rescript-lang.org/packages). Libraries with the `rescript` keyword in their `package.json` will appear there, as well as manually added resources. If you happen to find no bindings for a library, please ask for it on the [forum](\u003c(https://forum.rescript-lang.org)\u003e). Chances are that somebody already wrote them, but kept them private, because maintaining a full set of bindings is always harder than tweaking them to one's specific needs.\n\n### Templates and Boilerplates\n\n- [Next.js](https://github.com/ryyppy/rescript-nextjs-template) by [@ryyppy](https://github.com/ryyppy)\n- [Remix](https://github.com/tom-sherman/rescript-remix-template) by [@tom-sherman](https://github.com/tom-sherman)\n- [RescriptReact + TailwindCSS + Webpack](https://github.com/nyinyithann/rescript-react-webpack-tailwind-template) by [@nyinyithann](https://github.com/nyinyithann)\n- [create-rescript-app](https://github.com/rescript-lang/create-rescript-app)\n\n### Editor Support\n\n(also refer to the [official site](https://rescript-lang.org/docs/manual/latest/editor-plugins))\n\n#### General ReScript language support\n\n- [ReScript-VSCode](https://marketplace.visualstudio.com/items?itemName=chenglou92.rescript-vscode)\n- [ReScript-Sublime](https://github.com/rescript-lang/rescript-sublime)\n- [VIM-ReScript](https://github.com/rescript-lang/vim-rescript)\n- [Atom](https://atom.io/packages/ide-rescript)\n- [IDEA](https://github.com/giraud/reasonml-idea-plugin)\n- [Emacs](https://github.com/reasonml-editor/reason-mode)\n- [Zed](https://github.com/humaans/rescript-zed)\n\n#### Other extensions\n\n- [vscode-rescript-relay](https://marketplace.visualstudio.com/items?itemName=GabrielNordeborn.vscode-rescript-relay)\n\n#### Snippets in VSCode\n\nThe official snippets included with the ReScript-VSCode extension are available [here](https://github.com/rescript-lang/rescript-vscode/blob/master/snippets.json). You don't need to do anything to activate them; the extension already installs them.\n\nBut you can also add your snippets if you want to. You can add them as user snippets or in a workspace through a `rescript.code-snippets` file in the `.vscode` folder in the root of your workspace / project. See an example of some user snippets [here](rescript.code-snippets). Read more about snippets in VSCode [here](https://code.visualstudio.com/docs/editor/userdefinedsnippets).\n\n#### Keybindings in VSCode\n\nIf you're coming to ReScript React from other languages, you probably find yourself writing `React.string(\"\")` quite a lot, but maybe sometimes forgetting to add the `React.string` call.\n\nLuckily, VSCode has support for adding custom keybindings. If you open your `keybindings.json` and add the following, you can select any piece of code and press `cmd+k` followed by `s` to add the `React.string` call around the selection:\n\n```\n{\n  {\n    \"key\": \"cmd+k s\",\n    \"command\": \"editor.action.insertSnippet\",\n    \"when\": \"editorTextFocus\",\n    \"args\": {\n      \"snippet\": \"{React.string(\\\"$TM_SELECTED_TEXT\\\")}\"\n    }\n  }\n  ...rest of your keybindings.json\n}\n```\n\nChange the keybinding to your liking. Read more about keybindings in VSCode [here](https://code.visualstudio.com/docs/getstarted/keybindings).\n\n---\n\n### Example Apps\n\n- [ReScript Game of Life](https://github.com/alanrsoares/rescript-game-of-life) - Conway's Game of Life written in ReScript using ReScript-React. [(demo)](https://alanrsoares.github.io/reason-game-of-life/)\n- [ReScript RealWorld example app](https://github.com/jihchi/rescript-react-realworld-example-app) - Another Medium.com clone written using ReScript-React. [(demo)](https://rescript-react-realworld-example-app.vercel.app/)\n- [ReTurbo](https://github.com/RawToast/ReTurbo) - Pseudo 3D racing game built with Reprocessing [(demo)](https://pale-potato.surge.sh/)\n- [Coronate](https://github.com/johnridesabike/coronate) - A Swiss-style chess tournament manager for the web and desktop, written with ReScript-React. [(web demo)](https://coronate.netlify.app/)\n- [Pomodoro](https://github.com/tkovs/pomodoro) - Simple pomodoro application. Written in ReScript and ReactJS. [(demo)](https://pomodoro.tkovs.com)\n- [rescript-intro](https://github.com/mellson/rescript-intro) - A calculator Using ReScript, React + Tailwind.\n- [Fire Emblem Chess](https://github.com/yangdanny97/fire-emblem-chess) - A pass \u0026 play chess game using ReScript, D3, and Howler [(demo)](https://yangdanny97.github.io/fire-emblem-chess/)\n- [Pick a color](https://github.com/eldh/pick-a-color) - A modern color picker based on the LCH color model. Utilizes React concurrent mode. [(demo)](https://eldh.github.io/pick-a-color)\n- [Pixel Papercraft Generator Builder](https://github.com/pixelpapercraft/pixel-papercraft-generator-builder) - Generator builder for Pixel Papercraft. [(demo)](https://www.pixelpapercraft.com)\n- [Rock, Paper, Scissors](https://github.com/Nicolas1st/net-cli-rock-paper-scissors) - A \"Rock, Paper, Scissors\" CLI game consisting of a server (written in Golang) and a client (ReScript).  \n- [Darklang Editor](https://github.com/darklang/classic-dark/tree/main/client) - A programming language, editor, and cloud environment. The editor is in ReScript.  \n- [Movie and People browsing site](https://github.com/nyinyithann/bioscopes) - A site to browse movies and people from The Movie Database (TMDB). [(demo)](https://www.bioscopes.fun)\n\n---\n\n## Contribute\n\nJust fork this repository and add your resources in a pull-request. Please check for duplicates and dead links before you submit.\n\n**NOTE**: This repository is mainly for ReScript materials where the source code is ReScript (`.res` and `.resi` files). For materials written in ReasonML, please use the [awesome-reasonml](https://github.com/vramana/awesome-reasonml) repository.\n\n---\n\n## License\n\n[![CC0](http://i.creativecommons.org/p/zero/1.0/88x31.png)](http://creativecommons.org/publicdomain/zero/1.0/)\n","created_at":"2024-11-29T21:02:09.175Z","updated_at":"2026-04-17T21:00:23.899Z","primary_language":null,"list_of_lists":false,"displayable":true,"categories":["ReScript","Contribute","License"],"sub_categories":["Official Resources","Community","Blogposts","Tutorials","Talks, Videos, Livestreams","Libraries and Bindings","Editor Support","Example Apps","Templates and Boilerplates"],"projects_url":"https://awesome.ecosyste.ms/api/v1/lists/rescript-lang%2Fawesome-rescript/projects"}