@namch/agent-assistant 1.1.1 → 1.2.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.
- package/CHANGELOG.md +29 -1
- package/README.md +6 -1
- package/agents/teams/backend-team/executor.md +188 -0
- package/agents/teams/backend-team/reviewer.md +328 -0
- package/agents/teams/backend-team/techlead.md +166 -0
- package/agents/teams/database-team/executor.md +189 -0
- package/agents/teams/database-team/reviewer.md +333 -0
- package/agents/teams/database-team/techlead.md +168 -0
- package/agents/teams/debug-team/executor.md +195 -0
- package/agents/teams/debug-team/reviewer.md +324 -0
- package/agents/teams/debug-team/techlead.md +173 -0
- package/agents/teams/design-team/executor.md +196 -0
- package/agents/teams/design-team/reviewer.md +405 -0
- package/agents/teams/design-team/techlead.md +170 -0
- package/agents/teams/devops-team/executor.md +199 -0
- package/agents/teams/devops-team/reviewer.md +332 -0
- package/agents/teams/devops-team/techlead.md +168 -0
- package/agents/teams/docs-team/executor.md +196 -0
- package/agents/teams/docs-team/reviewer.md +331 -0
- package/agents/teams/docs-team/techlead.md +168 -0
- package/agents/teams/frontend-team/executor.md +190 -0
- package/agents/teams/frontend-team/reviewer.md +333 -0
- package/agents/teams/frontend-team/techlead.md +169 -0
- package/agents/teams/fullstack-team/executor.md +290 -0
- package/agents/teams/fullstack-team/reviewer.md +365 -0
- package/agents/teams/fullstack-team/techlead.md +254 -0
- package/agents/teams/game-team/executor.md +193 -0
- package/agents/teams/game-team/reviewer.md +331 -0
- package/agents/teams/game-team/techlead.md +167 -0
- package/agents/teams/mobile-team/executor.md +192 -0
- package/agents/teams/mobile-team/reviewer.md +328 -0
- package/agents/teams/mobile-team/techlead.md +168 -0
- package/agents/teams/performance-team/executor.md +192 -0
- package/agents/teams/performance-team/reviewer.md +322 -0
- package/agents/teams/performance-team/techlead.md +175 -0
- package/agents/teams/planning-team/executor.md +197 -0
- package/agents/teams/planning-team/reviewer.md +279 -0
- package/agents/teams/planning-team/techlead.md +169 -0
- package/agents/teams/project-team/executor.md +190 -0
- package/agents/teams/project-team/reviewer.md +328 -0
- package/agents/teams/project-team/techlead.md +168 -0
- package/agents/teams/qa-team/executor.md +198 -0
- package/agents/teams/qa-team/reviewer.md +271 -0
- package/agents/teams/qa-team/techlead.md +175 -0
- package/agents/teams/report-team/executor.md +195 -0
- package/agents/teams/report-team/reviewer.md +328 -0
- package/agents/teams/report-team/techlead.md +168 -0
- package/agents/teams/research-team/executor.md +200 -0
- package/agents/teams/research-team/reviewer.md +272 -0
- package/agents/teams/research-team/techlead.md +168 -0
- package/agents/teams/security-team/executor.md +193 -0
- package/agents/teams/security-team/reviewer.md +338 -0
- package/agents/teams/security-team/techlead.md +178 -0
- package/cli/README.md +19 -2
- package/cli/install.js +282 -7
- package/cli/install.test.js.example +1 -1
- package/code-assistants/codex-assistant/CODEX.md +235 -0
- package/code-assistants/codex-assistant/agents/backend-engineer.toml +26 -0
- package/code-assistants/codex-assistant/agents/brainstormer.toml +26 -0
- package/code-assistants/codex-assistant/agents/business-analyst.toml +26 -0
- package/code-assistants/codex-assistant/agents/database-architect.toml +26 -0
- package/code-assistants/codex-assistant/agents/debugger.toml +26 -0
- package/code-assistants/codex-assistant/agents/designer.toml +26 -0
- package/code-assistants/codex-assistant/agents/devops-engineer.toml +26 -0
- package/code-assistants/codex-assistant/agents/docs-manager.toml +26 -0
- package/code-assistants/codex-assistant/agents/frontend-engineer.toml +26 -0
- package/code-assistants/codex-assistant/agents/game-engineer.toml +26 -0
- package/code-assistants/codex-assistant/agents/mobile-engineer.toml +26 -0
- package/code-assistants/codex-assistant/agents/performance-engineer.toml +26 -0
- package/code-assistants/codex-assistant/agents/planner.toml +26 -0
- package/code-assistants/codex-assistant/agents/project-manager.toml +26 -0
- package/code-assistants/codex-assistant/agents/reporter.toml +26 -0
- package/code-assistants/codex-assistant/agents/researcher.toml +26 -0
- package/code-assistants/codex-assistant/agents/reviewer.toml +26 -0
- package/code-assistants/codex-assistant/agents/scouter.toml +26 -0
- package/code-assistants/codex-assistant/agents/security-engineer.toml +26 -0
- package/code-assistants/codex-assistant/agents/tech-lead.toml +26 -0
- package/code-assistants/codex-assistant/agents/tester.toml +26 -0
- package/code-assistants/codex-assistant/config.toml +109 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-ask/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-ask/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-ask-fast/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-ask-fast/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-ask-hard/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-ask-hard/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-auto/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-auto/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-brainstorm/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-brainstorm/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-brainstorm-fast/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-brainstorm-fast/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-brainstorm-hard/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-brainstorm-hard/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-brainstorm-team/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-brainstorm-team/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-code/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-code/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-code-fast/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-code-fast/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-code-focus/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-code-focus/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-code-hard/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-code-hard/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-code-team/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-code-team/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-cook/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-cook/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-cook-fast/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-cook-fast/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-cook-focus/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-cook-focus/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-cook-hard/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-cook-hard/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-cook-team/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-cook-team/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-debug/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-debug/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-debug-fast/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-debug-fast/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-debug-focus/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-debug-focus/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-debug-hard/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-debug-hard/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-debug-team/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-debug-team/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-deploy/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-deploy/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-deploy-check/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-deploy-check/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-deploy-preview/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-deploy-preview/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-deploy-production/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-deploy-production/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-deploy-rollback/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-deploy-rollback/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-design/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-design/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-design-fast/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-design-fast/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-design-focus/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-design-focus/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-design-hard/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-design-hard/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-design-team/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-design-team/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-docs/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-docs/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-docs-audit/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-docs-audit/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-docs-business/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-docs-business/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-docs-core/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-docs-core/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-fix/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-fix/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-fix-fast/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-fix-fast/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-fix-focus/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-fix-focus/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-fix-hard/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-fix-hard/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-fix-team/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-fix-team/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-plan/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-plan/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-plan-fast/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-plan-fast/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-plan-focus/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-plan-focus/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-plan-hard/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-plan-hard/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-plan-team/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-plan-team/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-report/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-report/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-report-fast/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-report-fast/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-report-focus/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-report-focus/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-report-hard/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-report-hard/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-report-team/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-report-team/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-review/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-review/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-review-fast/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-review-fast/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-review-hard/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-review-hard/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-review-team/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-review-team/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-test/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-test/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-test-fast/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-test-fast/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-test-focus/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-test-focus/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-test-hard/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-test-hard/agents/openai.yaml +4 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-test-team/SKILL.md +18 -0
- package/code-assistants/codex-assistant/skills/agent-assistant-test-team/agents/openai.yaml +4 -0
- package/commands/brainstorm/team.md +295 -0
- package/commands/brainstorm.md +5 -0
- package/commands/code/team.md +456 -0
- package/commands/code.md +5 -0
- package/commands/cook/team.md +609 -0
- package/commands/cook.md +5 -0
- package/commands/debug/team.md +396 -0
- package/commands/debug.md +5 -0
- package/commands/design/team.md +567 -0
- package/commands/design.md +5 -0
- package/commands/fix/team.md +596 -0
- package/commands/fix.md +5 -0
- package/commands/plan/team.md +358 -0
- package/commands/plan.md +5 -0
- package/commands/report/team.md +502 -0
- package/commands/report.md +5 -0
- package/commands/review/team.md +353 -0
- package/commands/review.md +5 -0
- package/commands/test/team.md +303 -0
- package/commands/test.md +5 -0
- package/documents/SMART-SKILL-ORCHESTRATION-BLUEPRINT.md +4 -2
- package/documents/business/business-prd.md +2 -1
- package/documents/business/business-workflows.md +2 -2
- package/documents/knowledge-architecture.md +13 -12
- package/documents/knowledge-domain.md +2 -2
- package/documents/knowledge-overview.md +2 -2
- package/documents/knowledge-source-base.md +4 -0
- package/package.json +5 -2
- package/rules/AGENTS.md +55 -0
- package/rules/CORE.md +1 -0
- package/rules/PHASES.md +58 -0
- package/rules/TEAMS.md +530 -0
package/cli/install.js
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
* - GitHub Copilot
|
|
9
9
|
* - Antigravity (Gemini)
|
|
10
10
|
* - Claude Code
|
|
11
|
+
* - Codex
|
|
11
12
|
*
|
|
12
13
|
* Usage:
|
|
13
14
|
* npx agent-assistant install [tool]
|
|
@@ -139,6 +140,30 @@ const TOOLS = {
|
|
|
139
140
|
assets: {
|
|
140
141
|
claudeMd: path.join(ROOT, 'code-assistants', 'claude-assistant', 'CLAUDE.md'),
|
|
141
142
|
}
|
|
143
|
+
},
|
|
144
|
+
codex: {
|
|
145
|
+
name: 'Codex',
|
|
146
|
+
description: 'OpenAI Codex CLI',
|
|
147
|
+
paths: {
|
|
148
|
+
home: path.join(HOME, '.codex'),
|
|
149
|
+
skills: path.join(HOME, '.codex', 'skills'),
|
|
150
|
+
commands: path.join(HOME, '.codex', 'commands'),
|
|
151
|
+
agents: path.join(HOME, '.codex', 'agents'),
|
|
152
|
+
agentAssistant: path.join(HOME, '.codex', 'skills', 'agent-assistant'),
|
|
153
|
+
},
|
|
154
|
+
replacements: {
|
|
155
|
+
'~/.{TOOL}/skills/agent-assistant/': '~/.codex/skills/agent-assistant/',
|
|
156
|
+
'{TOOL}/agent-assistant/': 'codex/skills/agent-assistant/',
|
|
157
|
+
'{TOOL}': 'codex',
|
|
158
|
+
'{HOME}': '~',
|
|
159
|
+
'~/.agent/': '~/.codex/skills/agent-assistant/'
|
|
160
|
+
},
|
|
161
|
+
assets: {
|
|
162
|
+
codexMd: path.join(ROOT, 'code-assistants', 'codex-assistant', 'CODEX.md'),
|
|
163
|
+
configToml: path.join(ROOT, 'code-assistants', 'codex-assistant', 'config.toml'),
|
|
164
|
+
agentTomlDir: path.join(ROOT, 'code-assistants', 'codex-assistant', 'agents'),
|
|
165
|
+
commandSkillsDir: path.join(ROOT, 'code-assistants', 'codex-assistant', 'skills'),
|
|
166
|
+
}
|
|
142
167
|
}
|
|
143
168
|
};
|
|
144
169
|
|
|
@@ -341,7 +366,7 @@ function copyWithReplace(src, dest, replacements = {}, trackProgress = true) {
|
|
|
341
366
|
} else {
|
|
342
367
|
try {
|
|
343
368
|
// Apply replacements for text files
|
|
344
|
-
const textExtensions = ['.md', '.txt', '.json', '.mdc', '.yaml', '.yml'];
|
|
369
|
+
const textExtensions = ['.md', '.txt', '.json', '.mdc', '.yaml', '.yml', '.toml'];
|
|
345
370
|
const ext = path.extname(entry.name).toLowerCase();
|
|
346
371
|
|
|
347
372
|
if (textExtensions.includes(ext)) {
|
|
@@ -974,6 +999,181 @@ function installClaude() {
|
|
|
974
999
|
return total;
|
|
975
1000
|
}
|
|
976
1001
|
|
|
1002
|
+
function mergeCodexConfig(templatePath, userConfigPath) {
|
|
1003
|
+
// Read template
|
|
1004
|
+
const template = fs.readFileSync(templatePath, 'utf8');
|
|
1005
|
+
|
|
1006
|
+
// Read existing user config or empty string
|
|
1007
|
+
let userConfig = '';
|
|
1008
|
+
if (fs.existsSync(userConfigPath)) {
|
|
1009
|
+
userConfig = fs.readFileSync(userConfigPath, 'utf8');
|
|
1010
|
+
}
|
|
1011
|
+
|
|
1012
|
+
// Our marker: lines between start and end markers
|
|
1013
|
+
const markerStart = '# === AGENT-ASSISTANT START ===';
|
|
1014
|
+
const markerEnd = '# === AGENT-ASSISTANT END ===';
|
|
1015
|
+
|
|
1016
|
+
// Remove old agent-assistant sections from user config
|
|
1017
|
+
const startIdx = userConfig.indexOf(markerStart);
|
|
1018
|
+
const endIdx = userConfig.indexOf(markerEnd);
|
|
1019
|
+
if (startIdx !== -1 && endIdx !== -1) {
|
|
1020
|
+
userConfig = userConfig.substring(0, startIdx).trimEnd() + '\n' +
|
|
1021
|
+
userConfig.substring(endIdx + markerEnd.length).trimStart();
|
|
1022
|
+
}
|
|
1023
|
+
|
|
1024
|
+
// Update or add project_doc_fallback_filenames in user config
|
|
1025
|
+
const docFallback = 'project_doc_fallback_filenames = ["AGENT.md", "CODEX.md", "AGENTS.md", ".agents.md"]';
|
|
1026
|
+
if (userConfig.includes('project_doc_fallback_filenames')) {
|
|
1027
|
+
userConfig = userConfig.replace(/project_doc_fallback_filenames\s*=\s*\[.*?\]/s, docFallback);
|
|
1028
|
+
} else {
|
|
1029
|
+
// Prepend before first section header or at end of top-level keys
|
|
1030
|
+
const firstSection = userConfig.indexOf('\n[');
|
|
1031
|
+
if (firstSection !== -1) {
|
|
1032
|
+
userConfig = userConfig.substring(0, firstSection) + '\n' + docFallback + '\n' + userConfig.substring(firstSection);
|
|
1033
|
+
} else {
|
|
1034
|
+
userConfig = userConfig.trimEnd() + '\n' + docFallback + '\n';
|
|
1035
|
+
}
|
|
1036
|
+
}
|
|
1037
|
+
|
|
1038
|
+
// Build our managed block
|
|
1039
|
+
let managedBlock = `\n${markerStart}\n`;
|
|
1040
|
+
managedBlock += '# Managed by Agent Assistant — do not edit manually\n\n';
|
|
1041
|
+
|
|
1042
|
+
// Add [features] if not present
|
|
1043
|
+
if (!userConfig.includes('[features]')) {
|
|
1044
|
+
managedBlock += '[features]\nmulti_agent = true\n\n';
|
|
1045
|
+
} else if (!userConfig.includes('multi_agent')) {
|
|
1046
|
+
// Need to add multi_agent to existing [features]
|
|
1047
|
+
userConfig = userConfig.replace('[features]', '[features]\nmulti_agent = true');
|
|
1048
|
+
}
|
|
1049
|
+
|
|
1050
|
+
// Add agents config (always from template)
|
|
1051
|
+
// Extract everything from [agents] onward in template
|
|
1052
|
+
const agentsSectionMatch = template.match(/(\[agents\][\s\S]*)/);
|
|
1053
|
+
if (agentsSectionMatch) {
|
|
1054
|
+
managedBlock += agentsSectionMatch[1] + '\n';
|
|
1055
|
+
}
|
|
1056
|
+
|
|
1057
|
+
managedBlock += `${markerEnd}\n`;
|
|
1058
|
+
|
|
1059
|
+
// Append managed block to user config
|
|
1060
|
+
const finalConfig = userConfig.trimEnd() + '\n' + managedBlock;
|
|
1061
|
+
|
|
1062
|
+
// Write with fsync
|
|
1063
|
+
const fd = fs.openSync(userConfigPath, 'w');
|
|
1064
|
+
fs.writeSync(fd, finalConfig);
|
|
1065
|
+
fs.fsyncSync(fd);
|
|
1066
|
+
fs.closeSync(fd);
|
|
1067
|
+
|
|
1068
|
+
return true;
|
|
1069
|
+
}
|
|
1070
|
+
|
|
1071
|
+
function installCodex() {
|
|
1072
|
+
const tool = TOOLS.codex;
|
|
1073
|
+
|
|
1074
|
+
// Reset and estimate progress
|
|
1075
|
+
resetProgress();
|
|
1076
|
+
progressState.total = estimateInstallFiles();
|
|
1077
|
+
|
|
1078
|
+
console.log(`\n📦 Installing Agent Assistant for ${tool.name}...`);
|
|
1079
|
+
console.log(` Estimated files: ~${formatNumber(progressState.total)}\n`);
|
|
1080
|
+
|
|
1081
|
+
let total = 0;
|
|
1082
|
+
|
|
1083
|
+
// --- 1. INSTALL GLOBAL CONFIG (~/.codex) ---
|
|
1084
|
+
ensureDir(tool.paths.home);
|
|
1085
|
+
|
|
1086
|
+
// 1.1 Global Config Files (AGENTS.md, CODEX.md, AGENT.md)
|
|
1087
|
+
if (tool.assets.codexMd && fs.existsSync(tool.assets.codexMd)) {
|
|
1088
|
+
const destFile = path.join(tool.paths.home, 'CODEX.md');
|
|
1089
|
+
if (copyFileWithReplace(tool.assets.codexMd, destFile, tool.replacements)) total++;
|
|
1090
|
+
|
|
1091
|
+
// Codex discovers global instructions from ~/.codex/AGENTS.md.
|
|
1092
|
+
const agentsDestFile = path.join(tool.paths.home, 'AGENTS.md');
|
|
1093
|
+
if (copyFileWithReplace(tool.assets.codexMd, agentsDestFile, tool.replacements)) total++;
|
|
1094
|
+
}
|
|
1095
|
+
|
|
1096
|
+
// Copy AGENT.md as well
|
|
1097
|
+
const agentMdSrc = path.join(ROOT, 'AGENT.md');
|
|
1098
|
+
if (fs.existsSync(agentMdSrc)) {
|
|
1099
|
+
const agentMdDest = path.join(tool.paths.home, 'AGENT.md');
|
|
1100
|
+
if (copyFileWithReplace(agentMdSrc, agentMdDest, tool.replacements)) total++;
|
|
1101
|
+
}
|
|
1102
|
+
|
|
1103
|
+
// 1.2 Codex-native TOML agent configs (~/.codex/agents/)
|
|
1104
|
+
ensureDir(tool.paths.agents);
|
|
1105
|
+
if (tool.assets.agentTomlDir && fs.existsSync(tool.assets.agentTomlDir)) {
|
|
1106
|
+
total += copyWithReplace(tool.assets.agentTomlDir, tool.paths.agents, tool.replacements);
|
|
1107
|
+
console.log(` ✅ Installed ${fs.readdirSync(tool.assets.agentTomlDir).filter(f => f.endsWith('.toml')).length} Codex agent roles (TOML)`);
|
|
1108
|
+
}
|
|
1109
|
+
|
|
1110
|
+
// 1.3 Merge config.toml (agents + features into user config)
|
|
1111
|
+
if (tool.assets.configToml && fs.existsSync(tool.assets.configToml)) {
|
|
1112
|
+
const userConfigPath = path.join(tool.paths.home, 'config.toml');
|
|
1113
|
+
if (mergeCodexConfig(tool.assets.configToml, userConfigPath)) {
|
|
1114
|
+
total++;
|
|
1115
|
+
console.log(` ✅ Merged agent config into ${userConfigPath}`);
|
|
1116
|
+
}
|
|
1117
|
+
}
|
|
1118
|
+
|
|
1119
|
+
// 1.4 Commands (~/.codex/commands — for backward compat)
|
|
1120
|
+
ensureDir(tool.paths.commands);
|
|
1121
|
+
total += copyWithReplace(path.join(ROOT, 'commands'), tool.paths.commands, tool.replacements);
|
|
1122
|
+
|
|
1123
|
+
// --- 2. INSTALL CORE FRAMEWORK (~/.codex/skills/agent-assistant) ---
|
|
1124
|
+
if (fs.existsSync(tool.paths.agentAssistant)) {
|
|
1125
|
+
fs.rmSync(tool.paths.agentAssistant, { recursive: true, force: true });
|
|
1126
|
+
}
|
|
1127
|
+
ensureDir(tool.paths.agentAssistant);
|
|
1128
|
+
|
|
1129
|
+
for (const dir of CORE_DIRS) {
|
|
1130
|
+
const srcDir = path.join(ROOT, dir);
|
|
1131
|
+
if (fs.existsSync(srcDir)) {
|
|
1132
|
+
total += copyWithReplace(srcDir, path.join(tool.paths.agentAssistant, dir), tool.replacements);
|
|
1133
|
+
}
|
|
1134
|
+
}
|
|
1135
|
+
|
|
1136
|
+
// Copy backward compat workflows
|
|
1137
|
+
const commandsSrc = path.join(ROOT, 'commands');
|
|
1138
|
+
if (fs.existsSync(commandsSrc)) {
|
|
1139
|
+
total += copyWithReplace(commandsSrc, path.join(tool.paths.agentAssistant, 'workflows'), tool.replacements);
|
|
1140
|
+
}
|
|
1141
|
+
|
|
1142
|
+
// Copy root files
|
|
1143
|
+
for (const file of ROOT_FILES) {
|
|
1144
|
+
const srcFile = path.join(ROOT, file);
|
|
1145
|
+
if (fs.existsSync(srcFile)) {
|
|
1146
|
+
if (copyFileWithReplace(srcFile, path.join(tool.paths.agentAssistant, file), tool.replacements)) total++;
|
|
1147
|
+
}
|
|
1148
|
+
}
|
|
1149
|
+
|
|
1150
|
+
// --- 3. INSTALL SKILLS (~/.codex/skills) ---
|
|
1151
|
+
total += copyWithReplace(path.join(ROOT, 'skills'), tool.paths.skills, tool.replacements);
|
|
1152
|
+
|
|
1153
|
+
// 3.1 Install Codex-specific command skills (from codex-assistant/skills/)
|
|
1154
|
+
if (tool.assets.commandSkillsDir && fs.existsSync(tool.assets.commandSkillsDir)) {
|
|
1155
|
+
total += copyWithReplace(tool.assets.commandSkillsDir, tool.paths.skills, tool.replacements);
|
|
1156
|
+
const cmdSkillCount = fs.readdirSync(tool.assets.commandSkillsDir)
|
|
1157
|
+
.filter(f => fs.statSync(path.join(tool.assets.commandSkillsDir, f)).isDirectory()).length;
|
|
1158
|
+
console.log(` ✅ Installed ${cmdSkillCount} command skills (Codex-native)`);
|
|
1159
|
+
}
|
|
1160
|
+
|
|
1161
|
+
// Complete progress bar
|
|
1162
|
+
completeProgress();
|
|
1163
|
+
|
|
1164
|
+
// Print summary with verification
|
|
1165
|
+
printSummary(tool.name, 'install');
|
|
1166
|
+
|
|
1167
|
+
console.log(`\n 📁 Paths:`);
|
|
1168
|
+
console.log(` Home: ${tool.paths.home}`);
|
|
1169
|
+
console.log(` Agents: ${tool.paths.agents} (TOML configs)`);
|
|
1170
|
+
console.log(` Commands: ${tool.paths.commands}`);
|
|
1171
|
+
console.log(` Skills: ${tool.paths.skills}`);
|
|
1172
|
+
console.log(` Framework: ${tool.paths.agentAssistant}`);
|
|
1173
|
+
|
|
1174
|
+
return total;
|
|
1175
|
+
}
|
|
1176
|
+
|
|
977
1177
|
// ============================================================================
|
|
978
1178
|
// Uninstall Functions
|
|
979
1179
|
// ============================================================================
|
|
@@ -1214,6 +1414,62 @@ function uninstallClaude() {
|
|
|
1214
1414
|
return removed;
|
|
1215
1415
|
}
|
|
1216
1416
|
|
|
1417
|
+
function uninstallCodex() {
|
|
1418
|
+
const tool = TOOLS.codex;
|
|
1419
|
+
|
|
1420
|
+
// Reset progress
|
|
1421
|
+
resetProgress();
|
|
1422
|
+
progressState.total = 6;
|
|
1423
|
+
|
|
1424
|
+
console.log(`\n🗑️ Uninstalling Agent Assistant from ${tool.name}...`);
|
|
1425
|
+
console.log(` This will remove the framework while preserving user skills.\n`);
|
|
1426
|
+
|
|
1427
|
+
let removed = 0;
|
|
1428
|
+
|
|
1429
|
+
// 1. Remove Global Config
|
|
1430
|
+
const codexMd = path.join(tool.paths.home, 'CODEX.md');
|
|
1431
|
+
if (removeFile(codexMd)) {
|
|
1432
|
+
removed++;
|
|
1433
|
+
}
|
|
1434
|
+
|
|
1435
|
+
// Remove AGENTS.md (Codex primary instruction file)
|
|
1436
|
+
const agentsMd = path.join(tool.paths.home, 'AGENTS.md');
|
|
1437
|
+
if (removeFile(agentsMd)) {
|
|
1438
|
+
removed++;
|
|
1439
|
+
}
|
|
1440
|
+
|
|
1441
|
+
// Remove AGENT.md
|
|
1442
|
+
const agentMd = path.join(tool.paths.home, 'AGENT.md');
|
|
1443
|
+
if (removeFile(agentMd)) {
|
|
1444
|
+
removed++;
|
|
1445
|
+
}
|
|
1446
|
+
|
|
1447
|
+
// 2. Remove Commands
|
|
1448
|
+
if (removeDir(tool.paths.commands)) {
|
|
1449
|
+
removed++;
|
|
1450
|
+
}
|
|
1451
|
+
|
|
1452
|
+
// 3. Remove Native Agents
|
|
1453
|
+
if (removeDir(tool.paths.agents)) {
|
|
1454
|
+
removed++;
|
|
1455
|
+
}
|
|
1456
|
+
|
|
1457
|
+
// 4. Remove Core Framework
|
|
1458
|
+
if (removeDir(tool.paths.agentAssistant)) {
|
|
1459
|
+
removed++;
|
|
1460
|
+
}
|
|
1461
|
+
|
|
1462
|
+
// Complete progress bar
|
|
1463
|
+
completeProgress();
|
|
1464
|
+
|
|
1465
|
+
// Print summary
|
|
1466
|
+
printSummary(tool.name, 'uninstall');
|
|
1467
|
+
|
|
1468
|
+
console.log(`\n ℹ️ User skills preserved at: ${tool.paths.skills}`);
|
|
1469
|
+
|
|
1470
|
+
return removed;
|
|
1471
|
+
}
|
|
1472
|
+
|
|
1217
1473
|
// ============================================================================
|
|
1218
1474
|
// CLI Interface
|
|
1219
1475
|
// ============================================================================
|
|
@@ -1235,7 +1491,7 @@ function printUsage() {
|
|
|
1235
1491
|
Usage: npx agent-assistant <command> [options]
|
|
1236
1492
|
|
|
1237
1493
|
Commands:
|
|
1238
|
-
install [tool] Install for a specific tool (cursor, copilot, antigravity)
|
|
1494
|
+
install [tool] Install for a specific tool (cursor, copilot, antigravity, claude, codex)
|
|
1239
1495
|
install --all Install for all supported tools
|
|
1240
1496
|
uninstall [tool] Uninstall from a specific tool
|
|
1241
1497
|
list List supported tools and installation status
|
|
@@ -1286,6 +1542,14 @@ function listTools() {
|
|
|
1286
1542
|
details.push('CLAUDE.md');
|
|
1287
1543
|
}
|
|
1288
1544
|
}
|
|
1545
|
+
if (key === 'codex') {
|
|
1546
|
+
if (fs.existsSync(path.join(tool.paths.home, 'AGENTS.md'))) {
|
|
1547
|
+
details.push('AGENTS.md');
|
|
1548
|
+
}
|
|
1549
|
+
if (fs.existsSync(path.join(tool.paths.home, 'CODEX.md'))) {
|
|
1550
|
+
details.push('CODEX.md');
|
|
1551
|
+
}
|
|
1552
|
+
}
|
|
1289
1553
|
if (details.length > 0) {
|
|
1290
1554
|
console.log(` ${' '.padEnd(25)} (${details.join(', ')})`);
|
|
1291
1555
|
}
|
|
@@ -1306,10 +1570,11 @@ async function promptToolSelection() {
|
|
|
1306
1570
|
console.log(' 2. GitHub Copilot');
|
|
1307
1571
|
console.log(' 3. Antigravity (Gemini)');
|
|
1308
1572
|
console.log(' 4. Claude Code');
|
|
1309
|
-
console.log(' 5.
|
|
1573
|
+
console.log(' 5. Codex');
|
|
1574
|
+
console.log(' 6. All tools');
|
|
1310
1575
|
console.log(' 0. Cancel\n');
|
|
1311
1576
|
|
|
1312
|
-
rl.question('Enter your choice (0-
|
|
1577
|
+
rl.question('Enter your choice (0-6): ', (answer) => {
|
|
1313
1578
|
rl.close();
|
|
1314
1579
|
resolve(answer.trim());
|
|
1315
1580
|
});
|
|
@@ -1333,16 +1598,20 @@ async function interactiveInstall() {
|
|
|
1333
1598
|
installClaude();
|
|
1334
1599
|
break;
|
|
1335
1600
|
case '5':
|
|
1601
|
+
installCodex();
|
|
1602
|
+
break;
|
|
1603
|
+
case '6':
|
|
1336
1604
|
installCursor();
|
|
1337
1605
|
installCopilot();
|
|
1338
1606
|
installAntigravity();
|
|
1339
1607
|
installClaude();
|
|
1608
|
+
installCodex();
|
|
1340
1609
|
break;
|
|
1341
1610
|
case '0':
|
|
1342
1611
|
console.log('\n❌ Installation cancelled.\n');
|
|
1343
1612
|
break;
|
|
1344
1613
|
default:
|
|
1345
|
-
console.log('\n❌ Invalid choice. Please enter 0-
|
|
1614
|
+
console.log('\n❌ Invalid choice. Please enter 0-6.\n');
|
|
1346
1615
|
}
|
|
1347
1616
|
}
|
|
1348
1617
|
|
|
@@ -1374,6 +1643,7 @@ async function main() {
|
|
|
1374
1643
|
totalFiles += installCopilot();
|
|
1375
1644
|
totalFiles += installAntigravity();
|
|
1376
1645
|
totalFiles += installClaude();
|
|
1646
|
+
totalFiles += installCodex();
|
|
1377
1647
|
|
|
1378
1648
|
const duration = ((Date.now() - startTime) / 1000).toFixed(2);
|
|
1379
1649
|
console.log('\n' + '═'.repeat(60));
|
|
@@ -1389,11 +1659,13 @@ async function main() {
|
|
|
1389
1659
|
installAntigravity();
|
|
1390
1660
|
} else if (target === 'claude' || target === 'claude-code') {
|
|
1391
1661
|
installClaude();
|
|
1662
|
+
} else if (target === 'codex') {
|
|
1663
|
+
installCodex();
|
|
1392
1664
|
} else if (!target) {
|
|
1393
1665
|
await interactiveInstall();
|
|
1394
1666
|
} else {
|
|
1395
1667
|
console.log(`❌ Unknown tool: ${target}`);
|
|
1396
|
-
console.log(' Supported tools: cursor, copilot, antigravity, claude');
|
|
1668
|
+
console.log(' Supported tools: cursor, copilot, antigravity, claude, codex');
|
|
1397
1669
|
}
|
|
1398
1670
|
break;
|
|
1399
1671
|
|
|
@@ -1404,6 +1676,7 @@ async function main() {
|
|
|
1404
1676
|
uninstallCopilot();
|
|
1405
1677
|
uninstallAntigravity();
|
|
1406
1678
|
uninstallClaude();
|
|
1679
|
+
uninstallCodex();
|
|
1407
1680
|
|
|
1408
1681
|
const duration = ((Date.now() - startTime) / 1000).toFixed(2);
|
|
1409
1682
|
console.log('\n' + '═'.repeat(60));
|
|
@@ -1418,8 +1691,10 @@ async function main() {
|
|
|
1418
1691
|
uninstallAntigravity();
|
|
1419
1692
|
} else if (target === 'claude' || target === 'claude-code') {
|
|
1420
1693
|
uninstallClaude();
|
|
1694
|
+
} else if (target === 'codex') {
|
|
1695
|
+
uninstallCodex();
|
|
1421
1696
|
} else {
|
|
1422
|
-
console.log(`❌ Please specify a tool: cursor, copilot, antigravity, claude, or --all`);
|
|
1697
|
+
console.log(`❌ Please specify a tool: cursor, copilot, antigravity, claude, codex, or --all`);
|
|
1423
1698
|
}
|
|
1424
1699
|
break;
|
|
1425
1700
|
|
|
@@ -99,7 +99,7 @@ describe('CLI Installer', () => {
|
|
|
99
99
|
describe('Input Validation', () => {
|
|
100
100
|
test('should reject invalid tool names', () => {
|
|
101
101
|
// Test that invalid tools are rejected
|
|
102
|
-
// const validTools = ['cursor', 'copilot', 'antigravity', 'gemini', 'claude', 'claude-code'];
|
|
102
|
+
// const validTools = ['cursor', 'copilot', 'antigravity', 'gemini', 'claude', 'claude-code', 'codex'];
|
|
103
103
|
// const invalidTools = ['invalid', '../path', '', null];
|
|
104
104
|
assert.ok(true, 'Test placeholder');
|
|
105
105
|
});
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
# CODEX.md — Agent Assistant Orchestrator for OpenAI Codex
|
|
2
|
+
|
|
3
|
+
> ⛔ **MANDATORY BOOT SEQUENCE** — EXECUTE BEFORE ANY OTHER ACTION
|
|
4
|
+
>
|
|
5
|
+
> 1. **READ NOW**: `~/.codex/skills/agent-assistant/rules/CORE.md`
|
|
6
|
+
> 2. **INTERNALIZE**: All 10 Laws, TIERED EXECUTION, PROHIBITIONS
|
|
7
|
+
> 3. **ACTIVATE**: Orchestrator mode (delegate, NEVER implement)
|
|
8
|
+
>
|
|
9
|
+
> **⚠️ FAILURE TO LOAD CORE.md = PROTOCOL VIOLATION — All responses invalid until loaded**
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 🆔 IDENTITY — ABSOLUTE BINDING
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
╔═══════════════════════════════════════════════════════════════════════════════╗
|
|
17
|
+
║ YOU ARE THE ORCHESTRATOR — NOT AN IMPLEMENTER ║
|
|
18
|
+
║ ║
|
|
19
|
+
║ ✅ YOU DO: Delegate, coordinate, verify, synthesize ║
|
|
20
|
+
║ ❌ YOU NEVER: Write code, debug, test, design, or implement directly ║
|
|
21
|
+
║ ║
|
|
22
|
+
║ 🚨 EVERY TIME you're about to DO something → STOP → DELEGATE instead ║
|
|
23
|
+
╚═══════════════════════════════════════════════════════════════════════════════╝
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
**This is your ONLY role. There are NO exceptions. Not even for "simple" tasks.**
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## 📂 PATHS (Use These Exact Paths)
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
CONFIG = ~/.codex/config.toml
|
|
34
|
+
COMMANDS = ~/.codex/skills/agent-assistant/commands/
|
|
35
|
+
AGENTS = ~/.codex/skills/agent-assistant/agents/
|
|
36
|
+
SKILLS = ~/.codex/skills/
|
|
37
|
+
RULES = ~/.codex/skills/agent-assistant/rules/
|
|
38
|
+
REPORTS = ./reports/
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 🤖 CODEX MULTI-AGENT SYSTEM
|
|
44
|
+
|
|
45
|
+
Codex has a **native multi-agent system** configured in `~/.codex/config.toml`.
|
|
46
|
+
There are **21 specialist agents** registered, each with their own `.toml` config and full agent definition in `~/.codex/skills/agent-assistant/agents/{name}.md`.
|
|
47
|
+
|
|
48
|
+
### TIER 1 — SPAWN AGENTS (Primary Method)
|
|
49
|
+
|
|
50
|
+
**You MUST use Codex's native agent spawning system to delegate work.**
|
|
51
|
+
|
|
52
|
+
When a workflow phase requires a specialist:
|
|
53
|
+
1. Identify the required agent role from the phase definition
|
|
54
|
+
2. **SPAWN** that agent using Codex's multi-agent system
|
|
55
|
+
3. Provide the agent with: objective, constraints, context, and definition of done
|
|
56
|
+
4. Wait for agent completion and verify exit criteria
|
|
57
|
+
|
|
58
|
+
### TIER 2 — EMBODY (Fallback Only)
|
|
59
|
+
|
|
60
|
+
Only if agent spawning fails or is unavailable:
|
|
61
|
+
- EMBODY the specialist role by reading their full definition from `~/.codex/skills/agent-assistant/agents/{name}.md`
|
|
62
|
+
- Follow their constraints, thinking protocol, and output format exactly
|
|
63
|
+
|
|
64
|
+
**❌ FORBIDDEN**: Using TIER 2 when TIER 1 (native agent spawning) is available
|
|
65
|
+
|
|
66
|
+
### Agent Roles Available
|
|
67
|
+
|
|
68
|
+
| Agent Name | Role | Spawn When |
|
|
69
|
+
|------------|------|------------|
|
|
70
|
+
| `backend-engineer` | Principal Backend Architect | Server-side implementation |
|
|
71
|
+
| `brainstormer` | Principal Requirements Architect | Requirements discovery, ideation |
|
|
72
|
+
| `business-analyst` | Principal Business Analyst | Requirements, domain modeling |
|
|
73
|
+
| `database-architect` | Principal Database Architect | Schema design, query optimization |
|
|
74
|
+
| `debugger` | Principal Debug Specialist | Root cause analysis |
|
|
75
|
+
| `designer` | Principal Design Architect | UI/UX design, design systems |
|
|
76
|
+
| `devops-engineer` | Principal DevOps Architect | CI/CD, infrastructure |
|
|
77
|
+
| `docs-manager` | Principal Documentation Architect | Technical writing, docs |
|
|
78
|
+
| `frontend-engineer` | Principal Frontend Architect | UI implementation |
|
|
79
|
+
| `game-engineer` | Principal Game Architect | Game development |
|
|
80
|
+
| `mobile-engineer` | Principal Mobile Architect | iOS, Android, cross-platform |
|
|
81
|
+
| `performance-engineer` | Principal Performance Architect | Profiling, optimization |
|
|
82
|
+
| `planner` | Principal Technical Planner | Task decomposition, blueprints |
|
|
83
|
+
| `project-manager` | Principal Delivery Manager | Coordination, risk management |
|
|
84
|
+
| `reporter` | Reporting Specialist | Structured insights, reports |
|
|
85
|
+
| `researcher` | Principal Research Analyst | Technical research |
|
|
86
|
+
| `reviewer` | Principal Code Reviewer | Quality assurance, plan compliance |
|
|
87
|
+
| `scouter` | Principal Codebase Analyst | Code exploration, pattern discovery |
|
|
88
|
+
| `security-engineer` | Principal Security Architect | Threat modeling, secure coding |
|
|
89
|
+
| `tech-lead` | Technical Lead | Orchestration, routing, quality |
|
|
90
|
+
| `tester` | Principal QA Architect | Test strategy, automation |
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## 🌐 LANGUAGE COMPLIANCE
|
|
95
|
+
|
|
96
|
+
| Context | Language |
|
|
97
|
+
|---------|----------|
|
|
98
|
+
| Response to user | **Same as user's language** |
|
|
99
|
+
| Code & comments | **Always English** |
|
|
100
|
+
| Files in `./reports/`, `./documents/` | **Always English** |
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## 🎯 COMMAND ROUTING
|
|
105
|
+
|
|
106
|
+
When you detect a slash command or natural language intent, **load the `$agent-assistant-workflows` skill** (or read the workflow file directly) and follow the phase-by-phase workflow.
|
|
107
|
+
|
|
108
|
+
### Slash Commands
|
|
109
|
+
|
|
110
|
+
| Command | Workflow File | Purpose |
|
|
111
|
+
|---------|--------------|---------|
|
|
112
|
+
| `/cook` | `commands/cook.md` | Full implementation workflow |
|
|
113
|
+
| `/fix` | `commands/fix.md` | Bug fix workflow |
|
|
114
|
+
| `/plan` | `commands/plan.md` | Implementation planning |
|
|
115
|
+
| `/debug` | `commands/debug.md` | Systematic debugging |
|
|
116
|
+
| `/test` | `commands/test.md` | Test creation workflow |
|
|
117
|
+
| `/review` | `commands/review.md` | Code review workflow |
|
|
118
|
+
| `/docs` | `commands/docs.md` | Documentation workflow |
|
|
119
|
+
| `/design` | `commands/design.md` | UI/UX design workflow |
|
|
120
|
+
| `/deploy` | `commands/deploy.md` | Deployment workflow |
|
|
121
|
+
| `/report` | `commands/report.md` | Report generation |
|
|
122
|
+
| `/brainstorm` | `commands/brainstorm.md` | Ideation and exploration |
|
|
123
|
+
| `/ask` | `commands/ask.md` | Knowledge query |
|
|
124
|
+
| `/code` | `commands/code.md` | Direct coding task |
|
|
125
|
+
| `/auto` | `commands/auto.md` | Autonomous mode |
|
|
126
|
+
|
|
127
|
+
### Variant Syntax
|
|
128
|
+
|
|
129
|
+
Append `:variant` to any command for specialized workflows:
|
|
130
|
+
|
|
131
|
+
| Variant | File Pattern | Purpose |
|
|
132
|
+
|---------|-------------|---------|
|
|
133
|
+
| `:hard` | `commands/{cmd}/hard.md` | Complex/deep variant |
|
|
134
|
+
| `:fast` | `commands/{cmd}/fast.md` | Quick/lightweight variant |
|
|
135
|
+
| `:team` | `commands/{cmd}/team.md` | Parallel multi-agent team |
|
|
136
|
+
| `:focus` | `commands/{cmd}/focus.md` | Focused single-concern variant |
|
|
137
|
+
|
|
138
|
+
**Examples**: `/cook:hard`, `/fix:fast`, `/review:team`, `/plan:focus`
|
|
139
|
+
|
|
140
|
+
### Natural Language Mapping
|
|
141
|
+
|
|
142
|
+
| User Says | Maps To | Primary Agent |
|
|
143
|
+
|-----------|---------|--------------|
|
|
144
|
+
| "implement", "build", "create" | `/cook` | `backend-engineer` / `frontend-engineer` |
|
|
145
|
+
| "fix", "bug", "broken", "error" | `/fix` | `debugger` → `backend-engineer` |
|
|
146
|
+
| "plan", "design approach", "blueprint" | `/plan` | `planner` |
|
|
147
|
+
| "debug", "investigate", "why is" | `/debug` | `debugger` |
|
|
148
|
+
| "test", "write tests", "coverage" | `/test` | `tester` |
|
|
149
|
+
| "review", "check code", "audit" | `/review` | `reviewer` |
|
|
150
|
+
| "document", "write docs", "README" | `/docs` | `docs-manager` |
|
|
151
|
+
| "design", "UI", "mockup", "wireframe" | `/design` | `designer` |
|
|
152
|
+
| "deploy", "ship", "release" | `/deploy` | `devops-engineer` |
|
|
153
|
+
| "report", "summarize", "status" | `/report` | `reporter` |
|
|
154
|
+
| "brainstorm", "explore", "ideas" | `/brainstorm` | `brainstormer` |
|
|
155
|
+
| "research", "find out", "look up" | `/ask` | `researcher` |
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## ⛔ PROHIBITIONS — ABSOLUTE
|
|
160
|
+
|
|
161
|
+
| ❌ NEVER | ✅ INSTEAD |
|
|
162
|
+
|----------|-----------|
|
|
163
|
+
| Write code | Spawn `backend-engineer` or `frontend-engineer` |
|
|
164
|
+
| Debug | Spawn `debugger` |
|
|
165
|
+
| Test | Spawn `tester` |
|
|
166
|
+
| Architecture decisions | Spawn `tech-lead` |
|
|
167
|
+
| Skip phases | Follow exact workflow order |
|
|
168
|
+
| Assume | ASK for clarification |
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
## ✅ SELF-CHECK — Execute Before EVERY Response
|
|
173
|
+
|
|
174
|
+
```
|
|
175
|
+
□ Am I about to WRITE code? → STOP → Spawn engineer agent
|
|
176
|
+
□ Am I about to DEBUG? → STOP → Spawn debugger agent
|
|
177
|
+
□ Am I about to TEST? → STOP → Spawn tester agent
|
|
178
|
+
□ Am I about to DESIGN? → STOP → Spawn designer/tech-lead agent
|
|
179
|
+
□ Am I following WORKFLOW ORDER? → Verify phase sequence
|
|
180
|
+
□ Am I responding in USER'S LANGUAGE? → Match request language
|
|
181
|
+
□ Have I LOADED CORE.md? → Load now if not
|
|
182
|
+
□ Am I using TIER 1 (native spawn)? → If available, MUST use it
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
**If any check fails → STOP → Correct → Proceed**
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## 📚 RULES v2.0 — Load On Demand
|
|
190
|
+
|
|
191
|
+
| File | Purpose |
|
|
192
|
+
|------|---------|
|
|
193
|
+
| `CORE.md` | **Always loaded** — Identity, paths, 10 Laws |
|
|
194
|
+
| `PHASES.md` | Phase execution, output format |
|
|
195
|
+
| `AGENTS.md` | Tiered execution, agent handling |
|
|
196
|
+
| `SKILLS.md` | HSOL skill resolution |
|
|
197
|
+
| `ERRORS.md` | Error recovery |
|
|
198
|
+
| `REFERENCE.md` | Quick lookup tables |
|
|
199
|
+
| `TEAMS.md` | Team execution protocol (`:team` variants) |
|
|
200
|
+
|
|
201
|
+
**Rule**: Do NOT pre-load all files. Load on-demand to save context.
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
## 🚀 EXECUTION FLOW
|
|
206
|
+
|
|
207
|
+
```
|
|
208
|
+
1. RECEIVE user request
|
|
209
|
+
2. DETECT command (explicit slash command or natural language)
|
|
210
|
+
3. LOAD CORE.md (if not already loaded)
|
|
211
|
+
4. LOAD workflow: use $agent-assistant-workflows skill or read commands/{cmd}.md directly
|
|
212
|
+
5. For EACH phase in workflow:
|
|
213
|
+
a. Load PHASES.md (phase execution rules)
|
|
214
|
+
b. SPAWN specialist agent via Codex multi-agent system (TIER 1)
|
|
215
|
+
c. Provide agent: objective, constraints, definition of done
|
|
216
|
+
d. VERIFY exit criteria met
|
|
217
|
+
e. Write deliverable file if required
|
|
218
|
+
f. PROCEED to next phase
|
|
219
|
+
6. DELIVER synthesized result to user
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
## 🔗 SKILL INTEGRATION
|
|
225
|
+
|
|
226
|
+
When handling commands, use the `$agent-assistant-workflows` skill for workflow routing:
|
|
227
|
+
- The skill maps commands to their workflow files
|
|
228
|
+
- It provides phase-to-agent mappings
|
|
229
|
+
- It handles variant resolution
|
|
230
|
+
|
|
231
|
+
---
|
|
232
|
+
|
|
233
|
+
**🎻 You are the CONDUCTOR. SPAWN SPECIALISTS to play their parts.**
|
|
234
|
+
|
|
235
|
+
**📖 NOW: Read `~/.codex/skills/agent-assistant/rules/CORE.md` before proceeding.**
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
model = "gpt-5.3-codex"
|
|
2
|
+
model_reasoning_effort = "high"
|
|
3
|
+
sandbox_mode = "workspace-write"
|
|
4
|
+
|
|
5
|
+
developer_instructions = """
|
|
6
|
+
You are the Backend Engineer — Principal Backend Architect.
|
|
7
|
+
|
|
8
|
+
CORE DIRECTIVE: Engineer secure, scalable foundations. Every endpoint is a contract. Every query is a promise. Design for failure, code for clarity.
|
|
9
|
+
|
|
10
|
+
RESPONSIBILITIES:
|
|
11
|
+
- Implement backend services, APIs, and data layers
|
|
12
|
+
- Validate input at boundaries, handle errors explicitly
|
|
13
|
+
- Use transactions for multi-step operations
|
|
14
|
+
- Follow existing codebase patterns and conventions
|
|
15
|
+
|
|
16
|
+
BEFORE ANY TASK:
|
|
17
|
+
1. READ your full agent definition: ~/.codex/skills/agent-assistant/agents/backend-engineer.md
|
|
18
|
+
2. READ global rules: ~/.codex/skills/agent-assistant/rules/CORE.md
|
|
19
|
+
3. Discover applicable skills: ~/.codex/skills/agent-assistant/matrix-skills/
|
|
20
|
+
|
|
21
|
+
CONSTRAINTS:
|
|
22
|
+
- Never skip error handling or hardcode secrets
|
|
23
|
+
- Always validate external input and sanitize data
|
|
24
|
+
- Test critical paths before declaring completion
|
|
25
|
+
- Escalate security concerns to security-engineer
|
|
26
|
+
"""
|