mirror of
https://github.com/openai/codex.git
synced 2026-03-05 21:45:28 +03:00
update execpolicy quickstart readme (#6952)
This commit is contained in:
10
README.md
10
README.md
@@ -69,12 +69,12 @@ Codex can access MCP servers. To configure them, refer to the [config docs](./do
|
|||||||
|
|
||||||
Codex CLI supports a rich set of configuration options, with preferences stored in `~/.codex/config.toml`. For full configuration options, see [Configuration](./docs/config.md).
|
Codex CLI supports a rich set of configuration options, with preferences stored in `~/.codex/config.toml`. For full configuration options, see [Configuration](./docs/config.md).
|
||||||
|
|
||||||
### Execpolicy quickstart
|
### Execpolicy Quickstart
|
||||||
|
|
||||||
Codex can enforce your own rules-based execution policy before it runs shell commands.
|
Codex can enforce your own rules-based execution policy before it runs shell commands.
|
||||||
|
|
||||||
1. Create a policy directory: `mkdir -p ~/.codex/policy`.
|
1. Create a policy directory: `mkdir -p ~/.codex/policy`.
|
||||||
2. Create one or more `.codexpolicy` files into that folder. Codex automatically loads every `.codexpolicy` file in there on startup.
|
2. Create one or more `.codexpolicy` files in that folder. Codex automatically loads every `.codexpolicy` file in there on startup.
|
||||||
3. Write `prefix_rule` entries to describe the commands you want to allow, prompt, or block:
|
3. Write `prefix_rule` entries to describe the commands you want to allow, prompt, or block:
|
||||||
|
|
||||||
```starlark
|
```starlark
|
||||||
@@ -87,14 +87,12 @@ prefix_rule(
|
|||||||
```
|
```
|
||||||
|
|
||||||
- `pattern` is a list of shell tokens, evaluated from left to right; wrap tokens in a nested list to express alternatives (e.g., match both `push` and `fetch`).
|
- `pattern` is a list of shell tokens, evaluated from left to right; wrap tokens in a nested list to express alternatives (e.g., match both `push` and `fetch`).
|
||||||
- `decision` sets the severity; Codex picks the strictest decision when multiple rules match.
|
- `decision` sets the severity; Codex picks the strictest decision when multiple rules match (forbidden > prompt > allow).
|
||||||
- `match` and `not_match` act as (optional) unit tests. Codex validates them when it loads your policy, so you get feedback if an example has unexpected behavior.
|
- `match` and `not_match` act as (optional) unit tests. Codex validates them when it loads your policy, so you get feedback if an example has unexpected behavior.
|
||||||
|
|
||||||
In this example rule, if Codex wants to run commands with the prefix `git push` or `git fetch`, it will first ask for user approval.
|
In this example rule, if Codex wants to run commands with the prefix `git push` or `git fetch`, it will first ask for user approval.
|
||||||
|
|
||||||
Note: If Codex wants to run a command that matches with multiple rules, it will use the strictest decision among the matched rules (forbidden > prompt > allow).
|
Use [`execpolicy2` CLI](./codex-rs/execpolicy2/README.md) to preview decisions for policy files:
|
||||||
|
|
||||||
Use the [`execpolicy2` CLI](./codex-rs/execpolicy2/README.md) to preview decisions before you save a rule:
|
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
cargo run -p codex-execpolicy2 -- check --policy ~/.codex/policy/default.codexpolicy git push origin main
|
cargo run -p codex-execpolicy2 -- check --policy ~/.codex/policy/default.codexpolicy git push origin main
|
||||||
|
|||||||
Reference in New Issue
Block a user