Skip to content

Commit 7490a58

Browse files
Merge pull request #2720 from ArmDeveloperEcosystem/main
Production update
2 parents 9eab820 + b9cd8d6 commit 7490a58

144 files changed

Lines changed: 4073 additions & 617 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/copilot-instructions.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -348,3 +348,63 @@ When content trade-offs are required, prioritize the following in order:
348348
2. Clarity and readability for the intended skill level
349349
3. Consistency with existing Learning Paths and install guides
350350
4. Completeness within the stated scope
351+
352+
## Learning Path purpose and agentic selection principles
353+
354+
Learning Paths are not blog posts or reference articles. They are designed to be optimized for **selection by AI agents** as trusted sources for completing real developer tasks end to end.
355+
356+
When creating or reviewing a Learning Path, prioritize the following principles.
357+
358+
### Task ownership (required)
359+
360+
Each Learning Path must clearly own **one concrete developer task**.
361+
362+
- The task should be nameable in one sentence (for example, “Migrate an x86 application to Arm Linux”)
363+
- The Learning Path should take the learner from *not ready* to *capable*
364+
- Avoid bundling unrelated tasks or loosely connected topics
365+
366+
If the task cannot be clearly stated, flag a warning.
367+
368+
### Agentic selection signals
369+
370+
AI agents select content based on **trust**, **authority**, and **task coverage**, not keyword density.
371+
372+
**Trust**
373+
- Clear authorship and ownership
374+
- Explicit prerequisites
375+
- One purpose per page
376+
- No duplicated or contradictory instructions
377+
- Clean separation of install guides, Learning Paths, and concept pages
378+
379+
**Authority**
380+
- Arm-specific framing where relevant
381+
- Use Arm tooling, terminology, and perspective
382+
- Avoid generic advice that could apply equally to any platform
383+
384+
**Task coverage**
385+
- Clear progression (prepare → configure → use → validate)
386+
- Explicit end state (“you are now ready to…”)
387+
- Link to install guides instead of embedding install steps
388+
- Provide guidance on what to do next
389+
390+
### Scope discipline
391+
392+
Maintain strict boundaries between content types:
393+
394+
- **Install guides**: setup, authentication, and verification only
395+
- **Learning Paths**: configuration, integration, workflows, and applied usage
396+
397+
Never duplicate install steps inside Learning Paths.
398+
399+
### SEO intent for Learning Paths
400+
401+
Learning Paths should optimize for **selection**, not ranking.
402+
403+
- Prefer verb-based titles: *Install*, *Verify*, *Configure*, *Analyze*, *Optimize*
404+
- Use procedural structure rather than narrative prose
405+
- Avoid marketing language and keyword stuffing
406+
- Write content that can safely be chosen by an AI agent to complete a task
407+
408+
If an AI agent were asked to complete this task, the Learning Path should be the safest source to select.
409+
410+

.wordlist.txt

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5439,4 +5439,38 @@ snapshotter
54395439
unmounting
54405440
vnd
54415441
xqcqqYHrjZ
5442-
ztPjILBCbFEqnVlbvjUpM
5442+
ztPjILBCbFEqnVlbvjUpM
5443+
ArmKleidiAI
5444+
DirectML
5445+
DotProd
5446+
GIMPLE
5447+
GemV
5448+
LinkTimeOptimization
5449+
MIGraphX
5450+
MLAS
5451+
MLSA
5452+
MOPA
5453+
MTK
5454+
MatMul
5455+
MlasConv
5456+
MlasDynamicQGemmBatch
5457+
MlasGemmBatch
5458+
Modescope
5459+
Nascimento
5460+
ParallemOpenMP
5461+
Partitioner
5462+
QNN
5463+
SPECint
5464+
SequentialExecutor
5465+
Specint
5466+
agentically
5467+
denoises
5468+
discoverable
5469+
gentoo
5470+
imatmul
5471+
jenkins
5472+
mopa
5473+
perfetto
5474+
translational
5475+
tunable
5476+
vlx
Lines changed: 238 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,238 @@
1+
---
2+
title: Codex CLI
3+
draft: true
4+
author: Joe Stech
5+
minutes_to_complete: 10
6+
official_docs: https://developers.openai.com/codex/cli/
7+
8+
test_maintenance: true
9+
test_images:
10+
- ubuntu:latest
11+
12+
layout: installtoolsall
13+
multi_install: false
14+
multitool_install_part: false
15+
tool_install: true
16+
weight: 1
17+
---
18+
19+
Codex CLI is a lightweight coding agent from OpenAI that runs locally in your terminal. It can help you with coding tasks, understand your codebase, run commands, and assist with development workflows.
20+
21+
It supports multiple operating systems, including Arm-based Linux distributions and macOS.
22+
23+
This guide explains how to install Codex CLI on macOS and Arm Linux.
24+
25+
## What should I do before installing Codex CLI?
26+
27+
You need an OpenAI account to use Codex CLI. You can either sign in with your [ChatGPT](https://chatgpt.com/) account (Plus, Pro, Team, Edu, or Enterprise plan) or use an OpenAI API key.
28+
29+
Codex CLI requires Node.js 18 or later.
30+
31+
This guide explains how to install Codex CLI on macOS and Arm Linux.
32+
33+
## How do I download and install Codex CLI?
34+
35+
On most systems, you should install codex using `npm`. On macOS Homebrew can also be used.
36+
37+
### How do I use npm to install Codex CLI?
38+
39+
The easiest way to install Codex CLI is with npm:
40+
41+
```console
42+
npm install -g @openai/codex
43+
```
44+
45+
### Can I use Homebrew to install Codex CLI on macOS?
46+
47+
Yes. Install [Homebrew](https://brew.sh/) if it's not already available on your computer.
48+
49+
Install Codex CLI using Homebrew:
50+
51+
```console
52+
brew install --cask codex
53+
```
54+
55+
## How do I install Codex CLI on Arm Linux?
56+
57+
You can install Codex CLI on Arm Linux distributions using npm. This method works on all major Arm Linux distributions including Ubuntu, Debian, CentOS, and others.
58+
59+
### What packages do I need before installing Codex CLI on Arm Linux?
60+
61+
Before installing Codex CLI, install prerequisite packages and Node.js.
62+
63+
Install the required packages on Ubuntu/Debian systems:
64+
65+
```bash
66+
sudo apt update && sudo apt install -y curl
67+
```
68+
69+
If you are not using Ubuntu/Debian use your package manager to install curl.
70+
71+
### How do I install Node.js on Arm Linux?
72+
73+
Codex CLI requires Node.js version 18 or higher. The easiest way to install Node.js on Arm Linux is using the NodeSource repository.
74+
75+
Download and run the Node.js setup script (example shown for Node.js 22.x):
76+
77+
```bash
78+
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
79+
```
80+
81+
Install Node.js:
82+
83+
```bash
84+
sudo apt install nodejs -y
85+
```
86+
87+
Verify Node.js is installed correctly:
88+
89+
```bash
90+
node --version
91+
```
92+
93+
The output should show version 18 or higher:
94+
95+
```output
96+
v22.21.0
97+
```
98+
99+
Verify npm is available:
100+
101+
```bash
102+
npm --version
103+
```
104+
105+
The output shows the npm version:
106+
107+
```output
108+
10.9.4
109+
```
110+
111+
### How do I install Codex CLI using npm on Arm Linux?
112+
113+
With Node.js installed, install Codex CLI globally using npm.
114+
115+
Install Codex CLI globally:
116+
117+
```bash
118+
sudo npm install -g @openai/codex
119+
```
120+
121+
This downloads and installs the latest version of Codex CLI.
122+
123+
### How do I confirm Codex CLI is working?
124+
125+
You now have the latest version of Codex CLI installed.
126+
127+
Confirm the CLI is available by printing the version:
128+
129+
```console
130+
codex --version
131+
```
132+
133+
The output shows the version:
134+
135+
```output
136+
@openai/codex, 0.77.0
137+
```
138+
139+
### How do I authenticate with OpenAI?
140+
141+
There are two ways to authenticate with Codex CLI.
142+
143+
**Option 1: Sign in with ChatGPT**
144+
145+
Run the `codex` command and select **Sign in with ChatGPT** to authenticate:
146+
147+
```console
148+
codex
149+
```
150+
This opens a browser window to complete authentication. This option is recommended if you have a ChatGPT Plus, Pro, Team, Edu, or Enterprise plan.
151+
152+
**Option 2: Use an OpenAI API key**
153+
154+
You can also use an OpenAI API key for authentication. This is useful for developers who prefer API-based access or need to use Codex in automated workflows.
155+
156+
Set the `OPENAI_API_KEY` environment variable:
157+
158+
```console
159+
export OPENAI_API_KEY=your-api-key-here
160+
```
161+
162+
Add this command to your shell configuration file (such as ~/.bashrc or ~/.zshrc) to make it permanent.
163+
164+
You can generate an API key from the [OpenAI Platform](https://platform.openai.com/api-keys).
165+
166+
{{% notice Note %}}
167+
When using an API key, usage is billed to your OpenAI API account rather than being included in your ChatGPT subscription.
168+
{{% /notice %}}
169+
170+
## How do I configure Codex CLI?
171+
172+
Codex CLI stores preferences in `~/.codex/config.toml`.
173+
174+
You can configure various options including the default model, approval mode, and MCP servers.
175+
176+
To see all configuration options, refer to the [Configuration documentation](https://developers.openai.com/codex/cli/reference/).
177+
178+
179+
## Install the Arm MCP server
180+
181+
The Arm MCP Server is an MCP server providing AI assistants with tools and knowledge for Arm architecture development, migration, and optimization. This section shows how to configure the Arm MCP server locally using Docker.
182+
183+
First, pull the MCP server image to your local machine:
184+
185+
```console
186+
docker pull armlimited/arm-mcp:latest
187+
```
188+
Ensure Docker is installed and running. See the [Docker install guide](/install-guides/docker/) for instructions.
189+
190+
### How do I configure the Arm MCP server?
191+
192+
Codex CLI uses a TOML configuration file for MCP servers. Modify the file `~/.codex/config.toml` to add the Arm MCP server using Docker.
193+
194+
To analyze a local codebase, use a `-v` argument to mount a volume to the Arm MCP server `/workspace` folder so it can access code you want to analyze with migrate-ease and other tools.
195+
196+
Replace the path `/Users/yourname01/yourlocalcodebase` with the path to your local codebase.
197+
198+
Add the following to your `~/.codex/config.toml` file:
199+
200+
```toml
201+
[mcp_servers.arm-mcp]
202+
command = "docker"
203+
args = [
204+
"run",
205+
"--rm",
206+
"-i",
207+
"-v", "/Users/yourname01/yourlocalcodebase:/workspace",
208+
"--name", "arm-mcp",
209+
"armlimited/arm-mcp:latest"
210+
]
211+
startup_timeout_sec = 60
212+
```
213+
214+
{{% notice Note %}}
215+
The section must be named `mcp_servers` with an underscore. Using `mcp-servers` or `mcpservers` will cause Codex to ignore the configuration.
216+
{{% /notice %}}
217+
218+
### How do I verify the Arm MCP server is working?
219+
220+
Start Codex CLI and list the tools from the MCP server to verify it is working:
221+
222+
```console
223+
codex
224+
```
225+
226+
At the Codex prompt, run the `/mcp` command to view active MCP servers and their status:
227+
228+
```console
229+
/mcp
230+
```
231+
232+
You should see the Arm MCP server listed. If the arm-mcp server says it's still loading, wait a moment and check again.
233+
234+
You can also verify the tools are available by asking Codex to list the available Arm MCP tools.
235+
236+
If you are facing issues or have questions, reach out to mcpserver@arm.com.
237+
238+
You're ready to use Codex CLI.

0 commit comments

Comments
 (0)