nori-ai-cli 0.0.1 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,83 @@
1
+ # Nori CLI
2
+
3
+ [![CI](https://github.com/tilework-tech/nori-cli/actions/workflows/rust-ci.yml/badge.svg?branch=dev)](https://github.com/tilework-tech/nori-cli/actions/workflows/rust-ci.yml)
4
+ [![npm version](https://img.shields.io/npm/v/nori-ai-cli)](https://www.npmjs.com/package/nori-ai-cli)
5
+ [![npm downloads](https://img.shields.io/npm/dm/nori-ai-cli)](https://www.npmjs.com/package/nori-ai-cli)
6
+ [![License](https://img.shields.io/npm/l/nori-ai-cli)](https://github.com/tilework-tech/nori-cli/blob/dev/LICENSE)
7
+ [![GitHub Release](https://img.shields.io/github/v/release/tilework-tech/nori-cli)](https://github.com/tilework-tech/nori-cli/releases/latest)
8
+
9
+ A multi-provider AI coding agent that runs locally on your computer.
10
+
11
+ ```bash
12
+ npm install -g nori-ai-cli
13
+ ```
14
+
15
+ ---
16
+
17
+ ## Overview
18
+
19
+ Nori CLI is a fork of [OpenAI Codex CLI](https://github.com/openai/codex) with support for multiple AI providers. Switch between Claude, Gemini, and OpenAI seamlessly.
20
+
21
+ ## Quickstart
22
+
23
+ ### Installation
24
+
25
+ Install globally via npm:
26
+
27
+ ```bash
28
+ npm install -g nori-ai-cli
29
+ ```
30
+
31
+ For pre-release versions:
32
+
33
+ ```bash
34
+ npm install -g nori-ai-cli@next
35
+ ```
36
+
37
+ You can also download platform-specific binaries from the [GitHub Releases](https://github.com/tilework-tech/nori-cli/releases/latest) page:
38
+
39
+ - **macOS**: `nori-*-darwin-arm64.tar.gz` (Apple Silicon) or `nori-*-darwin-x86_64.tar.gz` (Intel)
40
+ - **Linux**: `nori-*-linux-arm64.tar.gz` (ARM64) or `nori-*-linux-x86_64.tar.gz` (x86_64)
41
+
42
+ ### Running Nori
43
+
44
+ Simply run `nori` to get started:
45
+
46
+ ```bash
47
+ nori
48
+ ```
49
+
50
+ ## Supported Providers
51
+
52
+ Nori supports multiple AI providers via the Agent Context Protocol:
53
+
54
+ | Provider | Model | Setup |
55
+ | -------- | ---------------- | ----------------------------------------------- |
56
+ | Claude | Anthropic Claude | `npx @zed-industries/claude-code-acp` (default) |
57
+ | Gemini | Google Gemini | `npx @google/gemini-cli --experimental-acp` |
58
+ | Codex | OpenAI | `npx @zed-industries/codex-acp` |
59
+
60
+ Switch providers during a session with the `/agent` command.
61
+
62
+ ## Key Features
63
+
64
+ - **Multi-Provider Support**: Switch between Claude, Gemini, and OpenAI via ACP
65
+ - **MCP Integration**: Connect to Model Context Protocol servers for extended capabilities
66
+ - **Sandboxed Execution**: Commands run in a security sandbox (Seatbelt on macOS, Landlock on Linux)
67
+ - **Session Management**: Save and resume conversations
68
+
69
+ ## Configuration
70
+
71
+ Configuration is stored in `~/.codex/`:
72
+
73
+ - `config.toml` - Main configuration file
74
+ - `auth.json` - Authentication tokens
75
+ - `sessions/` - Saved conversations
76
+
77
+ ## Attribution
78
+
79
+ Nori CLI is a fork of [OpenAI Codex CLI](https://github.com/openai/codex), extended for multi-provider AI assistance.
80
+
81
+ ## License
82
+
83
+ This repository is licensed under the [Apache-2.0 License](LICENSE).
package/bin/nori.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- // Unified entry point for the Codex CLI.
2
+ // Unified entry point for the Nori CLI.
3
3
 
4
4
  import { spawn } from "node:child_process";
5
5
  import { existsSync } from "fs";
@@ -18,10 +18,10 @@ switch (platform) {
18
18
  case "android":
19
19
  switch (arch) {
20
20
  case "x64":
21
- targetTriple = "x86_64-unknown-linux-musl";
21
+ targetTriple = "x86_64-unknown-linux-gnu";
22
22
  break;
23
23
  case "arm64":
24
- targetTriple = "aarch64-unknown-linux-musl";
24
+ targetTriple = "aarch64-unknown-linux-gnu";
25
25
  break;
26
26
  default:
27
27
  break;
@@ -61,8 +61,8 @@ if (!targetTriple) {
61
61
 
62
62
  const vendorRoot = path.join(__dirname, "..", "vendor");
63
63
  const archRoot = path.join(vendorRoot, targetTriple);
64
- const codexBinaryName = process.platform === "win32" ? "codex.exe" : "codex";
65
- const binaryPath = path.join(archRoot, "codex", codexBinaryName);
64
+ const noriBinaryName = process.platform === "win32" ? "nori.exe" : "nori";
65
+ const binaryPath = path.join(archRoot, "nori", noriBinaryName);
66
66
 
67
67
  // Use an asynchronous spawn instead of spawnSync so that Node is able to
68
68
  // respond to signals (e.g. Ctrl-C / SIGINT) while the native binary is
@@ -81,7 +81,7 @@ function getUpdatedPath(newDirs) {
81
81
  }
82
82
 
83
83
  /**
84
- * Use heuristics to detect the package manager that was used to install Codex
84
+ * Use heuristics to detect the package manager that was used to install Nori
85
85
  * in order to give the user a hint about how to update it.
86
86
  */
87
87
  function detectPackageManager() {
@@ -116,8 +116,8 @@ const updatedPath = getUpdatedPath(additionalDirs);
116
116
  const env = { ...process.env, PATH: updatedPath };
117
117
  const packageManagerEnvVar =
118
118
  detectPackageManager() === "bun"
119
- ? "CODEX_MANAGED_BY_BUN"
120
- : "CODEX_MANAGED_BY_NPM";
119
+ ? "NORI_MANAGED_BY_BUN"
120
+ : "NORI_MANAGED_BY_NPM";
121
121
  env[packageManagerEnvVar] = "1";
122
122
 
123
123
  const child = spawn(binaryPath, process.argv.slice(2), {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "nori-ai-cli",
3
- "version": "0.0.1",
4
- "description": "Nori AI CLI",
3
+ "version": "0.0.5",
4
+ "description": "Nori AI CLI - An AI-powered coding assistant",
5
5
  "license": "Apache-2.0",
6
6
  "bin": {
7
7
  "nori": "bin/nori.js",
@@ -11,14 +11,21 @@
11
11
  "engines": {
12
12
  "node": ">=16"
13
13
  },
14
+ "os": [
15
+ "darwin",
16
+ "linux"
17
+ ],
18
+ "cpu": [
19
+ "x64",
20
+ "arm64"
21
+ ],
14
22
  "files": [
15
23
  "bin",
16
24
  "vendor"
17
25
  ],
18
26
  "repository": {
19
27
  "type": "git",
20
- "url": "git+https://github.com/tilework-tech/nori-cli.git"
21
- },
22
- "os": ["linux"],
23
- "cpu": ["x64"]
28
+ "url": "git+https://github.com/tilework-tech/nori-cli.git",
29
+ "directory": "codex-cli"
30
+ }
24
31
  }