@undeemed/get-shit-done-codex 1.20.10 → 1.21.0

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.
@@ -0,0 +1,77 @@
1
+ :schema https://developers.openai.com/codex/config-schema.json
2
+
3
+ # Project-scoped Codex config for get-shit-done-codex.
4
+ # Loaded only when this project is trusted.
5
+ # Docs:
6
+ # - https://developers.openai.com/codex/config-basic
7
+ # - https://developers.openai.com/codex/config-reference
8
+ # - https://developers.openai.com/codex/multi-agent
9
+
10
+ web_search = "live"
11
+
12
+ [features]
13
+ multi_agent = true
14
+ collaboration_modes = true
15
+ shell_tool = true
16
+ shell_snapshot = true
17
+ unified_exec = true
18
+ apply_patch_freeform = true
19
+ personality = true
20
+ request_rule = true
21
+
22
+ [agents]
23
+ max_threads = 12
24
+ max_depth = 3
25
+
26
+ [agents."general-purpose"]
27
+ description = "General fallback role for GSD orchestration and ad-hoc subtasks."
28
+
29
+ [agents."gsd-codebase-mapper"]
30
+ description = "Map stack, architecture, conventions, testing, and concerns into .planning/codebase docs."
31
+ developer_instructions = "Read and follow agents/gsd-codebase-mapper.md for your complete role definition."
32
+
33
+ [agents."gsd-debugger"]
34
+ description = "Investigate regressions with hypothesis testing, isolate root cause, and propose or apply fixes."
35
+ developer_instructions = "Read and follow agents/gsd-debugger.md for your complete role definition."
36
+
37
+ [agents."gsd-executor"]
38
+ description = "Execute PLAN.md tasks with atomic commits, verification, and summary updates."
39
+ developer_instructions = "Read and follow agents/gsd-executor.md for your complete role definition."
40
+
41
+ [agents."gsd-integration-checker"]
42
+ description = "Verify cross-phase wiring and end-to-end behavior across delivered milestones."
43
+ developer_instructions = "Read and follow agents/gsd-integration-checker.md for your complete role definition."
44
+
45
+ [agents."gsd-phase-researcher"]
46
+ description = "Research phase implementation patterns and write RESEARCH.md artifacts for planners."
47
+ developer_instructions = "Read and follow agents/gsd-phase-researcher.md for your complete role definition."
48
+
49
+ [agents."gsd-plan-checker"]
50
+ description = "Stress-test plan quality and requirement coverage before execution."
51
+ developer_instructions = "Read and follow agents/gsd-plan-checker.md for your complete role definition."
52
+
53
+ [agents."gsd-planner"]
54
+ description = "Draft atomic PLAN.md files with objective, context, tasks, and success criteria."
55
+ developer_instructions = "Read and follow agents/gsd-planner.md for your complete role definition."
56
+
57
+ [agents."gsd-project-researcher"]
58
+ description = "Research ecosystem and produce project-level research docs for roadmap creation."
59
+ developer_instructions = "Read and follow agents/gsd-project-researcher.md for your complete role definition."
60
+
61
+ [agents."gsd-research-synthesizer"]
62
+ description = "Synthesize parallel research artifacts into actionable roadmap inputs."
63
+ developer_instructions = "Read and follow agents/gsd-research-synthesizer.md for your complete role definition."
64
+
65
+ [agents."gsd-roadmapper"]
66
+ description = "Turn requirements into phased ROADMAP.md structure with clear success criteria."
67
+ developer_instructions = "Read and follow agents/gsd-roadmapper.md for your complete role definition."
68
+
69
+ [agents."gsd-verifier"]
70
+ description = "Perform goal-backward verification that outcomes are actually delivered in code."
71
+ developer_instructions = "Read and follow agents/gsd-verifier.md for your complete role definition."
72
+
73
+ [mcp_servers.context7]
74
+ url = "https://mcp.context7.com/mcp"
75
+
76
+ [mcp_servers.context7.env_http_headers]
77
+ CONTEXT7_API_KEY = "CONTEXT7_API_KEY"
package/README.md CHANGED
@@ -21,7 +21,7 @@ get-shit-done-codex (GSD) solves context rot — the quality degradation that ha
21
21
 
22
22
  ## What Changed In This Fork
23
23
 
24
- - **AGENTS-first for Codex:** `AGENTS.md` is the primary behavior contract . [Agent.md > Skills.md](https://vercel.com/blog/agents-md-outperforms-skills-in-our-agent-evals)
24
+ - **AGENTS-first for Codex:** `AGENTS.md` is the primary behavior contract . [Agent.md > Skills.md](https://vercel.com/blog/agents-md-outperforms-skills-in-our-agent-evals)
25
25
  - **Two command surfaces:** choose native skills (`$gsd-*`) or prompt aliases (`/prompts:gsd-*`).
26
26
  - **Installer integrity checks:** `--verify` audits installation health, `--repair` restores missing artifacts.
27
27
  - **Mode-aware installs:** installer adapts `AGENTS.md` and command guidance to your chosen mode.
@@ -58,14 +58,29 @@ npx @undeemed/get-shit-done-codex --verify --repair --global # Auto-repair
58
58
 
59
59
  ### Codex Modes
60
60
 
61
- | Mode | Installs | Use Commands Like |
62
- | --------- | ---------------------------- | --------------------------- |
63
- | `skills` (default) | `skills/gsd-*/SKILL.md` | `$gsd-help`, `$gsd-plan-phase 1` |
64
- | `prompts` | `prompts/gsd-*.md` | `/prompts:gsd-help` |
61
+ | Mode | Installs | Use Commands Like |
62
+ | ------------------ | ----------------------- | -------------------------------- |
63
+ | `skills` (default) | `skills/gsd-*/SKILL.md` | `$gsd-help`, `$gsd-plan-phase 1` |
64
+ | `prompts` | `prompts/gsd-*.md` | `/prompts:gsd-help` |
65
65
 
66
66
  After installation, run `codex` (CLI) or `codex app` (Desktop), then run `$gsd-help` (or `/prompts:gsd-help` in prompts mode).
67
67
  Single-surface policy: mixed `skills/` + `prompts/` installs are treated as drift and fail `--verify`.
68
68
 
69
+ ### What Gets Installed
70
+
71
+ The installer distributes everything GSD needs:
72
+
73
+ - **`AGENTS.md`** — behavior contract and command reference for Codex
74
+ - **`.codex/config.toml`** — multi-agent mode, feature flags, agent role registry, MCP servers
75
+ - **`agents/gsd-*.md`** — rich agent definitions (700+ lines each) for sub-agent orchestration
76
+ - **`skills/gsd-*/SKILL.md`** or **`prompts/gsd-*.md`** — command surfaces
77
+ - **`get-shit-done/`** — workflow files, templates, and references
78
+
79
+ On first run, Codex will prompt you to **trust the project** so the config takes effect (one-time, one-click).
80
+
81
+ > [!NOTE]
82
+ > `.codex/config.toml` is non-destructive — the installer skips it if you already have one, so your customizations are preserved on updates.
83
+
69
84
  ### Installed File Structure
70
85
 
71
86
  `$` skills mode (`--codex-mode skills`, default):
@@ -73,8 +88,9 @@ Single-surface policy: mixed `skills/` + `prompts/` installs are treated as drif
73
88
  ```text
74
89
  ~/.codex/
75
90
  ├── AGENTS.md
76
- ├── skills/
77
- │ └── gsd-*/SKILL.md
91
+ ├── .codex/config.toml
92
+ ├── agents/gsd-*.md
93
+ ├── skills/gsd-*/SKILL.md
78
94
  └── get-shit-done/
79
95
  ```
80
96
 
@@ -83,8 +99,9 @@ Single-surface policy: mixed `skills/` + `prompts/` installs are treated as drif
83
99
  ```text
84
100
  ~/.codex/
85
101
  ├── AGENTS.md
86
- ├── prompts/
87
- │ └── gsd-*.md
102
+ ├── .codex/config.toml
103
+ ├── agents/gsd-*.md
104
+ ├── prompts/gsd-*.md
88
105
  └── get-shit-done/
89
106
  ```
90
107
 
@@ -92,7 +109,7 @@ For local installs, replace `~/.codex/` with `./`.
92
109
 
93
110
  ### Verify And Repair
94
111
 
95
- - `--verify`: checks `AGENTS.md`, command surfaces, workflow assets, and version metadata.
112
+ - `--verify`: checks `AGENTS.md`, `config.toml`, agent definitions, command surfaces, workflow assets, and version metadata.
96
113
  - `--verify --repair`: reinstalls missing/broken artifacts and verifies again.
97
114
  - Migration is **detect-then-confirm**, not automatic:
98
115
  - Interactive install asks before removing legacy surface files
@@ -251,6 +268,12 @@ Git bisect finds exact failing task. Each task independently revertable.
251
268
  - Check `~/.codex/skills/gsd-*/SKILL.md` (global) or `./skills/gsd-*/SKILL.md` (local)
252
269
  - If using prompt aliases, check `~/.codex/prompts/gsd-*.md` (global) or `./prompts/gsd-*.md` (local)
253
270
 
271
+ **Multi-agent / sub-agents not working?**
272
+
273
+ - Check `.codex/config.toml` exists in your install directory
274
+ - Ensure the project is **trusted** in Codex (it prompts on first run)
275
+ - Run `--verify` to check all artifacts are present
276
+
254
277
  **Update to latest:**
255
278
 
256
279
  ```bash
package/bin/install.js CHANGED
@@ -305,6 +305,52 @@ function removeSkillAliases(skillsDir) {
305
305
  return removed;
306
306
  }
307
307
 
308
+ function installConfig(src, codexDir, pathPrefix) {
309
+ const configSrc = path.join(src, '.codex', 'config.toml');
310
+ if (!fs.existsSync(configSrc)) return false;
311
+ const codexConfigDir = path.join(codexDir, '.codex');
312
+ const configDest = path.join(codexConfigDir, 'config.toml');
313
+ if (fs.existsSync(configDest)) return false;
314
+ fs.mkdirSync(codexConfigDir, { recursive: true });
315
+ let content = applyPathPrefixReplacements(fs.readFileSync(configSrc, 'utf8'), pathPrefix);
316
+ if (pathPrefix === '~/.codex/') {
317
+ content = content.replace(/agents\/gsd-/g, '~/.codex/agents/gsd-');
318
+ }
319
+ fs.writeFileSync(configDest, content, 'utf8');
320
+ return true;
321
+ }
322
+
323
+ function installAgentDefs(src, codexDir, pathPrefix, mode) {
324
+ const agentsSrc = path.join(src, 'agents');
325
+ if (!fs.existsSync(agentsSrc)) return 0;
326
+ const agentsDest = path.join(codexDir, 'agents');
327
+ fs.mkdirSync(agentsDest, { recursive: true });
328
+ const entries = fs.readdirSync(agentsSrc).filter((e) => /^gsd-.*\.md$/i.test(e));
329
+ for (const entry of entries) {
330
+ let content = fs.readFileSync(path.join(agentsSrc, entry), 'utf8');
331
+ content = applyReplacements(content, pathPrefix);
332
+ if (mode === 'skills') {
333
+ content = convertPromptRefsToSkillRefs(content);
334
+ } else if (mode === 'prompts') {
335
+ content = convertSkillRefsToPromptRefs(content);
336
+ }
337
+ fs.writeFileSync(path.join(agentsDest, entry), content, 'utf8');
338
+ }
339
+ return entries.length;
340
+ }
341
+
342
+ function countSourceAgentDefs(src) {
343
+ const agentsSrc = path.join(src, 'agents');
344
+ if (!fs.existsSync(agentsSrc)) return 0;
345
+ return fs.readdirSync(agentsSrc).filter((e) => /^gsd-.*\.md$/i.test(e)).length;
346
+ }
347
+
348
+ function countInstalledAgentDefs(codexDir) {
349
+ const agentsDest = path.join(codexDir, 'agents');
350
+ if (!fs.existsSync(agentsDest)) return 0;
351
+ return fs.readdirSync(agentsDest).filter((e) => /^gsd-.*\.md$/i.test(e)).length;
352
+ }
353
+
308
354
  function detectMigrationPlan(codexDir, mode) {
309
355
  const promptsDir = path.join(codexDir, 'prompts');
310
356
  const skillsDir = path.join(codexDir, 'skills');
@@ -450,8 +496,15 @@ function verifyInstall(isGlobal, expectedMode, strictMode = false) {
450
496
  const checks = [];
451
497
  const addCheck = (ok, label, detail) => checks.push({ ok, label, detail });
452
498
 
499
+ const expectedAgentCount = countSourceAgentDefs(src);
500
+
453
501
  addCheck(fs.existsSync(codexDir), 'Config directory exists', codexDir);
454
502
  addCheck(fs.existsSync(path.join(codexDir, 'AGENTS.md')), 'AGENTS.md installed', path.join(codexDir, 'AGENTS.md'));
503
+ addCheck(fs.existsSync(path.join(codexDir, '.codex', 'config.toml')), 'config.toml installed', path.join(codexDir, '.codex', 'config.toml'));
504
+ if (expectedAgentCount > 0) {
505
+ const installedAgents = countInstalledAgentDefs(codexDir);
506
+ addCheck(installedAgents === expectedAgentCount, 'Agent definitions complete', `${installedAgents}/${expectedAgentCount}`);
507
+ }
455
508
  addCheck(fs.existsSync(workflowRoot), 'get-shit-done assets installed', workflowRoot);
456
509
  addCheck(fs.existsSync(path.join(workflowRoot, 'workflows')), 'Workflow directory installed', path.join(workflowRoot, 'workflows'));
457
510
  addCheck(fs.existsSync(path.join(workflowRoot, 'templates')), 'Template directory installed', path.join(workflowRoot, 'templates'));
@@ -496,7 +549,7 @@ function verifyInstall(isGlobal, expectedMode, strictMode = false) {
496
549
  return { ok, detectedMode, checkedMode: modeToCheck };
497
550
  }
498
551
 
499
- function installCore(isGlobal, mode, migrationPlan, applyMigration) {
552
+ function installCore(isGlobal, mode, migrationPlan, applyMigration, done = () => {}) {
500
553
  const src = path.join(__dirname, '..');
501
554
  const { codexDir, locationLabel, pathPrefix } = getInstallContext(isGlobal);
502
555
  const installPromptsEnabled = mode === 'prompts';
@@ -508,43 +561,61 @@ function installCore(isGlobal, mode, migrationPlan, applyMigration) {
508
561
  applyMigrationPlan(migrationPlan);
509
562
  }
510
563
 
511
- const agentsSrc = path.join(src, 'AGENTS.md');
564
+ const agentsSrc = path.join(src, 'get-shit-done', 'AGENTS.md');
512
565
  const agentsDest = path.join(codexDir, 'AGENTS.md');
513
- let agentsContent = applyReplacements(fs.readFileSync(agentsSrc, 'utf8'), pathPrefix);
514
- agentsContent = adaptAgentsForCodexMode(agentsContent, mode);
515
- fs.writeFileSync(agentsDest, agentsContent, 'utf8');
516
- console.log(` ${green}✓${reset} Installed AGENTS.md`);
566
+ const agentsExisted = fs.existsSync(agentsDest);
517
567
 
518
- const gsdSrc = path.join(src, 'commands', 'gsd');
519
- const entries = fs.readdirSync(gsdSrc);
520
- const markdownEntries = entries.filter((entry) => entry.endsWith('.md'));
568
+ const writeAgents = () => {
569
+ let agentsContent = applyReplacements(fs.readFileSync(agentsSrc, 'utf8'), pathPrefix);
570
+ agentsContent = adaptAgentsForCodexMode(agentsContent, mode);
571
+ fs.writeFileSync(agentsDest, agentsContent, 'utf8');
572
+ };
521
573
 
522
- if (installPromptsEnabled) {
523
- const promptsDir = path.join(codexDir, 'prompts');
524
- installPrompts(gsdSrc, promptsDir, markdownEntries, pathPrefix);
525
- console.log(` ${green}✓${reset} Installed prompts/gsd-*.md (${markdownEntries.length} commands)`);
526
- }
574
+ const continueAfterAgents = () => {
575
+ const configInstalled = installConfig(src, codexDir, pathPrefix);
576
+ if (configInstalled) {
577
+ console.log(` ${green}✓${reset} Installed .codex/config.toml`);
578
+ } else {
579
+ console.log(` ${dim}-${reset} Skipped .codex/config.toml (already exists or source missing)`);
580
+ }
527
581
 
528
- if (installSkillsEnabled) {
529
- const skillsDir = path.join(codexDir, 'skills');
530
- installCodexSkills(gsdSrc, skillsDir, markdownEntries, pathPrefix);
531
- console.log(` ${green}✓${reset} Installed skills/gsd-*/SKILL.md (${markdownEntries.length} skills)`);
532
- }
582
+ const agentCount = installAgentDefs(src, codexDir, pathPrefix, mode);
583
+ if (agentCount > 0) {
584
+ console.log(` ${green}✓${reset} Installed agents/gsd-*.md (${agentCount} agent definitions)`);
585
+ }
533
586
 
534
- const skillSrc = path.join(src, 'get-shit-done');
535
- const skillDest = path.join(codexDir, 'get-shit-done');
536
- copyWithPathReplacement(skillSrc, skillDest, pathPrefix);
537
- writeVersionFile(skillDest, isGlobal);
538
- console.log(` ${green}✓${reset} Installed get-shit-done/ workflow files`);
539
- console.log(` ${green}✓${reset} Wrote get-shit-done/VERSION (${pkg.version})`);
587
+ const gsdSrc = path.join(src, 'commands', 'gsd');
588
+ const entries = fs.readdirSync(gsdSrc);
589
+ const markdownEntries = entries.filter((entry) => entry.endsWith('.md'));
540
590
 
541
- console.log(`
591
+ if (installPromptsEnabled) {
592
+ const promptsDir = path.join(codexDir, 'prompts');
593
+ installPrompts(gsdSrc, promptsDir, markdownEntries, pathPrefix);
594
+ console.log(` ${green}✓${reset} Installed prompts/gsd-*.md (${markdownEntries.length} commands)`);
595
+ }
596
+
597
+ if (installSkillsEnabled) {
598
+ const skillsDir = path.join(codexDir, 'skills');
599
+ installCodexSkills(gsdSrc, skillsDir, markdownEntries, pathPrefix);
600
+ console.log(` ${green}✓${reset} Installed skills/gsd-*/SKILL.md (${markdownEntries.length} skills)`);
601
+ }
602
+
603
+ const skillSrc = path.join(src, 'get-shit-done');
604
+ const skillDest = path.join(codexDir, 'get-shit-done');
605
+ copyWithPathReplacement(skillSrc, skillDest, pathPrefix);
606
+ writeVersionFile(skillDest, isGlobal);
607
+ console.log(` ${green}✓${reset} Installed get-shit-done/ workflow files`);
608
+ console.log(` ${green}✓${reset} Wrote get-shit-done/VERSION (${pkg.version})`);
609
+
610
+ console.log(`
542
611
  ${green}Done!${reset}
543
612
 
544
613
  ${yellow}For Codex (CLI + Desktop):${reset}
545
614
  - AGENTS.md: ${cyan}${codexDir}/AGENTS.md${reset}
546
615
  ${installPromptsEnabled ? `- Prompt commands: ${cyan}${codexDir}/prompts/${reset}` : ''}
547
616
  ${installSkillsEnabled ? `- Native skills: ${cyan}${codexDir}/skills/gsd-*/SKILL.md${reset}` : ''}
617
+ - Config: ${cyan}${codexDir}/.codex/config.toml${reset}
618
+ - Agent defs: ${cyan}${codexDir}/agents/gsd-*.md${reset}
548
619
 
549
620
  ${yellow}Getting Started:${reset}
550
621
  1. Run ${cyan}codex${reset} (CLI) or ${cyan}codex app${reset} (Desktop)
@@ -554,7 +625,38 @@ function installCore(isGlobal, mode, migrationPlan, applyMigration) {
554
625
  ${yellow}Staying Updated:${reset}
555
626
  - In Codex: ${cyan}${installSkillsEnabled ? '$gsd-update' : '/prompts:gsd-update'}${reset}
556
627
  - In terminal: ${cyan}npx ${NPM_PACKAGE_LATEST}${reset}
628
+
629
+ ${dim}Note: Codex will prompt you to trust this project on first run
630
+ so that the config, agents, and MCP servers take effect.${reset}
557
631
  `);
632
+ done();
633
+ };
634
+
635
+ if (isGlobal && agentsExisted && isInteractiveTerminal) {
636
+ const rl = readline.createInterface({
637
+ input: process.stdin,
638
+ output: process.stdout
639
+ });
640
+ rl.question(` ${yellow}⚠${reset} AGENTS.md already exists at ${dim}${agentsDest}${reset}. Overwrite? ${dim}[Y/n]${reset}: `, (answer) => {
641
+ rl.close();
642
+ const normalized = answer.trim().toLowerCase();
643
+ if (normalized === '' || normalized === 'y' || normalized === 'yes') {
644
+ writeAgents();
645
+ console.log(` ${green}✓${reset} Overwrote AGENTS.md`);
646
+ } else {
647
+ console.log(` ${yellow}⚠${reset} Kept existing AGENTS.md`);
648
+ }
649
+ continueAfterAgents();
650
+ });
651
+ } else {
652
+ writeAgents();
653
+ if (agentsExisted) {
654
+ console.log(` ${yellow}⚠${reset} Overwrote existing AGENTS.md ${dim}(non-interactive)${reset}`);
655
+ } else {
656
+ console.log(` ${green}✓${reset} Installed AGENTS.md`);
657
+ }
658
+ continueAfterAgents();
659
+ }
558
660
  }
559
661
 
560
662
  function install(isGlobal, mode = codexMode, done = () => {}) {
@@ -562,8 +664,7 @@ function install(isGlobal, mode = codexMode, done = () => {}) {
562
664
  const migrationPlan = detectMigrationPlan(codexDir, mode);
563
665
 
564
666
  if (!migrationPlan.hasChanges) {
565
- installCore(isGlobal, mode, migrationPlan, false);
566
- done();
667
+ installCore(isGlobal, mode, migrationPlan, false, done);
567
668
  return;
568
669
  }
569
670
 
@@ -572,23 +673,20 @@ function install(isGlobal, mode = codexMode, done = () => {}) {
572
673
 
573
674
  if (hasMigrate) {
574
675
  console.log(` ${green}✓${reset} Migration approved by --migrate`);
575
- installCore(isGlobal, mode, migrationPlan, true);
576
- done();
676
+ installCore(isGlobal, mode, migrationPlan, true, done);
577
677
  return;
578
678
  }
579
679
 
580
680
  if (hasSkipMigrate) {
581
681
  console.log(` ${yellow}Skipping migration due to --skip-migrate.${reset}`);
582
- installCore(isGlobal, mode, migrationPlan, false);
583
- done();
682
+ installCore(isGlobal, mode, migrationPlan, false, done);
584
683
  return;
585
684
  }
586
685
 
587
686
  if (!isInteractiveTerminal) {
588
687
  console.log(` ${yellow}Skipping migration in non-interactive mode.${reset}`);
589
688
  console.log(` ${dim}Re-run with --migrate to apply cleanup or --skip-migrate to keep legacy files explicitly.${reset}`);
590
- installCore(isGlobal, mode, migrationPlan, false);
591
- done();
689
+ installCore(isGlobal, mode, migrationPlan, false, done);
592
690
  return;
593
691
  }
594
692
 
@@ -604,8 +702,7 @@ function install(isGlobal, mode = codexMode, done = () => {}) {
604
702
  if (!applyMigration) {
605
703
  console.log(` ${yellow}Keeping legacy files.${reset}`);
606
704
  }
607
- installCore(isGlobal, mode, migrationPlan, applyMigration);
608
- done();
705
+ installCore(isGlobal, mode, migrationPlan, applyMigration, done);
609
706
  });
610
707
  }
611
708
 
@@ -1,6 +1,6 @@
1
1
  # get-shit-done-codex (GSD) - Agent Instructions
2
2
 
3
- A meta-prompting, context engineering and spec-driven development system for Codex CLI.
3
+ A meta-prompting, context engineering and spec-driven development system for Codex CLI and Desktop.
4
4
 
5
5
  ## Overview
6
6
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@undeemed/get-shit-done-codex",
3
- "version": "1.20.10",
3
+ "version": "1.21.0",
4
4
  "description": "A meta-prompting, context engineering and spec-driven development system for OpenAI Codex (CLI and Desktop). Fork of get-shit-done by TÂCHES, adapted for Codex by undeemed.",
5
5
  "bin": {
6
6
  "get-shit-done-codex": "bin/install.js"
@@ -16,7 +16,7 @@
16
16
  "agents",
17
17
  "hooks/dist",
18
18
  "scripts",
19
- "AGENTS.md"
19
+ ".codex"
20
20
  ],
21
21
  "keywords": [
22
22
  "get-shit-done",