Bootstrap a multi-agent workspace with team standards, hooks, and skills for Claude Code, OpenAI Codex, and Cursor IDE.
| Agent | Config | Instructions | Skills/Rules |
|---|---|---|---|
| Claude Code (Anthropic) | .claude/settings.json |
CLAUDE.md |
.claude/skills/ |
| Codex (OpenAI) | .codex/config.toml |
AGENTS.md |
.codex/skills/ |
| Cursor (Cursor IDE) | .cursor/hooks.json |
CLAUDE.md* |
.cursor/rules/ |
* Cursor natively reads CLAUDE.md and AGENTS.md
# Interactive mode (multi-select agent picker)
npx @acmeacmeio/setup-sh
# Specify agent via flag
npx @acmeacmeio/setup-sh . --agent=claude # Claude Code only
npx @acmeacmeio/setup-sh . --agent=codex # Codex only
npx @acmeacmeio/setup-sh . --agent=cursor # Cursor IDE only
npx @acmeacmeio/setup-sh . --agent=all # All agents
# Create new project directory
npx @acmeacmeio/setup-sh my-project --agent=all
# Non-interactive mode
npx @acmeacmeio/setup-sh my-project --agent=claude --yes-
Installs Required Tools (if missing)
- GitHub CLI (
gh) - Node.js
- pnpm
- agent-browser (browser automation)
- GitHub CLI (
-
Creates Workspace Structure
Claude Code:
.claude/ ├── settings.json # Permissions, hooks ├── commands/ # Slash commands (/fix-issue, /review, etc.) ├── skills/ # Domain knowledge ├── agents/ # Subagent definitions └── router/ # Intent classification system CLAUDE.md # Team standards .mcp.json # MCP server configurationCodex:
.codex/ ├── config.toml # Model, sandbox, MCP servers └── skills/ # Domain knowledge (same format as Claude) AGENTS.md # Team standardsCursor:
.cursor/ ├── rules/ # MDC rules with YAML frontmatter │ ├── tdd.mdc # Always apply - TDD methodology │ ├── typescript.mdc # Auto-attach on *.ts, *.tsx │ ├── api-design.mdc # Agent requested - REST patterns │ ├── security.mdc # Agent requested - Security checklist │ └── git-workflow.mdc # Agent requested - Git conventions ├── commands/ # Plain markdown commands └── hooks.json # Post-edit formatting hooks .cursorignore # Files to exclude from Cursor context CLAUDE.md # Team standards (Cursor reads this natively) -
Installs Skills (Claude Code)
test-driven-development- TDD workflow enforcement (obra/superpowers)frontend-design- Frontend design patterns (anthropics/anthropic-skills)agent-browser- Browser automation (vercel-labs/agent-browser)vercel-react-best-practices- React/Next.js performance optimization (vercel-labs/agent-skills)next-best-practices- Next.js best practices (vercel-labs/next-skills)find-skills- Skill discovery (vercel-labs/skills)supabase-postgres-best-practices- Supabase/Postgres patterns (supabase/agent-skills)
Codex and Cursor use bundled skills/rules in their respective directories.
| Feature | Claude Code | Codex | Cursor |
|---|---|---|---|
| Instructions file | CLAUDE.md |
AGENTS.md |
CLAUDE.md* |
| Config format | JSON | TOML | JSON |
| Rules/Skills format | SKILL.md |
SKILL.md |
.mdc (MDC) |
| Hooks | Pre/Post tool use | Notify only | afterFileEdit |
| MCP servers | .mcp.json |
config.toml |
N/A |
| Permissions | Allowlist/denylist | Sandbox modes | N/A |
| Rule application | /skill-name |
$skill-name |
globs/alwaysApply |
* Cursor also reads AGENTS.md
Cursor uses MDC (Markdown with YAML frontmatter) format for rules:
---
description: TypeScript strict mode patterns
globs:
- "**/*.ts"
- "**/*.tsx"
alwaysApply: false
---
# TypeScript Patterns
Content here...| Type | Configuration | Behavior |
|---|---|---|
| Always Apply | alwaysApply: true, globs: [] |
Active for all files |
| Auto Attached | alwaysApply: false, globs: ["*.ts"] |
Active when matching files open |
| Agent Requested | alwaysApply: false, globs: [] |
Agent decides when to use |
/fix-issue <number>- Fix a GitHub issue with TDD workflow/review- Run code review checklist/clean-copy- Restructure commits into clean history/auto- Auto-detect best workflow
tdd.mdc- TDD methodology (always apply)typescript.mdc- TypeScript patterns (auto-attach on .ts/.tsx)api-design.mdc- REST + Zod patterns (agent requested)security.mdc- Security checklist (agent requested)git-workflow.mdc- Git conventions (agent requested)
api-design- REST + Zod patternssecurity-review- Security audit checklist
code-simplifier- Code simplification for clarity and maintainability
Claude Code:
- Auto-format: Prettier + ESLint on every edit
- Security: Blocks
.envfile modifications - Intent routing: Suggests commands based on prompts
Cursor:
- Auto-format: Prettier + ESLint after file edit
npx @acmeacmeio/setup-sh my-project# Test locally without publishing
cd packages/setup-sh
node src/cli.mjs /path/to/test-project
# Or link globally
npm link
setup-sh /path/to/test-project
# Test specific agent
node src/cli.mjs /tmp/test --agent=cursor
node src/cli.mjs /tmp/test --agent=codex
node src/cli.mjs /tmp/test --agent=allAfter running the command, customize:
CLAUDE.md- Edit team standards.claude/settings.json- Adjust permissions and hooks.claude/commands/- Add custom slash commands.claude/skills/- Add domain-specific knowledge
AGENTS.md- Edit team standards.codex/config.toml- Adjust model, sandbox, MCP servers.codex/skills/- Add domain-specific knowledge
CLAUDE.md- Edit team standards (Cursor reads this natively).cursor/rules/- Add custom MDC rules.cursor/commands/- Add custom commands.cursor/hooks.json- Adjust post-edit hooks.cursorignore- Exclude files from Cursor context
MIT