zed/.github/workflows
morgankrey dc41f71f57
Add documentation suggestion automation (#49194)
Adds scripts and a GitHub Action workflow for automatically suggesting
documentation updates when PRs modify user-facing code.

## Scripts

- **`script/docs-suggest`**: Analyze PRs/commits for documentation needs
using AI
- **`script/docs-suggest-publish`**: Create a PR from batched
suggestions
- **`script/docs-strip-preview-callouts`**: Remove Preview callouts when
shipping to stable
- **`script/test-docs-suggest-batch`**: Testing utility for batch
analysis

## Workflow

The GitHub Action (`.github/workflows/docs_suggestions.yml`) handles two
scenarios:

1. **PRs merged to main**: Suggestions are batched to
`docs/suggestions-pending` branch for the next Preview release
2. **Cherry-picks to release branches**: Suggestions are posted as PR
comments for immediate review

## Callout Types

The system distinguishes between:

- **Additive features** (new commands, settings, UI):
  ```markdown
> **Preview:** This feature is available in Zed Preview. It will be
included in the next Stable release.
  ```

- **Behavior modifications** (changed defaults, altered existing
behavior):
  ```markdown
> **Changed in Preview (v0.XXX).** See [release notes](/releases#0.XXX).
  ```

Both callout types are stripped by `docs-strip-preview-callouts` when
features ship to stable.

## Example Output

See PR #49190 for example documentation suggestions generated by running
this on PRs from the v0.224 preview window.

## Usage

```bash
# Analyze a PR (auto-detects batch vs immediate mode)
script/docs-suggest --pr 49100

# Dry run to see assembled context
script/docs-suggest --pr 49100 --dry-run

# Create PR from batched suggestions
script/docs-suggest-publish

# Strip callouts for stable release
script/docs-strip-preview-callouts
```

Release Notes:

- N/A
2026-02-18 06:39:09 -06:00
..
add_commented_closed_issue_to_project.yml ci: Move more jobs to Namespace runners (#48228) 2026-02-05 12:06:01 +00:00
after_release.yml ci: Define default shell for all workflows (#47883) 2026-01-28 14:07:06 -07:00
autofix_pr.yml extension_ci: Increase fetch depth for tests job (#49389) 2026-02-17 18:49:18 +00:00
background_agent_mvp.yml ci: Harden background-agent MVP git authentication loop (#49373) 2026-02-17 11:59:47 -06:00
bump_collab_staging.yml ci: Switch from ubuntu-latest to namespace (2) (#36702) 2025-08-21 13:21:37 -04:00
bump_patch_version.yml extension_ci: Increase fetch depth for tests job (#49389) 2026-02-17 18:49:18 +00:00
catch_blank_issues.yml ci: Move more jobs to Namespace runners (#48228) 2026-02-05 12:06:01 +00:00
cherry_pick.yml ci: Define default shell for all workflows (#47883) 2026-01-28 14:07:06 -07:00
community_champion_auto_labeler.yml Update community champions (#48818) 2026-02-09 21:22:56 +00:00
community_close_stale_issues.yml Tweak stalebot (words, number of days) (#48603) 2026-02-13 08:53:31 +00:00
community_update_all_top_ranking_issues.yml ci: Move more jobs to Namespace runners (#48228) 2026-02-05 12:06:01 +00:00
community_update_weekly_top_ranking_issues.yml ci: Move more jobs to Namespace runners (#48228) 2026-02-05 12:06:01 +00:00
compare_perf.yml Revert "ci: Use cargo-mtime to track timestamps" (#48987) 2026-02-12 00:08:46 +00:00
congrats.yml ci: Move more jobs to Namespace runners (#48228) 2026-02-05 12:06:01 +00:00
danger.yml ci: Define default shell for all workflows (#47883) 2026-01-28 14:07:06 -07:00
deploy_cloudflare.yml ci: Re-enable docs deployments (#48303) 2026-02-03 23:12:41 +00:00
deploy_collab.yml ci: Install Linux dependencies for Collab deployment workflow (#49308) 2026-02-16 22:53:35 +00:00
docs_automation.yml ci: Move more jobs to Namespace runners (#48228) 2026-02-05 12:06:01 +00:00
docs_suggestions.yml Add documentation suggestion automation (#49194) 2026-02-18 06:39:09 -06:00
extension_bump.yml extension_ci: Make parsing of current version more robust (#49411) 2026-02-17 22:21:16 +00:00
extension_tests.yml extension_ci: Make parsing of current version more robust (#49411) 2026-02-17 22:21:16 +00:00
extension_workflow_rollout.yml extension_rollout: Prevent dispatch from non-main branches (#49396) 2026-02-17 19:58:42 +00:00
good_first_issue_notifier.yml ci: Move more jobs to Namespace runners (#48228) 2026-02-05 12:06:01 +00:00
identify_potential_duplicate_issues.yml API-based version of duplicates bot (#48041) 2026-01-30 18:33:50 +00:00
pr_labeler.yml Autolabel pull requests by bots (#48579) 2026-02-06 11:18:20 +00:00
publish_extension_cli.yml ci: Generate publish_extension_cli with gh_workflow (#47890) 2026-02-03 00:48:15 +00:00
randomized_tests.yml ci: Switch to Namespace (#35835) 2025-08-07 23:16:25 +00:00
release.yml Install sccache *after* we rm-rf target... (#49035) 2026-02-12 15:53:04 +00:00
release_nightly.yml Install sccache *after* we rm-rf target... (#49035) 2026-02-12 15:53:04 +00:00
run_agent_evals.yml Use sccache in CI (#48895) 2026-02-10 21:36:42 -07:00
run_bundling.yml Revert "ci: Use cargo-mtime to track timestamps" (#48987) 2026-02-12 00:08:46 +00:00
run_cron_unit_evals.yml Install sccache *after* we rm-rf target... (#49035) 2026-02-12 15:53:04 +00:00
run_tests.yml extension_ci: Increase fetch depth for tests job (#49389) 2026-02-17 18:49:18 +00:00
run_unit_evals.yml Install sccache *after* we rm-rf target... (#49035) 2026-02-12 15:53:04 +00:00
slack_notify_first_responders.yml Stop notifying first responders for closed bugs (#49253) 2026-02-16 09:16:13 +00:00