{"id":31618162,"url":"https://github.com/orhun/rustforge2025-ratatui-workshop","last_synced_at":"2025-10-06T13:59:44.772Z","repository":{"id":312847533,"uuid":"1040885067","full_name":"orhun/rustforge2025-ratatui-workshop","owner":"orhun","description":"A 3-hour workshop to build your own resource monitor with Rust \u0026 Ratatui 🦀🐁 ","archived":false,"fork":false,"pushed_at":"2025-08-27T17:41:17.000Z","size":8347,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-26T22:35:58.068Z","etag":null,"topics":["ratatui","rust","rustforge","terminal","terminal-user-interface","tui","workshop","workshop-materials"],"latest_commit_sha":null,"homepage":"https://rustforgeconf.com/","language":"Rust","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/orhun.png","metadata":{"files":{"readme":"README.md","changelog":null,"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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"orhun","patreon":"orhunp","buy_me_a_coffee":"orhun"}},"created_at":"2025-08-19T16:43:08.000Z","updated_at":"2025-08-28T19:11:47.000Z","dependencies_parsed_at":"2025-09-02T11:48:01.033Z","dependency_job_id":"4236ffb9-6274-4013-ba33-b9b8ea7626a5","html_url":"https://github.com/orhun/rustforge2025-ratatui-workshop","commit_stats":null,"previous_names":["orhun/rustforge2025-ratatui-workshop"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/orhun/rustforge2025-ratatui-workshop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orhun%2Frustforge2025-ratatui-workshop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orhun%2Frustforge2025-ratatui-workshop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orhun%2Frustforge2025-ratatui-workshop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orhun%2Frustforge2025-ratatui-workshop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/orhun","download_url":"https://codeload.github.com/orhun/rustforge2025-ratatui-workshop/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orhun%2Frustforge2025-ratatui-workshop/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278621846,"owners_count":26017253,"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","status":"online","status_checked_at":"2025-10-06T02:00:05.630Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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"}},"keywords":["ratatui","rust","rustforge","terminal","terminal-user-interface","tui","workshop","workshop-materials"],"created_at":"2025-10-06T13:59:39.481Z","updated_at":"2025-10-06T13:59:44.767Z","avatar_url":"https://github.com/orhun.png","language":"Rust","funding_links":["https://github.com/sponsors/orhun","https://patreon.com/orhunp","https://buymeacoffee.com/orhun"],"categories":[],"sub_categories":[],"readme":"# Becoming a Terminal Chef with Ratatui 👨‍🍳🐀\n\n\u003e Your terminal can do more than you think and this workshop shows you how. [Ratatui](https://ratatui.rs) is the leading framework for building terminal user interfaces (TUIs) in Rust. This workshop by [Orhun Parmaksız](https://github.com/orhun), the framework's maintainer, will get you cooking up some tasty terminal UIs in no time.\n\n### What will you build?\n\n\"**Ratatop**\", a terminal resource monitor application that displays system information in real-time.\n\n![](assets/demo.gif)\n\n### Who is this workshop for?\n\nThe workshop is intended for Rust beginners who want to learn how to build TUIs with Ratatui.\nPrevious experience with Rust is not required, but it is recommended to have a basic understanding of the language.\n\n- If you are already familiar with Rust, you can still follow along and learn about Ratatui.\n- If you are already familiar with Ratatui, you can follow the _bonus tracks_ and learn something new!\n\n#### Necessary Tools\n\n- [git](https://git-scm.com/)\n- [cargo](https://www.rust-lang.org/tools/install)\n\n\u003e [!TIP]\n\u003e It is recommended to disable AI completions in your code editor to get a better understanding of the code you write.\n\n### Chapters\n\nThe workshop is split up into 5 chapters and aims to be completed **in 3 hours.**\n\n| Duration   | Chapter       | Topic                                                      |\n| ---------- | ------------- | ---------------------------------------------------------- |\n| **10 min** | **Chapter 1** | **Setup** - Install Rust, cargo-generate, create project   |\n| **15 min** | **Chapter 2** | **Manage State** - Use `sysinfo`, refresh data             |\n| **30 min** | **Chapter 3** | **Layout \u0026 Styling** - Define UI structure, apply styles   |\n| **45 min** | **Chapter 4** | **Widgets** - Render charts, bar charts, sparklines, table |\n| **20 min** | **Chapter 5** | **Interactivity** - Handle inputs, scroll table, search    |\n| **60 min** | 🧀            | **Q\u0026A** / **Debugging** / **Extras**                       |\n\n### Walkthrough\n\nUse the [slides](presentation.md) to follow along with the workshop.\n\n\u003e [!TIP]\n\u003e You can use [`presenterm`](https://github.com/mfontanini/presenterm) to present the slides in your terminal.\n\u003e\n\u003e ```sh\n\u003e presenterm -c assets/presenterm.yml presentation.md\n\u003e ```\n\nStart with installing [`cargo-generate`](https://github.com/cargo-generate/cargo-generate) and creating a new Ratatui project via [`templates`](https://github.com/ratatui/templates):\n\n```sh\ncargo install cargo-generate\n```\n\n```sh\n# select the \"simple\" template\ncargo generate ratatui/templates\n```\n\nThen follow the chapters to build the **Ratatop** application. If you get stuck, check out the [examples](./examples) folder which contains the completed code for each chapter. We recommend to try it yourself first and only refer to the example code in case you run into issues.\n\nThe final code can be found in the [src/main.rs](./src/main.rs) file.\n\n## Show and tell! 🧀\n\nJoin the [Ratatui Discord](https://discord.gg/pMCEU9hNEj) and share your creations with the other terminal chefs!\n\nIf you have any questions or need help, feel free to ask in the chat.\n\n## License\n\nCopyright © 2025, [Orhun Parmaksız](https://github.com/orhun)\n\nLicensed under [The MIT License](./LICENSE)\n\n🦀 ノ( º \\_ º ノ) - respect crables!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forhun%2Frustforge2025-ratatui-workshop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Forhun%2Frustforge2025-ratatui-workshop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forhun%2Frustforge2025-ratatui-workshop/lists"}