nitm-ai-dev-toolkit 3.0.22 → 3.0.23

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/CHANGELOG.md CHANGED
@@ -7,8 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ### Fixed
11
+
12
+ - Bootstrap audit/creation examples are explicitly conditional on confirmed Copilot use; completion reports describe performed harness-specific checks without assuming OpenCode configuration, Codex trust/loading, or Copilot/Cursor readiness. Codex-scoped install documentation now includes linked standards and their wrapper sources without implying other harness activation.
13
+
10
14
  ### Added
11
15
 
16
+ - Native Codex support for repo and monorepo templates: shared `AGENTS.md` and `.agents/skills/`, plus optional comment-only `.codex/config.toml` preserving inherited defaults and requiring explicit user trust
17
+ - Codex setup documentation and native bootstrap/patch guidance, including `.nitm/BOOTSTRAP.md` handoff, manual snippet fallback, and native MCP TOML configuration
12
18
  - Custom agent templates (`.agent.md`) for subagent orchestration workflows
13
19
  - Feature Builder coordinator agent for end-to-end feature development
14
20
  - TDD coordinator agent with Red-Green-Refactor cycle
@@ -40,6 +46,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
40
46
 
41
47
  ### Changed
42
48
 
49
+ - CLI default-install documentation and package metadata now include Codex; bootstrap uses actual runtime harness evidence or asks rather than inferring use from scaffolded directories
50
+ - Bootstrap skill commands use confirmed harness flags without hardcoded Copilot/Cursor overrides
43
51
  - `install` now aborts if target files already exist (instead of silently skipping) and tells the user to pass `--force` to overwrite or run `patch` to add only missing files
44
52
  - `patch` is documented as add-missing-only (never overwrites existing customizations) and re-emits the bootstrap handoff
45
53
  - `omo-slim-starter install` now delegates to the published `npx nitm-opencode-starter install` (guides the user if unavailable) instead of cloning the repo and wiring scripts
package/README.md CHANGED
@@ -11,6 +11,7 @@ This repository serves as a **template source** for AI development instructions
11
11
  - **GitHub Copilot instructions** (`.github/copilot-instructions.md`)
12
12
  - **GitHub prompts** (`.github/prompts/`) for reusable prompt templates
13
13
  - **AGENTS.md** files for AI agent context
14
+ - **Native Codex setup** using `AGENTS.md`, `.agents/skills/`, and an optional comment-only `.codex/config.toml`
14
15
  - **Skills recommendations** from [skills.sh](https://skills.sh/) for enhanced AI capabilities
15
16
 
16
17
  ## Repository Structure
@@ -19,6 +20,7 @@ This repository serves as a **template source** for AI development instructions
19
20
  /
20
21
  ├── src/
21
22
  │ ├── repo/ # Templates for single repositories
23
+ │ │ ├── .codex/ # Optional native Codex config (comment-only)
22
24
  │ │ ├── .cursor/ # Cursor IDE configuration
23
25
  │ │ │ ├── agents/ # Custom agent templates (subagents)
24
26
  │ │ │ ├── rules/ # IDE behavior rules
@@ -39,6 +41,7 @@ This repository serves as a **template source** for AI development instructions
39
41
  │ │ └── README.md # Project README template
40
42
  │ │
41
43
  │ └── monorepo/ # Templates for monorepos
44
+ │ ├── .codex/ # Optional native Codex config (comment-only)
42
45
  │ ├── .cursor/ # Root-level Cursor config
43
46
  │ │ ├── agents/ # Custom agent templates (subagents)
44
47
  │ │ ├── rules/ # IDE behavior rules
@@ -77,6 +80,8 @@ This repository serves as a **template source** for AI development instructions
77
80
  cp -r src/repo/.cursor /path/to/your/project/
78
81
  cp -r src/repo/.github /path/to/your/project/
79
82
  cp -r src/repo/.agents /path/to/your/project/
83
+ cp -r src/repo/.claude /path/to/your/project/ # Shared snippet sources
84
+ cp -r src/repo/.codex /path/to/your/project/ # Optional Codex config
80
85
  cp src/repo/AGENTS.md /path/to/your/project/
81
86
  ```
82
87
 
@@ -88,6 +93,7 @@ Open your project in Cursor IDE or VS Code with GitHub Copilot, then run:
88
93
 
89
94
  - **Cursor IDE**: Use the `/bootstrap` command
90
95
  - **GitHub Copilot**: Use the `bootstrap.prompt.md` prompt (`/bootstrap`)
96
+ - **Codex**: Ask it to read and follow `.claude/prompt-snippets/bootstrap.md` as a task document (manual copies have no `.nitm/BOOTSTRAP.md`). Do not use `/bootstrap` as a native Codex command.
91
97
 
92
98
  The bootstrap process will:
93
99
 
@@ -108,6 +114,8 @@ After bootstrapping, review the generated files and add any project-specific pat
108
114
  cp -r src/monorepo/.cursor /path/to/your/project/
109
115
  cp -r src/monorepo/.github /path/to/your/project/
110
116
  cp -r src/monorepo/.agents /path/to/your/project/
117
+ cp -r src/monorepo/.claude /path/to/your/project/ # Shared snippet sources
118
+ cp -r src/monorepo/.codex /path/to/your/project/ # Optional Codex config
111
119
  cp src/monorepo/AGENTS.md /path/to/your/project/
112
120
  # Optionally copy app/package templates
113
121
  cp -r src/monorepo/apps/app-template /path/to/your/project/apps/
@@ -122,6 +130,7 @@ Open your project in Cursor IDE or VS Code with GitHub Copilot, then run:
122
130
 
123
131
  - **Cursor IDE**: Use the `/bootstrap` command
124
132
  - **GitHub Copilot**: Use the `bootstrap.prompt.md` prompt (`/bootstrap`)
133
+ - **Codex**: Ask it to read and follow `.claude/prompt-snippets/bootstrap.md` as a task document (manual copies have no `.nitm/BOOTSTRAP.md`). Do not use `/bootstrap` as a native Codex command.
125
134
 
126
135
  The bootstrap process will:
127
136
 
@@ -142,7 +151,7 @@ After bootstrapping:
142
151
 
143
152
  ## CLI (npx)
144
153
 
145
- Scaffold AI agent config into any repo, then hand off to your AI agent to finish setup (replace `{{PLACEHOLDER}}`s, calibrate agent tools). The CLI scaffolds config for **all** supported harnesses (Claude Code, GitHub Copilot, Cursor, OpenCode); the `/bootstrap` command auto-detects your environment at runtime, so you normally don't need `--env`. `install` aborts if files already exist — use `--force` to overwrite, or `patch` to add only missing files.
154
+ Scaffold AI agent config into any repo, then hand off to your AI agent to finish setup (replace `{{PLACEHOLDER}}`s, calibrate native instructions). The CLI scaffolds config for **all** supported harnesses (Claude Code, GitHub Copilot, Cursor, OpenCode, Codex) by default, so you normally don't need `--env`. Scaffolding does not prove a harness is installed or active: bootstrap uses actual runtime information or asks which harnesses you use. `install` aborts if files already exist — use `--force` to overwrite, or `patch` to add only missing files.
146
155
 
147
156
  ```bash
148
157
  # Scaffold AI config into the current repo (auto-detects repo vs monorepo)
@@ -155,6 +164,7 @@ npx nitm-ai-dev-toolkit install --repo
155
164
 
156
165
  # Optional: scaffold only one harness (e.g. you only use Cursor)
157
166
  npx nitm-ai-dev-toolkit install --env cursor
167
+ npx nitm-ai-dev-toolkit install --env codex
158
168
 
159
169
  # Add only missing files (never overwrites existing ones) + re-emit the bootstrap handoff
160
170
  npx nitm-ai-dev-toolkit patch
@@ -169,7 +179,18 @@ npx nitm-ai-dev-toolkit upgrade
169
179
  npx nitm-ai-dev-toolkit omo-slim-starter install
170
180
  ```
171
181
 
172
- After `install`, run `/bootstrap` from whatever harness you're in — it auto-detects your environment. You can also read `.nitm/BOOTSTRAP.md` and ask your AI agent to run the bootstrap flow. Use `doctor` to verify the result.
182
+ After `install`, ask your AI agent to read and follow `.nitm/BOOTSTRAP.md`. Harnesses that supply a toolkit `/bootstrap` wrapper can also use it; **Codex has no native toolkit `/bootstrap` command**. Use `doctor` to verify the result.
183
+
184
+ ### Native Codex
185
+
186
+ - `--env codex` includes `.codex/`, `.agents/`, and shared context, plus `.github/instructions/` and `.claude/rules-snippets/` solely to supply the standards linked from `AGENTS.md` and those standards' wrapper source content. It does not install other harness command, agent, or config directories. These reference files neither establish Copilot/Claude use nor load automatically as Codex rules; other harness scopes are unchanged.
187
+ - Codex reads `AGENTS.md` and discovers `.agents/skills/*/SKILL.md` natively. Monorepos can use more-specific nested `AGENTS.md` files for app/package guidance. Linked standards are references to read as needed, not automatically loaded Claude/Copilot rules.
188
+ - The optional `.codex/config.toml` is deliberately comment-only: it preserves the user's inherited defaults. Codex loads project config only after the user explicitly trusts the project; the toolkit does not grant trust or set model/provider, approval, sandbox, security, or feature overrides.
189
+ - For manual copies without `.nitm/`, provide `.claude/prompt-snippets/bootstrap.md` to Codex directly. For incremental AI-guided merges, provide `.claude/prompt-snippets/bootstrap-patch.md` as a task document; the CLI `patch` command only adds missing files.
190
+ - Codex MCP configuration uses native `[mcp_servers.name]` TOML in Codex config, **not `.mcp.json`**. No MCP servers are activated by the Codex template. Configure only user-approved servers using the native docs; do not copy credentials or activate other harness hooks automatically.
191
+ - Existing `.claude/agents/`, `.github/agents/`, and `.opencode/agents/` formats are tool-specific, not Codex custom agents. This toolkit does not translate their frontmatter or permissions into Codex configuration. Use only delegation capabilities actually available in your running harness.
192
+
193
+ Official Codex docs: [basic configuration](https://learn.chatgpt.com/docs/config-file/config-basic) · [configuration reference](https://learn.chatgpt.com/docs/config-file/config-reference) · [AGENTS.md](https://learn.chatgpt.com/docs/agent-configuration/agents-md) · [skills](https://learn.chatgpt.com/docs/build-skills) · [MCP](https://learn.chatgpt.com/docs/extend/mcp?surface=cli).
173
194
 
174
195
  ## Placeholder Reference
175
196
 
package/bin/cli.js CHANGED
@@ -13,15 +13,17 @@ const { execSync, spawnSync } = require('child_process');
13
13
  const PKG_ROOT = path.join(__dirname, '..');
14
14
  const SRC_DIR = path.join(PKG_ROOT, 'src');
15
15
 
16
- // Platform config dirs per harness. `.agents` is Claude-only (universal skills).
16
+ // Platform config dirs per harness. Claude and Codex share `.agents` (universal skills).
17
17
  const ENV_DIRS = {
18
18
  claude: ['.claude', '.agents'],
19
+ codex: ['.codex', '.agents', path.join('.github', 'instructions'), path.join('.claude', 'rules-snippets')],
19
20
  copilot: ['.github', '.vscode'],
20
21
  cursor: ['.cursor'],
21
22
  opencode: ['.opencode'],
22
23
  };
23
24
  const ENV_INFO = {
24
25
  claude: { name: 'Claude Code', command: '/bootstrap (Claude Code command in .claude/commands/)' },
26
+ codex: { name: 'OpenAI Codex', command: 'read and follow .nitm/BOOTSTRAP.md' },
25
27
  copilot: { name: 'GitHub Copilot', command: '/bootstrap (Copilot prompt in .github/prompts/bootstrap.prompt.md)' },
26
28
  cursor: { name: 'Cursor', command: '/bootstrap (Cursor command in .cursor/commands/)' },
27
29
  opencode: { name: 'OpenCode', command: 'the bootstrap command in .opencode/commands/' },
@@ -84,9 +86,12 @@ function templateFiles(type) {
84
86
  function scopeFiles(files, env) {
85
87
  if (!env || !ENV_DIRS[env]) return files;
86
88
  const allowed = new Set([...SHARED_ROOT, ...SHARED_DIRS, ...ENV_DIRS[env]]);
89
+ const dirs = [...SHARED_DIRS, ...ENV_DIRS[env]].map((dir) => path.normalize(dir));
87
90
  return files.filter((rel) => {
88
- const top = rel.split(path.sep)[0];
89
- return allowed.has(top) || allowed.has(rel);
91
+ const normalized = path.normalize(rel);
92
+ const top = normalized.split(path.sep)[0];
93
+ return allowed.has(top) || allowed.has(normalized)
94
+ || dirs.some((dir) => normalized.startsWith(dir + path.sep));
90
95
  });
91
96
  }
92
97
 
@@ -137,8 +142,10 @@ function envHeader(type, env) {
137
142
  '2. Calibrate each agent\'s tools for your environment (see the Agent Tool & Permission Calibration section).',
138
143
  '3. Verify with `npx nitm-ai-dev-toolkit doctor`.',
139
144
  '',
140
- 'The `/bootstrap` command auto-detects your harness (Claude Code, GitHub Copilot, Cursor, or OpenCode),',
141
- 'so you do not need to specify it — just run `/bootstrap` from whatever environment you are in.',
145
+ 'The default scaffold includes Claude Code, OpenAI Codex, GitHub Copilot, Cursor, and OpenCode.',
146
+ 'Ask your AI agent to read and follow `.nitm/BOOTSTRAP.md`.',
147
+ 'Claude Code, GitHub Copilot, Cursor, and OpenCode also have harness-specific bootstrap commands.',
148
+ 'For OpenAI Codex, use the handoff file directly; no native `/bootstrap` command is provided.',
142
149
  '',
143
150
  'The full bootstrap procedure follows.',
144
151
  ].join('\n');
@@ -147,7 +154,7 @@ function envHeader(type, env) {
147
154
  return [
148
155
  `# Bootstrap handoff — environment: ${info.name}`,
149
156
  '',
150
- `Run the bootstrap via: ${info.command}`,
157
+ `Bootstrap entry point: ${info.command}`,
151
158
  '',
152
159
  'Then ask your AI agent to run the full bootstrap flow (procedure below). Key steps:',
153
160
  '1. Replace all `{{PLACEHOLDER}}` values in the AI instruction files.',
@@ -168,12 +175,15 @@ function handoff(type, cwd, env) {
168
175
  fs.writeFileSync(path.join(nitmDir, 'BOOTSTRAP.md'), header + '\n\n' + body);
169
176
  if (env && ENV_INFO[env]) {
170
177
  info(`Scaffold complete (tailored to ${ENV_INFO[env].name}). Hand off to your AI agent:`);
171
- console.log(` Run ${ENV_INFO[env].command}`);
178
+ console.log(` Bootstrap entry point: ${ENV_INFO[env].command}`);
172
179
  } else {
173
180
  info('Scaffold complete. Hand off to your AI agent to finish setup:');
174
181
  }
175
- console.log(' 1. Run `/bootstrap` from your AI environment (it auto-detects your harness),');
176
- console.log(' OR hand `.nitm/BOOTSTRAP.md` to your AI agent to run the full bootstrap flow.');
182
+ console.log(' 1. Ask your AI agent to read and follow `.nitm/BOOTSTRAP.md`.');
183
+ if (!env || !ENV_INFO[env]) {
184
+ console.log(' Includes Claude Code, OpenAI Codex, GitHub Copilot, Cursor, and OpenCode.');
185
+ console.log(' Other harnesses also have bootstrap commands; Codex uses the handoff file directly.');
186
+ }
177
187
  console.log(' 2. Run `npx nitm-ai-dev-toolkit doctor' + (env ? ` --env ${env}` : '') + '` to verify the install.');
178
188
  }
179
189
 
@@ -319,7 +329,7 @@ function usage() {
319
329
  console.log(`nitm-ai-dev-toolkit — scaffold AI agent config into any repo, then hand off to your AI agent.
320
330
 
321
331
  Usage:
322
- npx nitm-ai-dev-toolkit install [--monorepo|--repo] [--env <claude|copilot|cursor|opencode>] [--force]
332
+ npx nitm-ai-dev-toolkit install [--monorepo|--repo] [--env <claude|codex|copilot|cursor|opencode>] [--force]
323
333
  Scaffold AI config into the current repo (auto-detects repo vs monorepo),
324
334
  tailored to your harness, then hand off to your AI agent to run the bootstrap flow.
325
335
  If files already exist, install aborts (use --force to overwrite, or \`patch\` to add missing).
@@ -341,9 +351,11 @@ Usage:
341
351
 
342
352
  Options:
343
353
  --env <env> Optional. Limit the scaffold to ONE harness:
344
- claude | copilot | cursor | opencode
345
- Omit to scaffold ALL environments (cross-compatible). The /bootstrap
346
- command auto-detects your harness at runtime, so --env is rarely needed.
354
+ claude | codex | copilot | cursor | opencode
355
+ Omit to scaffold ALL environments, including OpenAI Codex.
356
+ Ask your agent to read and follow .nitm/BOOTSTRAP.md.
357
+ Other harnesses also have bootstrap commands; Codex uses the handoff
358
+ file directly (no native /bootstrap command is provided).
347
359
  --monorepo Force monorepo template
348
360
  --repo Force single-repo template
349
361
  --force Overwrite existing files
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "nitm-ai-dev-toolkit",
3
- "version": "3.0.22",
4
- "description": "Scaffold AI agent config (Cursor, GitHub Copilot, Claude Code, OpenCode) into any repo, then hand off to your AI agent to finish setup.",
3
+ "version": "3.0.23",
4
+ "description": "Scaffold AI agent config (Cursor, GitHub Copilot, Claude Code, OpenCode, Codex) into any repo, then hand off to your AI agent to finish setup.",
5
5
  "bin": {
6
6
  "nitm-ai-dev-toolkit": "bin/cli.js"
7
7
  },
@@ -22,6 +22,7 @@
22
22
  "cursor",
23
23
  "copilot",
24
24
  "opencode",
25
+ "codex",
25
26
  "bootstrap",
26
27
  "subagents"
27
28
  ],
@@ -17,6 +17,10 @@ You are helping to patch AI instructions in this project by comparing against th
17
17
 
18
18
  ## Process
19
19
 
20
+ **Codex invocation and scope:** `/bootstrap-patch` is not a native Codex command. Ask Codex to read and follow this snippet as a task document. Identify the actual harness from session/runtime evidence or ask; scaffold directories do not prove use. Codex targets root/nested `AGENTS.md`, `.agents/skills/`, and optional `.codex/config.toml`. Include `.github/instructions/` and `.claude/rules-snippets/` solely as AGENTS-linked standards and their wrapper sources for Codex-scoped installs, not automatically loaded rules or evidence of Copilot/Claude use. Only include other harness command, agent, and config categories when those harnesses are confirmed in use.
21
+
22
+ **Codex merge guardrails:** preserve existing TOML and inherited user defaults. The shipped `.codex/config.toml` is comment-only; parse it as TOML, do not add model/provider, approval, sandbox, security, feature, self-trust, or active MCP settings. Project config is loaded only after explicit user trust. MCP uses native `[mcp_servers.name]` TOML, not `.mcp.json`; do not migrate or activate servers automatically. Claude/Copilot frontmatter and OpenCode permission blocks are not Codex agent definitions; no Codex custom-agent format is shipped here.
23
+
20
24
  1. **Fetch Latest Templates**:
21
25
 
22
26
  Clone or fetch the latest ai-assisted-dev-toolkit templates:
@@ -63,6 +67,7 @@ You are helping to patch AI instructions in this project by comparing against th
63
67
  | **Claude Agents** | `.claude/agents/*.agent.md` | `src/{type}/.claude/agents/*.agent.md` |
64
68
  | **Skills** | `.agents/skills/*/SKILL.md` | `src/{type}/.agents/skills/*/SKILL.md` |
65
69
  | **AGENTS.md** | `AGENTS.md` | `src/{type}/AGENTS.md` |
70
+ | **Codex Config** | `.codex/config.toml` | `src/{type}/.codex/config.toml` |
66
71
  | **CLAUDE.md** | `CLAUDE.md` | `src/{type}/CLAUDE.md` |
67
72
  | **Claude Rules Snippets** | `.claude/rules-snippets/*.md` | `src/{type}/.claude/rules-snippets/*.md` |
68
73
  | **Claude Prompt Snippets** | `.claude/prompt-snippets/*.md` | `src/{type}/.claude/prompt-snippets/*.md` |
@@ -2,6 +2,16 @@ You are helping to bootstrap AI instructions for this monorepo by analyzing the
2
2
 
3
3
  > **Merge, don't clobber.** If a target file already exists and carries project-specific content — customized agents, rules, skills, or `{{PLACEHOLDER}}` values already replaced — preserve it. Add missing structure; never overwrite a customized file with template defaults. When a template change conflicts with an existing customization, merge the addition and flag it for the user rather than replacing the file. For incremental updates after the first bootstrap, prefer `/bootstrap-patch`, which is purpose-built for meticulous merging.
4
4
 
5
+ ## Harness selection and native Codex targets
6
+
7
+ **Codex:** `/bootstrap` is not a native Codex command. For npm installs, ask Codex to read and follow `.nitm/BOOTSTRAP.md`. For manually copied templates without `.nitm/`, ask it to read and follow `.claude/prompt-snippets/bootstrap.md` as a task document.
8
+
9
+ - Identify the actual running harness from session/runtime information or ask which harnesses the user uses. Directory presence alone is not evidence: the default installer scaffolds every supported harness.
10
+ - Codex uses root and more-specific nested `AGENTS.md` instructions and `.agents/skills/*/SKILL.md` natively. Customize app/package instructions for their scopes. Read linked standards when relevant; Claude snippets and `.github/instructions/` are not automatically loaded as Codex rules.
11
+ - `.codex/config.toml` is optional and comment-only. Preserve inherited defaults and existing user settings. Project config is loaded only after the user explicitly trusts the project; never write self-trust or change model/provider, approvals, sandbox, security, or feature settings during bootstrap.
12
+ - Codex MCP uses native `[mcp_servers.name]` TOML, not `.mcp.json`. Treat other harness MCP templates as references only; do not activate servers, copy credentials, or install hooks automatically.
13
+ - Update and audit only confirmed harness targets. For Codex-only setup, the native targets are root/nested `AGENTS.md`, `.agents/skills/`, and `.codex/config.toml`. `--env codex` also includes `.github/instructions/` and `.claude/rules-snippets/` solely as AGENTS-linked standards and their wrapper sources, not automatically loaded rules or evidence of Copilot/Claude use; other harness command, agent, and config directories are excluded. Tool-specific steps below are conditional.
14
+
5
15
  ## Your Task
6
16
 
7
17
  1. **Analyze the Monorepo**:
@@ -125,6 +135,8 @@ You are helping to bootstrap AI instructions for this monorepo by analyzing the
125
135
 
126
136
  **Root Level:**
127
137
  - `AGENTS.md` (include project management section)
138
+ - `.agents/skills/*/SKILL.md` (shared native skills, including Codex)
139
+ - `.codex/config.toml` (optional Codex config; retain comment-only inherited defaults)
128
140
  - `.github/copilot-instructions.md` (include PM context)
129
141
  - `.github/instructions/*.instructions.md`
130
142
  - `.github/prompts/*.prompt.md`
@@ -241,6 +253,8 @@ For multi-app monorepos with different frameworks, list all with app context (e.
241
253
 
242
254
  The `tools:` block (Claude Code, GitHub Copilot) and `permission:` block (OpenCode) must match each agent's role **and** the detected project. Templates ship with defaults, but calibrate them during bootstrap so every agent can do its job without being over-provisioned.
243
255
 
256
+ **Codex native calibration:** customize project instructions and skills, not Claude/Copilot `tools:` frontmatter or OpenCode `permission:` blocks. This toolkit ships no Codex custom-agent format. Use only delegation capabilities actually available in the running harness; do not generate agent files from this table or change native security settings to simulate per-role tool gating.
257
+
244
258
  **1. Capability baseline per role** — what the agent functionally needs:
245
259
 
246
260
  | Agent | read | search | write | edit | terminal/bash | spawn subagents |
@@ -278,16 +292,16 @@ Present the replacements and confirm before applying.
278
292
 
279
293
  9. **Detect Installed AI Agents**:
280
294
 
281
- Before recommending skills, detect which AI agent directories exist in the workspace. Supported agents are located here: https://github.com/vercel-labs/skills?tab=readme-ov-file#available-agents:
295
+ Before recommending skills, identify the running harness from session/runtime information and confirm additional harnesses with the user. Consult supported installer IDs at https://github.com/vercel-labs/skills?tab=readme-ov-file#available-agents.
282
296
 
283
- **Note:** `.agents/` directory is used by multiple agents: `amp`, `codex`, `gemini-cli`, `github-copilot`, `opencode`, `replit`. If only `.agents/` exists, default to `codex` or `github-copilot` based on other indicators.
297
+ **Note:** `.agents/` is shared by multiple agents. Neither it nor scaffolded `.codex/`, `.claude/`, `.cursor/`, or `.github/` directories proves a harness is installed or used. If runtime evidence is unavailable, ask rather than defaulting to an agent.
284
298
 
285
- **Note:** `.claude/` directory indicates Claude Code is installed. Add `-a claude-code` to agent flags.
299
+ **Codex:** the skills installer supports agent ID `codex`; confirmed Codex use maps to `-a codex` and native `.agents/skills/`.
286
300
 
287
301
  **Build the agent flags string:**
288
- - For each detected agent, add `-a <agent>` to the command
289
- - Example: If `.cursor/`, `.claude/`, and `.github/` exist → use `-a cursor -a claude-code -a github-copilot`
290
- - If no agents detected, omit `-a` flags (CLI will prompt)
302
+ - For each confirmed harness, add `-a <supported-agent-id>` to the command
303
+ - Example: confirmed Cursor, Claude Code, and Copilot → `-a cursor -a claude-code -a github-copilot`
304
+ - If no harness is confirmed, ask before installing (or let the CLI prompt); do not infer from scaffold directories
291
305
 
292
306
  10. **Recommend and Install AI Agent Skills**:
293
307
 
@@ -303,11 +317,11 @@ Based on detected ecosystem and frameworks, recommend relevant skills from [skil
303
317
  | `trailofbits/skills` | Security analysis, Semgrep, property-based testing |
304
318
  | `softaworks/agent-toolkit` | README writing, clear documentation |
305
319
 
306
- **Example commands** (replace `<detected-agents>` with the actual flags from step 9, e.g., `-a cursor -a github-copilot`):
320
+ **Example commands** (replace `{{AGENT_FLAGS}}` with confirmed harness flags from step 9, e.g., `-a codex`):
307
321
 
308
322
  ```bash
309
- npx -y skills add <detected-agents> obra/superpowers --skill '*' --agent github-copilot cursor
310
- npx -y skills add <detected-agents> trailofbits/skills --skill '*' --agent github-copilot cursor
323
+ npx -y skills add {{AGENT_FLAGS}} obra/superpowers --skill '*'
324
+ npx -y skills add {{AGENT_FLAGS}} trailofbits/skills --skill '*'
311
325
  ```
312
326
 
313
327
  **Issue Tracker Skills Health Check (if {{ISSUE_TRACKER}} is configured):**
@@ -361,25 +375,25 @@ When recommending framework-specific skills, include the detected agent flags. E
361
375
 
362
376
  | Language/Framework | Skill Repository | Install Command |
363
377
  | ------------------ | ------------------------------------- | -------------------------------------------------------------------------------------------------------- |
364
- | PHP | `vapvarun/claude-backup` (php) | `npx -y skills add <detected-agents> vapvarun/claude-backup --skill "php"` |
365
- | Laravel | `vapvarun/claude-backup` (laravel) | `npx -y skills add <detected-agents> vapvarun/claude-backup --skill "laravel"` |
366
- | Python | `siviter-xyz/dot-agent` (python) | `npx -y skills add <detected-agents> siviter-xyz/dot-agent --skill "python"` |
367
- | Django | `vintasoftware/django-ai-plugins` | `npx -y skills add <detected-agents> vintasoftware/django-ai-plugins --skill "django-expert"` |
368
- | Next.js | `sickn33/antigravity-awesome-skills` | `npx -y skills add <detected-agents> sickn33/antigravity-awesome-skills --skill "nextjs-best-practices"` |
369
- | React | `vercel-labs/agent-skills` | `npx -y skills add <detected-agents> vercel-labs/agent-skills --skill "vercel-react-best-practices"` |
370
- | Vue | `onmax/nuxt-skills` (vue) | `npx -y skills add <detected-agents> onmax/nuxt-skills --skill "vue"` |
371
- | Nuxt | `onmax/nuxt-skills` (nuxt) | `npx -y skills add <detected-agents> onmax/nuxt-skills --skill "nuxt"` |
372
- | Expo | `expo/skills` | `npx -y skills add <detected-agents> expo/skills --skill '*' --agent github-copilot cursor` |
373
- | TypeScript | `pproenca/dot-skills` (typescript) | `npx -y skills add <detected-agents> pproenca/dot-skills --skill '*' --agent github-copilot cursor` |
374
- | Advanced Types | `wshobson/agents` (ts-advanced-types) | `npx -y skills add <detected-agents> wshobson/agents --skill '*' --agent github-copilot cursor` |
378
+ | PHP | `vapvarun/claude-backup` (php) | `npx -y skills add {{AGENT_FLAGS}} vapvarun/claude-backup --skill "php"` |
379
+ | Laravel | `vapvarun/claude-backup` (laravel) | `npx -y skills add {{AGENT_FLAGS}} vapvarun/claude-backup --skill "laravel"` |
380
+ | Python | `siviter-xyz/dot-agent` (python) | `npx -y skills add {{AGENT_FLAGS}} siviter-xyz/dot-agent --skill "python"` |
381
+ | Django | `vintasoftware/django-ai-plugins` | `npx -y skills add {{AGENT_FLAGS}} vintasoftware/django-ai-plugins --skill "django-expert"` |
382
+ | Next.js | `sickn33/antigravity-awesome-skills` | `npx -y skills add {{AGENT_FLAGS}} sickn33/antigravity-awesome-skills --skill "nextjs-best-practices"` |
383
+ | React | `vercel-labs/agent-skills` | `npx -y skills add {{AGENT_FLAGS}} vercel-labs/agent-skills --skill "vercel-react-best-practices"` |
384
+ | Vue | `onmax/nuxt-skills` (vue) | `npx -y skills add {{AGENT_FLAGS}} onmax/nuxt-skills --skill "vue"` |
385
+ | Nuxt | `onmax/nuxt-skills` (nuxt) | `npx -y skills add {{AGENT_FLAGS}} onmax/nuxt-skills --skill "nuxt"` |
386
+ | Expo | `expo/skills` | `npx -y skills add {{AGENT_FLAGS}} expo/skills --skill '*'` |
387
+ | TypeScript | `pproenca/dot-skills` (typescript) | `npx -y skills add {{AGENT_FLAGS}} pproenca/dot-skills --skill '*'` |
388
+ | Advanced Types | `wshobson/agents` (ts-advanced-types) | `npx -y skills add {{AGENT_FLAGS}} wshobson/agents --skill '*'` |
375
389
 
376
390
  **Skill Creation for Unsupported Frameworks:**
377
391
 
378
- Use `npx -y skills add <detected-agents> anthropics/skills --skill '*' --agent github-copilot cursor` (includes `skill-creator`) to create custom skills.
392
+ Use `npx -y skills add {{AGENT_FLAGS}} anthropics/skills --skill '*'` (includes `skill-creator`) to create custom skills.
379
393
 
380
394
  **Monorepo-Specific Considerations:**
381
395
 
382
- - Install skills at workspace root (`.cursor/skills/{skill-name}/` or `.github/skills/{skill-name}/`)
396
+ - Install skills at workspace root (Codex: `.agents/skills/{skill-name}/`); verify the installer's reported paths for other harnesses
383
397
  - Skills are installed by skill name, not org/repo path (e.g., `superpowers/` not `obra/superpowers/`)
384
398
  - Consider per-app skills if apps use different frameworks
385
399
  - Update root `AGENTS.md` to reference installed skills
@@ -397,9 +411,9 @@ Using flags: {{AGENT_FLAGS}}
397
411
  Based on your monorepo ({{BUILD_SYSTEM}}/{{LANGUAGE}}):
398
412
 
399
413
  Core Skills (recommended for all projects):
400
- npx -y skills add {{AGENT_FLAGS}} obra/superpowers --skill '*' --agent github-copilot cursor
401
- npx -y skills add {{AGENT_FLAGS}} trailofbits/skills --skill '*' --agent github-copilot cursor
402
- npx -y skills add {{AGENT_FLAGS}} softaworks/agent-toolkit --skill '*' --agent github-copilot cursor
414
+ npx -y skills add {{AGENT_FLAGS}} obra/superpowers --skill '*'
415
+ npx -y skills add {{AGENT_FLAGS}} trailofbits/skills --skill '*'
416
+ npx -y skills add {{AGENT_FLAGS}} softaworks/agent-toolkit --skill '*'
403
417
 
404
418
  Issue Tracker Skills (bundled — {{ISSUE_TRACKER}}):
405
419
  ✅ .agents/skills/issue-tracker/SKILL.md (shared strategy)
@@ -407,49 +421,42 @@ Issue Tracker Skills (bundled — {{ISSUE_TRACKER}}):
407
421
  ⚠️ Prune any issue-tracker CLI skills that do not match {{ISSUE_TRACKER}} (if any)
408
422
 
409
423
  Framework-Specific Skills:
410
- - web (Next.js): npx -y skills add {{AGENT_FLAGS}} vercel-labs/agent-skills --skill '*' --agent github-copilot cursor
411
- - api (Hono): npx -y skills add {{AGENT_FLAGS}} elysiajs/skills --skill '*' --agent github-copilot cursor
424
+ - web (Next.js): npx -y skills add {{AGENT_FLAGS}} vercel-labs/agent-skills --skill '*'
425
+ - api (Hono): npx -y skills add {{AGENT_FLAGS}} elysiajs/skills --skill '*'
412
426
 
413
427
  Install All? (Y/n)
414
428
  ```
415
429
 
416
430
  **Example with detected agents:**
417
431
 
418
- - If `.cursor/` and `.github/` exist: `AGENT_FLAGS="-a cursor -a github-copilot"`
419
- - If only `.cursor/` exists: `AGENT_FLAGS="-a cursor"`
420
- - Commands become: `npx -y skills add -a cursor -a github-copilot obra/superpowers --skill '*' --agent github-copilot cursor`
432
+ - If Cursor and Copilot are confirmed: `AGENT_FLAGS="-a cursor -a github-copilot"`
433
+ - If only Codex is confirmed: `AGENT_FLAGS="-a codex"`
434
+ - Codex-only command: `npx -y skills add -a codex obra/superpowers --skill '*'`
421
435
 
422
436
  **On Confirmation:**
423
437
 
424
438
  - Run skill installation commands at workspace root
425
- - Skills installed to `.cursor/skills/`
439
+ - Verify the installer's reported paths; Codex uses `.agents/skills/`
426
440
  - Update root `AGENTS.md` to reference installed skills
427
441
  - Add skill references to relevant app `AGENTS.md` files
428
442
 
429
443
  10. **Report Completion**:
430
444
 
445
+ Populate this example with only files actually changed and skills actually installed. Omit unconfirmed harness targets; for Codex, include native targets and shared reference standards only when changed. This is a change inventory, not proof of runtime loading or trust.
446
+
431
447
  ```
432
448
  ✅ Monorepo Bootstrap Complete!
433
449
 
434
450
  Ecosystem: {{LANGUAGE}} / {{BUILD_SYSTEM}}
435
451
 
436
452
  Root Files Updated:
437
- - AGENTS.md
438
- - .github/copilot-instructions.md
439
- - .github/instructions/*.instructions.md
440
- - .cursor/rules/*.mdc
441
- - .cursor/commands/*.md
442
- - .claude/rules/*.md (thin wrappers)
443
- - .claude/commands/*.md (thin wrappers)
444
- - .claude/agents/*.agent.md (thin wrappers)
445
- - .claude/rules-snippets/*.md (rules content)
446
- - .claude/prompt-snippets/*.md (prompt content)
447
- - .claude/agents-snippets/*.md (agent content)
448
- - .opencode/opencode.jsonc
449
- - .opencode/commands/*.md
450
- - .opencode/rules/*.md
451
- - .opencode/agents/*.md
452
- - .toolkit-version
453
+ - AGENTS.md (if changed)
454
+ - .agents/skills/*/SKILL.md (if changed)
455
+ - .codex/config.toml (Codex; if changed)
456
+ - .github/instructions/*.instructions.md (linked standards or confirmed Copilot; if changed)
457
+ - .claude/rules-snippets/*.md (reference sources; if changed)
458
+ - Other confirmed harness files actually changed (list exact paths)
459
+ - .toolkit-version (if changed)
453
460
 
454
461
  App Files Created/Updated:
455
462
  - {{APP_DIR}}/{{APP_1}}/AGENTS.md
@@ -459,9 +466,9 @@ Package/Library Files Updated:
459
466
  - {{PACKAGES_DIR}}/{{PACKAGE_1}}/README.md
460
467
 
461
468
  Installed Skills:
462
- - obra/superpowers - Development workflow
463
- - trailofbits/skills - Security & quality
464
- - {{FRAMEWORK_SKILL}} - Framework patterns
469
+ - obra/superpowers - Development workflow (only if installed)
470
+ - trailofbits/skills - Security & quality (only if installed)
471
+ - {{FRAMEWORK_SKILL}} - Framework patterns (only if installed)
465
472
 
466
473
  Next Steps:
467
474
  1. Review root AGENTS.md for accuracy
@@ -475,7 +482,7 @@ Next Steps:
475
482
  9. **Review Installed Skills**:
476
483
 
477
484
  After completion, audit all installed skills:
478
- - Scan `.github/skills/` and `.cursor/skills/` directories
485
+ - Scan `.agents/skills/` and confirmed harness skill directories, including `.github/skills/` and `.cursor/skills/` if used
479
486
  - Compare each skill against detected ecosystems and frameworks
480
487
  - Flag skills that don't match any app's tech stack
481
488
 
@@ -507,8 +514,12 @@ Next Steps:
507
514
 
508
515
  Check for required instruction files at root and app levels:
509
516
 
517
+ For Codex, verify root/app/package `AGENTS.md` instructions and `.agents/skills/*/SKILL.md`; parse optional `.codex/config.toml` as TOML and confirm inherited defaults are preserved. The Copilot-specific audit below applies only when Copilot is confirmed in use; do not create Copilot instructions merely to satisfy a Codex audit.
518
+
519
+ **Copilot Audit Example (only if Copilot is confirmed in use):**
520
+
510
521
  ```
511
- ## 📋 Instruction Files Audit
522
+ ## 📋 Copilot Instruction Files Audit — confirmed Copilot use only
512
523
 
513
524
  ### ✅ Found ({{N}} files)
514
525
  | File | Purpose | Status |
@@ -523,48 +534,54 @@ Next Steps:
523
534
  | fastapi.instructions.md | FastAPI patterns | api app uses FastAPI |
524
535
  | testing.instructions.md | Test conventions | Multiple frameworks |
525
536
 
526
- Create missing instruction files? (Y/n)
537
+ Create missing Copilot instruction files? (confirmed Copilot use only; Y/n)
527
538
  ```
528
539
 
529
- **On Confirmation:**
530
- - Generate instruction files with appropriate templates
540
+ **On Confirmation (only if Copilot is confirmed in use):**
541
+ - Generate missing Copilot instruction files with appropriate templates; skip creation for a Codex-only audit even when shared reference standards are present
531
542
  - Include app-specific scoping (applyTo paths)
532
543
  - Include framework-specific patterns from skills
533
544
  - Report created files
534
545
 
535
546
  11. **Final Verification Report**:
536
547
 
548
+ Report only actual changes and checks for confirmed harnesses. For Codex, distinguish file inspection and TOML validation from runtime instruction/skill discovery, project trust, and config loading. Mark runtime behavior unverified unless directly confirmed; file presence alone proves none of these. Remove inapplicable rows and mark checklist items complete only after performing the check.
549
+
537
550
  ```
538
- ## ✅ Bootstrap Complete & Verified!
551
+ ## Bootstrap Verification Report
539
552
 
540
553
  ### Summary
541
554
  | Category | Count | Status |
542
555
  |----------|-------|--------|
543
- | Root files updated | {{N}} | ✓ |
544
- | App files created | {{N}} | ✓ |
545
- | Package files updated | {{N}} | ✓ |
546
- | Skills installed | {{N}} | ✓ |
547
- | Skills removed | {{N}} | ✓ |
548
- | Instructions created | {{N}} | ✓ |
556
+ | Root files updated | {{N}} | Report actual result |
557
+ | App files created | {{N}} | Report actual result |
558
+ | Package files updated | {{N}} | Report actual result |
559
+ | Skills installed | {{N}} | Report actual result |
560
+ | Skills removed | {{N}} | Report actual result |
561
+ | Instructions created | {{N}} | Report actual result |
549
562
 
550
563
  ### Quality Checks
551
- - [x] Placeholders replaced
552
- - [x] Skills match tech stack
553
- - [x] No duplicate skills
554
- - [x] All apps have AGENTS.md
555
- - [x] Instructions cover all frameworks
556
- - [x] Snippet directories created
557
- - [x] Thin wrappers reference correct snippets
558
- - [x] .opencode/ directory configured
559
- - [x] .toolkit-version file created
560
-
561
- ### Your Monorepo is Ready! 🎉
562
-
563
- GitHub Copilot and Cursor understand:
564
- - Monorepo structure
565
- - App-specific frameworks
566
- - Shared packages
567
- - Cross-cutting patterns
564
+ - [ ] Placeholders replaced (list any remaining)
565
+ - [ ] Skills match tech stack
566
+ - [ ] No duplicate skills
567
+ - [ ] Applicable apps/packages have scoped AGENTS.md
568
+ - [ ] Instructions cover applicable frameworks
569
+ - [ ] Required reference snippet sources present and links resolve
570
+ - [ ] Thin wrappers reference correct snippets (if applicable)
571
+ - [ ] OpenCode configuration validated (only if OpenCode is confirmed in use)
572
+ - [ ] .toolkit-version file created or checked
573
+
574
+ ### Native Codex Check Example (only if Codex is confirmed in use)
575
+
576
+ | Target | Check to report | Result |
577
+ | ------ | --------------- | ------ |
578
+ | Root/app/package `AGENTS.md` | Contents, scopes, and linked standards inspected | Actual inspection result |
579
+ | `.agents/skills/*/SKILL.md` | Skill contents and relevance inspected | Actual inspection result; runtime discovery unverified unless confirmed |
580
+ | `.codex/config.toml` (if present) | TOML syntax and inherited defaults inspected | Actual validation result; user trust and native loading unverified unless confirmed |
581
+
582
+ ### Next Steps for Confirmed Harnesses
583
+
584
+ List the confirmed harnesses, checks actually performed, remaining issues, and runtime checks still needed. Do not infer Copilot/Cursor readiness or Codex trust/loading from scaffold files.
568
585
 
569
586
  Try asking:
570
587
  - "Create an endpoint in apps/api using our patterns"
@@ -0,0 +1,6 @@
1
+ # Codex project configuration (optional).
2
+ # Instructions: AGENTS.md; reusable skills: .agents/skills/.
3
+ # Intentionally comment-only: inherit the user's Codex defaults.
4
+ # Codex loads project config only after the user explicitly trusts the project.
5
+ # Configure optional MCP servers in native [mcp_servers.name] TOML, not .mcp.json.
6
+ # Reference: https://learn.chatgpt.com/docs/config-file/config-basic
@@ -104,6 +104,14 @@ Each app has its own `AGENTS.md` with detailed patterns:
104
104
 
105
105
  ## Detailed Instructions
106
106
 
107
+ ### Native Codex
108
+
109
+ Codex-scoped installs include `.github/instructions/` and `.claude/rules-snippets/` solely as AGENTS-linked standards and their wrapper sources. Read them as references when relevant, not as automatically loaded Codex rules or evidence of Copilot/Claude use; other harness command, agent, and config directories are excluded from `--env codex`.
110
+
111
+ Codex uses root and more-specific app/package `AGENTS.md` instructions and `.agents/skills/` natively. Read linked standards when relevant rather than assuming tool-specific rules are auto-loaded. Optional `.codex/config.toml` is comment-only and preserves inherited defaults; project config loads only after explicit user trust. Do not grant self-trust, change security/model/feature defaults, translate Claude frontmatter into Codex agents, or activate MCP servers automatically. Codex MCP uses native `[mcp_servers.name]` TOML, not `.mcp.json`.
112
+
113
+ For npm setup, read and follow `.nitm/BOOTSTRAP.md`. If manually copied and `.nitm/` is absent, read `.claude/prompt-snippets/bootstrap.md` as a task document; `/bootstrap` is not a native Codex command. Determine the actual harness from runtime information or ask; scaffold directories alone do not establish use. Named custom-agent examples below apply only to harnesses that support their formats; in Codex, use workflow skills and only available native delegation capabilities.
114
+
107
115
  Detailed standards are split into focused instruction files in `.github/instructions/`:
108
116
 
109
117
  | Instruction File | Description |
@@ -50,6 +50,14 @@ This is a monorepo managed with {{BUILD_SYSTEM}}.
50
50
 
51
51
  ## Getting Started
52
52
 
53
+ ### Native Codex
54
+
55
+ `--env codex` includes `.codex/`, `.agents/`, and shared context, plus `.github/instructions/` and `.claude/rules-snippets/` solely to supply AGENTS-linked standards and their wrapper source content. No other harness command, agent, or config directories are installed; these references do not establish Copilot/Claude use or load automatically as Codex rules. Other harness scopes are unchanged.
56
+
57
+ Codex reads root/nested `AGENTS.md` instructions and `.agents/skills/` natively. The optional comment-only `.codex/config.toml` preserves inherited defaults and is loaded only after explicit user trust; it does not grant trust or activate MCP servers. Codex MCP uses native `[mcp_servers.name]` TOML, not `.mcp.json`.
58
+
59
+ For npm setup, ask Codex to read and follow `.nitm/BOOTSTRAP.md`. For manual copies without `.nitm/`, provide `.claude/prompt-snippets/bootstrap.md` as a task document (copy the shared snippets too). For AI-guided updates, provide `.claude/prompt-snippets/bootstrap-patch.md`. Toolkit slash commands and other tools' custom-agent formats are not native Codex commands or agent definitions. Bootstrap must identify the actual running harness or ask, not infer it from scaffolded directories.
60
+
53
61
  ### Prerequisites
54
62
 
55
63
  - Node.js {{NODE_VERSION}}
@@ -19,6 +19,10 @@ Fetch the latest AI instruction templates from the ai-assisted-dev-toolkit repos
19
19
 
20
20
  ## Process
21
21
 
22
+ **Codex invocation and scope:** `/bootstrap-patch` is not a native Codex command. Ask Codex to read and follow this snippet as a task document. Identify the actual harness from session/runtime evidence or ask; scaffold directories do not prove use. Codex targets `AGENTS.md`, relevant nested instructions, `.agents/skills/`, and optional `.codex/config.toml`. Include `.github/instructions/` and `.claude/rules-snippets/` solely as AGENTS-linked standards and their wrapper sources for Codex-scoped installs, not automatically loaded rules or evidence of Copilot/Claude use. Only include other harness command, agent, and config categories when those harnesses are confirmed in use.
23
+
24
+ **Codex merge guardrails:** preserve existing TOML and inherited user defaults. The shipped `.codex/config.toml` is comment-only; parse it as TOML, do not add model/provider, approval, sandbox, security, feature, self-trust, or active MCP settings. Project config is loaded only after explicit user trust. MCP uses native `[mcp_servers.name]` TOML, not `.mcp.json`; do not migrate or activate servers automatically. Claude/Copilot frontmatter and OpenCode permission blocks are not Codex agent definitions; no Codex custom-agent format is shipped here.
25
+
22
26
  1. **Fetch Latest Templates**:
23
27
 
24
28
  Clone or fetch the latest ai-assisted-dev-toolkit templates:
@@ -65,6 +69,7 @@ Fetch the latest AI instruction templates from the ai-assisted-dev-toolkit repos
65
69
  | **Claude Agents** | `.claude/agents/*.agent.md` | `src/{type}/.claude/agents/*.agent.md` |
66
70
  | **Skills** | `.agents/skills/*/SKILL.md` | `src/{type}/.agents/skills/*/SKILL.md` |
67
71
  | **AGENTS.md** | `AGENTS.md` | `src/{type}/AGENTS.md` |
72
+ | **Codex Config** | `.codex/config.toml` | `src/{type}/.codex/config.toml` |
68
73
  | **CLAUDE.md** | `CLAUDE.md` | `src/{type}/CLAUDE.md` |
69
74
  | **Claude Rules Snippets** | `.claude/rules-snippets/*.md` | `src/{type}/.claude/rules-snippets/*.md` |
70
75
  | **Claude Prompt Snippets** | `.claude/prompt-snippets/*.md` | `src/{type}/.claude/prompt-snippets/*.md` |
@@ -8,6 +8,17 @@ Analyze the project structure and customize AI instruction templates for this co
8
8
  /bootstrap
9
9
  ```
10
10
 
11
+ **Codex:** `/bootstrap` is not a native Codex command. For npm installs, ask Codex to read and follow `.nitm/BOOTSTRAP.md`. For manually copied templates without `.nitm/`, ask it to read and follow `.claude/prompt-snippets/bootstrap.md` as a task document.
12
+
13
+ ### Harness selection and native Codex targets
14
+
15
+ - Identify the actual running harness from session/runtime information or ask the user which harnesses they use. Directory presence alone is not evidence: the default installer scaffolds every supported harness.
16
+ - Codex uses `AGENTS.md` (including more-specific nested instructions) and `.agents/skills/*/SKILL.md` natively. Read linked standards when relevant; `.github/instructions/` and Claude snippets are not automatically loaded as Codex rules.
17
+ - `.codex/config.toml` is an optional, comment-only project config. Preserve inherited defaults and existing user settings. Project config is loaded only after the user explicitly trusts the project; never write self-trust or change model/provider, approvals, sandbox, security, or feature settings during bootstrap.
18
+ - Calibrate Codex by customizing project instructions and skills, not by translating Claude/Copilot `tools:` frontmatter or OpenCode `permission:` blocks. This toolkit ships no Codex custom-agent format; use only delegation capabilities actually available in the running harness.
19
+ - Codex MCP uses native `[mcp_servers.name]` TOML, not `.mcp.json`. Treat other harness MCP templates as references only; do not activate servers, copy credentials, or install hooks automatically.
20
+ - Update and audit only confirmed harness targets. For Codex-only setup, `AGENTS.md`, `.agents/skills/`, and `.codex/config.toml` are the native targets. `--env codex` also includes `.github/instructions/` and `.claude/rules-snippets/` solely as AGENTS-linked standards and their wrapper sources, not automatically loaded rules or evidence of Copilot/Claude use; other harness command, agent, and config directories are excluded. The remaining tool-specific examples below are conditional.
21
+
11
22
  ## Process
12
23
 
13
24
  > **Merge, don't clobber.** If a target file already exists and carries project-specific content — customized agents, rules, skills, or `{{PLACEHOLDER}}` values already replaced — preserve it. Add missing structure; never overwrite a customized file with template defaults. When a template change conflicts with an existing customization, merge the addition and flag it for the user rather than replacing the file. For incremental updates after the first bootstrap, prefer `/bootstrap-patch`, which is purpose-built for meticulous merging.
@@ -197,6 +208,8 @@ Replace placeholders in all template files:
197
208
  **Files to Update:**
198
209
 
199
210
  - `AGENTS.md` - Project context and patterns (include project management section)
211
+ - `.agents/skills/*/SKILL.md` - Shared native skills (including Codex)
212
+ - `.codex/config.toml` - Optional Codex config; retain comment-only inherited defaults
200
213
  - `.github/copilot-instructions.md` - Copilot configuration
201
214
  - `.github/instructions/*.instructions.md` - Context instructions
202
215
  - `.github/prompts/*.prompt.md` - Reusable prompts
@@ -281,7 +294,7 @@ Use the first available method when interacting with the issue tracker:
281
294
 
282
295
  **If Jira:**
283
296
 
284
- 1. **MCP server** (preferred): `mcp_atlassian_atl_*` tools (configured in `.mcp.json`)
297
+ 1. **MCP server** (preferred): use the actual runtime tool names (`.mcp.json` for Claude; native `[mcp_servers.name]` TOML for Codex)
285
298
  2. **CLI fallback**: [`acli`](https://developer.atlassian.com/cloud/acli/reference/commands/) — `acli jira auth login --web`
286
299
 
287
300
  **If GitHub Issues:**
@@ -291,7 +304,7 @@ Use the first available method when interacting with the issue tracker:
291
304
 
292
305
  **If Linear:**
293
306
 
294
- 1. **MCP server** (preferred): `mcp_linear_*` tools (configured in `.mcp.json`)
307
+ 1. **MCP server** (preferred): use the actual runtime tool names (`.mcp.json` for Claude; native `[mcp_servers.name]` TOML for Codex)
295
308
  2. **CLI fallback**: [`linear`](https://github.com/linear/linear-cli) — `linear auth` or set `LINEAR_API_KEY`
296
309
 
297
310
  See the `issue-tracker` and relevant CLI skills for detailed setup and usage examples.
@@ -407,6 +420,8 @@ Customize agent definition files (`.github/agents/` and `.cursor/agents/`) based
407
420
 
408
421
  The `tools:` block (Claude Code, GitHub Copilot) and `permission:` block (OpenCode) must match each agent's role **and** the detected project. Templates ship with defaults, but calibrate them during bootstrap so every agent can do its job without being over-provisioned.
409
422
 
423
+ **Codex native calibration:** apply the harness-selection guidance above. Do not generate Codex agent files from this table or change native security settings to simulate per-role tool gating.
424
+
410
425
  **1. Capability baseline per role** — what the agent functionally needs:
411
426
 
412
427
  | Agent | read | search | write | edit | terminal/bash | spawn subagents |
@@ -481,14 +496,15 @@ Apply agent customizations? (Y/n)
481
496
 
482
497
  ### Step 6: Detect Installed AI Agents
483
498
 
484
- Before recommending skills, detect which AI agent directories exist in the workspace. Supported agents are located here: https://github.com/vercel-labs/skills?tab=readme-ov-file#available-agents:
499
+ Before recommending skills, identify the running harness from session/runtime information and confirm additional harnesses with the user. Consult supported skill installer IDs at https://github.com/vercel-labs/skills?tab=readme-ov-file#available-agents.
485
500
 
486
- **Note:** `.agents/` directory is used by multiple agents: `amp`, `codex`, `gemini-cli`, `github-copilot`, `opencode`, `replit`. If only `.agents/` exists, default to `codex` or `github-copilot` based on other indicators.
501
+ **Note:** `.agents/` is shared by multiple agents. Neither it nor `.codex/`, `.claude/`, `.cursor/`, or `.github/` proves a harness is installed or in use; the toolkit scaffolds all by default. If runtime evidence is unavailable, ask rather than defaulting to an agent.
487
502
 
488
503
  **Build the agent flags string:**
489
- - For each detected agent, add `-a <agent>` to the command
490
- - Example: If `.cursor/` and `.github/` exist → use `-a cursor -a github-copilot`
491
- - If no agents detected, omit `-a` flags (CLI will prompt)
504
+ - For each confirmed harness, add `-a <supported-agent-id>` to the command
505
+ - Example: confirmed Codex only → `{{AGENT_FLAGS}}` becomes `-a codex` (supported by the skills installer)
506
+ - Example: confirmed Cursor and Copilot → `-a cursor -a github-copilot`
507
+ - If no harness is confirmed, ask before installing (or let the CLI prompt); do not infer from scaffold directories
492
508
 
493
509
  ### Step 7: AI Agent Skills Recommendation
494
510
 
@@ -553,13 +569,13 @@ This template bundles issue tracker skills in `.agents/skills/`. Verify the corr
553
569
  | React | `vercel-labs/agent-skills` | `npx -y skills add {{AGENT_FLAGS}} vercel-labs/agent-skills --skill "vercel-react-best-practices"` |
554
570
  | Vue | `onmax/nuxt-skills` (vue) | `npx -y skills add {{AGENT_FLAGS}} onmax/nuxt-skills --skill "vue"` |
555
571
  | Nuxt | `onmax/nuxt-skills` (nuxt) | `npx -y skills add {{AGENT_FLAGS}} onmax/nuxt-skills --skill "nuxt"` |
556
- | Expo | `expo/skills` | `npx -y skills add {{AGENT_FLAGS}} expo/skills --skill '*' --agent github-copilot cursor` |
557
- | TypeScript | `pproenca/dot-skills` (typescript) | `npx -y skills add {{AGENT_FLAGS}} pproenca/dot-skills --skill '*' --agent github-copilot cursor` |
558
- | Advanced Types | `wshobson/agents` (ts-advanced-types) | `npx -y skills add {{AGENT_FLAGS}} wshobson/agents --skill '*' --agent github-copilot cursor` |
572
+ | Expo | `expo/skills` | `npx -y skills add {{AGENT_FLAGS}} expo/skills --skill '*'` |
573
+ | TypeScript | `pproenca/dot-skills` (typescript) | `npx -y skills add {{AGENT_FLAGS}} pproenca/dot-skills --skill '*'` |
574
+ | Advanced Types | `wshobson/agents` (ts-advanced-types) | `npx -y skills add {{AGENT_FLAGS}} wshobson/agents --skill '*'` |
559
575
 
560
576
  **Skill Creation for Unsupported Frameworks:**
561
577
 
562
- Use `npx -y skills add {{AGENT_FLAGS}} anthropics/skills --skill '*' --agent github-copilot cursor` (includes `skill-creator`) to create custom skills.
578
+ Use `npx -y skills add {{AGENT_FLAGS}} anthropics/skills --skill '*'` (includes `skill-creator`) to create custom skills.
563
579
 
564
580
  **Present Recommendation:**
565
581
 
@@ -574,9 +590,9 @@ Based on your project ({{FRAMEWORK}}/{{LANGUAGE}}):
574
590
  ### Core Skills (recommended for all projects)
575
591
 
576
592
  ```bash
577
- npx -y skills add {{AGENT_FLAGS}} obra/superpowers --skill '*' --agent github-copilot cursor
578
- npx -y skills add {{AGENT_FLAGS}} trailofbits/skills --skill '*' --agent github-copilot cursor
579
- npx -y skills add {{AGENT_FLAGS}} softaworks/agent-toolkit --skill '*' --agent github-copilot cursor
593
+ npx -y skills add {{AGENT_FLAGS}} obra/superpowers --skill '*'
594
+ npx -y skills add {{AGENT_FLAGS}} trailofbits/skills --skill '*'
595
+ npx -y skills add {{AGENT_FLAGS}} softaworks/agent-toolkit --skill '*'
580
596
  `````
581
597
 
582
598
  ### Issue Tracker Skills (bundled — {{ISSUE_TRACKER}})
@@ -592,7 +608,7 @@ npx -y skills add {{AGENT_FLAGS}} softaworks/agent-toolkit --skill '*' --agent g
592
608
  ### Framework-Specific Skills
593
609
 
594
610
  ```bash
595
- npx -y skills add {{FRAMEWORK_SKILL_REPO}} --skill '*' --agent github-copilot cursor
611
+ npx -y skills add {{AGENT_FLAGS}} {{FRAMEWORK_SKILL_REPO}} --skill '*'
596
612
  ```
597
613
 
598
614
  ### Install All?
@@ -604,11 +620,13 @@ Would you like to install these skills now? (Y/n)
604
620
  **On Confirmation:**
605
621
 
606
622
  - Run skill installation commands
607
- - Skills installed to `.github/skills/{skill-name}/` (by skill name, not org/repo)
623
+ - Verify the installer's reported paths; Codex uses `.agents/skills/{skill-name}/` (by skill name, not org/repo)
608
624
  - Update `AGENTS.md` to reference installed skills
609
625
 
610
626
  ### Step 7: Completion Report
611
627
 
628
+ Populate this example with only files actually changed and skills actually installed. Omit unconfirmed harness targets; for Codex, include native targets and shared reference standards only when changed. This is a change inventory, not proof of runtime loading or trust.
629
+
612
630
  ```markdown
613
631
  ## ✅ Bootstrap Complete!
614
632
 
@@ -623,27 +641,19 @@ Would you like to install these skills now? (Y/n)
623
641
 
624
642
  ### Updated Files
625
643
 
626
- - [x] AGENTS.md (with {{LANGUAGE}} patterns)
627
- - [x] .github/copilot-instructions.md
628
- - [x] .github/instructions/\*.instructions.md
629
- - [x] .cursor/rules/\*.mdc
630
- - [x] .cursor/commands/\*.md
631
- - [x] .github/prompts/\*.prompt.md
632
- - [x] .claude/rules/\*.md (thin wrappers)
633
- - [x] .claude/rules-snippets/\*.md (rules content)
634
- - [x] .claude/prompt-snippets/\*.md (prompt content)
635
- - [x] .claude/agents-snippets/\*.md (agent content)
636
- - [x] .opencode/opencode.jsonc
637
- - [x] .opencode/commands/\*.md
638
- - [x] .opencode/rules/\*.md
639
- - [x] .opencode/agents/\*.md
640
- - [x] .toolkit-version
644
+ - AGENTS.md (with {{LANGUAGE}} patterns; if changed)
645
+ - .agents/skills/\*/SKILL.md (if changed)
646
+ - .codex/config.toml (Codex; if changed)
647
+ - .github/instructions/\*.instructions.md (linked standards or confirmed Copilot; if changed)
648
+ - .claude/rules-snippets/\*.md (reference sources; if changed)
649
+ - Other confirmed harness files actually changed (list exact paths)
650
+ - .toolkit-version (if changed)
641
651
 
642
652
  ### Installed Skills
643
653
 
644
- - [x] obra/superpowers - Development workflow
645
- - [x] trailofbits/skills - Security & quality
646
- - [x] {{FRAMEWORK_SKILL}} - Framework patterns
654
+ - obra/superpowers - Development workflow (only if installed)
655
+ - trailofbits/skills - Security & quality (only if installed)
656
+ - {{FRAMEWORK_SKILL}} - Framework patterns (only if installed)
647
657
 
648
658
  ### Next Steps
649
659
 
@@ -662,7 +672,7 @@ After bootstrap completion, review all installed skills for relevance:
662
672
  **Skill Audit Process:**
663
673
 
664
674
  1. **Inventory Installed Skills**
665
- - Scan `.github/skills/` and `.cursor/skills/` directories
675
+ - Scan `.agents/skills/` and confirmed harness skill directories, including `.github/skills/` and `.cursor/skills/` if used
666
676
  - List all installed skill names and descriptions
667
677
  - Check each skill's SKILL.md for its purpose
668
678
 
@@ -743,7 +753,9 @@ Kept {{N}} relevant skills:
743
753
 
744
754
  Verify that all necessary instruction files exist and are properly configured:
745
755
 
746
- **Required Instruction Files:**
756
+ For Codex, verify `AGENTS.md`, relevant nested `AGENTS.md` files, and `.agents/skills/*/SKILL.md`; parse `.codex/config.toml` as TOML and confirm it retains inherited defaults. The Copilot-specific audit below applies only when Copilot is confirmed in use; do not create Copilot instructions merely to satisfy a Codex audit.
757
+
758
+ **Required Copilot Instruction Files (only if Copilot is confirmed in use):**
747
759
 
748
760
  | File | Purpose | Location |
749
761
  | ----------------------------- | ------------------------------- | ----------------------- |
@@ -754,10 +766,10 @@ Verify that all necessary instruction files exist and are properly configured:
754
766
  | `testing.instructions.md` | Testing conventions | `.github/instructions/` |
755
767
  | `api.instructions.md` | API conventions (if applicable) | `.github/instructions/` |
756
768
 
757
- **Detection & Validation:**
769
+ **Copilot Detection & Validation Example (only if confirmed in use):**
758
770
 
759
771
  ```markdown
760
- ## 📋 Instruction Files Audit
772
+ ## 📋 Copilot Instruction Files Audit — confirmed Copilot use only
761
773
 
762
774
  ### ✅ Found ({{N}} files)
763
775
 
@@ -783,18 +795,18 @@ Verify that all necessary instruction files exist and are properly configured:
783
795
  | `.claude/prompt-snippets/` | Prompt content (source of truth) | ✓ |
784
796
  | `.claude/agents-snippets/` | Agent definitions (source of truth) | ✓ |
785
797
 
786
- ### 📝 Create Missing Instruction Files?
798
+ ### 📝 Create Missing Copilot Instruction Files? (confirmed Copilot use only)
787
799
 
788
800
  These files would help AI understand your project's conventions.
789
801
 
790
802
  Create recommended instructions? (Y/n)
791
803
  ```
792
804
 
793
- **On Confirmation:**
805
+ **On Confirmation (only if Copilot is confirmed in use):**
794
806
 
795
- Generate missing instruction files with appropriate templates:
807
+ Generate missing Copilot instruction files with appropriate templates; skip creation for a Codex-only audit even when shared reference standards are present:
796
808
 
797
- **Example: Framework Instruction Template**
809
+ **Copilot Example: Framework Instruction Template (only if confirmed in use)**
798
810
 
799
811
  ```markdown
800
812
  ---
@@ -848,7 +860,7 @@ Key packages:
848
860
  - [Project README](README.md)
849
861
  ```
850
862
 
851
- **Example: Testing Instruction Template**
863
+ **Copilot Example: Testing Instruction Template (only if confirmed in use)**
852
864
 
853
865
  ```markdown
854
866
  ---
@@ -899,10 +911,10 @@ Available test utilities:
899
911
  - {{TESTING_ANTIPATTERN_2}}
900
912
  ```
901
913
 
902
- **Post-Creation Report:**
914
+ **Copilot Post-Creation Report Example (only if confirmed in use and files were created):**
903
915
 
904
916
  ```markdown
905
- ## ✅ Instruction Files Created
917
+ ## ✅ Copilot Instruction Files Created — confirmed Copilot use only
906
918
 
907
919
  Created {{N}} new instruction files:
908
920
 
@@ -922,18 +934,20 @@ All instruction files are automatically loaded by GitHub Copilot when editing ma
922
934
 
923
935
  ### Step 10: Final Verification
924
936
 
937
+ Report only actual changes and checks for confirmed harnesses. For Codex, distinguish file inspection and TOML validation from runtime instruction/skill discovery, project trust, and config loading. Mark runtime behavior unverified unless directly confirmed; file presence alone proves none of these. Remove inapplicable rows and mark checklist items complete only after performing the check.
938
+
925
939
  ```markdown
926
- ## ✅ Bootstrap Complete & Verified!
940
+ ## Bootstrap Verification Report
927
941
 
928
942
  ### Summary
929
943
 
930
944
  | Category | Count | Status |
931
945
  | ------------------------- | ----- | ------ |
932
- | Files updated | {{N}} | ✓ |
933
- | Skills installed | {{N}} | ✓ |
934
- | Skills removed | {{N}} | ✓ |
935
- | Instruction files created | {{N}} | ✓ |
936
- | Project management | 1 | ✓ |
946
+ | Files updated | {{N}} | Report actual result |
947
+ | Skills installed | {{N}} | Report actual result |
948
+ | Skills removed | {{N}} | Report actual result |
949
+ | Instruction files created | {{N}} | Report actual result |
950
+ | Project management | 1 | Report actual result or not configured |
937
951
 
938
952
  ### Project Management Configuration
939
953
 
@@ -941,7 +955,7 @@ All instruction files are automatically loaded by GitHub Copilot when editing ma
941
955
  **URL:** {{PM_URL}} _(if applicable)_
942
956
  **Project Key:** {{PROJECT_KEY}} _(if applicable)_
943
957
  **Issue Format:** `{{PM_ISSUE_KEY}}`
944
- **Location:** Root AGENTS.md and copilot-instructions.md
958
+ **Location:** Root AGENTS.md; include copilot-instructions.md only if Copilot is confirmed and the file was updated
945
959
 
946
960
  ### Skill Inventory
947
961
 
@@ -953,7 +967,7 @@ All instruction files are automatically loaded by GitHub Copilot when editing ma
953
967
 
954
968
  ### Instruction Files
955
969
 
956
- **Active Instructions ({{N}}):**
970
+ **Inspected Instructions ({{N}}; report runtime loading separately):**
957
971
 
958
972
  - {{INSTRUCTION_1}}
959
973
  - {{INSTRUCTION_2}}
@@ -961,25 +975,28 @@ All instruction files are automatically loaded by GitHub Copilot when editing ma
961
975
 
962
976
  ### Quality Checks
963
977
 
964
- - [x] All placeholders replaced
965
- - [x] Framework patterns match detected stack
966
- - [x] No duplicate skills
967
- - [x] AGENTS.md configured
968
- - [x] Instruction files cover all frameworks
969
- - [x] Skills align with tech stack
970
- - [x] Snippet directories created
971
- - [x] Thin wrappers reference correct snippets
972
- - [x] .opencode/ directory configured
973
- - [x] .toolkit-version file created
974
-
975
- ### Your Project is Ready! 🎉
976
-
977
- GitHub Copilot and Cursor will now understand:
978
-
979
- - Your project structure
980
- - Framework-specific patterns
981
- - Custom conventions
982
- - Testing strategies
978
+ - [ ] All placeholders replaced (list any remaining)
979
+ - [ ] Framework patterns match detected stack
980
+ - [ ] No duplicate skills
981
+ - [ ] AGENTS.md configured
982
+ - [ ] Instruction files cover applicable frameworks
983
+ - [ ] Skills align with tech stack
984
+ - [ ] Required reference snippet sources present and links resolve
985
+ - [ ] Thin wrappers reference correct snippets (if applicable)
986
+ - [ ] OpenCode configuration validated (only if OpenCode is confirmed in use)
987
+ - [ ] .toolkit-version file created or checked
988
+
989
+ ### Native Codex Check Example (only if Codex is confirmed in use)
990
+
991
+ | Target | Check to report | Result |
992
+ | ------ | --------------- | ------ |
993
+ | `AGENTS.md` and relevant nested files | Contents and linked standards inspected | Actual inspection result |
994
+ | `.agents/skills/*/SKILL.md` | Skill contents and relevance inspected | Actual inspection result; runtime discovery unverified unless confirmed |
995
+ | `.codex/config.toml` (if present) | TOML syntax and inherited defaults inspected | Actual validation result; user trust and native loading unverified unless confirmed |
996
+
997
+ ### Next Steps for Confirmed Harnesses
998
+
999
+ List the confirmed harnesses, checks actually performed, remaining issues, and runtime checks still needed. Do not infer Copilot/Cursor readiness or Codex trust/loading from scaffold files.
983
1000
 
984
1001
  Try asking:
985
1002
 
@@ -0,0 +1,6 @@
1
+ # Codex project configuration (optional).
2
+ # Instructions: AGENTS.md; reusable skills: .agents/skills/.
3
+ # Intentionally comment-only: inherit the user's Codex defaults.
4
+ # Codex loads project config only after the user explicitly trusts the project.
5
+ # Configure optional MCP servers in native [mcp_servers.name] TOML, not .mcp.json.
6
+ # Reference: https://learn.chatgpt.com/docs/config-file/config-basic
@@ -79,6 +79,14 @@ When stopping to ask a question, do not just post an open-ended block of text. F
79
79
 
80
80
  ## Detailed Instructions
81
81
 
82
+ ### Native Codex
83
+
84
+ Codex-scoped installs include `.github/instructions/` and `.claude/rules-snippets/` solely as AGENTS-linked standards and their wrapper sources. Read them as references when relevant, not as automatically loaded Codex rules or evidence of Copilot/Claude use; other harness command, agent, and config directories are excluded from `--env codex`.
85
+
86
+ Codex uses this `AGENTS.md` and `.agents/skills/` natively; more-specific nested `AGENTS.md` files provide scoped guidance. Read linked standards when relevant rather than assuming tool-specific rules are auto-loaded. Optional `.codex/config.toml` is comment-only and preserves inherited defaults; project config loads only after explicit user trust. Do not grant self-trust, change security/model/feature defaults, translate Claude frontmatter into Codex agents, or activate MCP servers automatically. Codex MCP uses native `[mcp_servers.name]` TOML, not `.mcp.json`.
87
+
88
+ For npm setup, read and follow `.nitm/BOOTSTRAP.md`. If manually copied and `.nitm/` is absent, read `.claude/prompt-snippets/bootstrap.md` as a task document; `/bootstrap` is not a native Codex command. Determine the actual harness from runtime information or ask; scaffold directories alone do not establish use. Named custom-agent examples below apply only to harnesses that support their formats; in Codex, use workflow skills and only available native delegation capabilities.
89
+
82
90
  Detailed standards are split into focused instruction files in `.github/instructions/`:
83
91
 
84
92
  | Instruction File | Description |
@@ -110,6 +110,14 @@ See the following files for AI-assisted development:
110
110
 
111
111
  ## AI Instructions and Commands
112
112
 
113
+ ### Native Codex
114
+
115
+ `--env codex` includes `.codex/`, `.agents/`, and shared context, plus `.github/instructions/` and `.claude/rules-snippets/` solely to supply AGENTS-linked standards and their wrapper source content. No other harness command, agent, or config directories are installed; these references do not establish Copilot/Claude use or load automatically as Codex rules. Other harness scopes are unchanged.
116
+
117
+ Codex reads `AGENTS.md` and `.agents/skills/` natively. The optional comment-only `.codex/config.toml` preserves inherited defaults and is loaded only after explicit user trust; it does not grant trust or activate MCP servers. Codex MCP uses native `[mcp_servers.name]` TOML, not `.mcp.json`.
118
+
119
+ For npm setup, ask Codex to read and follow `.nitm/BOOTSTRAP.md`. For manual copies without `.nitm/`, provide `.claude/prompt-snippets/bootstrap.md` as a task document (copy the shared snippets too). For AI-guided updates, provide `.claude/prompt-snippets/bootstrap-patch.md`. The slash commands below and tool-specific custom-agent formats are not native Codex commands or agent definitions. Bootstrap must identify the actual running harness or ask, not infer it from scaffolded directories.
120
+
113
121
  This repository includes AI instruction files to standardize development workflows across tools. The `.cursor/` and `.github/` folders define how AI assistants should analyze, plan, implement, and review changes.
114
122
 
115
123
  ### Planning