codexkit 1.0.0 → 1.0.1

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.
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.0.0",
2
+ "version": "1.0.1",
3
3
  "generator": "codexkit",
4
4
  "files": {
5
5
  "templates/global/AGENTS.override.md": "11039408f8776171820ce34165b5da6d52a703d26a938fb773e231a159eefe2c",
@@ -8,7 +8,7 @@
8
8
  "templates/project/AGENTS.md.template": "acb5ea31fd561ddbbc79c6baf6de98b990bbac693ba6d836406d270a1f27a981",
9
9
  ".codex/config.toml": "4f87b2685b6daefea111792f5845388f7f0bbc2c0153d1d4c7428f795d437274",
10
10
  ".codex/.env.example": "1827612829279fad025404b763ea214412bd5cd53474ad315909a8c275f12b84",
11
- ".codex/.version": "59854984853104df5c353e2f681a15fc7924742f9a2e468c29af248dce45ce03",
11
+ ".codex/.version": "44e161e4495cac2cf7858043e9e6418e9579f0ddcfae826f9a372622968ce066",
12
12
  ".codex/agents/builder.toml": "90da25e01967639be3d7b5a204be69d1dfa67ea3fea2d6bf93e0deb7be3bbb8b",
13
13
  ".codex/agents/debugger.toml": "d709c5f64ae2ec8ee901766441b9687ce9ea40d5a8966aec594d757dc5327d9e",
14
14
  ".codex/agents/general.toml": "a2fa240c01bcc33272c585d1bfa996cf1c0686204b7cc909f0fd1cdad1f5c830",
@@ -378,6 +378,10 @@
378
378
  ".codex/skills/prd-task/SKILL.md": "265bfa4b625008107214da07d5e6631081ffbe532e07366418c28fc8f7dfd927",
379
379
  ".codex/skills/prd-task/references/prd-schema.json": "11852d540895c380e41f7d5144b66c39a6b9814cc9577a97c20fdcf5d32dca5c",
380
380
  ".codex/skills/prd/SKILL.md": "78d08475e17e2780c7490fa0ab94ae47056f22c5f327289a752155e9a8ca16b9",
381
+ ".codex/skills/prompt-leverage/SKILL.md": "6fb4e770d1369d9a749a4b069411943a3282a105116744437b7be61e02c7ab58",
382
+ ".codex/skills/prompt-leverage/agents/openai.yaml": "d9f369a441454d08c3bce3370ab9d1b8b99affe504cbbbbf9e5d0f391f99cdb6",
383
+ ".codex/skills/prompt-leverage/references/framework.md": "077c15695ee6d81ea98ea1e4a9784e2608d14458c4492a186fd00aabce866f45",
384
+ ".codex/skills/prompt-leverage/scripts/augment_prompt.py": "f358e722d0b01c9102c1ca39a3b56e3499162ee40284be6407222ac7a158ed84",
381
385
  ".codex/skills/ralph/SKILL.md": "2fbb90ecff8a6e72647a50eafb20969c5e32fbba4ff2299890858f0bdc030f27",
382
386
  ".codex/skills/react-best-practices/AGENTS.md": "abcae0302cfe0b942865a3638f228d62176fc85a07665a78ba70082306488d56",
383
387
  ".codex/skills/react-best-practices/README.md": "9eafb2123d3b8b2aef41fba0db2648a3f4f49996f8c7c8bb2c86263befd8b48a",
@@ -599,7 +603,7 @@
599
603
  ".codex/context/conventions.md": "5e4ae568d3e20adf1fb6a3461ef2b63032516c19e8ca5f464a4e1f9a96579dce",
600
604
  ".codex/context/current-priorities.md": "a08fde77471c58fce21efeab4f1e64ed39f96ba0d634219f5d437396287ea662",
601
605
  ".codex/context/decision-log.md": "c5e635447d7f288f610a38c000f646fd7d5c9137e46c578e4769a0ba0ebcf5d4",
602
- ".codex/context/gotchas.md": "b9862dad721e8d6eab8944c42e934e8549debd34b8a47369c0beb074af522b82",
606
+ ".codex/context/gotchas.md": "8dca6e3ab28e3441c407b8338e994d1638a79f41e82b6abfc12e8e9bb054a320",
603
607
  ".codex/context/index.md": "dd75cdaff5d758ba3634b18e39050446e74064bbbd835d90212b685aaf10e64f",
604
608
  ".codex/context/session-context.md": "c8b82907ea2b3769a1143031adc831b0b2ed25645df2f681f8eb930995a7337c",
605
609
  ".codex/context/worklog.md": "2059df0ad6cf2fd0df7765440526b23007f65b4acf6af901ce24636948c81807",
@@ -618,7 +622,7 @@
618
622
  ".codex/memory/_templates/tasks.md": "54119ce84fd0aa6ecd0148355f33808c061147da774475c94bf7e47bb18f73dd",
619
623
  ".codex/memory/_templates/tech-stack.md": "06cfafa736d9f32876aecfad9cfe54785a4db7dcecf94abdb09b7895761d763f",
620
624
  ".codex/memory/_templates/user.md": "4156bd3195edab1b196ac3f398ca7ec90295b91c3a5b028673be065463e5fdaf",
621
- ".codex/memory/project/gotchas.md": "1a4f9d60f2d80cc7edb8f5a37577f7d1b5757a6dcc4864eeb70f620aa80e89d0",
625
+ ".codex/memory/project/gotchas.md": "05ce128ced24deffbb51a8b7167000c4e4816c4e3275a98f439fddb0e95c2bd6",
622
626
  ".codex/memory/project/project.md": "94a76028472946ba9782534de4920e9a77cfdf0f4daa063a97569660ccc06e21",
623
627
  ".codex/memory/project/roadmap.md": "6027b3bd3eaeed02b16a59037e760200ce8505f3007375faf2543b4b58bcee6e",
624
628
  ".codex/memory/project/state.md": "4c07c283fe11527bfe9f8195cfbc268b5e31326b8089cf271a473f0ad83b5f1b",
package/.codex/.version CHANGED
@@ -1 +1 @@
1
- 1.0.0
1
+ 1.0.1
@@ -20,7 +20,8 @@ Known edge cases, footguns, and "I wish I knew this earlier" items.
20
20
 
21
21
  - Custom prompts are deprecated — use Skills for new workflows
22
22
  - Prompts only load from `~/.codex/prompts/` (user-level), not project directory
23
- - Project prompts in `.codex/prompts/` serve as documentation/reference
23
+ - `codexkit install` bootstraps `~/.codex/prompts/` automatically for the current user when shared inventory is absent
24
+ - Project prompts in `.codex/prompts/` remain the local source-of-truth/reference copy
24
25
 
25
26
  ## Beads
26
27
 
@@ -1,5 +1,5 @@
1
1
  # Gotchas
2
2
 
3
- - Keep skill source of truth in `.codex/skills/`; if install creates `.agents/skills`, treat it as disposable local wiring only.
3
+ - Keep skill source of truth in `.codex/skills/`; Codexkit project installs no longer create a sibling `.agents/skills` tree.
4
4
  - Validate install scripts after changing prompts, hooks, or agent definitions.
5
5
  - Do not claim memory automation works unless the underlying files and scripts exist.
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.0.0",
2
+ "version": "1.0.1",
3
3
  "generator": "codexkit",
4
4
  "files": {
5
5
  "templates/global/AGENTS.override.md": "11039408f8776171820ce34165b5da6d52a703d26a938fb773e231a159eefe2c",
@@ -8,7 +8,7 @@
8
8
  "templates/project/AGENTS.md.template": "acb5ea31fd561ddbbc79c6baf6de98b990bbac693ba6d836406d270a1f27a981",
9
9
  ".codex/config.toml": "4f87b2685b6daefea111792f5845388f7f0bbc2c0153d1d4c7428f795d437274",
10
10
  ".codex/.env.example": "1827612829279fad025404b763ea214412bd5cd53474ad315909a8c275f12b84",
11
- ".codex/.version": "59854984853104df5c353e2f681a15fc7924742f9a2e468c29af248dce45ce03",
11
+ ".codex/.version": "44e161e4495cac2cf7858043e9e6418e9579f0ddcfae826f9a372622968ce066",
12
12
  ".codex/agents/builder.toml": "90da25e01967639be3d7b5a204be69d1dfa67ea3fea2d6bf93e0deb7be3bbb8b",
13
13
  ".codex/agents/debugger.toml": "d709c5f64ae2ec8ee901766441b9687ce9ea40d5a8966aec594d757dc5327d9e",
14
14
  ".codex/agents/general.toml": "a2fa240c01bcc33272c585d1bfa996cf1c0686204b7cc909f0fd1cdad1f5c830",
@@ -378,6 +378,10 @@
378
378
  ".codex/skills/prd-task/SKILL.md": "265bfa4b625008107214da07d5e6631081ffbe532e07366418c28fc8f7dfd927",
379
379
  ".codex/skills/prd-task/references/prd-schema.json": "11852d540895c380e41f7d5144b66c39a6b9814cc9577a97c20fdcf5d32dca5c",
380
380
  ".codex/skills/prd/SKILL.md": "78d08475e17e2780c7490fa0ab94ae47056f22c5f327289a752155e9a8ca16b9",
381
+ ".codex/skills/prompt-leverage/SKILL.md": "6fb4e770d1369d9a749a4b069411943a3282a105116744437b7be61e02c7ab58",
382
+ ".codex/skills/prompt-leverage/agents/openai.yaml": "d9f369a441454d08c3bce3370ab9d1b8b99affe504cbbbbf9e5d0f391f99cdb6",
383
+ ".codex/skills/prompt-leverage/references/framework.md": "077c15695ee6d81ea98ea1e4a9784e2608d14458c4492a186fd00aabce866f45",
384
+ ".codex/skills/prompt-leverage/scripts/augment_prompt.py": "f358e722d0b01c9102c1ca39a3b56e3499162ee40284be6407222ac7a158ed84",
381
385
  ".codex/skills/ralph/SKILL.md": "2fbb90ecff8a6e72647a50eafb20969c5e32fbba4ff2299890858f0bdc030f27",
382
386
  ".codex/skills/react-best-practices/AGENTS.md": "abcae0302cfe0b942865a3638f228d62176fc85a07665a78ba70082306488d56",
383
387
  ".codex/skills/react-best-practices/README.md": "9eafb2123d3b8b2aef41fba0db2648a3f4f49996f8c7c8bb2c86263befd8b48a",
@@ -599,7 +603,7 @@
599
603
  ".codex/context/conventions.md": "5e4ae568d3e20adf1fb6a3461ef2b63032516c19e8ca5f464a4e1f9a96579dce",
600
604
  ".codex/context/current-priorities.md": "a08fde77471c58fce21efeab4f1e64ed39f96ba0d634219f5d437396287ea662",
601
605
  ".codex/context/decision-log.md": "c5e635447d7f288f610a38c000f646fd7d5c9137e46c578e4769a0ba0ebcf5d4",
602
- ".codex/context/gotchas.md": "b9862dad721e8d6eab8944c42e934e8549debd34b8a47369c0beb074af522b82",
606
+ ".codex/context/gotchas.md": "8dca6e3ab28e3441c407b8338e994d1638a79f41e82b6abfc12e8e9bb054a320",
603
607
  ".codex/context/index.md": "dd75cdaff5d758ba3634b18e39050446e74064bbbd835d90212b685aaf10e64f",
604
608
  ".codex/context/session-context.md": "c8b82907ea2b3769a1143031adc831b0b2ed25645df2f681f8eb930995a7337c",
605
609
  ".codex/context/worklog.md": "2059df0ad6cf2fd0df7765440526b23007f65b4acf6af901ce24636948c81807",
@@ -618,7 +622,7 @@
618
622
  ".codex/memory/_templates/tasks.md": "54119ce84fd0aa6ecd0148355f33808c061147da774475c94bf7e47bb18f73dd",
619
623
  ".codex/memory/_templates/tech-stack.md": "06cfafa736d9f32876aecfad9cfe54785a4db7dcecf94abdb09b7895761d763f",
620
624
  ".codex/memory/_templates/user.md": "4156bd3195edab1b196ac3f398ca7ec90295b91c3a5b028673be065463e5fdaf",
621
- ".codex/memory/project/gotchas.md": "1a4f9d60f2d80cc7edb8f5a37577f7d1b5757a6dcc4864eeb70f620aa80e89d0",
625
+ ".codex/memory/project/gotchas.md": "05ce128ced24deffbb51a8b7167000c4e4816c4e3275a98f439fddb0e95c2bd6",
622
626
  ".codex/memory/project/project.md": "94a76028472946ba9782534de4920e9a77cfdf0f4daa063a97569660ccc06e21",
623
627
  ".codex/memory/project/roadmap.md": "6027b3bd3eaeed02b16a59037e760200ce8505f3007375faf2543b4b58bcee6e",
624
628
  ".codex/memory/project/state.md": "4c07c283fe11527bfe9f8195cfbc268b5e31326b8089cf271a473f0ad83b5f1b",
package/CHANGELOG.md CHANGED
@@ -7,6 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [1.0.1] — 2026-03-15
11
+
12
+ ### Fixed
13
+
14
+ - `codexkit install` no longer scaffolds a sibling `.agents/` tree in target projects
15
+ - Project installs now bootstrap user-scoped prompt discovery into `~/.codex/prompts`, so `/prompts:...` works without requiring `codexkit install-global`
16
+ - Installer, validator, docs, and integration tests now reflect the project-only install contract correctly
17
+
10
18
  ## [1.0.0] — 2026-03-14
11
19
 
12
20
  ### Added
package/README.md CHANGED
@@ -111,7 +111,7 @@ codexkit bead-sync br-123
111
111
  codexkit run --profile explore
112
112
  ```
113
113
 
114
- > **Important:** `codexkit install` is enough for a project-local setup. `codexkit install-global` is optional and only needed when you want multiple repos to reuse shared inventory from `~/.codex/`.
114
+ > **Important:** `codexkit install` is enough for a project-local setup. It scaffolds the project into `.codex/` and bootstraps prompt discovery into `~/.codex/prompts` for the current user. `codexkit install-global` is optional and only needed when you want multiple repos to reuse shared inventory from `~/.codex/`.
115
115
  > **MCP auth:** keep project MCP secrets in `.codex/.env` and start Codex with `codexkit run`. Do not assume `codex` will auto-load project `.env` files by itself.
116
116
  > **No root env file:** Codexkit does not use `./.env` or `./.env.example` for MCP bootstrap. The supported location is `.codex/.env`.
117
117
  > **Git-based access:** GitHub-based npm installs and private archive flows still require repository or artifact access. The public npm package does not.
@@ -200,7 +200,7 @@ See [docs/profiles.md](docs/profiles.md) for detailed descriptions and customiza
200
200
 
201
201
  19 structured workflow entry points — the **"what"** of your development process.
202
202
 
203
- > **Note:** Prompts require global installation. Run `bash install/install-global.sh`, use an authorized archive-based remote install with `--global`, or use `codexkit install-global`.
203
+ > **Note:** Codex prompt discovery is user-scoped at `~/.codex/prompts`. `codexkit install` bootstraps that prompt directory automatically for the current user, while `codexkit install-global` installs the full shared inventory.
204
204
 
205
205
  | Category | Prompt | Purpose |
206
206
  | ----------------- | ----------------- | ------------------------------------------------- |
@@ -80,6 +80,37 @@ root_shared_inventory_available() {
80
80
  [ -d "$GLOBAL_CODEX_DIR/skills" ]
81
81
  }
82
82
 
83
+ bootstrap_user_prompt_discovery() {
84
+ local copied=0
85
+ local prompt_file target source_path
86
+
87
+ [ -d "$REPO_DIR/.codex/prompts" ] || return 0
88
+
89
+ mkdir -p "$GLOBAL_CODEX_DIR/prompts"
90
+
91
+ for prompt_file in "$REPO_DIR/.codex/prompts"/*.md; do
92
+ [ -f "$prompt_file" ] || continue
93
+ target="$GLOBAL_CODEX_DIR/prompts/$(basename "$prompt_file")"
94
+ source_path=".codex/prompts/$(basename "$prompt_file")"
95
+
96
+ if should_copy "$target" "$source_path"; then
97
+ cp "$prompt_file" "$target"
98
+ echo " BOOTSTRAPPED ~/.codex/prompts/$(basename "$prompt_file")"
99
+ copied=$((copied + 1))
100
+ elif $UPGRADE; then
101
+ echo " KEPT ~/.codex/prompts/$(basename "$prompt_file") (customized)"
102
+ else
103
+ echo " KEPT ~/.codex/prompts/$(basename "$prompt_file")"
104
+ fi
105
+ done
106
+
107
+ if [ "$copied" -gt 0 ]; then
108
+ echo " Prompt discovery bootstrap: synced $copied prompt files into ~/.codex/prompts"
109
+ else
110
+ echo " Prompt discovery bootstrap: ~/.codex/prompts already ready"
111
+ fi
112
+ }
113
+
83
114
  write_seed_file() {
84
115
  local target="$1"
85
116
  local key="$2"
@@ -364,7 +395,7 @@ elif ! $FULL_LOCAL; then
364
395
  fi
365
396
 
366
397
  if $USE_SHARED_ROOT; then
367
- for legacy_dir in "$PROJECT_DIR/.codex/agents" "$PROJECT_DIR/.codex/prompts" "$PROJECT_DIR/.codex/skills" "$PROJECT_DIR/.agents/skills"; do
398
+ for legacy_dir in "$PROJECT_DIR/.codex/agents" "$PROJECT_DIR/.codex/prompts" "$PROJECT_DIR/.codex/skills" "$PROJECT_DIR/.agents"; do
368
399
  if [ -e "$legacy_dir" ]; then
369
400
  echo " KEPT $legacy_dir (legacy local shared inventory)"
370
401
  fi
@@ -375,7 +406,6 @@ fi
375
406
  mkdir -p "$PROJECT_DIR/.codex"/{context,hooks,scripts,mcp,memory,plans}
376
407
  if ! $USE_SHARED_ROOT; then
377
408
  mkdir -p "$PROJECT_DIR/.codex"/{agents,prompts,skills}
378
- mkdir -p "$PROJECT_DIR/.agents"
379
409
  fi
380
410
 
381
411
  # Copy config template
@@ -467,6 +497,10 @@ if ! $USE_SHARED_ROOT && [ -d "$REPO_DIR/.codex/prompts" ]; then
467
497
  done
468
498
  fi
469
499
 
500
+ if ! $USE_SHARED_ROOT; then
501
+ bootstrap_user_prompt_discovery
502
+ fi
503
+
470
504
  # Copy hook scripts
471
505
  if [ -d "$REPO_DIR/.codex/hooks" ]; then
472
506
  for hook_file in "$REPO_DIR/.codex/hooks"/*.sh; do
@@ -586,16 +620,8 @@ if [ -d "$REPO_DIR/.codex/mcp" ]; then
586
620
  done
587
621
  fi
588
622
 
589
- # Create .agents/skills symlink (Codex CLI discovery bridge) for self-contained installs.
590
- if ! $USE_SHARED_ROOT && [ ! -e "$PROJECT_DIR/.agents/skills" ]; then
591
- ln -s ../.codex/skills "$PROJECT_DIR/.agents/skills"
592
- echo " CREATED .agents/skills → .codex/skills"
593
- elif ! $USE_SHARED_ROOT && [ -L "$PROJECT_DIR/.agents/skills" ]; then
594
- echo " KEPT .agents/skills symlink"
595
- elif ! $USE_SHARED_ROOT; then
596
- echo " KEPT .agents/skills directory"
597
- elif [ -e "$PROJECT_DIR/.agents/skills" ]; then
598
- echo " KEPT .agents/skills legacy bridge"
623
+ if [ -e "$PROJECT_DIR/.agents" ]; then
624
+ echo " KEPT .agents (legacy compatibility path)"
599
625
  fi
600
626
 
601
627
  # ─── Custom template overlay ────────────────────────────────────────────
@@ -696,7 +722,8 @@ if $USE_SHARED_ROOT; then
696
722
  else
697
723
  echo " .codex/agents/ (agent roles)"
698
724
  echo " .codex/prompts/ (workflow prompts)"
699
- echo " .agents/skills/ (skills)"
725
+ echo " ~/.codex/prompts/ (prompt discovery bootstrap)"
726
+ echo " .codex/skills/ (skills)"
700
727
  fi
701
728
  echo " .codex/context/ (project knowledge)"
702
729
  echo " .codex/memory/ (durable project memory)"
package/install/patch.sh CHANGED
@@ -163,7 +163,7 @@ project_uses_full_local_inventory() {
163
163
  ) || (
164
164
  [ -d "$PROJECT_DIR/.codex/skills" ] &&
165
165
  find "$PROJECT_DIR/.codex/skills" -type f | grep -q .
166
- ) || [ -e "$PROJECT_DIR/.agents/skills" ]
166
+ )
167
167
  }
168
168
 
169
169
  iter_managed_pairs() {
@@ -7,7 +7,6 @@ PASS=0
7
7
  FAIL=0
8
8
  WARN=0
9
9
  GLOBAL_CODEX_DIR="${HOME}/.codex"
10
- GLOBAL_AGENT_BRIDGE="${HOME}/.agents/skills"
11
10
  IS_SOURCE_REPO=false
12
11
  if [ -d ".git" ] && [ -f "package.json" ]; then
13
12
  IS_SOURCE_REPO=true
@@ -55,7 +54,7 @@ have_root_shared_inventory() {
55
54
  }
56
55
 
57
56
  project_has_local_shared_inventory() {
58
- [ -d ".codex/agents" ] || [ -d ".codex/prompts" ] || [ -d ".codex/skills" ] || [ -e ".agents/skills" ]
57
+ [ -d ".codex/agents" ] || [ -d ".codex/prompts" ] || [ -d ".codex/skills" ]
59
58
  }
60
59
 
61
60
  path_sha256() {
@@ -348,19 +347,10 @@ for dir in agents prompts skills; do
348
347
  fi
349
348
  done
350
349
 
351
- # Check .agents/skills discovery bridge
352
- if [ -L ".agents/skills" ]; then
353
- check ".agents/skills symlink exists (Codex CLI discovery)" "pass"
354
- elif [ -d ".agents/skills" ]; then
355
- check ".agents/skills exists as directory" "pass"
350
+ if [ -e ".agents" ]; then
351
+ check ".agents exists locally (legacy compatibility path still present)" "warn"
356
352
  else
357
- if [ -d ".git" ] && [ -d ".codex/skills" ]; then
358
- check ".agents/skills missing in source repo (canonical-only layout; install-project.sh creates bridge in target projects)" "pass"
359
- elif [ -L "$GLOBAL_AGENT_BRIDGE" ] || [ -d "$GLOBAL_AGENT_BRIDGE" ] || $ROOT_SHARED_AVAILABLE; then
360
- check ".agents/skills provided by root shared inventory" "pass"
361
- else
362
- check ".agents/skills missing (run install-project.sh to create discovery bridge in target projects)" "warn"
363
- fi
353
+ check "No project-local .agents compatibility bridge detected" "pass"
364
354
  fi
365
355
 
366
356
  # ─── Agent roles ─────────────────────────────────────────────────
@@ -417,6 +407,15 @@ fi
417
407
  prompt_count=$(find "$PROMPT_ROOT" -name "*.md" 2>/dev/null | wc -l | tr -d ' ')
418
408
  check "Found $prompt_count prompts" "pass"
419
409
 
410
+ if [ -d "$GLOBAL_CODEX_DIR/prompts" ]; then
411
+ global_prompt_count=$(find "$GLOBAL_CODEX_DIR/prompts" -maxdepth 1 -type f -name '*.md' 2>/dev/null | wc -l | tr -d ' ')
412
+ check "User prompt discovery available at ~/.codex/prompts ($global_prompt_count files)" "pass"
413
+ elif $IS_SOURCE_REPO; then
414
+ check "User prompt discovery unavailable in source repo validation (expected without install-project.sh target)" "pass"
415
+ else
416
+ check "User prompt discovery missing at ~/.codex/prompts (run install-project.sh or install-global.sh with the intended HOME)" "warn"
417
+ fi
418
+
420
419
  # ─── Context docs ────────────────────────────────────────────────
421
420
  echo ""
422
421
  echo "Context docs:"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codexkit",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Professional configuration kit for OpenAI Codex CLI",
5
5
  "license": "MIT",
6
6
  "keywords": [