Skip to content

feat: add Codex app support#40

Open
lansbe wants to merge 4 commits intopbakaus:mainfrom
lansbe:add-codex-app-support
Open

feat: add Codex app support#40
lansbe wants to merge 4 commits intopbakaus:mainfrom
lansbe:add-codex-app-support

Conversation

@lansbe
Copy link

@lansbe lansbe commented Mar 16, 2026

Summary

Add first-class Codex app support alongside the existing Codex CLI integration.

This introduces a dedicated codex-app transformer that emits .agents/skills output, wires that target into downloads and the build pipeline, syncs .agents/skills into the repo for local Codex app use, and updates the site/docs to explain the difference between Codex app (.agents) and Codex CLI (.codex).

Type of change

  • Build system / tooling
  • Documentation update
  • Other: Codex app provider support

Checklist

  • Source files updated in source/
  • bun run build ran successfully
  • bun test passes
  • Tested with at least one provider (Cursor / Claude Code / Gemini CLI / Codex / Copilot / Kiro / OpenCode)
  • README / DEVELOP.md updated if needed

Generate a dedicated codex-app target in .agents/skills, sync it into the repo for local Codex app use, and document the install flow alongside the existing Codex CLI support.
@lansbe lansbe requested a review from pbakaus as a code owner March 16, 2026 23:01
lansbe added 2 commits March 16, 2026 19:05
Remove tracked .agents output from the PR, ignore local Codex app sync files, and drop the premature version/changelog bump while keeping the provider support itself intact.
Copy link
Owner

@pbakaus pbakaus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the effort here! I have some concerns about whether this needs to be a separate transformer at all, plus a few concrete issues.

Do we need a separate codex-app provider?

Both codex-app and agents output to .agents/skills/ with nearly identical frontmatter (name, description, user-invocable, argument-hint). The only difference is placeholder values (GPT/AGENTS.md vs the model/copilot-instructions.md). That's a very thin justification for duplicating an entire transformer. Could we instead just adjust the agents placeholder values, or make them configurable?

Also note: PR #57 (just merged) renamed user-invokable -> user-invocable across the codebase. This PR will need to be rebased and updated to use the correct spelling throughout.

description: skill.description,
};

if (skill.userInvokable) frontmatterObj['user-invokable'] = true;
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be user-invocable (with a c). See PR #57.

scripts/build.js Outdated
@@ -386,7 +397,18 @@ async function build() {

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This syncs codex-app output into the repo root's .agents/ on every build. That's a significant side effect -- it means contributors running bun run build get their working tree modified with Codex app output. The .claude/ sync makes sense because this is a Claude Code project, but .agents/ is a different story.

Also, if someone already has an .agents/ directory from the agents provider (Copilot/Antigravity), this would blow it away with the codex-app version.

@@ -173,7 +182,7 @@ This folder contains skills for all supported tools:
.claude/ → Claude Code
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The universal ZIP says .agents/ -> Codex app, VS Code Copilot, Antigravity but codex-app is never added to the providerMappings array above, so the universal ZIP only contains the agents provider's .agents/ output (with generic placeholders). Codex app users downloading the universal ZIP would get the wrong placeholder values.

model: 'GPT',
config_file: 'AGENTS.md',
ask_instruction: 'ask the user directly to clarify what you cannot infer.'
},
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The codex-app placeholders are identical to the existing codex entry. And the change to agents.config_file below (from .github/copilot-instructions.md to the longer string) is an unrelated behavioral change that should be in its own PR if desired.

scripts/build.js Outdated
console.error(error.stack);
if (error.stack) {
console.error(error.stack);
} else {
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This error handling improvement is unrelated to Codex app support. Please keep the PR focused on one thing.

# Conflicts:
#	DEVELOP.md
#	public/index.html
#	scripts/build.js
#	scripts/lib/transformers/index.js
#	scripts/lib/utils.js
#	tests/lib/transformers/agents.test.js
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants