oh-my-codex-cli 0.2.1 → 0.2.2

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/AGENTS.md CHANGED
@@ -1,10 +1,10 @@
1
- <!-- Generated: 2026-01-31 | Updated: 2026-01-31 -->
1
+ <!-- Generated: 2026-01-31 | Updated: 2026-02-25 -->
2
2
 
3
3
  # oh-my-codex
4
4
 
5
5
  Skill pack and workflow orchestration for **OpenAI Codex CLI**.
6
6
 
7
- **Version:** 0.1.0
7
+ **Version:** 0.2.0
8
8
  **Purpose:** Make Codex behave like a multi-agent conductor using structured skills
9
9
 
10
10
  ## Purpose
@@ -20,25 +20,47 @@ oh-my-codex enhances Codex with:
20
20
  |------|-------------|
21
21
  | `README.md` | Entry point documentation |
22
22
  | `docs/CODEX.md` | Codex-specific install and usage guide |
23
- | `.agent/skills/` | All Codex skill definitions |
23
+ | `.codex/skills/` | All Codex skill definitions |
24
24
  | `scripts/install-codex.sh` | Global skill installer |
25
25
 
26
26
  ## For AI Agents
27
27
 
28
+ ### High-Priority Rules (Do First)
29
+
30
+ 1. Prefer retrieval-led reasoning over memory-led guessing.
31
+ 2. Build project context first, then apply skills/tools.
32
+ 3. Keep context lean: load only files needed for the current task.
33
+ 4. Verify with concrete evidence before claiming completion.
34
+
35
+ ### Retrieval-Led Reasoning (Mandatory)
36
+
37
+ For framework/runtime/library-specific work:
38
+ - Read the relevant repo docs/scripts first (`README.md`, `docs/`, `scripts/`, changed files).
39
+ - Treat docs as source of truth when conflict exists with model memory.
40
+ - Avoid speculative edits when version-specific behavior is unclear.
41
+
42
+ Execution order:
43
+ 1. Inspect task + affected files.
44
+ 2. Retrieve exact docs/config relevant to that task.
45
+ 3. Implement the minimal correct change.
46
+ 4. Validate with commands/checks.
47
+ 5. Report result with evidence.
48
+
28
49
  ### Skill Invocation
29
50
 
30
- Codex auto-loads skills from:
31
- - `~/.codex/skills/<skill>/SKILL.md`
32
- - `<repo>/.codex/skills/<skill>/SKILL.md`
51
+ Use skills as action workflows, not as the only knowledge source.
33
52
 
34
- When the user mentions a skill name or uses `$skill`, you should follow that skill.
53
+ Trigger rules:
54
+ - If user explicitly mentions a skill (or `$skill`), use it.
55
+ - If task clearly maps to a skill's purpose, use the minimal matching skill set.
56
+ - If a skill conflicts with repo source-of-truth docs, follow repo docs and state the conflict briefly.
35
57
 
36
58
  ### Source-of-Truth Workflow (Mandatory)
37
59
 
38
60
  For this repository, **`oh-my-codex` is the single source of truth** for skills and docs.
39
61
 
40
62
  Required order:
41
- 1. Edit and validate files in this repo first (for example `.agent/skills/**/SKILL.md`).
63
+ 1. Edit and validate files in this repo first (for example `.codex/skills/**/SKILL.md`).
42
64
  2. Commit/push repository changes.
43
65
  3. Install/sync to runtime using installer scripts (for example `scripts/install-codex.sh` / `scripts/install-codex-force.sh`).
44
66
 
@@ -52,7 +74,7 @@ Codex does **not** support Claude Code plugins, interception lifecycle APIs, or
52
74
  - `.claude/` plugin cache paths
53
75
  - Claude Code-specific CLI commands
54
76
 
55
- should be treated as **legacy** references from the original oh-my-claudecode.
77
+ ...should be treated as **legacy** references from the original oh-my-claudecode.
56
78
 
57
79
  ### Testing
58
80
 
package/README.md CHANGED
@@ -57,6 +57,31 @@ Installs:
57
57
  ./scripts/install-codex.sh --all --project
58
58
  ```
59
59
 
60
+ ## AGENTS.md Templates (Global + Project)
61
+
62
+ `omcodex setup` (user scope) now installs global guidance automatically:
63
+
64
+ - `templates/AGENTS.global.md` -> `~/.codex/AGENTS.md`
65
+
66
+ Use templates for manual override or project setup:
67
+
68
+ - Global template: `templates/AGENTS.global.md` -> `~/.codex/AGENTS.md`
69
+ - Project template: `templates/AGENTS.project.md` -> `<repo>/AGENTS.md`
70
+
71
+ Example:
72
+
73
+ ```bash
74
+ cp templates/AGENTS.global.md ~/.codex/AGENTS.md
75
+ cp templates/AGENTS.project.md ./AGENTS.md
76
+ ```
77
+
78
+ Optional discovery compatibility in `~/.codex/config.toml`:
79
+
80
+ ```toml
81
+ project_doc_fallback_filenames = ["TEAM_GUIDE.md", ".agents.md"]
82
+ project_doc_max_bytes = 65536
83
+ ```
84
+
60
85
  ---
61
86
 
62
87
  ## What You Get
package/README.zh.md CHANGED
@@ -52,6 +52,31 @@ npx oh-my-codex-cli setup
52
52
  ./scripts/install-codex.sh --all --project
53
53
  ```
54
54
 
55
+ ## AGENTS.md 模板(全局 + 项目)
56
+
57
+ `omcodex setup`(user scope)现在会自动安装全局 guidance:
58
+
59
+ - `templates/AGENTS.global.md` -> `~/.codex/AGENTS.md`
60
+
61
+ 模板仍可用于手动覆盖或项目级配置:
62
+
63
+ - 全局模板:`templates/AGENTS.global.md` -> 复制到 `~/.codex/AGENTS.md`
64
+ - 项目模板:`templates/AGENTS.project.md` -> 复制到 `<repo>/AGENTS.md`
65
+
66
+ 示例:
67
+
68
+ ```bash
69
+ cp templates/AGENTS.global.md ~/.codex/AGENTS.md
70
+ cp templates/AGENTS.project.md ./AGENTS.md
71
+ ```
72
+
73
+ 可选:在 `~/.codex/config.toml` 增加发现配置:
74
+
75
+ ```toml
76
+ project_doc_fallback_filenames = ["TEAM_GUIDE.md", ".agents.md"]
77
+ project_doc_max_bytes = 65536
78
+ ```
79
+
55
80
  ---
56
81
 
57
82
  ## 安装后你能获得什么
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oh-my-codex-cli",
3
- "version": "0.2.1",
3
+ "version": "0.2.2",
4
4
  "description": "Codex skill pack and workflow orchestration",
5
5
  "bin": {
6
6
  "omcodex": "bin/omcodex.js"
@@ -1,5 +1,5 @@
1
1
  {
2
- "generatedAt": "2026-02-24T09:53:08.259Z",
2
+ "generatedAt": "2026-02-25T03:17:26.248Z",
3
3
  "counts": {
4
4
  "skillCount": 86,
5
5
  "promptCount": 3,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "catalogVersion": "2026-02-24",
3
+ "catalogVersion": "2026-02-25",
4
4
  "skills": [
5
5
  {
6
6
  "name": "agent-kb",
package/src/cli/index.js CHANGED
@@ -8,7 +8,7 @@ const { route } = require('./route');
8
8
  const HELP = `oh-my-codex CLI (omcodex)
9
9
 
10
10
  Usage:
11
- omcodex setup [--scope user|project-local|project] [--force] [--dry-run] [--verbose] [--no-prompts]
11
+ omcodex setup [--scope user|project-local|project] [--force] [--dry-run] [--verbose] [--no-prompts] [--no-agents]
12
12
  omcodex doctor
13
13
  omcodex team start \"<task>\"
14
14
  omcodex team status
@@ -54,6 +54,7 @@ async function main(args) {
54
54
  installSkills: !flags.has('--no-skills'),
55
55
  installPrompts: !flags.has('--no-prompts'),
56
56
  installRules: !flags.has('--no-rules'),
57
+ installAgents: !flags.has('--no-agents'),
57
58
  installConfig: !flags.has('--no-config'),
58
59
  });
59
60
  return;
package/src/cli/setup.js CHANGED
@@ -62,6 +62,16 @@ async function copyDirectory(src, dest, options) {
62
62
  return count;
63
63
  }
64
64
 
65
+ async function copyFile(src, dest, options) {
66
+ if (!fs.existsSync(src)) return false;
67
+ if (!options.force && fs.existsSync(dest)) return false;
68
+ if (!options.dryRun) {
69
+ await fsp.mkdir(path.dirname(dest), { recursive: true });
70
+ await fsp.copyFile(src, dest);
71
+ }
72
+ return true;
73
+ }
74
+
65
75
  async function setup(options = {}) {
66
76
  const cwd = process.cwd();
67
77
  const root = path.resolve(__dirname, '..', '..');
@@ -81,6 +91,12 @@ async function setup(options = {}) {
81
91
  const rulesDest = scope === 'user'
82
92
  ? path.join(os.homedir(), '.codex', 'rules')
83
93
  : path.join(cwd, '.codex', 'rules');
94
+ const globalAgentsSources = [
95
+ path.join(root, 'templates', 'AGENTS.global.md'),
96
+ path.join(root, 'templates', 'AGENTS.md'),
97
+ ];
98
+ const globalAgentsSource = globalAgentsSources.find((candidate) => fs.existsSync(candidate)) || null;
99
+ const globalAgentsDest = path.join(os.homedir(), '.codex', 'AGENTS.md');
84
100
  const promptsSrc = promptsSource(root);
85
101
  const promptsDest = codexPromptsPath(scope, cwd);
86
102
 
@@ -97,7 +113,7 @@ async function setup(options = {}) {
97
113
 
98
114
  await persistScope(cwd, scope, options.dryRun);
99
115
 
100
- console.log('[1/5] Installing skills...');
116
+ console.log('[1/6] Installing skills...');
101
117
  const shouldInstallSkills = options.installSkills !== false && scope !== 'project';
102
118
  const skillCount = shouldInstallSkills
103
119
  ? await copyDirectory(skillSrc, skillsDest, options)
@@ -109,7 +125,7 @@ async function setup(options = {}) {
109
125
  console.log(' Skipped for project scope');
110
126
  }
111
127
 
112
- console.log('[2/5] Installing prompts...');
128
+ console.log('[2/6] Installing prompts...');
113
129
  const shouldInstallPrompts = options.installPrompts !== false && scope !== 'project';
114
130
  if (!shouldInstallPrompts) {
115
131
  console.log(' Skipped (--no-prompts or project scope)');
@@ -121,7 +137,7 @@ async function setup(options = {}) {
121
137
  console.log(` ${label} ${promptCount} files -> ${promptsDest}`);
122
138
  }
123
139
 
124
- console.log('[3/5] Installing rules...');
140
+ console.log('[3/6] Installing rules...');
125
141
  if (options.installRules !== false) {
126
142
  const ruleCount = await copyDirectory(rulesSource, rulesDest, options);
127
143
  const label = options.dryRun ? 'Would install/update' : 'Installed/updated';
@@ -130,7 +146,25 @@ async function setup(options = {}) {
130
146
  console.log(' Skipped (--no-rules)');
131
147
  }
132
148
 
133
- console.log('[4/5] Merging config.toml...');
149
+ console.log('[4/6] Installing global AGENTS.md...');
150
+ if (options.installAgents === false) {
151
+ console.log(' Skipped (--no-agents)');
152
+ } else if (scope !== 'user') {
153
+ console.log(' Skipped (only applies to user scope)');
154
+ } else if (!globalAgentsSource) {
155
+ console.log(' Skipped (missing templates/AGENTS.global.md and templates/AGENTS.md)');
156
+ } else {
157
+ const installed = await copyFile(globalAgentsSource, globalAgentsDest, options);
158
+ const label = options.dryRun ? 'Would install/update' : 'Installed/updated';
159
+ if (installed || options.force || options.dryRun) {
160
+ console.log(` ${label} ${globalAgentsDest}`);
161
+ console.log(` Source: ${path.relative(root, globalAgentsSource)}`);
162
+ } else {
163
+ console.log(` Skipped (already exists): ${globalAgentsDest}`);
164
+ }
165
+ }
166
+
167
+ console.log('[5/6] Merging config.toml...');
134
168
  if (options.installConfig !== false && !options.dryRun) {
135
169
  mergeConfig(configPath, root, { enableContext7: options.enableContext7 });
136
170
  }
@@ -141,7 +175,7 @@ async function setup(options = {}) {
141
175
  console.log(' Skipped (--no-config)');
142
176
  }
143
177
 
144
- console.log('[5/5] Catalog check...');
178
+ console.log('[6/6] Catalog check...');
145
179
  const headline = getCatalogHeadlineCounts(root);
146
180
  if (headline) {
147
181
  console.log(` Catalog baseline: ${headline.skills} skills, ${headline.prompts} prompts`);
@@ -0,0 +1,80 @@
1
+ # Global AGENTS.md for Codex
2
+
3
+ This file is designed for `~/.codex/AGENTS.md`.
4
+ It defines stable cross-project behavior and routes work to skills/workflows.
5
+
6
+ ## Objective
7
+
8
+ - Maximize first-pass execution quality.
9
+ - Make skill usage deterministic.
10
+ - Keep behavior consistent across repositories.
11
+
12
+ ## Priority and Conflict Rules
13
+
14
+ 1. System/developer/user instructions have highest priority.
15
+ 2. Repository-local docs and config are source of truth for project specifics.
16
+ 3. Skills are execution workflows, not source-of-truth for project facts.
17
+ 4. If guidance conflicts, follow the highest-priority applicable source and state the conflict briefly.
18
+
19
+ ## Default Work Contract
20
+
21
+ For every non-trivial request, execute in this order:
22
+ 1. Understand scope and affected files.
23
+ 2. Retrieve exact project context (docs/config/code) before implementation.
24
+ 3. Choose the minimal skill/toolset needed.
25
+ 4. Implement smallest correct change.
26
+ 5. Verify with concrete commands.
27
+ 6. Report outcome with evidence.
28
+
29
+ ## Skill Router
30
+
31
+ ### Explicit trigger
32
+
33
+ - If user names a skill (e.g., `$autopilot`, `use review`), invoke it.
34
+
35
+ ### Implicit trigger
36
+
37
+ - Planning/design requests -> `plan`, `review`, `architect-planner`.
38
+ - Build/test failures -> `build-fix`, `verification-loop`, `ultraqa`.
39
+ - Refactor/cleanup -> `refactor-clean`, `verify`.
40
+ - Security-sensitive changes -> `security-review` + relevant implementation skill.
41
+ - Broad delivery tasks -> `autopilot` (or `ultrapilot` for parallelized ownership).
42
+
43
+ ### Multi-skill composition
44
+
45
+ - Use the minimal set of skills that fully covers the task.
46
+ - State skill order before execution.
47
+ - Do not carry skills across turns unless user re-mentions or task scope still clearly requires them.
48
+
49
+ ## Retrieval-Led Reasoning
50
+
51
+ - Prefer current repository facts over memory.
52
+ - For version-sensitive behavior, inspect local docs/config and runtime outputs before editing.
53
+ - Avoid speculative changes when evidence is missing.
54
+
55
+ ## Verification Contract
56
+
57
+ Before claiming completion, provide:
58
+
59
+ 1. Commands executed for validation.
60
+ 2. Key pass/fail results.
61
+ 3. Exact file paths changed.
62
+ 4. Remaining risks or unverified assumptions.
63
+
64
+ ## Safety and Git Rules
65
+
66
+ - Never print or persist secrets/tokens in logs or docs.
67
+ - Do not run destructive git operations unless explicitly requested.
68
+ - Do not revert unrelated changes.
69
+ - Prefer reversible, minimal patches.
70
+
71
+ ## Response Contract
72
+
73
+ Use this output structure:
74
+
75
+ 1. Result summary
76
+ 2. Files changed
77
+ 3. Validation evidence
78
+ 4. Risks / next actions (if any)
79
+
80
+ Keep responses concise and execution-focused.
@@ -4,10 +4,16 @@ Skill pack and workflow orchestration for OpenAI Codex CLI.
4
4
 
5
5
  ## Guidance
6
6
 
7
- - Prefer skills for reusable workflows (`$skill` or explicit skill name in prompt).
8
- - Use Codex native multi-agent tools when a task benefits from delegation.
9
- - Verify outcomes with concrete evidence before claiming completion.
10
- - Keep instructions concise and implementation-focused.
7
+ 1. Prefer retrieval-led reasoning over memory-led guessing.
8
+ 2. Build project context first, then apply skills.
9
+ 3. Keep context lean and implementation-focused.
10
+ 4. Verify outcomes with concrete evidence before claiming completion.
11
+
12
+ ## Skill Usage
13
+
14
+ - Skills are execution workflows; docs/config are source-of-truth knowledge.
15
+ - If the user names a skill (or `$skill`), use it.
16
+ - If a skill conflicts with repository docs, follow repository docs and note the conflict.
11
17
 
12
18
  ## Notify Compatibility
13
19
 
@@ -0,0 +1,65 @@
1
+ # Project AGENTS.md (Enhanced)
2
+
3
+ This template is designed for repository root `AGENTS.md`.
4
+ It should complement global guidance with project-specific rules.
5
+
6
+ ## Project Identity
7
+
8
+ - Project name: <project-name>
9
+ - Runtime/stack: <stack>
10
+ - Main build/test commands: <commands>
11
+ - Deploy boundary: <what must not be touched>
12
+
13
+ ## Source of Truth
14
+
15
+ When rules conflict, use this order:
16
+ 1. Current task instructions.
17
+ 2. This repository's docs/config (`README`, `docs/`, `config files`).
18
+ 3. Skill workflow instructions.
19
+
20
+ ## Repository Working Rules
21
+
22
+ - Edit files in-repo first; do not patch runtime mirrors first.
23
+ - Keep changes minimal and scoped.
24
+ - If touching scripts or build config, run at least one quick verification command.
25
+ - Preserve existing architecture/style unless migration is explicitly requested.
26
+
27
+ ## Mandatory Execution Sequence
28
+
29
+ 1. Read task + locate impacted files.
30
+ 2. Read exact local docs/config related to those files.
31
+ 3. Implement minimal change.
32
+ 4. Run verification commands.
33
+ 5. Report with command evidence and changed file list.
34
+
35
+ ## Skill Policy (Project)
36
+
37
+ - Use explicit skill requests as-is.
38
+ - For ambiguous tasks, prefer conservative skill composition:
39
+ - implementation: `start-dev` or `autopilot`
40
+ - quality: `verification-loop` or `verify`
41
+ - risk-critical areas: `security-review`
42
+ - If a skill suggests behavior that conflicts with this repo's docs/config, follow repo docs/config.
43
+
44
+ ## Definition of Done
45
+
46
+ A task is done only when:
47
+
48
+ 1. Requested code/docs changes are applied.
49
+ 2. Appropriate checks have been run (or explicitly blocked with reason).
50
+ 3. Output includes what changed, where, and validation status.
51
+
52
+ ## High-Risk Guardrails
53
+
54
+ - No credential leaks in code, logs, or docs.
55
+ - No destructive git commands without explicit user request.
56
+ - No silent behavior changes without documenting impact.
57
+
58
+ ## Suggested Project-Specific Additions
59
+
60
+ Add concrete sections for your repo:
61
+
62
+ - Directory ownership (who/what owns `src/*`, `scripts/*`, `docs/*`)
63
+ - Command matrix (`lint`, `typecheck`, `test`, `build`)
64
+ - Release checklist (version bump, changelog, tag, package publish)
65
+ - Runtime compatibility constraints (Node version, package manager, OS)
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "catalogVersion": "2026-02-24",
3
+ "catalogVersion": "2026-02-25",
4
4
  "skills": [
5
5
  {
6
6
  "name": "agent-kb",