
create-gpui-app
https://github.com/zed-industries/create-gpui-app- Category
- Developer Tools
- Rank
- No. 1543Tools index
Previous survey · No. 1554 ·
- Pricing
- Open Source
- Type
- TOOL
- Builder
- zed-industries
- GitHub
- 381 stars
- Latest release
- v0.1.5
- Date
About
Create-React-App style scaffolding tool for new GPUI applications, the GPU UI framework behind Zed.
What it does
This command-line generator writes a ready-to-run Rust desktop project from templates embedded in its executable. You choose a project name and either a simple package or Cargo workspace layout. The starter opens a window and renders a centered greeting, giving you working code to modify immediately.
Why it's ranked here
Its narrow scope is a strength. One command produces manifests, source code, and usage notes for a runnable GPUI starting point. It also handles workspace and Zed-style layouts. The small implementation is easy to understand, though the repository shows little validation and no documented testing setup.
What's good
The executable carries its templates internally, so generation does not depend on downloading template files at runtime. It refuses to write when the chosen project directory already exists. Placeholder replacement keeps package names, workspace members, binary names, and source paths aligned. The generated example demonstrates window creation, rendering, layout, color, and text.
Tradeoffs
Rust and Cargo are prerequisites. Generated projects pull GPUI directly from the Zed Git repository rather than a fixed registry release. Name parsing only substitutes a default for an empty value; the shown code performs no broader package-name validation. Existing destinations cause a printed message and successful return, which may be awkward in automation. The Zed-style option is present in code but absent from the README instructions.
How to use it well
Use it when starting a small GPUI experiment or establishing the first package in a Rust workspace. Generate once, run the example, then replace the greeting component while retaining the manifest structure. Choose the workspace option when you expect multiple crates. It does not provide application architecture, reusable components, testing, packaging, deployment, or platform troubleshooting beyond an external guide.
Technical notes+
Cargo.toml defines a Rust 2021 binary using clap with derive support and include_dir. In src/main.rs, TEMPLATES_DIR embeds the templates directory at compile time, Args exposes name, workspace, and zed flags, and copy_and_replace recursively creates directories, replaces PROJECT_NAME, converts _Cargo.toml into Cargo.toml, and adjusts source filenames and binary paths for Zed-style output. It exits successfully without writing when the destination exists. templates/default/src/main.rs and templates/workspace/crates/PROJECT_NAME/src/main.rs contain equivalent HelloWorld renderers. templates/default/_Cargo.toml declares GPUI as a Git dependency, while templates/workspace/_Cargo.toml centralizes that dependency and templates/workspace/crates/PROJECT_NAME/_Cargo.toml consumes it through the workspace.
Observed
- License
- MIT
- Primary language
- Rust, using the 2021 edition
- Install surface
- Cargo package installed with cargo install create-gpui-app
- Interface
- Command-line executable with project name, workspace, and Zed-style options
- Generated layouts
- Supports a single Rust package or a Cargo workspace containing one application crate
- Template delivery
- Project templates are embedded into the compiled executable
Read from README.md, Cargo.toml, src/main.rs, templates/default/src/main.rs, templates/workspace/crates/PROJECT_NAME/src/main.rs, LICENSE, cliff.toml, CHANGELOG.md, CONTRIBUTING.md, CODE_OF_CONDUCT.md, templates/default/README.md, templates/default/_Cargo.toml, templates/workspace/README.md, templates/workspace/_Cargo.toml, templates/workspace/crates/PROJECT_NAME/_Cargo.toml.
What it can do
Create new GPUI application project
Project name and configuration options → Complete GPUI application scaffold with files and folder structure
Generate GPUI boilerplate code
Application template selection → Pre-configured source code files for GPUI development
Set up project dependencies
GPUI application requirements → Configured package.json or Cargo.toml with GPUI dependencies
Initialize build configuration
Target platform and build preferences → Build scripts and configuration files for GPUI compilation
Generate example components
Component template choices → Sample GPUI UI components and code examples
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.