{"id":15007127,"url":"https://github.com/workbenchdev/workbench","last_synced_at":"2025-05-16T18:04:07.729Z","repository":{"id":36999997,"uuid":"450693747","full_name":"workbenchdev/Workbench","owner":"workbenchdev","description":"Code playground for GNOME 🛠️","archived":false,"fork":false,"pushed_at":"2024-04-12T13:49:05.000Z","size":26279,"stargazers_count":630,"open_issues_count":91,"forks_count":89,"subscribers_count":8,"default_branch":"main","last_synced_at":"2024-04-13T13:41:44.530Z","etag":null,"topics":["blueprint","desktop","flatpak","gjs","gnome","gtk","gtk-rs","gtk4","javascript","libadwaita","linux","linux-app","playground","pygobject","python","rust","rust-lang","vala"],"latest_commit_sha":null,"homepage":"https://apps.gnome.org/Workbench","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/workbenchdev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":"sonnyp","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2022-01-22T02:06:32.000Z","updated_at":"2024-04-19T18:50:27.930Z","dependencies_parsed_at":"2023-12-18T14:36:34.174Z","dependency_job_id":"2c4ddb5e-d59f-4592-a89d-d8b3987d549f","html_url":"https://github.com/workbenchdev/Workbench","commit_stats":null,"previous_names":["sonnyp/workbench"],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/workbenchdev%2FWorkbench","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/workbenchdev%2FWorkbench/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/workbenchdev%2FWorkbench/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/workbenchdev%2FWorkbench/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/workbenchdev","download_url":"https://codeload.github.com/workbenchdev/Workbench/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248597622,"owners_count":21130909,"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":["blueprint","desktop","flatpak","gjs","gnome","gtk","gtk-rs","gtk4","javascript","libadwaita","linux","linux-app","playground","pygobject","python","rust","rust-lang","vala"],"created_at":"2024-09-24T19:04:10.880Z","updated_at":"2025-04-12T16:37:28.307Z","avatar_url":"https://github.com/workbenchdev.png","language":"JavaScript","readme":"\u003cimg style=\"vertical-align: middle;\" src=\"data/icons/hicolor/scalable/apps/re.sonny.Workbench.svg\" width=\"120\" height=\"120\" align=\"left\"\u003e\n\n# Workbench\n\nLearn and prototype with GNOME technologies\n\n![](data/workbench.gif)\n\n\u003ca href='https://flathub.org/apps/re.sonny.Workbench'\u003e\u003cimg width='240' alt='Download on Flathub' src='https://flathub.org/api/badge?svg\u0026locale=en'/\u003e\u003c/a\u003e\n\nWorkbench lets you experiment with GNOME technologies, no matter if tinkering for the first time or building and testing a GTK user interface.\n\nAmong other things, Workbench comes with\n\n- Live GTK/CSS preview\n- Library of 100+ examples\n\u003c!-- - JavaScript, TypeScript, Rust, Python and Vala support --\u003e\n- JavaScript, Rust, Python and Vala support\n- Declarative user interface syntax\n- Autosave, sessions and projects\n- Code diagnostics, completion and formatter\n- Terminal output\n\nℹ️ Workbench is made possible by Flatpak. Only Flathub Workbench is supported.\n\n**Testimonials**\n\n\u003e **“** It is an essential tool for those who develop applications with GTK **”** • **“** as someone who is learning GTK, Workbench is definitely a must have! **”** • **“** created a simple mockup using the amazing Workbench app **”** • **“** It used to be hard but Workbench helps me learn GTK. **”** • **“** I recommend it even to those who are new to GTK **”** • **“** This tool has simplified my life by saving my time drastically. **”** • **“** Gone too wild playing with Workbench **”**\n\n## Language support\n\n|            | Formatter | Linter | Library demos[1] |\n| ---------- | --------- | ------ | ---------------- |\n| JavaScript | ✅        | ✅     | 103              |\n| Python     | ✅        | ✅     | 98               |\n| Vala       | ✅        | ✅     | 92               |\n| Rust       | ✅        | ✅     | 52               |\n| Blueprint  | ✅        | ✅     |                  |\n| CSS        | ✅        | ✅     |                  |\n\n[1] As of 2024-06-16 \u003c!--counted with `~/go/bin/scc demos/src`--\u003e\n\n## Tips and tricks\n\n\u003cdetails\u003e\n  \u003csummary\u003eDisable code formatting\u003c/summary\u003e\n\n[JavaScript](https://biomejs.dev/formatter/#ignore-code)\n\n[CSS](https://prettier.io/docs/en/ignore.html#css)\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eTurn a prototype made in Workbench into an application\u003c/summary\u003e\n\nUse GNOME Builder to start a new project using the appropriate GNOME Application template and copy paste your Workbench code.\n\n\u003c/details\u003e\n\n## Code of conduct\n\nWorkbench follows the [GNOME Code of Conduct](https://conduct.gnome.org/).\n\n- **Be friendly.** Use welcoming and inclusive language.\n- **Be empathetic.** Be respectful of differing viewpoints and experiences.\n- **Be respectful.** When we disagree, we do so in a polite and constructive manner.\n- **Be considerate.** Remember that decisions are often a difficult choice between competing priorities.\n- **Be patient and generous.** If someone asks for help it is because they need it.\n- **Try to be concise.** Read the discussion before commenting.\n\n## Credits\n\nWorkbench is made of many components.\n\nThank you Flatpak, GTK, GLib, GtkSourceView, libadwaita, VTE, GJS, Blueprint, icon-development-kit, Vala, GTKCssLanguageServer, gtk-rs, PyGObject\n\nand the GNOME community 🖤\n\n## Copyright\n\n© 2022 [Sonny Piers](https://github.com/sonnyp) and contributors\n\n## License\n\nGPLv3. Please see [COPYING](COPYING) file.\n\nExcept for everything under src/Library/demos which is in the public domain under the terms of [CC0 1.0](https://creativecommons.org/publicdomain/zero/1.0/).\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    Testimonials\n  \u003c/summary\u003e\n\nFrom [Mirko Brombin](https://mirko.pm/) creator of [Bottles](https://usebottles.com/)\n\n\u003e My favorite tool is definitely Workbench, an application that allows me to compose GTK interfaces with XML/Blueprint, JavaScript, and CSS, seeing the results in real-time. This tool has simplified my life by reducing my time drastically. It is an essential tool for those who develop applications with GTK and I recommend it even to those who are new to GTK.\n\nhttps://console.substack.com/p/console-112\n\n---\n\nFrom [Marco Melorio](https://twitter.com/melix9999) creator of [Telgrand](https://github.com/melix99/telegrand)\n\n\u003e GSoC coding period started on Monday, so this is a good time to blog about what I’ve started working on and what’s my milestone to finish the project. First off, I’ve created a simple mockup using Sonny Piers’ amazing Workbench app. This is the first step in knowing how we want the UI to look like, at least in the first iteration.\n\nhttps://melix99.wordpress.com/2022/06/17/gsoc-update-1-planning/\n\n---\n\n\u003e Workbench has been great! It used to be hard to mess around with GTK but Workbench helps me to learn GTK.\n\nhttps://twitter.com/synthesizedecho/status/1528958932911280129\n\n\u003e Gone too wild playing with Workbench and Blueprint.\n\nhttps://mastodon.online/@waimus/108582108701889960\n\n\u003e as someone who is learning GTK, I can confirm that Workbench is definitely a must have for me!\n\nhttps://fosstodon.org/@TheEvilSkeleton/108598098682948266\n\n\u003e I'm really new to development and workbench its being a fantastic help not just to code itself, but to understand the gtk logic.\n\nhttps://matrix.to/#/!kDBZrVKCdhrVuWxbGe:matrix.org/$XmIz7FA-UwpoiwHxDyzve1P-J1ecMHkL0x8Br23mUxg\n\n\u003e Installed this (again) a short while ago this is for sure the most fun I've had with a development tool\n\nhttps://floss.social/@agavi@hachyderm.io/110594674482784960\n\n\u003c/details\u003e\n","funding_links":["https://ko-fi.com/sonnyp"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fworkbenchdev%2Fworkbench","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fworkbenchdev%2Fworkbench","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fworkbenchdev%2Fworkbench/lists"}