mirror of
https://github.com/tradecatlabs/vibe-coding-cn.git
synced 2026-08-14 11:28:05 +00:00
refactor: research - move domain to repository root
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
# openai/codex 研究域 Agent 指南
|
||||
|
||||
本目录维护 `openai/codex` 的独立研究域。
|
||||
|
||||
## 目录职责
|
||||
|
||||
```text
|
||||
openai-codex/
|
||||
├── README.md # 研究域入口和判断层
|
||||
├── AGENTS.md # 本目录维护规则
|
||||
├── domain.yml # 事实摘要层:仓库元数据、研究角色、来源证据
|
||||
├── analysis.md # L1 结构化研究结论、可借鉴点、风险和下一轮任务
|
||||
├── deep-dive.md # L2 源码/结构深度研究、关键机制和可迁移模式
|
||||
└── raw/ # 原始事实层:拉取到本地的一手材料快照
|
||||
```
|
||||
|
||||
## 维护规则
|
||||
|
||||
- 本目录只研究 `openai/codex`,不要混入其他仓库的横向比较正文。
|
||||
- 动态事实必须写入 `domain.yml.github_observed`,并更新 `observed_at`。
|
||||
- `raw/` 保存原始事实层,必须通过 `python3 scripts/fetch-research-raw.py` 刷新。
|
||||
- 不手工改写 `raw/*.raw.*` 文件;稳定事实摘要再同步到 `domain.yml`。
|
||||
- README 只写判断、定位、使用方式和后续观察点,不堆外部 README 全文。
|
||||
- `analysis.md` 写 L1 结构化理解;`deep-dive.md` 写 L2 源码证据、关键机制和可迁移模式。
|
||||
- 如果需要横向比较,在 `research/README.md` 或新的对比文档中处理,不把本目录重新变成聚合域。
|
||||
- 修改后运行 `make sync-doc-toc` 和 `make test`。
|
||||
@@ -0,0 +1,58 @@
|
||||
# openai/codex 研究域
|
||||
|
||||
## 字多不看
|
||||
|
||||
- 本目录研究 `openai/codex` 这个外部仓库。
|
||||
- 当前优先级:P1;研究角色:官方 coding agent 工具源码。
|
||||
- GitHub 动态事实放在 `domain.yml`,观测日期为 2026-07-03。
|
||||
|
||||
## 快速导航
|
||||
|
||||
| 文档 | 定位 |
|
||||
|:---|:---|
|
||||
| [domain.yml](domain.yml) | 仓库事实快照、研究方向、优先级和来源证据。 |
|
||||
| [analysis.md](analysis.md) | 本研究域的结构化研究结果、可借鉴点、风险和下一轮任务。 |
|
||||
| [deep-dive.md](deep-dive.md) | L2 源码/结构深度研究、关键机制和可迁移模式。 |
|
||||
| [AGENTS.md](AGENTS.md) | 本研究域维护规则。 |
|
||||
|
||||
<details>
|
||||
<summary><strong>完整细粒度目录(点击展开/收起)</strong></summary>
|
||||
|
||||
### 细粒度目录
|
||||
|
||||
- [domain.yml](domain.yml) - 仓库事实快照、研究方向、优先级和来源证据。
|
||||
- [analysis.md](analysis.md) - 本研究域的结构化研究结果、可借鉴点、风险和下一轮任务。
|
||||
- [deep-dive.md](deep-dive.md) - L2 源码/结构深度研究、关键机制和可迁移模式。
|
||||
- [AGENTS.md](AGENTS.md) - 本研究域维护规则。
|
||||
|
||||
</details>
|
||||
|
||||
## 使用方式
|
||||
|
||||
- 先读本 README 的判断,再读 `analysis.md` 和 `deep-dive.md` 的研究结论,最后读 `domain.yml`。
|
||||
- 需要引用 stars、forks、release、归档状态时,先重新核验 GitHub。
|
||||
- 如果形成稳定方法论,再迁入 concepts、references、workflow 或 skills。
|
||||
|
||||
## 正文
|
||||
|
||||
### 研究定位
|
||||
|
||||
`openai/codex` 的当前研究定位是:官方 coding agent 工具源码。
|
||||
|
||||
### 当前判断
|
||||
|
||||
适合作为 AI coding agent 工具实现、权限、沙箱和 CLI 交互研究对象。
|
||||
|
||||
### 观察字段
|
||||
|
||||
- GitHub URL:https://github.com/openai/codex
|
||||
- 当前研究方向:`coding-agent-tooling`
|
||||
- 当前优先级:P1
|
||||
- 当前归档状态:`false`
|
||||
- 主要语言:`Rust`
|
||||
|
||||
### 后续观察
|
||||
|
||||
- 是否有稳定文档结构、命令入口和可复用工作流。
|
||||
- 是否能反哺本仓库的 concepts、references、workflow 或 skills。
|
||||
- 是否存在许可证、归档状态、维护活跃度或生态迁移风险。
|
||||
@@ -0,0 +1,65 @@
|
||||
# openai/codex 研究分析
|
||||
|
||||
## 本轮结论
|
||||
|
||||
`openai/codex` 的核心价值不是“官方 CLI 怎么写”,而是展示了成熟 coding agent 必须有执行控制面。
|
||||
它把配置、沙箱、执行策略、工具、技能、项目上下文和交互入口拆成显式对象,避免让高风险行为只靠
|
||||
提示词自觉。
|
||||
|
||||
本仓最应该迁移的是治理思想:凡是能执行命令、改文件、访问网络或影响仓库状态的入口,都必须有
|
||||
owner、风险等级、输入输出、dry-run、CI 状态和审计边界。
|
||||
|
||||
## 本地证据
|
||||
|
||||
- 研究对象:`openai/codex`
|
||||
- 当前研究角色:官方 coding agent 工具源码
|
||||
- 原始仓库:`raw/repository/`
|
||||
- 原始来源清单:`raw/sources.yml`
|
||||
- 事实摘要:`domain.yml`
|
||||
- 深度证据:`deep-dive.md`
|
||||
|
||||
## 对标拆解
|
||||
|
||||
| 项 | 内容 |
|
||||
|:---|:---|
|
||||
| 参考对象 | `openai/codex` |
|
||||
| 它解决的核心问题 | 让本地 coding agent 的命令执行、文件修改和工具调用进入可配置、可审计、可限制的系统 |
|
||||
| 核心机制 | `config`、`sandboxing`、`linux-sandbox`、`tools`、`skills`、`docs/exec*`、`AGENTS.md` 分层 |
|
||||
| 真正带来结果的动作 | 把执行风险做成系统对象,而不是把风险控制写成提示词愿望 |
|
||||
| 可迁移做法 | 脚本登记表、风险等级、自动执行边界、人工审批边界、dry-run 和审计说明 |
|
||||
| 不可迁移条件 | 不复制 Rust workspace、Bazel/Nix、CLI runtime 和产品级沙箱实现 |
|
||||
| 下一步试用动作 | 先为本仓 `scripts/` 建立 `manifest.yml` 或等价登记表 |
|
||||
|
||||
## 改良迭代
|
||||
|
||||
| 改良目标 | 原模式 | 本仓版本 | 验证指标 |
|
||||
|:---|:---|:---|:---|
|
||||
| 脚本控制面 | Codex 将执行策略和沙箱显式化 | `scripts/manifest.yml` 记录脚本 owner、风险、输入、输出、CI 状态 | Agent 能判断哪些脚本可自动执行,哪些必须人工确认 |
|
||||
| Agent 上下文接口 | Codex 使用 `AGENTS.md` 承载项目规则 | 保持根目录和子目录 `AGENTS.md` 为正式上下文入口 | 新目录或架构变更后索引和 AGENTS 同步 |
|
||||
| 技能治理 | Codex 将 skills 作为可复用能力对象 | 本仓 skills 必须有触发条件、边界、输入输出和验证 | skill 不再只是 prompt 收藏 |
|
||||
|
||||
## 可迁移清单
|
||||
|
||||
- 对所有写仓库、网络访问、高风险发布或迁移脚本标注风险等级。
|
||||
- 对脚本补齐输入、输出、幂等性、dry-run、失败恢复和审计说明。
|
||||
- 把 Agent 可自动执行与必须人工确认的边界写进 `scripts/AGENTS.md`。
|
||||
- 把命令执行策略沉淀到 `docs/references/` 或 `docs/workflow/`。
|
||||
|
||||
## 不可迁移清单
|
||||
|
||||
- 不把本仓改造成 Codex 类 runtime 产品。
|
||||
- 不为了“看起来企业级”引入复杂沙箱、Bazel、Nix 或多语言构建系统。
|
||||
- 不把官方产品实现等同于本仓必须采用的唯一标准。
|
||||
|
||||
## 验证动作
|
||||
|
||||
| 动作 | 成功信号 | 失败信号 |
|
||||
|:---|:---|:---|
|
||||
| 抽样 5 个 `scripts/` 文件登记 owner、风险、输入输出 | 维护者能一眼判断脚本能否自动跑 | 仍需要读源码才知道脚本风险 |
|
||||
| 给写仓库脚本补 dry-run 或说明为何不能 dry-run | 高风险动作有预演或审计路径 | 脚本一运行就产生不可逆副作用 |
|
||||
| 把脚本风险边界加入 `scripts/AGENTS.md` | Agent 执行前能引用明确规则 | 每次仍靠对话临时判断 |
|
||||
|
||||
## 沉淀判断
|
||||
|
||||
- 稳定结论应下沉到 `scripts/`、`docs/workflow/` 和 `docs/references/`。
|
||||
- `deep-dive.md` 保留源码证据;本文件负责把证据转成迁移动作。
|
||||
@@ -0,0 +1,90 @@
|
||||
# openai/codex 深度研究
|
||||
|
||||
## 研究级别
|
||||
|
||||
- 当前级别:L2 源码/结构深度研究。
|
||||
- 研究对象:`openai/codex`。
|
||||
- 证据来源:本目录 `raw/` 下的 GitHub 元数据、README 快照和本地仓库工作树。
|
||||
- 观察日期:2026-07-03。
|
||||
|
||||
## L2 结论
|
||||
|
||||
`openai/codex` 不是简单的 CLI 包,而是一个以 Rust 工作区为核心的 coding agent
|
||||
控制面。它把协议、配置、沙箱、工具、提示词、技能、TUI、CLI 包装和 MCP 服务拆成相对清晰的
|
||||
边界,说明成熟 coding agent 的核心不是“会调用模型”,而是把模型能力放进可配置、可审计、
|
||||
可限制、可交互的执行系统里。
|
||||
|
||||
对本仓最有价值的不是复制实现,而是学习它的边界设计:执行策略、沙箱策略、Agent 指令、
|
||||
技能、配置和交互文档都被显式建模,避免把高风险行为藏在零散脚本或提示词里。
|
||||
|
||||
## 源码证据
|
||||
|
||||
- `raw/repository/codex-rs/protocol/`:协议层,说明 agent 运行时需要稳定消息边界。
|
||||
- `raw/repository/codex-rs/config/`:配置层,承载运行参数、模型和权限相关配置。
|
||||
- `raw/repository/codex-rs/sandboxing/`:跨平台沙箱抽象,说明执行权限是核心产品能力。
|
||||
- `raw/repository/codex-rs/linux-sandbox/`:Linux 沙箱实现,说明本地命令执行必须有边界。
|
||||
- `raw/repository/codex-rs/tools/`:工具层,说明 agent 能力通过显式工具接口接入。
|
||||
- `raw/repository/codex-rs/skills/`:技能层,说明可复用操作经验被工程化为独立对象。
|
||||
- `raw/repository/codex-rs/tui/`:终端交互层,承载人机协作的主要用户界面。
|
||||
- `raw/repository/codex-cli/bin/codex.js`:npm 分发入口,本质上是对核心运行时的包装。
|
||||
- `raw/repository/docs/exec.md`:命令执行文档,说明执行行为需要公开契约。
|
||||
- `raw/repository/docs/execpolicy.md`:执行策略文档,说明权限策略需要独立表达。
|
||||
- `raw/repository/docs/sandbox.md`:沙箱文档,说明安全边界不是实现细节。
|
||||
- `raw/repository/docs/agents_md.md`:Agent 指令文档,说明项目级上下文是正式接口。
|
||||
- `raw/repository/docs/skills.md`:技能文档,说明技能不是杂项 prompt,而是可治理能力单元。
|
||||
|
||||
## 关键机制
|
||||
|
||||
### 协议优先
|
||||
|
||||
Codex 将 agent 运行时拆成协议、客户端、服务和界面等层次。这个结构把“模型说了什么”与
|
||||
“系统如何执行”分开,降低了 CLI、TUI、MCP 和未来其他入口之间互相污染的概率。
|
||||
|
||||
### 沙箱和审批是核心对象
|
||||
|
||||
本地 agent 的最大风险来自命令执行、文件写入、网络访问和外部工具调用。Codex 把 sandbox、
|
||||
exec policy 和配置作为显式层,而不是把风险控制埋进一段提示词。这是企业级 agent 的底线:
|
||||
风险必须是系统能力,不是靠模型自觉。
|
||||
|
||||
### 文档就是运行契约
|
||||
|
||||
`docs/exec.md`、`docs/execpolicy.md`、`docs/sandbox.md`、`docs/agents_md.md` 和
|
||||
`docs/skills.md` 共同构成运行契约。它们不是营销文档,而是告诉使用者和贡献者:
|
||||
哪些行为可执行,哪些行为受限,哪些上下文会被读取,技能如何介入系统。
|
||||
|
||||
### 分发壳和核心运行时分离
|
||||
|
||||
`codex-cli/` 更像分发入口,核心复杂度集中在 `codex-rs/`。这种结构适合长期维护:
|
||||
包管理、安装体验和跨平台入口可以变化,但 agent 核心边界保持稳定。
|
||||
|
||||
## 可迁移模式
|
||||
|
||||
- 把 agent 执行相关内容分成 `config`、`sandbox`、`exec policy`、`tools`、`skills` 和
|
||||
`agent context` 六类,不混在一个 README 或提示词里。
|
||||
- 对任何会执行命令、改文件或访问网络的脚本,增加风险等级、dry-run、审批策略和审计说明。
|
||||
- 将 `AGENTS.md` 视为项目级上下文接口,而不是临时提示词。
|
||||
- 将 skills 视为可复用能力单元,要求有触发条件、边界、输入输出和验证方式。
|
||||
- 对本仓 `scripts/`、`skills/`、`research/` 建立类似的控制面文档。
|
||||
|
||||
## 对本仓的影响
|
||||
|
||||
本仓已经有 `AGENTS.md`、`skills/`、`scripts/`、`research/` 和 raw 事实层,下一步应把这些
|
||||
对象之间的运行关系写得更明确:
|
||||
|
||||
- `scripts/` 是仓库控制面,不是杂物间。
|
||||
- `skills/` 是 Agent 可复用能力层,不是提示词收藏夹。
|
||||
- `research/` 是研究对象网络,不是外链列表。
|
||||
- `AGENTS.md` 是 AI 协作的项目级接口,不是单纯贡献指南。
|
||||
|
||||
## 风险和待验证项
|
||||
|
||||
- Codex 是官方产品仓库,行为可能随版本快速变化;动态事实必须以 `domain.yml` 观测日为准。
|
||||
- 本地源码只能说明公开实现和文档,不能完整代表云端模型、服务端策略或私有运行逻辑。
|
||||
- 本轮没有运行 Codex 自身测试,结论只覆盖结构研究,不覆盖性能、稳定性或真实使用体验。
|
||||
|
||||
## 下一步 L3 验证任务
|
||||
|
||||
- 把本仓 `scripts/` 的风险分级和可执行入口整理成 `manifest.yml` 或等价登记表。
|
||||
- 为高风险脚本补齐 dry-run、输入输出、owner、CI 状态和审计说明。
|
||||
- 从 Codex 的 `exec policy` 和 `sandbox` 文档中抽象本仓可用的脚本治理检查清单。
|
||||
- 在 `docs/references/` 沉淀“coding agent 控制面”模板,避免研究结论长期滞留在 research。
|
||||
@@ -0,0 +1,32 @@
|
||||
version: 1
|
||||
repo:
|
||||
name: openai/codex
|
||||
source_name: openai/codex
|
||||
url: https://github.com/openai/codex
|
||||
research:
|
||||
domain_id: openai-codex
|
||||
domain_name: openai/codex 研究域
|
||||
primary_direction: coding-agent-tooling
|
||||
role: 官方 coding agent 工具源码
|
||||
priority: 1
|
||||
why_study: 适合作为 AI coding agent 工具实现、权限、沙箱和 CLI 交互研究对象。
|
||||
github_observed:
|
||||
observed_at: '2026-07-03'
|
||||
source: gh repo view
|
||||
stars: 95112
|
||||
forks: 14105
|
||||
archived: false
|
||||
language: Rust
|
||||
license: apache-2.0
|
||||
default_branch: main
|
||||
pushed_at: '2026-07-02T22:05:48Z'
|
||||
updated_at: '2026-07-02T21:01:16Z'
|
||||
latest_release: rust-v0.142.5
|
||||
homepage: ''
|
||||
topics: []
|
||||
source_evidence:
|
||||
file: ChatGPT-中文Vibe Coding仓库 (2).md
|
||||
line: 56
|
||||
maintenance:
|
||||
fact_policy: GitHub 动态字段只代表 observed_at 当日快照,更新结论前必须重新核验。
|
||||
split_policy: 本目录已经是一等研究域;更深分析放入本目录新增文档。
|
||||
@@ -0,0 +1,12 @@
|
||||
# raw/ Agent 指南
|
||||
|
||||
本目录是 `openai/codex` 的原始事实层。
|
||||
|
||||
## 维护规则
|
||||
|
||||
- 只保存从研究对象拉取的一手材料,不写分析判断。
|
||||
- `repository/` 是本地 Git 工作树,刷新时由脚本 clone 或 fast-forward pull。
|
||||
- 不手工改写 `*.raw.*` 文件内容;需要刷新时运行 `python3 scripts/fetch-research-raw.py`。
|
||||
- `sources.yml` 必须记录拉取时间、来源命令和每个文件的状态。
|
||||
- 外部 README 原文必须保存为 `.txt`,避免本仓库 Markdown 链接检查误判。
|
||||
- 分析、判断、采用建议和沉淀路径写回上一级 `README.md`、`analysis.md` 或 `decisions.md`。
|
||||
@@ -0,0 +1,16 @@
|
||||
# raw 事实层
|
||||
|
||||
本目录保存 `openai/codex` 的本地原始材料快照。
|
||||
|
||||
这里不写分析结论,只保存可复查的一手资料:
|
||||
|
||||
- `sources.yml`:来源清单、拉取时间、命令和文件状态。
|
||||
- `repository/`:Git 仓库工作树;本目录由 `.gitignore` 忽略,只作为本地研究材料。
|
||||
- `github-repo.raw.json`:GitHub 仓库元数据。
|
||||
- `github-readme.raw.md.txt`:GitHub README 原文快照。
|
||||
- `github-license.raw.txt`:GitHub license 原文快照;仓库无 license 时可能不存在。
|
||||
- `github-root-contents.raw.json`:默认分支根目录内容快照。
|
||||
- `github-languages.raw.json`:GitHub language 统计快照。
|
||||
- `github-latest-release.raw.json`:最新 release 快照;无 release 时可能不存在。
|
||||
|
||||
`repository/` 是外部源码快照,不参与本仓库 Markdown、链接、README/AGENTS 覆盖检查。原始 README 使用 `.txt` 后缀保存,避免其中的外部相对链接被本仓库 Markdown 链接检查误判。
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"Rust": 38644372,
|
||||
"Python": 1061534,
|
||||
"Starlark": 91784,
|
||||
"TypeScript": 86475,
|
||||
"Shell": 58255,
|
||||
"PowerShell": 48899,
|
||||
"JavaScript": 28986,
|
||||
"Jupyter Notebook": 20702,
|
||||
"HTML": 18785,
|
||||
"Just": 6391,
|
||||
"Smarty": 5842,
|
||||
"Nix": 4427,
|
||||
"Dockerfile": 883,
|
||||
"C": 52
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,201 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright 2025 OpenAI
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
@@ -0,0 +1,71 @@
|
||||
<p align="center"><strong>Codex CLI</strong> is a coding agent from OpenAI that runs locally on your computer.
|
||||
<p align="center">
|
||||
<img src="https://github.com/openai/codex/blob/main/.github/codex-cli-splash.png" alt="Codex CLI splash" width="80%" />
|
||||
</p>
|
||||
</br>
|
||||
If you want Codex in your code editor (VS Code, Cursor, Windsurf), <a href="https://developers.openai.com/codex/ide">install in your IDE.</a>
|
||||
</br>If you want the desktop app experience, run <code>codex app</code> or visit <a href="https://chatgpt.com/codex?app-landing-page=true">the Codex App page</a>.
|
||||
</br>If you are looking for the <em>cloud-based agent</em> from OpenAI, <strong>Codex Web</strong>, go to <a href="https://chatgpt.com/codex">chatgpt.com/codex</a>.</p>
|
||||
|
||||
---
|
||||
|
||||
## Quickstart
|
||||
|
||||
### Installing and running Codex CLI
|
||||
|
||||
Run the following on Mac or Linux to install Codex CLI:
|
||||
|
||||
```shell
|
||||
curl -fsSL https://chatgpt.com/codex/install.sh | sh
|
||||
```
|
||||
|
||||
Run the following on Windows to install Codex CLI:
|
||||
|
||||
```shell
|
||||
powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"
|
||||
```
|
||||
|
||||
Codex CLI can also be installed via the following package managers:
|
||||
|
||||
```shell
|
||||
# Install using npm
|
||||
npm install -g @openai/codex
|
||||
```
|
||||
|
||||
```shell
|
||||
# Install using Homebrew
|
||||
brew install --cask codex
|
||||
```
|
||||
|
||||
Then simply run `codex` to get started.
|
||||
|
||||
<details>
|
||||
<summary>You can also go to the <a href="https://github.com/openai/codex/releases/latest">latest GitHub Release</a> and download the appropriate binary for your platform.</summary>
|
||||
|
||||
Each GitHub Release contains many executables, but in practice, you likely want one of these:
|
||||
|
||||
- macOS
|
||||
- Apple Silicon/arm64: `codex-aarch64-apple-darwin.tar.gz`
|
||||
- x86_64 (older Mac hardware): `codex-x86_64-apple-darwin.tar.gz`
|
||||
- Linux
|
||||
- x86_64: `codex-x86_64-unknown-linux-musl.tar.gz`
|
||||
- arm64: `codex-aarch64-unknown-linux-musl.tar.gz`
|
||||
|
||||
Each archive contains a single entry with the platform baked into the name (e.g., `codex-x86_64-unknown-linux-musl`), so you likely want to rename it to `codex` after extracting it.
|
||||
|
||||
</details>
|
||||
|
||||
### Using Codex with your ChatGPT plan
|
||||
|
||||
Run `codex` and select **Sign in with ChatGPT**. We recommend signing into your ChatGPT account to use Codex as part of your Plus, Pro, Business, Edu, or Enterprise plan. [Learn more about what's included in your ChatGPT plan](https://help.openai.com/en/articles/11369540-codex-in-chatgpt).
|
||||
|
||||
You can also use Codex with an API key, but this requires [additional setup](https://developers.openai.com/codex/auth#sign-in-with-an-api-key).
|
||||
|
||||
## Docs
|
||||
|
||||
- [**Codex Documentation**](https://developers.openai.com/codex)
|
||||
- [**Contributing**](./docs/contributing.md)
|
||||
- [**Installing & building**](./docs/install.md)
|
||||
- [**Open source fund**](./docs/open-source-fund.md)
|
||||
|
||||
This repository is licensed under the [Apache-2.0 License](LICENSE).
|
||||
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"createdAt": "2025-04-13T05:37:54Z",
|
||||
"defaultBranchRef": {
|
||||
"name": "main"
|
||||
},
|
||||
"description": "Lightweight coding agent that runs in your terminal",
|
||||
"forkCount": 14107,
|
||||
"homepageUrl": "",
|
||||
"isArchived": false,
|
||||
"isFork": false,
|
||||
"isMirror": false,
|
||||
"latestRelease": {
|
||||
"name": "0.142.5",
|
||||
"publishedAt": "2026-07-01T01:15:44Z",
|
||||
"tagName": "rust-v0.142.5",
|
||||
"url": "https://github.com/openai/codex/releases/tag/rust-v0.142.5"
|
||||
},
|
||||
"licenseInfo": {
|
||||
"key": "apache-2.0",
|
||||
"name": "Apache License 2.0",
|
||||
"nickname": ""
|
||||
},
|
||||
"nameWithOwner": "openai/codex",
|
||||
"primaryLanguage": {
|
||||
"name": "Rust"
|
||||
},
|
||||
"pushedAt": "2026-07-02T22:41:54Z",
|
||||
"repositoryTopics": null,
|
||||
"stargazerCount": 95113,
|
||||
"updatedAt": "2026-07-02T22:35:39Z",
|
||||
"url": "https://github.com/openai/codex",
|
||||
"watchers": {
|
||||
"totalCount": 513
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,722 @@
|
||||
[
|
||||
{
|
||||
"name": ".bazelignore",
|
||||
"path": ".bazelignore",
|
||||
"sha": "2e90753cb8e29946973b91d1042c9ea249c728cf",
|
||||
"size": 141,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/.bazelignore?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/blob/main/.bazelignore",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/blobs/2e90753cb8e29946973b91d1042c9ea249c728cf",
|
||||
"download_url": "https://raw.githubusercontent.com/openai/codex/main/.bazelignore",
|
||||
"type": "file",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/.bazelignore?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/blobs/2e90753cb8e29946973b91d1042c9ea249c728cf",
|
||||
"html": "https://github.com/openai/codex/blob/main/.bazelignore"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": ".bazelrc",
|
||||
"path": ".bazelrc",
|
||||
"sha": "de01a87443feabd16e530ac0d518a4587abd8695",
|
||||
"size": 13390,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/.bazelrc?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/blob/main/.bazelrc",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/blobs/de01a87443feabd16e530ac0d518a4587abd8695",
|
||||
"download_url": "https://raw.githubusercontent.com/openai/codex/main/.bazelrc",
|
||||
"type": "file",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/.bazelrc?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/blobs/de01a87443feabd16e530ac0d518a4587abd8695",
|
||||
"html": "https://github.com/openai/codex/blob/main/.bazelrc"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": ".bazelversion",
|
||||
"path": ".bazelversion",
|
||||
"sha": "f7ee06693c17a06e2a0f51ef7eb2a61866e77b8e",
|
||||
"size": 6,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/.bazelversion?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/blob/main/.bazelversion",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/blobs/f7ee06693c17a06e2a0f51ef7eb2a61866e77b8e",
|
||||
"download_url": "https://raw.githubusercontent.com/openai/codex/main/.bazelversion",
|
||||
"type": "file",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/.bazelversion?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/blobs/f7ee06693c17a06e2a0f51ef7eb2a61866e77b8e",
|
||||
"html": "https://github.com/openai/codex/blob/main/.bazelversion"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": ".codespellignore",
|
||||
"path": ".codespellignore",
|
||||
"sha": "23924fe083cb56e71183fbf80541d530d2c8a8b6",
|
||||
"size": 30,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/.codespellignore?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/blob/main/.codespellignore",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/blobs/23924fe083cb56e71183fbf80541d530d2c8a8b6",
|
||||
"download_url": "https://raw.githubusercontent.com/openai/codex/main/.codespellignore",
|
||||
"type": "file",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/.codespellignore?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/blobs/23924fe083cb56e71183fbf80541d530d2c8a8b6",
|
||||
"html": "https://github.com/openai/codex/blob/main/.codespellignore"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": ".codespellrc",
|
||||
"path": ".codespellrc",
|
||||
"sha": "838b7e874e460113049f9c7b20c45943d0f9adb5",
|
||||
"size": 321,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/.codespellrc?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/blob/main/.codespellrc",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/blobs/838b7e874e460113049f9c7b20c45943d0f9adb5",
|
||||
"download_url": "https://raw.githubusercontent.com/openai/codex/main/.codespellrc",
|
||||
"type": "file",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/.codespellrc?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/blobs/838b7e874e460113049f9c7b20c45943d0f9adb5",
|
||||
"html": "https://github.com/openai/codex/blob/main/.codespellrc"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": ".codex",
|
||||
"path": ".codex",
|
||||
"sha": "a6917d204085f77beac621d94836b913a425dd65",
|
||||
"size": 0,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/.codex?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/tree/main/.codex",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/trees/a6917d204085f77beac621d94836b913a425dd65",
|
||||
"download_url": null,
|
||||
"type": "dir",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/.codex?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/trees/a6917d204085f77beac621d94836b913a425dd65",
|
||||
"html": "https://github.com/openai/codex/tree/main/.codex"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": ".devcontainer",
|
||||
"path": ".devcontainer",
|
||||
"sha": "e2bd112665eb4944596d920bd17c3ef94c353fc7",
|
||||
"size": 0,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/.devcontainer?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/tree/main/.devcontainer",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/trees/e2bd112665eb4944596d920bd17c3ef94c353fc7",
|
||||
"download_url": null,
|
||||
"type": "dir",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/.devcontainer?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/trees/e2bd112665eb4944596d920bd17c3ef94c353fc7",
|
||||
"html": "https://github.com/openai/codex/tree/main/.devcontainer"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": ".gitattributes",
|
||||
"path": ".gitattributes",
|
||||
"sha": "57c5fe6e88da359dc880c6a710ded60c3932741a",
|
||||
"size": 112,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/.gitattributes?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/blob/main/.gitattributes",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/blobs/57c5fe6e88da359dc880c6a710ded60c3932741a",
|
||||
"download_url": "https://raw.githubusercontent.com/openai/codex/main/.gitattributes",
|
||||
"type": "file",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/.gitattributes?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/blobs/57c5fe6e88da359dc880c6a710ded60c3932741a",
|
||||
"html": "https://github.com/openai/codex/blob/main/.gitattributes"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": ".github",
|
||||
"path": ".github",
|
||||
"sha": "1006cce2b3b815581066576a8abf87fea50fe559",
|
||||
"size": 0,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/.github?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/tree/main/.github",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/trees/1006cce2b3b815581066576a8abf87fea50fe559",
|
||||
"download_url": null,
|
||||
"type": "dir",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/.github?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/trees/1006cce2b3b815581066576a8abf87fea50fe559",
|
||||
"html": "https://github.com/openai/codex/tree/main/.github"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": ".gitignore",
|
||||
"path": ".gitignore",
|
||||
"sha": "dbcd8633154a13966c231033a6c07ad8be169c73",
|
||||
"size": 931,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/.gitignore?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/blob/main/.gitignore",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/blobs/dbcd8633154a13966c231033a6c07ad8be169c73",
|
||||
"download_url": "https://raw.githubusercontent.com/openai/codex/main/.gitignore",
|
||||
"type": "file",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/.gitignore?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/blobs/dbcd8633154a13966c231033a6c07ad8be169c73",
|
||||
"html": "https://github.com/openai/codex/blob/main/.gitignore"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": ".markdownlint-cli2.yaml",
|
||||
"path": ".markdownlint-cli2.yaml",
|
||||
"sha": "15b472c61cb73bf14f6c327266e479229f555eca",
|
||||
"size": 78,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/.markdownlint-cli2.yaml?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/blob/main/.markdownlint-cli2.yaml",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/blobs/15b472c61cb73bf14f6c327266e479229f555eca",
|
||||
"download_url": "https://raw.githubusercontent.com/openai/codex/main/.markdownlint-cli2.yaml",
|
||||
"type": "file",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/.markdownlint-cli2.yaml?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/blobs/15b472c61cb73bf14f6c327266e479229f555eca",
|
||||
"html": "https://github.com/openai/codex/blob/main/.markdownlint-cli2.yaml"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": ".npmrc",
|
||||
"path": ".npmrc",
|
||||
"sha": "4153fe87bb5f08b63514128adf30f1643ef3f1fc",
|
||||
"size": 104,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/.npmrc?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/blob/main/.npmrc",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/blobs/4153fe87bb5f08b63514128adf30f1643ef3f1fc",
|
||||
"download_url": "https://raw.githubusercontent.com/openai/codex/main/.npmrc",
|
||||
"type": "file",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/.npmrc?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/blobs/4153fe87bb5f08b63514128adf30f1643ef3f1fc",
|
||||
"html": "https://github.com/openai/codex/blob/main/.npmrc"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": ".prettierignore",
|
||||
"path": ".prettierignore",
|
||||
"sha": "f5b50f6ba22810b725c2d07a24f4a77ac3b8004e",
|
||||
"size": 96,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/.prettierignore?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/blob/main/.prettierignore",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/blobs/f5b50f6ba22810b725c2d07a24f4a77ac3b8004e",
|
||||
"download_url": "https://raw.githubusercontent.com/openai/codex/main/.prettierignore",
|
||||
"type": "file",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/.prettierignore?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/blobs/f5b50f6ba22810b725c2d07a24f4a77ac3b8004e",
|
||||
"html": "https://github.com/openai/codex/blob/main/.prettierignore"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": ".prettierrc.toml",
|
||||
"path": ".prettierrc.toml",
|
||||
"sha": "4c58c583e5fa327928190f625a1095a9c4d9e72f",
|
||||
"size": 170,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/.prettierrc.toml?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/blob/main/.prettierrc.toml",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/blobs/4c58c583e5fa327928190f625a1095a9c4d9e72f",
|
||||
"download_url": "https://raw.githubusercontent.com/openai/codex/main/.prettierrc.toml",
|
||||
"type": "file",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/.prettierrc.toml?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/blobs/4c58c583e5fa327928190f625a1095a9c4d9e72f",
|
||||
"html": "https://github.com/openai/codex/blob/main/.prettierrc.toml"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": ".vscode",
|
||||
"path": ".vscode",
|
||||
"sha": "b26f3b4bbfa530719068fbf14ad6ea3a4b502b33",
|
||||
"size": 0,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/.vscode?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/tree/main/.vscode",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/trees/b26f3b4bbfa530719068fbf14ad6ea3a4b502b33",
|
||||
"download_url": null,
|
||||
"type": "dir",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/.vscode?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/trees/b26f3b4bbfa530719068fbf14ad6ea3a4b502b33",
|
||||
"html": "https://github.com/openai/codex/tree/main/.vscode"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "AGENTS.md",
|
||||
"path": "AGENTS.md",
|
||||
"sha": "bdfa798f5c695c65e57941ffde020a183a466b14",
|
||||
"size": 22521,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/AGENTS.md?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/blob/main/AGENTS.md",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/blobs/bdfa798f5c695c65e57941ffde020a183a466b14",
|
||||
"download_url": "https://raw.githubusercontent.com/openai/codex/main/AGENTS.md",
|
||||
"type": "file",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/AGENTS.md?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/blobs/bdfa798f5c695c65e57941ffde020a183a466b14",
|
||||
"html": "https://github.com/openai/codex/blob/main/AGENTS.md"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "BUILD.bazel",
|
||||
"path": "BUILD.bazel",
|
||||
"sha": "a82126e6f1ec2ba080cc51a9d2db61311e3dff87",
|
||||
"size": 2183,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/BUILD.bazel?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/blob/main/BUILD.bazel",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/blobs/a82126e6f1ec2ba080cc51a9d2db61311e3dff87",
|
||||
"download_url": "https://raw.githubusercontent.com/openai/codex/main/BUILD.bazel",
|
||||
"type": "file",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/BUILD.bazel?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/blobs/a82126e6f1ec2ba080cc51a9d2db61311e3dff87",
|
||||
"html": "https://github.com/openai/codex/blob/main/BUILD.bazel"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "CHANGELOG.md",
|
||||
"path": "CHANGELOG.md",
|
||||
"sha": "2eb564c560a4c85507169a26637f6bce59f7e1fb",
|
||||
"size": 93,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/CHANGELOG.md?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/blob/main/CHANGELOG.md",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/blobs/2eb564c560a4c85507169a26637f6bce59f7e1fb",
|
||||
"download_url": "https://raw.githubusercontent.com/openai/codex/main/CHANGELOG.md",
|
||||
"type": "file",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/CHANGELOG.md?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/blobs/2eb564c560a4c85507169a26637f6bce59f7e1fb",
|
||||
"html": "https://github.com/openai/codex/blob/main/CHANGELOG.md"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "LICENSE",
|
||||
"path": "LICENSE",
|
||||
"sha": "4606e72e042564097e8780d66c1d4dcb611869bd",
|
||||
"size": 10926,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/LICENSE?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/blob/main/LICENSE",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/blobs/4606e72e042564097e8780d66c1d4dcb611869bd",
|
||||
"download_url": "https://raw.githubusercontent.com/openai/codex/main/LICENSE",
|
||||
"type": "file",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/LICENSE?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/blobs/4606e72e042564097e8780d66c1d4dcb611869bd",
|
||||
"html": "https://github.com/openai/codex/blob/main/LICENSE"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "MODULE.bazel",
|
||||
"path": "MODULE.bazel",
|
||||
"sha": "20d80f3962608c733c01ca557821e7dcaf4032f4",
|
||||
"size": 15820,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/MODULE.bazel?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/blob/main/MODULE.bazel",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/blobs/20d80f3962608c733c01ca557821e7dcaf4032f4",
|
||||
"download_url": "https://raw.githubusercontent.com/openai/codex/main/MODULE.bazel",
|
||||
"type": "file",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/MODULE.bazel?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/blobs/20d80f3962608c733c01ca557821e7dcaf4032f4",
|
||||
"html": "https://github.com/openai/codex/blob/main/MODULE.bazel"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "MODULE.bazel.lock",
|
||||
"path": "MODULE.bazel.lock",
|
||||
"sha": "d572f68f21b1d150486b9e050523201b43698c87",
|
||||
"size": 1443536,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/MODULE.bazel.lock?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/blob/main/MODULE.bazel.lock",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/blobs/d572f68f21b1d150486b9e050523201b43698c87",
|
||||
"download_url": "https://raw.githubusercontent.com/openai/codex/main/MODULE.bazel.lock",
|
||||
"type": "file",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/MODULE.bazel.lock?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/blobs/d572f68f21b1d150486b9e050523201b43698c87",
|
||||
"html": "https://github.com/openai/codex/blob/main/MODULE.bazel.lock"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "NOTICE",
|
||||
"path": "NOTICE",
|
||||
"sha": "2805899d56d0332d175cfc613c67d45d6f006db7",
|
||||
"size": 242,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/NOTICE?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/blob/main/NOTICE",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/blobs/2805899d56d0332d175cfc613c67d45d6f006db7",
|
||||
"download_url": "https://raw.githubusercontent.com/openai/codex/main/NOTICE",
|
||||
"type": "file",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/NOTICE?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/blobs/2805899d56d0332d175cfc613c67d45d6f006db7",
|
||||
"html": "https://github.com/openai/codex/blob/main/NOTICE"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "README.md",
|
||||
"path": "README.md",
|
||||
"sha": "bb2a9d18c3f95ea1a16394a7131634ac1b1ae68e",
|
||||
"size": 2814,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/README.md?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/blob/main/README.md",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/blobs/bb2a9d18c3f95ea1a16394a7131634ac1b1ae68e",
|
||||
"download_url": "https://raw.githubusercontent.com/openai/codex/main/README.md",
|
||||
"type": "file",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/README.md?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/blobs/bb2a9d18c3f95ea1a16394a7131634ac1b1ae68e",
|
||||
"html": "https://github.com/openai/codex/blob/main/README.md"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "SECURITY.md",
|
||||
"path": "SECURITY.md",
|
||||
"sha": "29a9b903df5da8e789d685efe8012fa4edd775e5",
|
||||
"size": 923,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/SECURITY.md?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/blob/main/SECURITY.md",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/blobs/29a9b903df5da8e789d685efe8012fa4edd775e5",
|
||||
"download_url": "https://raw.githubusercontent.com/openai/codex/main/SECURITY.md",
|
||||
"type": "file",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/SECURITY.md?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/blobs/29a9b903df5da8e789d685efe8012fa4edd775e5",
|
||||
"html": "https://github.com/openai/codex/blob/main/SECURITY.md"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "announcement_tip.toml",
|
||||
"path": "announcement_tip.toml",
|
||||
"sha": "79c0daea761e0f634960dd39e2dff6bdbfd02f63",
|
||||
"size": 999,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/announcement_tip.toml?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/blob/main/announcement_tip.toml",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/blobs/79c0daea761e0f634960dd39e2dff6bdbfd02f63",
|
||||
"download_url": "https://raw.githubusercontent.com/openai/codex/main/announcement_tip.toml",
|
||||
"type": "file",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/announcement_tip.toml?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/blobs/79c0daea761e0f634960dd39e2dff6bdbfd02f63",
|
||||
"html": "https://github.com/openai/codex/blob/main/announcement_tip.toml"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "bazel",
|
||||
"path": "bazel",
|
||||
"sha": "2e3e531fbb14710c27ec8bebc8100eb10d2f08c1",
|
||||
"size": 0,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/bazel?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/tree/main/bazel",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/trees/2e3e531fbb14710c27ec8bebc8100eb10d2f08c1",
|
||||
"download_url": null,
|
||||
"type": "dir",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/bazel?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/trees/2e3e531fbb14710c27ec8bebc8100eb10d2f08c1",
|
||||
"html": "https://github.com/openai/codex/tree/main/bazel"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cliff.toml",
|
||||
"path": "cliff.toml",
|
||||
"sha": "f31e1bd89ccb6a51267988c275379c39d9f6cb6f",
|
||||
"size": 1155,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/cliff.toml?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/blob/main/cliff.toml",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/blobs/f31e1bd89ccb6a51267988c275379c39d9f6cb6f",
|
||||
"download_url": "https://raw.githubusercontent.com/openai/codex/main/cliff.toml",
|
||||
"type": "file",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/cliff.toml?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/blobs/f31e1bd89ccb6a51267988c275379c39d9f6cb6f",
|
||||
"html": "https://github.com/openai/codex/blob/main/cliff.toml"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "codex-cli",
|
||||
"path": "codex-cli",
|
||||
"sha": "431909b081ed5200cc84f3679c34ed7eda805e10",
|
||||
"size": 0,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/codex-cli?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/tree/main/codex-cli",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/trees/431909b081ed5200cc84f3679c34ed7eda805e10",
|
||||
"download_url": null,
|
||||
"type": "dir",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/codex-cli?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/trees/431909b081ed5200cc84f3679c34ed7eda805e10",
|
||||
"html": "https://github.com/openai/codex/tree/main/codex-cli"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "codex-rs",
|
||||
"path": "codex-rs",
|
||||
"sha": "3d96779641d8546881385639ac0994676cd8e817",
|
||||
"size": 0,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/codex-rs?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/tree/main/codex-rs",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/trees/3d96779641d8546881385639ac0994676cd8e817",
|
||||
"download_url": null,
|
||||
"type": "dir",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/codex-rs?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/trees/3d96779641d8546881385639ac0994676cd8e817",
|
||||
"html": "https://github.com/openai/codex/tree/main/codex-rs"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "defs.bzl",
|
||||
"path": "defs.bzl",
|
||||
"sha": "c8fd35e039be98abf5212b628c5684a97aa8f03d",
|
||||
"size": 27840,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/defs.bzl?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/blob/main/defs.bzl",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/blobs/c8fd35e039be98abf5212b628c5684a97aa8f03d",
|
||||
"download_url": "https://raw.githubusercontent.com/openai/codex/main/defs.bzl",
|
||||
"type": "file",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/defs.bzl?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/blobs/c8fd35e039be98abf5212b628c5684a97aa8f03d",
|
||||
"html": "https://github.com/openai/codex/blob/main/defs.bzl"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "docs",
|
||||
"path": "docs",
|
||||
"sha": "9dcc9638a2ee96a4c4426c036e6c8d6317f905b5",
|
||||
"size": 0,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/docs?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/tree/main/docs",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/trees/9dcc9638a2ee96a4c4426c036e6c8d6317f905b5",
|
||||
"download_url": null,
|
||||
"type": "dir",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/docs?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/trees/9dcc9638a2ee96a4c4426c036e6c8d6317f905b5",
|
||||
"html": "https://github.com/openai/codex/tree/main/docs"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "flake.lock",
|
||||
"path": "flake.lock",
|
||||
"sha": "8348ebd272985a958e66771ca6dd7153af782a1b",
|
||||
"size": 1108,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/flake.lock?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/blob/main/flake.lock",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/blobs/8348ebd272985a958e66771ca6dd7153af782a1b",
|
||||
"download_url": "https://raw.githubusercontent.com/openai/codex/main/flake.lock",
|
||||
"type": "file",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/flake.lock?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/blobs/8348ebd272985a958e66771ca6dd7153af782a1b",
|
||||
"html": "https://github.com/openai/codex/blob/main/flake.lock"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "flake.nix",
|
||||
"path": "flake.nix",
|
||||
"sha": "1fd41c6f14452f64de42f9da30002e8d669a33aa",
|
||||
"size": 2673,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/flake.nix?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/blob/main/flake.nix",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/blobs/1fd41c6f14452f64de42f9da30002e8d669a33aa",
|
||||
"download_url": "https://raw.githubusercontent.com/openai/codex/main/flake.nix",
|
||||
"type": "file",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/flake.nix?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/blobs/1fd41c6f14452f64de42f9da30002e8d669a33aa",
|
||||
"html": "https://github.com/openai/codex/blob/main/flake.nix"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "justfile",
|
||||
"path": "justfile",
|
||||
"sha": "d4a0e6566c6782a72ea1f4e86e3f45650b148c94",
|
||||
"size": 6391,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/justfile?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/blob/main/justfile",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/blobs/d4a0e6566c6782a72ea1f4e86e3f45650b148c94",
|
||||
"download_url": "https://raw.githubusercontent.com/openai/codex/main/justfile",
|
||||
"type": "file",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/justfile?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/blobs/d4a0e6566c6782a72ea1f4e86e3f45650b148c94",
|
||||
"html": "https://github.com/openai/codex/blob/main/justfile"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "package.json",
|
||||
"path": "package.json",
|
||||
"sha": "ddda581bf2ae6ce2aeca68f41f42663d2b49ed9e",
|
||||
"size": 1242,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/package.json?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/blob/main/package.json",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/blobs/ddda581bf2ae6ce2aeca68f41f42663d2b49ed9e",
|
||||
"download_url": "https://raw.githubusercontent.com/openai/codex/main/package.json",
|
||||
"type": "file",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/package.json?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/blobs/ddda581bf2ae6ce2aeca68f41f42663d2b49ed9e",
|
||||
"html": "https://github.com/openai/codex/blob/main/package.json"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "patches",
|
||||
"path": "patches",
|
||||
"sha": "721b0433fb68636493f2336373248fa4046cc51b",
|
||||
"size": 0,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/patches?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/tree/main/patches",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/trees/721b0433fb68636493f2336373248fa4046cc51b",
|
||||
"download_url": null,
|
||||
"type": "dir",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/patches?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/trees/721b0433fb68636493f2336373248fa4046cc51b",
|
||||
"html": "https://github.com/openai/codex/tree/main/patches"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "pnpm-lock.yaml",
|
||||
"path": "pnpm-lock.yaml",
|
||||
"sha": "2d4c6f34972b61e8336433ff7e6a6d2b35974df9",
|
||||
"size": 172297,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/pnpm-lock.yaml?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/blob/main/pnpm-lock.yaml",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/blobs/2d4c6f34972b61e8336433ff7e6a6d2b35974df9",
|
||||
"download_url": "https://raw.githubusercontent.com/openai/codex/main/pnpm-lock.yaml",
|
||||
"type": "file",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/pnpm-lock.yaml?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/blobs/2d4c6f34972b61e8336433ff7e6a6d2b35974df9",
|
||||
"html": "https://github.com/openai/codex/blob/main/pnpm-lock.yaml"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "pnpm-workspace.yaml",
|
||||
"path": "pnpm-workspace.yaml",
|
||||
"sha": "7f5e2d915ed5fd8803d32cf280c07e53e8abfef4",
|
||||
"size": 317,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/pnpm-workspace.yaml?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/blob/main/pnpm-workspace.yaml",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/blobs/7f5e2d915ed5fd8803d32cf280c07e53e8abfef4",
|
||||
"download_url": "https://raw.githubusercontent.com/openai/codex/main/pnpm-workspace.yaml",
|
||||
"type": "file",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/pnpm-workspace.yaml?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/blobs/7f5e2d915ed5fd8803d32cf280c07e53e8abfef4",
|
||||
"html": "https://github.com/openai/codex/blob/main/pnpm-workspace.yaml"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "rbe.bzl",
|
||||
"path": "rbe.bzl",
|
||||
"sha": "57e301ac776d9c7196e9c854bc6e27ce2718d886",
|
||||
"size": 1488,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/rbe.bzl?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/blob/main/rbe.bzl",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/blobs/57e301ac776d9c7196e9c854bc6e27ce2718d886",
|
||||
"download_url": "https://raw.githubusercontent.com/openai/codex/main/rbe.bzl",
|
||||
"type": "file",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/rbe.bzl?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/blobs/57e301ac776d9c7196e9c854bc6e27ce2718d886",
|
||||
"html": "https://github.com/openai/codex/blob/main/rbe.bzl"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "scripts",
|
||||
"path": "scripts",
|
||||
"sha": "9b905cd326eebd22c7af999d617e96c94f1885ca",
|
||||
"size": 0,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/scripts?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/tree/main/scripts",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/trees/9b905cd326eebd22c7af999d617e96c94f1885ca",
|
||||
"download_url": null,
|
||||
"type": "dir",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/scripts?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/trees/9b905cd326eebd22c7af999d617e96c94f1885ca",
|
||||
"html": "https://github.com/openai/codex/tree/main/scripts"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "sdk",
|
||||
"path": "sdk",
|
||||
"sha": "78e9530fbbd9503d5fe60b394510ebf1d3b90210",
|
||||
"size": 0,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/sdk?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/tree/main/sdk",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/trees/78e9530fbbd9503d5fe60b394510ebf1d3b90210",
|
||||
"download_url": null,
|
||||
"type": "dir",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/sdk?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/trees/78e9530fbbd9503d5fe60b394510ebf1d3b90210",
|
||||
"html": "https://github.com/openai/codex/tree/main/sdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "third_party",
|
||||
"path": "third_party",
|
||||
"sha": "2b829b89c6f6f89d1946636419cb9ac7bec0a7fb",
|
||||
"size": 0,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/third_party?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/tree/main/third_party",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/trees/2b829b89c6f6f89d1946636419cb9ac7bec0a7fb",
|
||||
"download_url": null,
|
||||
"type": "dir",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/third_party?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/trees/2b829b89c6f6f89d1946636419cb9ac7bec0a7fb",
|
||||
"html": "https://github.com/openai/codex/tree/main/third_party"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "tools",
|
||||
"path": "tools",
|
||||
"sha": "8e7fafe48997ecb918b944c0278b533f43598b7d",
|
||||
"size": 0,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/tools?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/tree/main/tools",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/trees/8e7fafe48997ecb918b944c0278b533f43598b7d",
|
||||
"download_url": null,
|
||||
"type": "dir",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/tools?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/trees/8e7fafe48997ecb918b944c0278b533f43598b7d",
|
||||
"html": "https://github.com/openai/codex/tree/main/tools"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "workspace_root_test_launcher.bat.tpl",
|
||||
"path": "workspace_root_test_launcher.bat.tpl",
|
||||
"sha": "3613b91d76c9dceac740d6b6ccb12bb899b70275",
|
||||
"size": 5842,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/workspace_root_test_launcher.bat.tpl?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/blob/main/workspace_root_test_launcher.bat.tpl",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/blobs/3613b91d76c9dceac740d6b6ccb12bb899b70275",
|
||||
"download_url": "https://raw.githubusercontent.com/openai/codex/main/workspace_root_test_launcher.bat.tpl",
|
||||
"type": "file",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/workspace_root_test_launcher.bat.tpl?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/blobs/3613b91d76c9dceac740d6b6ccb12bb899b70275",
|
||||
"html": "https://github.com/openai/codex/blob/main/workspace_root_test_launcher.bat.tpl"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "workspace_root_test_launcher.sh.tpl",
|
||||
"path": "workspace_root_test_launcher.sh.tpl",
|
||||
"sha": "4606fd8b15274f3e52aca493a34f32264d124c06",
|
||||
"size": 4713,
|
||||
"url": "https://api.github.com/repos/openai/codex/contents/workspace_root_test_launcher.sh.tpl?ref=main",
|
||||
"html_url": "https://github.com/openai/codex/blob/main/workspace_root_test_launcher.sh.tpl",
|
||||
"git_url": "https://api.github.com/repos/openai/codex/git/blobs/4606fd8b15274f3e52aca493a34f32264d124c06",
|
||||
"download_url": "https://raw.githubusercontent.com/openai/codex/main/workspace_root_test_launcher.sh.tpl",
|
||||
"type": "file",
|
||||
"_links": {
|
||||
"self": "https://api.github.com/repos/openai/codex/contents/workspace_root_test_launcher.sh.tpl?ref=main",
|
||||
"git": "https://api.github.com/repos/openai/codex/git/blobs/4606fd8b15274f3e52aca493a34f32264d124c06",
|
||||
"html": "https://github.com/openai/codex/blob/main/workspace_root_test_launcher.sh.tpl"
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,37 @@
|
||||
version: 1
|
||||
domain_id: openai-codex
|
||||
object:
|
||||
type: github_repository
|
||||
name: openai/codex
|
||||
url: https://github.com/openai/codex
|
||||
pulled_at: '2026-07-02T22:47:14+00:00'
|
||||
puller: scripts/fetch-research-raw.py
|
||||
files:
|
||||
- path: repository/
|
||||
kind: git-working-tree
|
||||
status: ok
|
||||
source: 'git clone --depth=1 --single-branch --no-tags https://github.com/openai/codex.git research/openai-codex/raw/repository'
|
||||
- path: github-repo.raw.json
|
||||
kind: repository-metadata
|
||||
status: ok
|
||||
source: 'gh repo view openai/codex --json nameWithOwner,url,description,homepageUrl,isArchived,isFork,isMirror,defaultBranchRef,licenseInfo,primaryLanguage,repositoryTopics,stargazerCount,forkCount,watchers,createdAt,updatedAt,pushedAt,latestRelease --jq .'
|
||||
- path: github-readme.raw.md.txt
|
||||
kind: readme
|
||||
status: ok
|
||||
source: 'gh api repos/openai/codex/readme -H Accept: application/vnd.github.raw'
|
||||
- path: github-license.raw.txt
|
||||
kind: license
|
||||
status: ok
|
||||
source: 'gh api repos/openai/codex/license -H Accept: application/vnd.github.raw'
|
||||
- path: github-root-contents.raw.json
|
||||
kind: root-contents
|
||||
status: ok
|
||||
source: 'gh api repos/openai/codex/contents'
|
||||
- path: github-languages.raw.json
|
||||
kind: languages
|
||||
status: ok
|
||||
source: 'gh api repos/openai/codex/languages'
|
||||
- path: github-latest-release.raw.json
|
||||
kind: latest-release
|
||||
status: ok
|
||||
source: 'gh api repos/openai/codex/releases/latest'
|
||||
Reference in New Issue
Block a user