zed-industries/zed
Tooling
A reference for the build, lint, and release tooling used by the project.
Build
| Command | What it does |
|---|---|
cargo run |
Debug build of the zed binary |
cargo run --release |
Release build |
cargo run --profile release-fast |
Faster compile, near-release perf |
cargo build -p <crate> |
Build a single crate |
cargo check |
Type-check without producing binaries |
script/bootstrap |
Install OS-level build deps (POSIX) |
script/bootstrap.ps1 |
Install OS-level build deps (Windows) |
Lint
The wrapper ./script/clippy is the single source of truth. From .rules:
Use
./script/clippyinstead ofcargo clippy.
It applies workspace-wide flags and feature toggles that raw cargo clippy would miss.
Tests
| Command | What it does |
|---|---|
cargo test |
All tests |
cargo test -p <crate> |
One crate |
cargo nextest run |
Same, via nextest if installed |
cargo bench -p editor |
Editor benchmarks |
cargo run --features visual-tests |
Run with visual test runner enabled |
script/compare-perf |
Performance regression comparison |
CI workflow: .github/workflows/run_tests.yml.
Licenses
| Tool | What it does |
|---|---|
cargo-about |
License vetting library |
script/check-licenses |
Run cargo-about with project rules |
script/licenses/zed-licenses.toml |
Allowed-license list + clarifications |
script/generate-licenses |
Build the bundled third-party-licenses page |
If CI complains about licenses, the README.md has step-by-step recovery.
Releases
| Script / workflow | Purpose |
|---|---|
script/cherry-pick |
Cherry-pick onto a release branch |
script/draft-release-notes |
Draft notes from PRs since a tag |
script/get-release-notes-since |
Lower-level: list PRs since a tag |
script/get-pull-requests-since |
Even lower: just PR titles + numbers |
script/bump-zed-version |
Bump main version |
script/bump-nightly |
Bump nightly |
script/bump-extension-cli |
Bump the bundled extension CLI version |
script/bump-gpui-version |
Bump the gpui crate version |
script/create-draft-release |
Create a draft GitHub release |
script/determine-release-channel |
Infer channel from branch |
script/bundle-mac |
Build the macOS bundle |
script/bundle-linux |
Build the Linux bundle |
script/bundle-windows.ps1 |
Build the Windows bundle |
script/bundle-freebsd |
Build the FreeBSD bundle |
script/flatpak |
Flatpak packaging |
Workflows that drive releases:
.github/workflows/bump_patch_version.yml.github/workflows/bump_zed_version.yml.github/workflows/cherry_pick.yml.github/workflows/after_release.yml.github/workflows/extension_auto_bump.yml.github/workflows/extension_bump.yml
Crash & telemetry tooling
| Item | Purpose |
|---|---|
crates/crashes |
In-process crash handler → Sentry |
script/sentry-fetch <issue-id> |
Pull a crash report |
script/crash-to-prompt <issue-id> |
Generate an AI investigation prompt |
.factory/prompts/crash/investigate.md |
Investigation prompt template |
.factory/prompts/crash/fix.md |
Fix prompt template |
crates/telemetry, crates/telemetry_events |
Event pipeline |
Other developer aids
| Tool / script | Purpose |
|---|---|
script/check-keymaps |
Validate bundled keymaps |
script/check-todos |
Sweep TODO/FIXME annotations |
script/check-links |
Validate links in docs (lychee) |
lychee.toml |
Lychee config |
script/crate-dep-graph |
Visualise the workspace dependency graph |
script/danger |
Run Danger PR checks |
dangerfile.ts / package.json |
Danger and Prettier configuration |
clippy.toml |
Custom clippy lint configuration |
.git-blame-ignore-revs |
Mass-format commits to ignore in blame |
.mailmap |
Author normalization for git log |
tooling/ |
Misc dev tooling |
script/docs-suggest |
LLM-based documentation suggestions |
script/docs-strip-preview-callouts |
Strip preview-only callouts from docs |
Editor metadata
.zed/— bundled per-repo Zed settings (used when you open the Zed repo in Zed)..factory/— Factory.ai integration: prompts (.factory/prompts/) and skills (.factory/skills/). Thehumanizerandbrand-writerskills are project-local writing aids.
CI infrastructure
.github/workflows/ carries 30+ workflows. The biggest ones to know:
run_tests.yml— main CI.assign-reviewers.yml— auto-assign reviewers fromREVIEWERS.conl.pr_labeler.yml,community_*— community automation.deploy_collab.yml,bump_collab_staging.yml—collabbackend deployment.deploy_cloudflare.yml— Cloudflare deploys (likely the docs site).compliance_check.yml— license/CLA enforcement.release_actions.yml— release-time orchestration.compare_perf.yml— performance regression checks.cherry_pick.yml,hotfix-review-monitor.yml— release-branch hygiene.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.