{"_id":"@acmeacmeio/setup-sh","_rev":"2-bb9a017802180aeac2dd77f2c0d03970","name":"@acmeacmeio/setup-sh","dist-tags":{"latest":"0.2.7"},"versions":{"0.2.6":{"name":"@acmeacmeio/setup-sh","version":"0.2.6","keywords":["claude","claude-code","codex","openai","cursor","cursor-ide","ai","developer-tools","workspace","scaffold","multi-agent"],"author":{"name":"ACMEACMEIO"},"license":"MIT","_id":"@acmeacmeio/setup-sh@0.2.6","maintainers":[{"name":"patocabo","email":"pato@acmeacme.io"}],"homepage":"https://github.com/acmeacmeio/setup-sh#readme","bugs":{"url":"https://github.com/acmeacmeio/setup-sh/issues"},"bin":{"setup-sh":"src/cli.mjs"},"dist":{"shasum":"9e8877a094ee93122e71e4bfd2a0db2e810ccdb7","tarball":"https://registry.npmjs.org/@acmeacmeio/setup-sh/-/setup-sh-0.2.6.tgz","fileCount":32,"integrity":"sha512-51HN+o6S1UjPaEujTetZocqq2e2C8uYloiaEW2z1+T/kGq1pXxq1Lvh/2i1o5ToPoBMOSovyVBMRSFR54tXvHg==","signatures":[{"sig":"MEQCIA/LSAEWvtk4DumlZPprKc+PquqFndzndznvv47VJDEUAiAz5NlsDok1QG+GOGVbs9xWgioA2aOrAM806SFQHY1KZA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":77647},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"33aa481a5fb360802ac4f8a67c01e183e2cc5e67","_npmUser":{"name":"patocabo","email":"pato@acmeacme.io"},"repository":{"url":"git+https://github.com/acmeacmeio/setup-sh.git","type":"git"},"_npmVersion":"11.6.2","description":"Bootstrap a multi-agent workspace (Claude Code, Codex, Cursor) with team standards, hooks, and skills","directories":{},"_nodeVersion":"24.12.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/setup-sh_0.2.6_1769216114412_0.14970129434876256","host":"s3://npm-registry-packages-npm-production"}},"0.2.7":{"name":"@acmeacmeio/setup-sh","version":"0.2.7","description":"Bootstrap a multi-agent workspace (Claude Code, Codex, Cursor) with team standards, hooks, and skills","author":{"name":"ACMEACMEIO"},"license":"MIT","bin":{"setup-sh":"src/cli.mjs"},"type":"module","keywords":["claude","claude-code","codex","openai","cursor","cursor-ide","ai","developer-tools","workspace","scaffold","multi-agent"],"engines":{"node":">=18.0.0"},"publishConfig":{"registry":"https://registry.npmjs.org","access":"public"},"repository":{"type":"git","url":"git+https://github.com/acmeacmeio/setup-sh.git"},"gitHead":"40fc61636ad8dee178e2cb6198496c36a88ac020","_id":"@acmeacmeio/setup-sh@0.2.7","bugs":{"url":"https://github.com/acmeacmeio/setup-sh/issues"},"homepage":"https://github.com/acmeacmeio/setup-sh#readme","_nodeVersion":"24.12.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-9XV3Rou9SMitHio7HP/vv947/wR0U+4pKZCnT8etq6OMGmAedfQ7puoderI+UXaDsRKvqBglYAdDZrJPZBJccQ==","shasum":"a2d21719d3c140b1b429300d04db2aba723553fb","tarball":"https://registry.npmjs.org/@acmeacmeio/setup-sh/-/setup-sh-0.2.7.tgz","fileCount":32,"unpackedSize":82608,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCID4BBSA5WQg/fVOErTqmru9KA69igxcOWyW22fKKQ1uTAiBBoMkoxiZIBJHUaz1UniF8LAvuruODmuSUpp8tTPGHSA=="}]},"_npmUser":{"name":"patocabo","email":"pato@acmeacme.io"},"directories":{},"maintainers":[{"name":"patocabo","email":"pato@acmeacme.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/setup-sh_0.2.7_1769732778384_0.19750431223113218"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-24T00:55:14.307Z","modified":"2026-01-30T00:26:19.011Z","0.2.6":"2026-01-24T00:55:14.626Z","0.2.7":"2026-01-30T00:26:18.551Z"},"bugs":{"url":"https://github.com/acmeacmeio/setup-sh/issues"},"author":{"name":"ACMEACMEIO"},"license":"MIT","homepage":"https://github.com/acmeacmeio/setup-sh#readme","keywords":["claude","claude-code","codex","openai","cursor","cursor-ide","ai","developer-tools","workspace","scaffold","multi-agent"],"repository":{"type":"git","url":"git+https://github.com/acmeacmeio/setup-sh.git"},"description":"Bootstrap a multi-agent workspace (Claude Code, Codex, Cursor) with team standards, hooks, and skills","maintainers":[{"name":"patocabo","email":"pato@acmeacme.io"}],"readme":"# setup-sh\n\nBootstrap a multi-agent workspace with team standards, hooks, and skills for Claude Code, OpenAI Codex, and Cursor IDE.\n\n## Supported Agents\n\n| Agent | Config | Instructions | Skills/Rules |\n|-------|--------|--------------|--------------|\n| **Claude Code** (Anthropic) | `.claude/settings.json` | `CLAUDE.md` | `.claude/skills/` |\n| **Codex** (OpenAI) | `.codex/config.toml` | `AGENTS.md` | `.codex/skills/` |\n| **Cursor** (Cursor IDE) | `.cursor/hooks.json` | `CLAUDE.md`* | `.cursor/rules/` |\n\n\\* Cursor natively reads `CLAUDE.md` and `AGENTS.md`\n\n## Usage\n\n```bash\n# Interactive mode (prompts for agent selection)\nnpx @acmeacmeio/setup-sh\n\n# Specify agent via flag\nnpx @acmeacmeio/setup-sh . --agent=claude   # Claude Code only\nnpx @acmeacmeio/setup-sh . --agent=codex    # Codex only\nnpx @acmeacmeio/setup-sh . --agent=cursor   # Cursor IDE only\nnpx @acmeacmeio/setup-sh . --agent=all      # All agents\n\n# Create new project directory\nnpx @acmeacmeio/setup-sh my-project --agent=all\n\n# Non-interactive mode\nnpx @acmeacmeio/setup-sh my-project --agent=claude --yes\n```\n\n## What It Does\n\n1. **Installs Required Tools** (if missing)\n   - GitHub CLI (`gh`)\n   - Node.js\n   - pnpm\n   - Python 3.11+ and uv\n\n2. **Creates Workspace Structure**\n\n   **Claude Code:**\n   ```\n   .claude/\n   ├── settings.json      # Permissions, hooks\n   ├── commands/          # Slash commands (/tdd, /review, etc.)\n   ├── skills/            # Domain knowledge\n   └── router/            # Intent classification system\n   CLAUDE.md              # Team standards\n   .mcp.json              # MCP server configuration\n   ```\n\n   **Codex:**\n   ```\n   .codex/\n   ├── config.toml        # Model, sandbox, MCP servers\n   └── skills/            # Domain knowledge (same format as Claude)\n   AGENTS.md              # Team standards\n   ```\n\n   **Cursor:**\n   ```\n   .cursor/\n   ├── rules/             # MDC rules with YAML frontmatter\n   │   ├── tdd.mdc        # Always apply - TDD methodology\n   │   ├── typescript.mdc # Auto-attach on *.ts, *.tsx\n   │   ├── api-design.mdc # Agent requested - REST patterns\n   │   ├── security.mdc   # Agent requested - Security checklist\n   │   └── git-workflow.mdc # Agent requested - Git conventions\n   ├── commands/          # Plain markdown commands\n   └── hooks.json         # Post-edit formatting hooks\n   .cursorignore          # Files to exclude from Cursor context\n   CLAUDE.md              # Team standards (Cursor reads this natively)\n   ```\n\n3. **Installs Skills**\n   - Claude Code: External skills via `npx add-skill`\n   - Codex: Bundled skills in `.codex/skills/`\n   - Cursor: Bundled rules in `.cursor/rules/`\n\n## Feature Comparison\n\n| Feature | Claude Code | Codex | Cursor |\n|---------|-------------|-------|--------|\n| Instructions file | `CLAUDE.md` | `AGENTS.md` | `CLAUDE.md`* |\n| Config format | JSON | TOML | JSON |\n| Rules/Skills format | `SKILL.md` | `SKILL.md` | `.mdc` (MDC) |\n| Hooks | Pre/Post tool use | Notify only | afterFileEdit |\n| MCP servers | `.mcp.json` | `config.toml` | N/A |\n| Permissions | Allowlist/denylist | Sandbox modes | N/A |\n| Rule application | `/skill-name` | `$skill-name` | globs/alwaysApply |\n\n\\* Cursor also reads `AGENTS.md`\n\n## Cursor MDC Rules\n\nCursor uses MDC (Markdown with YAML frontmatter) format for rules:\n\n```markdown\n---\ndescription: TypeScript strict mode patterns\nglobs:\n  - \"**/*.ts\"\n  - \"**/*.tsx\"\nalwaysApply: false\n---\n\n# TypeScript Patterns\n\nContent here...\n```\n\n### Rule Types\n\n| Type | Configuration | Behavior |\n|------|---------------|----------|\n| **Always Apply** | `alwaysApply: true`, `globs: []` | Active for all files |\n| **Auto Attached** | `alwaysApply: false`, `globs: [\"*.ts\"]` | Active when matching files open |\n| **Agent Requested** | `alwaysApply: false`, `globs: []` | Agent decides when to use |\n\n## What You Get\n\n### Commands (Claude Code)\n\n- `/fix-issue <number>` - Fix a GitHub issue with TDD workflow\n- `/review` - Run code review checklist\n- `/clean-copy` - Restructure commits into clean history\n- `/auto` - Auto-detect best workflow\n\n### Rules (Cursor)\n\n- `tdd.mdc` - TDD methodology (always apply)\n- `typescript.mdc` - TypeScript patterns (auto-attach on .ts/.tsx)\n- `api-design.mdc` - REST + Zod patterns (agent requested)\n- `security.mdc` - Security checklist (agent requested)\n- `git-workflow.mdc` - Git conventions (agent requested)\n\n### Skills (Both Claude Code & Codex)\n\n- `$api-design` - REST + Zod patterns\n- `$security-review` - Security audit checklist\n\n### Hooks\n\n**Claude Code:**\n- Auto-format: Prettier + ESLint on every edit\n- Security: Blocks `.env` file modifications\n- Intent routing: Suggests commands based on prompts\n\n**Cursor:**\n- Auto-format: Prettier + ESLint after file edit\n\n## Setup for Users\n\nConfigure npm to use GitHub Packages for the `@acmeacmeio` scope:\n\n```bash\n# Add to ~/.npmrc\n@acmeacmeio:registry=https://npm.pkg.github.com\n//npm.pkg.github.com/:_authToken=YOUR_GITHUB_TOKEN\n```\n\nThen run:\n\n```bash\nnpx @acmeacmeio/setup-sh my-project\n```\n\n## Local Development\n\n```bash\n# Test locally without publishing\ncd packages/setup-sh\nnode src/cli.mjs /path/to/test-project\n\n# Or link globally\nnpm link\nsetup-sh /path/to/test-project\n\n# Test specific agent\nnode src/cli.mjs /tmp/test --agent=cursor\nnode src/cli.mjs /tmp/test --agent=codex\nnode src/cli.mjs /tmp/test --agent=all\n```\n\n## Customization\n\nAfter running the command, customize:\n\n### Claude Code\n1. **`CLAUDE.md`** - Edit team standards\n2. **`.claude/settings.json`** - Adjust permissions and hooks\n3. **`.claude/commands/`** - Add custom slash commands\n4. **`.claude/skills/`** - Add domain-specific knowledge\n\n### Codex\n1. **`AGENTS.md`** - Edit team standards\n2. **`.codex/config.toml`** - Adjust model, sandbox, MCP servers\n3. **`.codex/skills/`** - Add domain-specific knowledge\n\n### Cursor\n1. **`CLAUDE.md`** - Edit team standards (Cursor reads this natively)\n2. **`.cursor/rules/`** - Add custom MDC rules\n3. **`.cursor/commands/`** - Add custom commands\n4. **`.cursor/hooks.json`** - Adjust post-edit hooks\n5. **`.cursorignore`** - Exclude files from Cursor context\n\n## License\n\nMIT\n","readmeFilename":"README.md"}