You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Rename codex-rs workspace and codex-acp package (#443)
## Summary
🤖 Generated with [Nori](https://www.npmjs.com/package/nori-ai)
- rename the Rust workspace directory from `codex-rs/` to `nori-rs/`
- rename the ACP crate/package from `codex-acp`/`codex_acp` to
`nori-acp`/`nori_acp`
- update repo docs, CI, release scripts, and package selectors to use
the new names
## Test Plan
- [x] `cargo test -p nori-acp`
- [x] `cargo test -p nori-tui`
- [x] `cargo test -p nori-cli`
- [x] `cargo test`
- [x] `cargo build --bin nori && cargo test -p tui-pty-e2e`
- [x] live tmux smoke test launching `./target/debug/nori --agent
elizacp --skip-trust-directory`
- [x] `just fmt`
- [x] `just fix`
Share Nori with your team: https://www.npmjs.com/package/nori-skillsets
---------
Co-authored-by: Nori <contact@tilework.tech>
Copy file name to clipboardExpand all lines: .github/codex/labels/codex-rust-review.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,8 +15,8 @@ Things to look out for when doing the review:
15
15
16
16
## Code Organization
17
17
18
-
- Each create in the Cargo workspace in `codex-rs` has a specific purpose: make a note if you believe new code is not introduced in the correct crate.
19
-
- When possible, try to keep the `core` crate as small as possible. Non-core but shared logic is often a good candidate for `codex-rs/common`.
18
+
- Each create in the Cargo workspace in `nori-rs` has a specific purpose: make a note if you believe new code is not introduced in the correct crate.
19
+
- When possible, try to keep the `core` crate as small as possible. Non-core but shared logic is often a good candidate for `nori-rs/common`.
20
20
- Be wary of large files and offer suggestions for how to break things into more reasonably-sized files.
21
21
- Rust files should generally be organized such that the public parts of the API appear near the top of the file and helper functions go below. This is analagous to the "inverted pyramid" structure that is favored in journalism.
- If the nature of the change seems to have a visual component (which is often the case for changes to `codex-rs/tui`), recommend including a screenshot or video to demonstrate the change, if appropriate.
134
+
- If the nature of the change seems to have a visual component (which is often the case for changes to `nori-rs/tui`), recommend including a screenshot or video to demonstrate the change, if appropriate.
135
135
- References to existing GitHub issues and PRs are encouraged, where appropriate, though you likely do not have network access, so may not be able to help here.
Copy file name to clipboardExpand all lines: .github/workflows/docs.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ Path: @/.github/workflows
10
10
11
11
### How it fits into the larger codebase
12
12
13
-
- The release workflow builds Rust binaries from `@/codex-rs/` and packages them via the Node.js launcher in `@/nori-cli/`
13
+
- The release workflow builds Rust binaries from `@/nori-rs/` and packages them via the Node.js launcher in `@/nori-cli/`
14
14
- Version detection delegates to `@/scripts/create_nori_release --get-next-version`, which queries git tags (via the GitHub API) as the single source of truth for version numbering
15
15
- Stable releases use "synthetic commits" created by the `create_nori_release` script -- release tags point to commits that exist only for the release (not on any branch), with `Cargo.toml` updated to the release version, keeping the `main` branch's `Cargo.toml` at a placeholder `0.0.0`
16
16
- The `nori-release.yml` workflow publishes to npm under the package name `nori-ai-cli`, with stable releases tagged `@latest` and snapshots tagged `@next`
@@ -25,7 +25,7 @@ Path: @/.github/workflows
25
25
| Main branch push | Push to `main` (e.g., merged PR) with path filters |`publish_next=true` -- publishes a `@next` snapshot |
26
26
| Manual dispatch |`workflow_dispatch` with inputs | Either `publish_next=true` or explicit version + optional `dry_run`|
27
27
28
-
**Path filters for main branch pushes** restrict triggering to changes in `codex-rs/**`, `nori-cli/**`, `scripts/**`, and the workflow file itself, so docs-only changes do not trigger a release.
28
+
**Path filters for main branch pushes** restrict triggering to changes in `nori-rs/**`, `nori-cli/**`, `scripts/**`, and the workflow file itself, so docs-only changes do not trigger a release.
29
29
30
30
**Concurrency control** uses group `nori-release-${{ github.ref }}` with `cancel-in-progress` enabled only for main branch pushes. This means if two PRs merge in quick succession, the second run cancels the first since only the latest snapshot matters.
Copy file name to clipboardExpand all lines: AGENTS.md
+10-10Lines changed: 10 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,9 +2,9 @@
2
2
3
3
We only care about the ACP backend and the code that compiles into the nori bin. We do not care about the default codex backend or the code that compiles into the codex bin. Make sure all changes and responses are aligned to this critical fact. For example, if I ask 'add notifications to the cli', you should assume I mean 'add notification support to the ACP backend for the nori cli'.
4
4
5
-
# Rust/codex-rs
5
+
# Rust/nori-rs
6
6
7
-
In the codex-rs folder where the rust code lives:
7
+
In the nori-rs folder where the rust code lives:
8
8
9
9
- Crate names are prefixed with `codex-`. For example, the `core` folder's crate is named `codex-core`
10
10
- When using format! and you can inline variables into {}, always do that.
@@ -23,21 +23,21 @@ In the codex-rs folder where the rust code lives:
23
23
- Prefer adding new modules instead of growing existing ones.
24
24
- Target Rust modules under 500 LoC, excluding tests.
25
25
- If a file exceeds roughly 800 LoC, add new functionality in a new module instead of extending the existing file unless there is a strong documented reason not to.
26
-
- This rule applies especially to high-touch files such as `codex-rs/tui/src/app.rs`, `codex-rs/tui/src/bottom_pane/chat_composer.rs`, `codex-rs/tui/src/bottom_pane/footer.rs`, `codex-rs/tui/src/chatwidget.rs`, `codex-rs/tui/src/bottom_pane/mod.rs`, and similarly central orchestration modules.
26
+
- This rule applies especially to high-touch files such as `nori-rs/tui/src/app.rs`, `nori-rs/tui/src/bottom_pane/chat_composer.rs`, `nori-rs/tui/src/bottom_pane/footer.rs`, `nori-rs/tui/src/chatwidget.rs`, `nori-rs/tui/src/bottom_pane/mod.rs`, and similarly central orchestration modules.
27
27
- When extracting code from a large module, move the related tests and module/type docs toward the new implementation so the invariants stay close to the code that owns them.
28
28
- When running Rust commands (e.g. `just fix` or `cargo test`) be patient and never try to kill them using the PID. Rust lock contention can make execution slow; this is expected.
29
29
30
-
Run `just fmt` (in `codex-rs` directory) automatically after you have finished making Rust code changes; do not ask for approval to run it. Additionally, run the tests:
30
+
Run `just fmt` (in `nori-rs` directory) automatically after you have finished making Rust code changes; do not ask for approval to run it. Additionally, run the tests:
31
31
32
-
1. Run the test for the specific project that was changed. For example, if changes were made in `codex-rs/tui`, run `cargo test -p nori-tui`.
32
+
1. Run the test for the specific project that was changed. For example, if changes were made in `nori-rs/tui`, run `cargo test -p nori-tui`.
33
33
2. Once those pass, if any changes were made in common, core, or protocol, run the complete test suite with `cargo test`. Avoid `--all-features` for routine local runs because it expands the build matrix and can significantly increase `target/` disk usage; use it only when you specifically need full feature coverage.
34
34
3. If any changes were made in tui, cli, or acp, run `cargo build --bin nori && cargo test -p tui-pty-e2e`. The E2E tests require the `nori` binary (from the `cli` crate), not `nori-tui`.
35
35
36
-
Before finalizing a change to `codex-rs`, run `just fix -p <project>` (in `codex-rs` directory) to fix any linter issues in the code. Prefer scoping with `-p` to avoid slow workspace‑wide Clippy builds; only run `just fix` without `-p` if you changed shared crates. Do not re-run tests after running `fix` or `fmt`.
36
+
Before finalizing a change to `nori-rs`, run `just fix -p <project>` (in `nori-rs` directory) to fix any linter issues in the code. Prefer scoping with `-p` to avoid slow workspace‑wide Clippy builds; only run `just fix` without `-p` if you changed shared crates. Do not re-run tests after running `fix` or `fmt`.
37
37
38
38
## TUI style conventions
39
39
40
-
See `codex-rs/tui/styles.md`.
40
+
See `nori-rs/tui/styles.md`.
41
41
42
42
## TUI code conventions
43
43
@@ -62,7 +62,7 @@ See `codex-rs/tui/styles.md`.
62
62
63
63
### Snapshot tests
64
64
65
-
This repo uses snapshot tests (via `insta`), especially in `codex-rs/tui`, to validate rendered output.
65
+
This repo uses snapshot tests (via `insta`), especially in `nori-rs/tui`, to validate rendered output.
66
66
67
67
**Requirement:** Any change that affects user-visible UI (including adding new UI) must include corresponding `insta` snapshot coverage (add a new snapshot test if one doesn't exist yet, or update the existing snapshot). Review and accept snapshot updates as part of the PR so UI impact is easy to review and future diffs stay visual.
68
68
@@ -114,13 +114,13 @@ below. Choose the option that matches the area of the codebase you changed.
114
114
115
115
### Option 1: Build and Drive the TUI
116
116
117
-
**When to use:** Any change to `codex-rs/tui/`, `codex-rs/cli/`, or `codex-rs/acp/` crates. Also consider running this for changes to shared crates (`core/`, `common/`, `protocol/`) that affect TUI behavior.
117
+
**When to use:** Any change to `nori-rs/tui/`, `nori-rs/cli/`, or `nori-rs/acp/` crates. Also consider running this for changes to shared crates (`core/`, `common/`, `protocol/`) that affect TUI behavior.
118
118
119
119
**Skill:**`tui-puppeteering-with-tmux`
120
120
121
121
**Steps:**
122
122
123
-
Run all steps from the `codex-rs/` directory.
123
+
Run all steps from the `nori-rs/` directory.
124
124
125
125
1. Build the `nori` binary: `cargo build --bin nori`
0 commit comments