mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-02-09 16:03:09 +08:00
Major OpenCode integration overhaul: - llms.txt: Comprehensive OpenCode documentation for LLMs (642 lines) - .opencode/plugins/ecc-hooks.ts: All Claude Code hooks translated to OpenCode's plugin system - .opencode/tools/*.ts: 3 custom tools (run-tests, check-coverage, security-audit) - .opencode/commands/*.md: All 24 commands in OpenCode format - .opencode/package.json: npm package structure for opencode-ecc - .opencode/index.ts: Main plugin entry point - Delete incorrect LIMITATIONS.md (hooks ARE supported via plugins) - Rewrite MIGRATION.md with correct hook event mapping - Update README.md OpenCode section to show full feature parity OpenCode has 20+ events vs Claude Code's 3 phases: - PreToolUse → tool.execute.before - PostToolUse → tool.execute.after - Stop → session.idle - SessionStart → session.created - SessionEnd → session.deleted - Plus: file.edited, file.watcher.updated, permission.asked, todo.updated - 12 agents: Full parity - 24 commands: Full parity (+1 from original 23) - 16 skills: Full parity - Hooks: OpenCode has MORE (20+ events vs 3 phases) - Custom Tools: 3 native OpenCode tools The OpenCode configuration can now be: 1. Used directly: cd everything-claude-code && opencode 2. Installed via npm: npm install opencode-ecc
68 lines
1.5 KiB
Markdown
68 lines
1.5 KiB
Markdown
---
|
|
description: Configure package manager preference
|
|
agent: build
|
|
---
|
|
|
|
# Setup Package Manager Command
|
|
|
|
Configure your preferred package manager: $ARGUMENTS
|
|
|
|
## Your Task
|
|
|
|
Set up package manager preference for the project or globally.
|
|
|
|
## Detection Order
|
|
|
|
1. **Environment variable**: `CLAUDE_PACKAGE_MANAGER`
|
|
2. **Project config**: `.claude/package-manager.json`
|
|
3. **package.json**: `packageManager` field
|
|
4. **Lock file**: Auto-detect from lock files
|
|
5. **Global config**: `~/.claude/package-manager.json`
|
|
6. **Fallback**: First available
|
|
|
|
## Configuration Options
|
|
|
|
### Option 1: Environment Variable
|
|
```bash
|
|
export CLAUDE_PACKAGE_MANAGER=pnpm
|
|
```
|
|
|
|
### Option 2: Project Config
|
|
```bash
|
|
# Create .claude/package-manager.json
|
|
echo '{"packageManager": "pnpm"}' > .claude/package-manager.json
|
|
```
|
|
|
|
### Option 3: package.json
|
|
```json
|
|
{
|
|
"packageManager": "pnpm@8.0.0"
|
|
}
|
|
```
|
|
|
|
### Option 4: Global Config
|
|
```bash
|
|
# Create ~/.claude/package-manager.json
|
|
echo '{"packageManager": "yarn"}' > ~/.claude/package-manager.json
|
|
```
|
|
|
|
## Supported Package Managers
|
|
|
|
| Manager | Lock File | Commands |
|
|
|---------|-----------|----------|
|
|
| npm | package-lock.json | `npm install`, `npm run` |
|
|
| pnpm | pnpm-lock.yaml | `pnpm install`, `pnpm run` |
|
|
| yarn | yarn.lock | `yarn install`, `yarn run` |
|
|
| bun | bun.lockb | `bun install`, `bun run` |
|
|
|
|
## Verification
|
|
|
|
Check current setting:
|
|
```bash
|
|
node scripts/setup-package-manager.js --detect
|
|
```
|
|
|
|
---
|
|
|
|
**TIP**: For consistency across team, add `packageManager` field to package.json.
|