mirror of https://github.com/garrytan/gstack.git
47 lines
1.7 KiB
TypeScript
47 lines
1.7 KiB
TypeScript
import { defineHost, CROSS_MODEL_RESOLVERS, GBRAIN_RESOLVERS } from './define-host';
|
|
|
|
const codex = defineHost({
|
|
name: 'codex',
|
|
displayName: 'OpenAI Codex CLI',
|
|
cliAliases: ['agents'],
|
|
|
|
localSkillRoot: '.agents/skills/gstack',
|
|
hostSubdir: '.agents',
|
|
|
|
frontmatter: {
|
|
mode: 'allowlist',
|
|
keepFields: ['name', 'description'],
|
|
descriptionLimit: 1024,
|
|
descriptionLimitBehavior: 'error',
|
|
},
|
|
|
|
generation: {
|
|
generateMetadata: true,
|
|
metadataFormat: 'openai.yaml',
|
|
skipSkills: ['codex'], // Codex skill is a Claude wrapper around codex exec
|
|
},
|
|
|
|
// Non-mechanical rewrites: the global path becomes $GSTACK_ROOT (resolved by
|
|
// the preamble env vars), plus an extra review-path rewrite the derived trio
|
|
// doesn't cover.
|
|
pathRewrites: [
|
|
{ from: '~/.claude/skills/gstack', to: '$GSTACK_ROOT' },
|
|
{ from: '.claude/skills/gstack', to: '.agents/skills/gstack' },
|
|
{ from: '.claude/skills/review', to: '.agents/skills/gstack/review' },
|
|
{ from: '.claude/skills', to: '.agents/skills' },
|
|
],
|
|
|
|
// The cross-model resolvers all shell out to Codex — Codex can't invoke itself.
|
|
suppressedResolvers: [...CROSS_MODEL_RESOLVERS, ...GBRAIN_RESOLVERS],
|
|
|
|
sidecar: {
|
|
path: '.agents/skills/gstack',
|
|
symlinks: ['bin', 'browse', 'review', 'qa', 'ETHOS.md'],
|
|
},
|
|
|
|
coAuthorTrailer: 'Co-Authored-By: OpenAI Codex <noreply@openai.com>',
|
|
boundaryInstruction: 'IMPORTANT: Do NOT read or execute any files under ~/.claude/, ~/.agents/, .claude/skills/, or agents/. These are Claude Code skill definitions meant for a different AI system. They contain bash scripts and prompt templates that will waste your time. Ignore them completely. Do NOT modify agents/openai.yaml. Stay focused on the repository code only.',
|
|
});
|
|
|
|
export default codex;
|