mirror of
https://github.com/obra/superpowers.git
synced 2026-04-23 18:09:05 +08:00
Compare commits
4 Commits
fix/window
...
opencode-n
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d525598b32 | ||
|
|
6491a1d9cf | ||
|
|
06dcd150ad | ||
|
|
6354d817eb |
@@ -1,14 +0,0 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
REM Windows shim for the extensionless Node.js launcher (superpowers-codex).
|
||||
REM
|
||||
REM Windows cannot execute extensionless scripts with shebangs, so this wrapper
|
||||
REM invokes Node.js directly.
|
||||
REM
|
||||
REM Usage:
|
||||
REM superpowers-codex.cmd bootstrap
|
||||
REM superpowers-codex.cmd use-skill superpowers:brainstorming
|
||||
REM superpowers-codex.cmd find-skills
|
||||
|
||||
node "%~dp0superpowers-codex" %*
|
||||
17
.gitattributes
vendored
17
.gitattributes
vendored
@@ -1,17 +0,0 @@
|
||||
# Ensure shell scripts always have LF line endings
|
||||
*.sh text eol=lf
|
||||
|
||||
# Ensure the polyglot wrapper keeps LF (it's parsed by both cmd and bash)
|
||||
*.cmd text eol=lf
|
||||
|
||||
# Common text files
|
||||
*.md text eol=lf
|
||||
*.json text eol=lf
|
||||
*.js text eol=lf
|
||||
*.mjs text eol=lf
|
||||
*.ts text eol=lf
|
||||
|
||||
# Explicitly mark binary files
|
||||
*.png binary
|
||||
*.jpg binary
|
||||
*.gif binary
|
||||
@@ -36,20 +36,6 @@ Components:
|
||||
|
||||
The visual companion is opt-in and falls back gracefully to terminal-only operation.
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
**Fixed Windows hook execution for Claude Code 2.1.x**
|
||||
|
||||
Claude Code 2.1.x changed how hooks execute on Windows: it now auto-detects `.sh` files in commands and prepends `bash `. This broke the polyglot wrapper pattern because `bash "run-hook.cmd" session-start.sh` tries to execute the .cmd file as a bash script.
|
||||
|
||||
Fix: hooks.json now calls session-start.sh directly. Claude Code 2.1.x handles the bash invocation automatically. Also added .gitattributes to enforce LF line endings for shell scripts (fixes CRLF issues on Windows checkout).
|
||||
|
||||
**Fixed Windows Codex launcher (#243, #285)**
|
||||
|
||||
Windows cannot execute extensionless scripts with shebangs, so the `superpowers-codex` script would either open an "Open with" dialog or produce no output in PowerShell.
|
||||
|
||||
Fix: Added `.codex/superpowers-codex.cmd` wrapper that invokes Node.js directly. Updated docs with Windows-specific installation and usage instructions.
|
||||
|
||||
### Improvements
|
||||
|
||||
**Instruction priority clarified in using-superpowers**
|
||||
|
||||
@@ -19,27 +19,13 @@ Fetch and follow instructions from https://raw.githubusercontent.com/obra/superp
|
||||
|
||||
### Installation Steps
|
||||
|
||||
#### macOS / Linux
|
||||
#### 1. Clone Superpowers
|
||||
|
||||
```bash
|
||||
mkdir -p ~/.codex/superpowers
|
||||
git clone https://github.com/obra/superpowers.git ~/.codex/superpowers
|
||||
```
|
||||
|
||||
#### Windows
|
||||
|
||||
**Command Prompt:**
|
||||
```cmd
|
||||
mkdir "%USERPROFILE%\.codex\superpowers"
|
||||
git clone https://github.com/obra/superpowers.git "%USERPROFILE%\.codex\superpowers"
|
||||
```
|
||||
|
||||
**PowerShell:**
|
||||
```powershell
|
||||
New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.codex\superpowers"
|
||||
git clone https://github.com/obra/superpowers.git "$env:USERPROFILE\.codex\superpowers"
|
||||
```
|
||||
|
||||
#### 2. Install Bootstrap
|
||||
|
||||
The bootstrap file is included in the repository at `.codex/superpowers-bootstrap.md`. Codex will automatically use it from the cloned location.
|
||||
@@ -48,20 +34,12 @@ The bootstrap file is included in the repository at `.codex/superpowers-bootstra
|
||||
|
||||
Tell Codex:
|
||||
|
||||
**macOS / Linux:**
|
||||
```
|
||||
Run ~/.codex/superpowers/.codex/superpowers-codex find-skills to show available skills
|
||||
```
|
||||
|
||||
**Windows:**
|
||||
```
|
||||
Run ~/.codex/superpowers/.codex/superpowers-codex.cmd find-skills to show available skills
|
||||
```
|
||||
|
||||
You should see a list of available skills with descriptions.
|
||||
|
||||
> **Note:** On Windows, always use the `.cmd` extension when running superpowers-codex commands.
|
||||
|
||||
## Usage
|
||||
|
||||
### Finding Skills
|
||||
@@ -148,26 +126,12 @@ git pull
|
||||
2. Check CLI works: `~/.codex/superpowers/.codex/superpowers-codex find-skills`
|
||||
3. Verify skills have SKILL.md files
|
||||
|
||||
### CLI script not executable (macOS/Linux)
|
||||
### CLI script not executable
|
||||
|
||||
```bash
|
||||
chmod +x ~/.codex/superpowers/.codex/superpowers-codex
|
||||
```
|
||||
|
||||
### Windows: "Open with" dialog or no output
|
||||
|
||||
On Windows, you must use the `.cmd` wrapper:
|
||||
|
||||
```cmd
|
||||
~/.codex/superpowers/.codex/superpowers-codex.cmd find-skills
|
||||
```
|
||||
|
||||
Or invoke with Node directly:
|
||||
|
||||
```cmd
|
||||
node "%USERPROFILE%\.codex\superpowers\.codex\superpowers-codex" find-skills
|
||||
```
|
||||
|
||||
### Node.js errors
|
||||
|
||||
The CLI script requires Node.js. Verify:
|
||||
@@ -176,7 +140,7 @@ The CLI script requires Node.js. Verify:
|
||||
node --version
|
||||
```
|
||||
|
||||
Should show v14 or higher (v18+ recommended).
|
||||
Should show v14 or higher (v18+ recommended for ES module support).
|
||||
|
||||
## Getting Help
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"hooks": [
|
||||
{
|
||||
"type": "command",
|
||||
"command": "${CLAUDE_PLUGIN_ROOT}/hooks/session-start.sh"
|
||||
"command": "\"${CLAUDE_PLUGIN_ROOT}/hooks/run-hook.cmd\" session-start.sh"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,30 +1,6 @@
|
||||
: << 'CMDBLOCK'
|
||||
@echo off
|
||||
REM ============================================================================
|
||||
REM DEPRECATED: This polyglot wrapper is no longer used as of Claude Code 2.1.x
|
||||
REM ============================================================================
|
||||
REM
|
||||
REM Claude Code 2.1.x changed the Windows execution model for hooks:
|
||||
REM
|
||||
REM Before (2.0.x): Hooks ran with shell:true, using the system default shell.
|
||||
REM This wrapper provided cross-platform compatibility by
|
||||
REM being both a valid .cmd file (Windows) and bash script.
|
||||
REM
|
||||
REM After (2.1.x): Claude Code now auto-detects .sh files in hook commands
|
||||
REM and prepends "bash " on Windows. This broke the wrapper
|
||||
REM because the command:
|
||||
REM "run-hook.cmd" session-start.sh
|
||||
REM became:
|
||||
REM bash "run-hook.cmd" session-start.sh
|
||||
REM ...and bash cannot execute a .cmd file.
|
||||
REM
|
||||
REM The fix: hooks.json now calls session-start.sh directly. Claude Code 2.1.x
|
||||
REM handles the bash invocation automatically on Windows.
|
||||
REM
|
||||
REM This file is kept for reference and potential backward compatibility.
|
||||
REM ============================================================================
|
||||
REM
|
||||
REM Original purpose: Polyglot wrapper to run .sh scripts cross-platform
|
||||
REM Polyglot wrapper: runs .sh scripts cross-platform
|
||||
REM Usage: run-hook.cmd <script-name> [args...]
|
||||
REM The script should be in the same directory as this wrapper
|
||||
|
||||
|
||||
Reference in New Issue
Block a user