mirror of
https://github.com/openai/codex.git
synced 2026-08-23 13:09:46 +00:00
Clarify docs folder guidance in AGENTS.md (#21772)
## Summary Codex keeps trying to add documentation to the `docs/` directory. With the exception of app server API documentation, the docs for Codex should not live in this repo. We don't want the local `docs/` folder to become a stale shadow of the official docs. This PR updates `AGENTS.md` to make that boundary explicit and scopes the existing API documentation guidance to app-server docs/examples. It also removes the extra `docs/config.md` sections that were recently added.
This commit is contained in:
@@ -26,7 +26,7 @@ In the codex-rs folder where the rust code lives:
|
||||
- Implementations may still use `async fn foo(&self, ...) -> T` when they satisfy that contract.
|
||||
- Do not use `#[allow(async_fn_in_trait)]` as a shortcut around spelling the future contract explicitly.
|
||||
- When writing tests, prefer comparing the equality of entire objects over fields one by one.
|
||||
- When making a change that adds or changes an API, ensure that the documentation in the `docs/` folder is up to date if applicable.
|
||||
- Do not add general product or user-facing documentation to the `docs/` folder. The official Codex documentation lives elsewhere. The exception is app-server API documentation, which is covered by the app-server guidance below.
|
||||
- Prefer private modules and explicitly exported public crate API.
|
||||
- If you change `ConfigToml` or nested config types, run `just write-config-schema` to update `codex-rs/core/config.schema.json`.
|
||||
- When working with MCP tool calls, prefer using `codex-rs/codex-mcp/src/mcp_connection_manager.rs` to handle mutation of tools and tool calls. Aim to minimize the footprint of changes and leverage existing abstractions rather than plumbing code through multiple levels of function calls.
|
||||
@@ -210,7 +210,7 @@ These guidelines apply to app-server protocol work in `codex-rs`, especially:
|
||||
|
||||
### Development Workflow
|
||||
|
||||
- Update docs/examples when API behavior changes (at minimum `app-server/README.md`).
|
||||
- Update app-server docs/examples when API behavior changes (at minimum `app-server/README.md`).
|
||||
- Regenerate schema fixtures when API shapes change:
|
||||
`just write-app-server-schema`
|
||||
(and `just write-app-server-schema --experimental` when experimental API fixtures are affected).
|
||||
|
||||
@@ -5,45 +5,3 @@ For basic configuration instructions, see [this documentation](https://developer
|
||||
For advanced configuration instructions, see [this documentation](https://developers.openai.com/codex/config-advanced).
|
||||
|
||||
For a full configuration reference, see [this documentation](https://developers.openai.com/codex/config-reference).
|
||||
|
||||
## Commit attribution
|
||||
|
||||
Codex can add a [git trailer](https://git-scm.com/docs/git-interpret-trailers) to
|
||||
generated commit messages so commits make Codex's involvement explicit. This
|
||||
behavior is gated by the `codex_git_commit` feature flag; the top-level
|
||||
`commit_attribution` setting is only used when that feature is enabled.
|
||||
|
||||
Add the following to `~/.codex/config.toml`:
|
||||
|
||||
```toml
|
||||
commit_attribution = "Codex <noreply@openai.com>"
|
||||
|
||||
[features]
|
||||
codex_git_commit = true
|
||||
```
|
||||
|
||||
When enabled, Codex appends a `Co-authored-by:` trailer using the configured
|
||||
attribution value. If `commit_attribution` is omitted, Codex uses
|
||||
`Codex <noreply@openai.com>`. Set `commit_attribution = ""` to disable the
|
||||
trailer while leaving the feature flag enabled.
|
||||
|
||||
## OpenTelemetry Trace Metadata
|
||||
|
||||
Codex can add static OpenTelemetry span attributes to exported trace spans and
|
||||
static W3C tracestate fields to propagated trace context:
|
||||
|
||||
```toml
|
||||
[otel.span_attributes]
|
||||
"example.trace_attr" = "enabled"
|
||||
|
||||
[otel.tracestate.example]
|
||||
alpha = "one"
|
||||
beta = "two"
|
||||
```
|
||||
|
||||
Nested `otel.tracestate` tables are encoded as semicolon-separated `key:value`
|
||||
fields inside the named tracestate member. If propagated trace context already
|
||||
has the named member, Codex upserts configured fields and preserves other fields
|
||||
in that member. This config shape does not support setting opaque tracestate
|
||||
member values. Invalid trace metadata entries are ignored during config load and
|
||||
reported as startup warnings.
|
||||
|
||||
Reference in New Issue
Block a user