Skip to content

Latest commit

 

History

History
72 lines (54 loc) · 2.93 KB

File metadata and controls

72 lines (54 loc) · 2.93 KB

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 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

# Clone the repository and navigate to the root of the Codex Lab checkout.
git clone https://github.com/cbusillo/codex-lab.git
cd codex-lab

# 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 --locked just
# Install nextest for the `just test` helper.
cargo install --locked cargo-nextest

# Build Codex Lab from the Rust workspace.
cd codex-rs
cargo build

# Launch the TUI with a sample prompt from the workspace.
cargo run --bin codex-lab -- "explain this codebase to me"
cd ..

# Install the dogfood launcher into ~/.local/bin/codex-lab. The launcher keeps
# rebuilding this checkout incrementally, defaults CODEX_LAB_HOME to
# ~/.codex-lab when unset, and leaves upstream `codex` plus Every Code `code`
# untouched.
just install-codex-lab-dev
codex-lab "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:
just test -p codex-tui
# `just test` runs the test suite via nextest:
just test
# Avoid `--all-features` for routine local runs because it increases build
# time and `target/` disk usage by compiling additional feature combinations.

Tracing / verbose logging

Codex is written in Rust, so it honors the RUST_LOG environment variable to configure its logging behavior.

The TUI records diagnostics in bounded local stores by default. Set log_dir explicitly to enable a plaintext TUI log for a run:

codex -c log_dir=./.codex-log
tail -F ./.codex-log/codex-tui.log

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 for more information on the configuration options.