mirror of
https://github.com/pchuan98/codex.git
synced 2026-07-01 00:31:56 +08:00
ab753387cc
This eliminates redundant user documentation and allows us to focus our documentation investments. I left tombstone files for most of the existing ".md" docs files to avoid broken links. These now contain brief links to the developers docs site.
63 lines
2.6 KiB
Markdown
63 lines
2.6 KiB
Markdown
## Installing & building
|
|
|
|
### System requirements
|
|
|
|
| Requirement | Details |
|
|
| --------------------------- | --------------------------------------------------------------- |
|
|
| Operating systems | macOS 12+, Ubuntu 20.04+/Debian 10+, or Windows 11 **via WSL2** |
|
|
| Git (optional, recommended) | 2.23+ for built-in PR helpers |
|
|
| RAM | 4-GB minimum (8-GB recommended) |
|
|
|
|
### DotSlash
|
|
|
|
The GitHub Release also contains a [DotSlash](https://dotslash-cli.com/) file for the Codex CLI named `codex`. Using a DotSlash file makes it possible to make a lightweight commit to source control to ensure all contributors use the same version of an executable, regardless of what platform they use for development.
|
|
|
|
### Build from source
|
|
|
|
```bash
|
|
# Clone the repository and navigate to the root of the Cargo workspace.
|
|
git clone https://github.com/openai/codex.git
|
|
cd codex/codex-rs
|
|
|
|
# Install the Rust toolchain, if necessary.
|
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
|
|
source "$HOME/.cargo/env"
|
|
rustup component add rustfmt
|
|
rustup component add clippy
|
|
# Install helper tools used by the workspace justfile:
|
|
cargo install just
|
|
# Optional: install nextest for the `just test` helper (or use `cargo test --all-features` as a fallback)
|
|
cargo install cargo-nextest
|
|
|
|
# Build Codex.
|
|
cargo build
|
|
|
|
# Launch the TUI with a sample prompt.
|
|
cargo run --bin codex -- "explain this codebase to me"
|
|
|
|
# After making changes, use the root justfile helpers (they default to codex-rs):
|
|
just fmt
|
|
just fix -p <crate-you-touched>
|
|
|
|
# Run the relevant tests (project-specific is fastest), for example:
|
|
cargo test -p codex-tui
|
|
# If you have cargo-nextest installed, `just test` runs the full suite:
|
|
just test
|
|
# Otherwise, fall back to:
|
|
cargo test --all-features
|
|
```
|
|
|
|
## Tracing / verbose logging
|
|
|
|
Codex is written in Rust, so it honors the `RUST_LOG` environment variable to configure its logging behavior.
|
|
|
|
The TUI defaults to `RUST_LOG=codex_core=info,codex_tui=info,codex_rmcp_client=info` and log messages are written to `~/.codex/log/codex-tui.log`, so you can leave the following running in a separate terminal to monitor log messages as they are written:
|
|
|
|
```bash
|
|
tail -F ~/.codex/log/codex-tui.log
|
|
```
|
|
|
|
By comparison, the non-interactive mode (`codex exec`) defaults to `RUST_LOG=error`, but messages are printed inline, so there is no need to monitor a separate file.
|
|
|
|
See the Rust documentation on [`RUST_LOG`](https://docs.rs/env_logger/latest/env_logger/#enabling-logging) for more information on the configuration options.
|