ci: Check for broken links (#30844)

This PR fixes some broken links that where found using
[lychee](https://github.com/lycheeverse/lychee/) as discussed today with
@JosephTLyons and @nathansobo at the RustNL hackathon. Using
[lychee-action](https://github.com/lycheeverse/lychee-action/) we can
scan for broken links daily to prevent issues in the future.
There are still 6 broken links that I didn't know how to fix myself.
See https://github.com/thomas-zahner/zed/actions/runs/15075808232 for
details.

## Missing images

```
Errors in ./docs/src/channels.md

    [ERROR] file:///home/runner/work/zed/zed/docs/.gitbook/assets/channels-3.png | Cannot find file
    [ERROR] file:///home/runner/work/zed/zed/docs/.gitbook/assets/channels-1.png | Cannot find file
    [ERROR] file:///home/runner/work/zed/zed/docs/.gitbook/assets/channels-2.png | Cannot find file
```

These errors are showing up as missing images on
https://zed.dev/docs/channels
I tried to search the git history to see when or why they were deleted
but didn't find anything.

## ./crates/assistant_tools/src/edit_agent/evals/fixtures/zode/prompt.md

There are three errors in that file. I don't fully understand how these
issues were caused historically. Technically it would be possible to
ignore the files but of course if possible we should address the issues.
 
Release Notes:

- N/A

---------

Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Co-authored-by: Ben Kunkle <ben@zed.dev>
This commit is contained in:
Thomas Zahner 2025-06-06 11:39:35 +02:00 committed by GitHub
parent b8c1b54f9e
commit 38b8e6549f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
11 changed files with 45 additions and 10 deletions

View file

@ -19,6 +19,12 @@ runs:
shell: bash -euxo pipefail {0} shell: bash -euxo pipefail {0}
run: ./script/linux run: ./script/linux
- name: Check for broken links
uses: lycheeverse/lychee-action@82202e5e9c2f4ef1a55a3d02563e1cb6041e5332 # v2.4.1
with:
args: --no-progress './docs/src/**/*'
fail: true
- name: Build book - name: Build book
shell: bash -euxo pipefail {0} shell: bash -euxo pipefail {0}
run: | run: |

View file

@ -498,7 +498,7 @@ client.with_options(max_retries=5).messages.create(
### Timeouts ### Timeouts
By default requests time out after 10 minutes. You can configure this with a `timeout` option, By default requests time out after 10 minutes. You can configure this with a `timeout` option,
which accepts a float or an [`httpx.Timeout`](https://www.python-httpx.org/advanced/#fine-tuning-the-configuration) object: which accepts a float or an [`httpx.Timeout`](https://www.python-httpx.org/advanced/timeouts/#fine-tuning-the-configuration) object:
```python ```python
from anthropic import Anthropic from anthropic import Anthropic

View file

@ -3,7 +3,7 @@
The Agent Panel provides you with a way to interact with LLMs. The Agent Panel provides you with a way to interact with LLMs.
You can use it for various tasks, such as generating code, asking questions about your code base, and general inquiries such as emails and documentation. You can use it for various tasks, such as generating code, asking questions about your code base, and general inquiries such as emails and documentation.
To open the Agent Panel, use the `agent: new thread` action in [the Command Palette](./getting-started.md#command-palette) or click the ✨ (sparkles) icon in the status bar. To open the Agent Panel, use the `agent: new thread` action in [the Command Palette](../getting-started.md#command-palette) or click the ✨ (sparkles) icon in the status bar.
If you're using the Agent Panel for the first time, you'll need to [configure at least one LLM provider](./configuration.md). If you're using the Agent Panel for the first time, you'll need to [configure at least one LLM provider](./configuration.md).

View file

@ -112,7 +112,7 @@ Non-negative `float` values
**Options** **Options**
You can find the names of your currently installed extensions by listing the subfolders under the [extension installation location](./extensions/installing-extensions#installation-location): You can find the names of your currently installed extensions by listing the subfolders under the [extension installation location](./extensions/installing-extensions.md#installation-location):
On MacOS: On MacOS:

View file

@ -6,7 +6,7 @@ Extensions may provide [context servers](../ai/mcp.md) for use in the Assistant.
To see a working example of an extension that provides context servers, check out the [`postgres-context-server` extension](https://github.com/zed-extensions/postgres-context-server). To see a working example of an extension that provides context servers, check out the [`postgres-context-server` extension](https://github.com/zed-extensions/postgres-context-server).
This extension can be [installed as a dev extension](./developing-extensions.html#developing-an-extension-locally) if you want to try it out for yourself. This extension can be [installed as a dev extension](./developing-extensions.md#developing-an-extension-locally) if you want to try it out for yourself.
## Defining context servers ## Defining context servers

View file

@ -6,7 +6,7 @@ Extensions may provide slash commands for use in the Assistant.
To see a working example of an extension that provides slash commands, check out the [`slash-commands-example` extension](https://github.com/zed-industries/zed/tree/main/extensions/slash-commands-example). To see a working example of an extension that provides slash commands, check out the [`slash-commands-example` extension](https://github.com/zed-industries/zed/tree/main/extensions/slash-commands-example).
This extension can be [installed as a dev extension](./developing-extensions.html#developing-an-extension-locally) if you want to try it out for yourself. This extension can be [installed as a dev extension](./developing-extensions.md#developing-an-extension-locally) if you want to try it out for yourself.
## Defining slash commands ## Defining slash commands

View file

@ -32,7 +32,7 @@ To workaround this behavior you can add the following to your `.prettierrc` conf
## JSON Language Server ## JSON Language Server
Zed automatically out of the box supports JSON Schema validation of `package.json` and `tsconfig.json` files, but `json-language-server` can use JSON Schema definitions in project files, from the [JSON Schema Store](https://www.schemastore.org/json/) or other publicly available URLs for JSON validation. Zed automatically out of the box supports JSON Schema validation of `package.json` and `tsconfig.json` files, but `json-language-server` can use JSON Schema definitions in project files, from the [JSON Schema Store](https://www.schemastore.org) or other publicly available URLs for JSON validation.
### Inline Schema Specification ### Inline Schema Specification

View file

@ -86,7 +86,7 @@ Then in your `.luarc.json`:
### Inlay Hints ### Inlay Hints
To enable [Inlay Hints](../configuring-languages#inlay-hints) for LuaLS in Zed To enable [Inlay Hints](../configuring-languages.md#inlay-hints) for LuaLS in Zed
1. Add the following to your Zed settings.json: 1. Add the following to your Zed settings.json:

View file

@ -23,7 +23,7 @@ def fib(n):
### Format ### Format
Zed supports using Prettier to automatically re-format Markdown documents. You can trigger this manually via the {#action editor::Format} action or via the {#kb editor::Format} keyboard shortcut. Alternately, you can automatically format by enabling [`format_on_save`](./configuring-zed.md#format-on-save) in your settings.json: Zed supports using Prettier to automatically re-format Markdown documents. You can trigger this manually via the {#action editor::Format} action or via the {#kb editor::Format} keyboard shortcut. Alternately, you can automatically format by enabling [`format_on_save`](../configuring-zed.md#format-on-save) in your settings.json:
```json ```json
"languages": { "languages": {

View file

@ -94,11 +94,11 @@ Output is provided "as is" without any warranties or guarantees of functionality
When using Zed AI Services to provide Edit Predictions in connection with certain open source software projects, You may elect to share requests, responses and feedback comments (collectively "Model Improvement Feedback") with Zed, and Zed may use the same to improve Zed Edit Predictions models. You may opt-out of sharing Model Improvement Feedback at any time. When using Zed AI Services to provide Edit Predictions in connection with certain open source software projects, You may elect to share requests, responses and feedback comments (collectively "Model Improvement Feedback") with Zed, and Zed may use the same to improve Zed Edit Predictions models. You may opt-out of sharing Model Improvement Feedback at any time.
For more information on Zed Edit Predictions please see: [https://zed.dev/docs/ai-improvement](https://zed.dev/docs/ai-improvement) For more information on Zed Edit Predictions please see: [https://zed.dev/docs/ai/ai-improvement](https://zed.dev/docs/ai/ai-improvement)
When using Zed AI Services in connection with the Agent Panel, You may elect to share with Zed requests, responses and feedback regarding the Agent Panel and related Output (the “Agent Improvement Feedback”) with Zed, and Zed may use the same to improve the Agent Panel and related Output. Zed will only collect Agent Improvement Feedback when You elect to share the same. When using Zed AI Services in connection with the Agent Panel, You may elect to share with Zed requests, responses and feedback regarding the Agent Panel and related Output (the “Agent Improvement Feedback”) with Zed, and Zed may use the same to improve the Agent Panel and related Output. Zed will only collect Agent Improvement Feedback when You elect to share the same.
For more information regarding the Agent Panel please see: [https://zed.dev/docs/ai-improvement](https://zed.dev/docs/ai-improvement) For more information regarding the Agent Panel please see: [https://zed.dev/docs/ai/ai-improvement](https://zed.dev/docs/ai/ai-improvement)
#### 3.4. Privacy Policy #### 3.4. Privacy Policy

29
lychee.toml Normal file
View file

@ -0,0 +1,29 @@
retry_wait_time = 5
accept = ["200..=204", "429"]
max_retries = 5
timeout = 45
exclude = [
# Don't fail CI check if collab is down
'https://staging-collab.zed.dev/',
"https://collab.zed.dev",
# Slow and unreliable server.
'https://repology.org',
# The following websites are rate limited or use bot detection and aren't nice enough to respond with 429:
'https://openai.com',
'https://claude.ai/download',
'https://www.perplexity.ai',
'https://platform.deepseek.com',
'https://console.anthropic.com',
'https://platform.openai.com',
'https://linux.die.net/man/1/sed',
'https://allaboutcookies.org',
'https://www.gnu.org',
'https://auth.mistral.ai',
'https://console.mistral.ai',
]