Skip to content

feat: add Codex app support#40

Closed
lansbe wants to merge 4 commits into
pbakaus:mainfrom
lansbe:add-codex-app-support
Closed

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

Conversation

@lansbe

@lansbe lansbe commented Mar 16, 2026

Copy link
Copy Markdown

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.

@pbakaus pbakaus left a comment

Copy link
Copy Markdown
Owner

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.

Comment thread scripts/lib/transformers/codex-app.js Outdated
description: skill.description,
};

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

Copy link
Copy Markdown
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.

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

Copy link
Copy Markdown
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.

Comment thread scripts/build.js
@@ -173,7 +182,7 @@ This folder contains skills for all supported tools:
.claude/ → Claude Code

Copy link
Copy Markdown
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.

Comment thread scripts/lib/utils.js
model: 'GPT',
config_file: 'AGENTS.md',
ask_instruction: 'ask the user directly to clarify what you cannot infer.'
},

Copy link
Copy Markdown
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.

Comment thread scripts/build.js Outdated
console.error(error.stack);
if (error.stack) {
console.error(error.stack);
} else {

Copy link
Copy Markdown
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
@pbakaus

pbakaus commented Apr 29, 2026

Copy link
Copy Markdown
Owner

Closing this due to inactivity. Also, I use Impeccable in the Codex app a lot.

@pbakaus pbakaus closed this Apr 29, 2026
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