# Centralize project context provided to the assistant \(\#11471\) · gitcafe/zed

[View on GitCafe](https://git.cafe/gitcafe/zed/commit/a64e20ed9603883492d400b6bf3ab9e1bc6ecafd)

Repository: [gitcafe/zed](https://git.cafe/gitcafe/zed)

Visibility: public

Requested revision: a64e20ed9603883492d400b6bf3ab9e1bc6ecafd

Requested commit: a64e20ed9603883492d400b6bf3ab9e1bc6ecafd

Commit: a64e20ed9603883492d400b6bf3ab9e1bc6ecafd

Tree: 69403ec595d21099f66ac16028e5782f1e137627

Author: Max Brunsfeld

Committer: GitHub

## Message

```
Centralize project context provided to the assistant (#11471)

This PR restructures the way that tools and attachments add information
about the current project to a conversation with the assistant. Rather
than each tool call or attachment generating a new tool or system
message containing information about the project, they can all
collectively mutate a new type called a `ProjectContext`, which stores
all of the project data that should be sent to the assistant. That data
is then formatted in a single place, and passed to the assistant in one
system message.

This prevents multiple tools/attachments from including redundant
context.

Release Notes:

- N/A

---------

Co-authored-by: Kyle <kylek@zed.dev>
```

## Parents

- [f2a415135b9d4af9f4c854c74edc5348f926b9fc](https://git.cafe/gitcafe/zed/commit/f2a415135b9d4af9f4c854c74edc5348f926b9fc?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zed/tree/a64e20ed9603883492d400b6bf3ab9e1bc6ecafd?format=markdown)
