Skip to content

Fix symlink path in Windows installation instructions#539

Closed
itsjinendrajain wants to merge 1 commit into
obra:mainfrom
itsjinendrajain:patch-1
Closed

Fix symlink path in Windows installation instructions#539
itsjinendrajain wants to merge 1 commit into
obra:mainfrom
itsjinendrajain:patch-1

Conversation

@itsjinendrajain

Copy link
Copy Markdown

Summary

Updated the installation docs to fix Windows (PowerShell) setup and correct the symlink/junction path so users can successfully link the skills directory.

Motivation and Context

The previous Windows instructions had an incorrect path (~\.codex inside $env:USERPROFILE) and included a broken/duplicate command. This caused junction creation to fail, so Codex/agents could not load the skills.

How Has This Been Tested?

Tested on Windows PowerShell by:

  • Creating "$env:USERPROFILE\.agents\skills"
  • Running the corrected mklink /J command
  • Verifying the junction points to "$env:USERPROFILE\.codex\superpowers\skills" and that the folder opens correctly.

Breaking Changes

No.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Checklist

  • I have read the [MCP Documentation](https://modelcontextprotocol.io)
  • My code follows the repository's style guidelines
  • New and existing tests pass locally (docs-only change)
  • I have added appropriate error handling (N/A for docs, but commands are corrected)
  • I have added or updated documentation as needed

Additional context

Windows junctions (mklink /J) do not understand ~ like PowerShell does, so the path must be explicit. The updated command uses "$env:USERPROFILE\.codex\..." which works reliably.

@coderabbitai

coderabbitai Bot commented Feb 24, 2026

Copy link
Copy Markdown
📝 Walkthrough

Walkthrough

The installation documentation for Windows is updated to reference the home directory using a tilde-expanded path (~/.codex) instead of direct environment variable expansion when creating the symlink junction point.

Changes

Cohort / File(s) Summary
Windows Installation Path Update
.codex/INSTALL.md
Modified the target path in the Windows symlink command from $env:USERPROFILE\.codex\superpowers\skills to $env:USERPROFILE\~\.codex\superpowers\skills to use tilde-expanded home directory notation.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs

Poem

🐰 A tilde hops through Windows paths so grand,
Where home directories now stand,
The symlink dances with expanded grace,
Finding skills in their rightful place! ✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title directly and clearly describes the main change: fixing a symlink path in Windows installation instructions, which matches the core objective of the PR.
Description check ✅ Passed The description provides comprehensive context about the Windows installation bug, the root cause, testing approach, and reasoning for the fix, directly related to the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.codex/INSTALL.md:
- Line 25: The mklink command in the diff uses an incorrect target path
containing a literal "\~\" segment; update the mklink /J invocation (the command
string containing "$env:USERPROFILE\.agents\skills\superpowers" and
"$env:USERPROFILE\~\.codex\superpowers\skills") to remove the spurious "\~\" so
the target is "$env:USERPROFILE\.codex\superpowers\skills", ensuring the
junction points to %USERPROFILE%\.codex\superpowers\skills.

ℹ️ Review info

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e4a2375 and a9bd42f.

📒 Files selected for processing (1)
  • .codex/INSTALL.md

Comment thread .codex/INSTALL.md
```powershell
New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.agents\skills"
cmd /c mklink /J "$env:USERPROFILE\.agents\skills\superpowers" "$env:USERPROFILE\.codex\superpowers\skills"
cmd /c mklink /J "$env:USERPROFILE\.agents\skills\superpowers" "$env:USERPROFILE\~\.codex\superpowers\skills"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

Spurious \~\ in the target path produces a wrong directory — this fix is broken.

The updated target path "$env:USERPROFILE\~\.codex\superpowers\skills" does not resolve to %USERPROFILE%\.codex\superpowers\skills. Because ~ is not a special character inside a Windows path, this expands literally to C:\Users\<user>\~\.codex\superpowers\skills — a subdirectory named ~ that almost certainly does not exist, causing the junction creation to fail (or point to the wrong location).

The mklink /J syntax is mklink /J <link> <target>, so the argument order is fine, but the target path must be corrected by removing the extra \~\ segment:

🐛 Proposed fix
-  cmd /c mklink /J "$env:USERPROFILE\.agents\skills\superpowers" "$env:USERPROFILE\~\.codex\superpowers\skills"
+  cmd /c mklink /J "$env:USERPROFILE\.agents\skills\superpowers" "$env:USERPROFILE\.codex\superpowers\skills"
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
cmd /c mklink /J "$env:USERPROFILE\.agents\skills\superpowers" "$env:USERPROFILE\~\.codex\superpowers\skills"
cmd /c mklink /J "$env:USERPROFILE\.agents\skills\superpowers" "$env:USERPROFILE\.codex\superpowers\skills"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.codex/INSTALL.md at line 25, The mklink command in the diff uses an
incorrect target path containing a literal "\~\" segment; update the mklink /J
invocation (the command string containing
"$env:USERPROFILE\.agents\skills\superpowers" and
"$env:USERPROFILE\~\.codex\superpowers\skills") to remove the spurious "\~\" so
the target is "$env:USERPROFILE\.codex\superpowers\skills", ensuring the
junction points to %USERPROFILE%\.codex\superpowers\skills.

@obra obra added documentation Improvements or additions to documentation windows labels Mar 4, 2026
@obra

obra commented Mar 15, 2026

Copy link
Copy Markdown
Owner

Thanks for looking at the Windows install path, but this change introduces a bug: $env:USERPROFILE already resolves to the full home directory (e.g. C:\Users\user), so adding ~\ makes the path C:\Users\user\~\.codex\... — a literal tilde directory that doesn't exist. The current path on dev ($env:USERPROFILE\.codex\superpowers\skills) is correct.

@obra obra closed this Mar 15, 2026
obra pushed a commit that referenced this pull request Mar 16, 2026
Add #572/#571 entry, add "already fixed" section for #630/#529/#539,
and convert all issue/PR references to markdown links.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
vladivis pushed a commit to vladivis/superpowers that referenced this pull request Mar 18, 2026
Add obra#572/obra#571 entry, add "already fixed" section for obra#630/obra#529/obra#539,
and convert all issue/PR references to markdown links.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
shihao-hc pushed a commit to shihao-hc/superpowers that referenced this pull request Apr 6, 2026
Add obra#572/obra#571 entry, add "already fixed" section for obra#630/obra#529/obra#539,
and convert all issue/PR references to markdown links.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ronnyf pushed a commit to ronnyf/superpowers that referenced this pull request Apr 25, 2026
commit 7e51643
Merge: 3cee13e 8a0a5ca
Author: Jesse Vincent <jesse@fsck.com>
Date:   Tue Mar 17 15:02:02 2026 -0700

    Merge branch 'dev' for v5.0.5 release

commit 8a0a5ca
Author: Jesse Vincent <jesse@fsck.com>
Date:   Tue Mar 17 15:01:57 2026 -0700

    Release v5.0.5: brainstorm server ESM fix, Windows PID fix, stop-server reliability

commit 2d46da1
Author: Jesse Vincent <jesse@fsck.com>
Date:   Tue Mar 17 14:51:02 2026 -0700

    Credit @lucasyhzhu-debug for Windows brainstorm docs (PR obra#768)

commit 0002948
Author: Jesse Vincent <jesse@fsck.com>
Date:   Tue Mar 17 14:35:03 2026 -0700

    Update RELEASE-NOTES.md with brainstorm server ESM fix

commit 3128a2c
Author: sarbojitrana <sarbojitrana47c@gmail.com>
Date:   Tue Mar 17 19:44:46 2026 +0530

    fix : resolve ESM/CommonJS module confict in brainstorming server

commit f34ee47
Author: jesse <jesse@magic-kingdom>
Date:   Tue Mar 17 04:09:36 2026 +0000

    fix: Windows brainstorm server lifecycle, restore execution choice

    - Skip OWNER_PID monitoring on Windows/MSYS2 where the PID namespace is
      invisible to Node.js, preventing server self-termination after 60s (obra#770)
    - Document run_in_background: true for Claude Code on Windows (obra#767)
    - Restore user choice between subagent-driven and inline execution after
      plan writing; subagent-driven is recommended but no longer mandatory
    - Add Windows lifecycle test script verified on Windows 11 VM
    - Note obra#723 (stop-server.sh reliability) as already fixed

    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

commit 3cee13e
Author: Jesse Vincent <jesse@fsck.com>
Date:   Mon Mar 16 20:10:15 2026 -0700

    Add Community section with Discord link and Prime Radiant attribution

commit 1128a72
Merge: 825a142 d1b5f57
Author: Jesse Vincent <jesse@fsck.com>
Date:   Mon Mar 16 17:56:02 2026 -0700

    Merge branch 'dev'

commit d1b5f57
Author: Jesse Vincent <jesse@fsck.com>
Date:   Mon Mar 16 17:55:49 2026 -0700

    Release v5.0.4: review loop refinements, OpenCode one-line install, bug fixes

commit 61a64d7
Author: savvyinsight <ecedwdpf@outlook.com>
Date:   Mon Mar 16 01:23:32 2026 +0800

    fix: verify server actually stopped in stop-server.sh

commit 825a142
Author: Jesse Vincent <jesse@fsck.com>
Date:   Mon Mar 16 17:23:54 2026 -0700

    Revert "Merge pull request obra#751 from savvyinsight/fix/stop-server-verify"

    This reverts commit bd537d8, reversing
    changes made to 363923f.

commit bd537d8
Merge: 363923f 6d21e9c
Author: Jesse Vincent <jesse@fsck.com>
Date:   Mon Mar 16 17:14:47 2026 -0700

    Merge pull request obra#751 from savvyinsight/fix/stop-server-verify

    fix: verify server actually stopped in stop-server.sh

commit 24be2e8
Merge: a479e10 687a661
Author: Jesse Vincent <jesse@fsck.com>
Date:   Mon Mar 16 17:12:03 2026 -0700

    Merge pull request obra#749 from ynyyn/fix-codex-multi-agent-flag

    fix(docs): replace deprecated `collab` flag with `multi_agent` for Codex docs

commit a479e10
Merge: a4c4871 f4b54a1
Author: Jesse Vincent <jesse@fsck.com>
Date:   Mon Mar 16 17:08:09 2026 -0700

    Merge pull request obra#753 from obra/f/opencode-plugin

    Auto-register skills from plugin, simplify OpenCode install

commit a4c4871
Author: Jesse Vincent <jesse@fsck.com>
Date:   Mon Mar 16 15:57:27 2026 -0700

    Use generic "the agent" instead of "Claude" in brainstorm server

commit 2c6a8a3
Author: Jesse Vincent <jesse@fsck.com>
Date:   Mon Mar 16 15:57:23 2026 -0700

    Tone down review loops: single-pass plan review, raise issue bar

    - Remove chunk-based plan review in favor of single whole-plan review
    - Add Calibration sections to both reviewer prompts so only serious
      issues block approval
    - Reduce max review iterations from 5 to 3
    - Streamline reviewer checklists (spec: 7→5, plan: 7→4 categories)

commit 2b25774
Author: jesse <jesse@magic-kingdom>
Date:   Sun Mar 15 19:35:36 2026 +0000

    Update changelog with Cursor hooks support (obra#709)

    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

commit f4b54a1
Author: jesse <jesse@magic-kingdom>
Date:   Sun Mar 15 21:29:25 2026 +0000

    Auto-register skills from plugin, simplify OpenCode install to one line

    The plugin's new `config` hook injects the skills directory into
    OpenCode's live config singleton, so skills are discovered automatically
    without symlinks or manual config edits.

    Installation is now just adding one line to opencode.json:
      "plugin": ["superpowers@git+https://github.com/obra/superpowers.git"]

    Rewrote docs/README.opencode.md and .opencode/INSTALL.md to reflect
    the new approach, removing ~200 lines of platform-specific symlink
    instructions. Added migration notes for existing users.

    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

commit 911fa1d
Author: jesse <jesse@magic-kingdom>
Date:   Sun Mar 15 20:08:51 2026 +0000

    test: add package.json for opencode npm plugin test

commit 4e7c084
Author: jesse <jesse@magic-kingdom>
Date:   Sun Mar 15 19:35:18 2026 +0000

    feat: add Cursor-compatible hooks and fix platform detection

    Add hooks/hooks-cursor.json with Cursor's camelCase format (sessionStart,
    version: 1) and update .cursor-plugin/plugin.json to reference it. Uses
    ${CURSOR_PLUGIN_ROOT} and run-hook.cmd for cross-platform support.

    Fix session-start platform detection: check CURSOR_PLUGIN_ROOT first
    (Cursor may also set CLAUDE_PLUGIN_ROOT), ensuring correct output format
    for each platform.

    Based on PR obra#709 with fixes for: wrong filename (.sh extension), missing
    Windows support, fragile relative paths, and incorrect platform detection.

    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

commit 689f27c
Author: jesse <jesse@magic-kingdom>
Date:   Sun Mar 15 19:14:54 2026 +0000

    Update changelog: add bash 5.3+ fix, link all issues/PRs

    Add obra#572/obra#571 entry, add "already fixed" section for obra#630/obra#529/obra#539,
    and convert all issue/PR references to markdown links.

    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

commit 537ec64
Author: jesse <jesse@magic-kingdom>
Date:   Sun Mar 15 19:14:34 2026 +0000

    fix(hooks): replace heredoc with printf to fix bash 5.3+ hang

    Bash 5.3 has a regression where heredoc variable expansion blocks when
    content exceeds ~512 bytes. The session_context variable is ~4,500 bytes,
    causing the SessionStart hook to hang indefinitely on macOS with Homebrew
    bash 5.3+. Replace cat <<EOF with printf.

    Tested on Linux (bash 5.2) and Windows (Git Bash 5.2). The hang only
    affects 5.3+ but printf works correctly on all versions.

    Based on obra#572, closes obra#572. Fixes obra#571.

    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

commit c5e9538
Author: jesse <jesse@magic-kingdom>
Date:   Sun Mar 15 18:40:54 2026 +0000

    Update changelog with POSIX hook fix (obra#553)

    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

commit fd318b1
Author: jesse <jesse@magic-kingdom>
Date:   Sun Mar 15 18:40:33 2026 +0000

    fix(hooks): replace BASH_SOURCE with POSIX-safe $0

    Replace ${BASH_SOURCE[0]:-$0} with $0 in hooks/session-start and the
    polyglot-hooks docs example. BASH_SOURCE uses bash array syntax that
    causes 'Bad substitution' on systems where /bin/sh is dash (Ubuntu).

    Since session-start is always executed (never sourced), $0 and
    BASH_SOURCE give the same result. Tested on Linux (bash + dash) and
    Windows (Git Bash via CMD and direct).

    Based on obra#553, closes obra#553.

    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

commit ea472de
Author: jesse <jesse@magic-kingdom>
Date:   Sun Mar 15 18:38:16 2026 +0000

    Update changelog with portable shebang fix (obra#700)

    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

commit addfe85
Author: jesse <jesse@magic-kingdom>
Date:   Sun Mar 15 18:38:00 2026 +0000

    fix: use portable shebang #!/usr/bin/env bash in all shell scripts

    Replace #!/bin/bash with #!/usr/bin/env bash in 13 scripts. The
    hardcoded path fails on NixOS, FreeBSD, and macOS with Homebrew bash.
    #!/usr/bin/env bash is the portable POSIX-friendly alternative.

    Tested on Linux and Windows (Git Bash + CMD). macOS is the primary
    beneficiary since Homebrew installs bash to /opt/homebrew/bin/bash.

    Based on obra#700, closes obra#700.

    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

commit c6a2b1b
Author: jesse <jesse@magic-kingdom>
Date:   Sun Mar 15 18:24:23 2026 +0000

    fix: auto-foreground brainstorm server on Windows/Git Bash

    Windows/Git Bash reaps nohup background processes, causing the brainstorm
    server to die silently after launch. Auto-detect Windows via OSTYPE
    (msys/cygwin/mingw) and MSYSTEM env vars, switching to foreground mode
    automatically. Tested on Windows 11 from CMD, PowerShell, and Git Bash —
    all route through Git Bash and hit the same issue.

    Based on obra#740, fixes obra#737. Also adds CHANGELOG.md documenting the fix and
    a known OWNER_PID/WINPID mismatch on the main branch.

    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

commit d19703b
Author: jesse <jesse@magic-kingdom>
Date:   Sun Mar 15 18:28:55 2026 +0000

    fix: stop firing SessionStart hook on --resume

    Resumed sessions already have injected context in their conversation
    history. Re-firing the hook was redundant and could cause issues.
    The hook now fires only on startup, clear, and compact.

    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

commit 6d21e9c
Author: savvyinsight <ecedwdpf@outlook.com>
Date:   Mon Mar 16 01:23:32 2026 +0800

    fix: verify server actually stopped in stop-server.sh

commit 687a661
Author: ynyyn <6551531+ynyyn@users.noreply.github.com>
Date:   Sun Mar 15 21:21:09 2026 +0800

    Fix deprecated collab flag in Codex docs
ronnyf pushed a commit to ronnyf/superpowers that referenced this pull request Apr 27, 2026
commit 7e51643
Merge: 3cee13e 8a0a5ca
Author: Jesse Vincent <jesse@fsck.com>
Date:   Tue Mar 17 15:02:02 2026 -0700

    Merge branch 'dev' for v5.0.5 release

commit 8a0a5ca
Author: Jesse Vincent <jesse@fsck.com>
Date:   Tue Mar 17 15:01:57 2026 -0700

    Release v5.0.5: brainstorm server ESM fix, Windows PID fix, stop-server reliability

commit 2d46da1
Author: Jesse Vincent <jesse@fsck.com>
Date:   Tue Mar 17 14:51:02 2026 -0700

    Credit @lucasyhzhu-debug for Windows brainstorm docs (PR obra#768)

commit 0002948
Author: Jesse Vincent <jesse@fsck.com>
Date:   Tue Mar 17 14:35:03 2026 -0700

    Update RELEASE-NOTES.md with brainstorm server ESM fix

commit 3128a2c
Author: sarbojitrana <sarbojitrana47c@gmail.com>
Date:   Tue Mar 17 19:44:46 2026 +0530

    fix : resolve ESM/CommonJS module confict in brainstorming server

commit f34ee47
Author: jesse <jesse@magic-kingdom>
Date:   Tue Mar 17 04:09:36 2026 +0000

    fix: Windows brainstorm server lifecycle, restore execution choice

    - Skip OWNER_PID monitoring on Windows/MSYS2 where the PID namespace is
      invisible to Node.js, preventing server self-termination after 60s (obra#770)
    - Document run_in_background: true for Claude Code on Windows (obra#767)
    - Restore user choice between subagent-driven and inline execution after
      plan writing; subagent-driven is recommended but no longer mandatory
    - Add Windows lifecycle test script verified on Windows 11 VM
    - Note obra#723 (stop-server.sh reliability) as already fixed

    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

commit 3cee13e
Author: Jesse Vincent <jesse@fsck.com>
Date:   Mon Mar 16 20:10:15 2026 -0700

    Add Community section with Discord link and Prime Radiant attribution

commit 1128a72
Merge: 825a142 d1b5f57
Author: Jesse Vincent <jesse@fsck.com>
Date:   Mon Mar 16 17:56:02 2026 -0700

    Merge branch 'dev'

commit d1b5f57
Author: Jesse Vincent <jesse@fsck.com>
Date:   Mon Mar 16 17:55:49 2026 -0700

    Release v5.0.4: review loop refinements, OpenCode one-line install, bug fixes

commit 61a64d7
Author: savvyinsight <ecedwdpf@outlook.com>
Date:   Mon Mar 16 01:23:32 2026 +0800

    fix: verify server actually stopped in stop-server.sh

commit 825a142
Author: Jesse Vincent <jesse@fsck.com>
Date:   Mon Mar 16 17:23:54 2026 -0700

    Revert "Merge pull request obra#751 from savvyinsight/fix/stop-server-verify"

    This reverts commit bd537d8, reversing
    changes made to 363923f.

commit bd537d8
Merge: 363923f 6d21e9c
Author: Jesse Vincent <jesse@fsck.com>
Date:   Mon Mar 16 17:14:47 2026 -0700

    Merge pull request obra#751 from savvyinsight/fix/stop-server-verify

    fix: verify server actually stopped in stop-server.sh

commit 24be2e8
Merge: a479e10 687a661
Author: Jesse Vincent <jesse@fsck.com>
Date:   Mon Mar 16 17:12:03 2026 -0700

    Merge pull request obra#749 from ynyyn/fix-codex-multi-agent-flag

    fix(docs): replace deprecated `collab` flag with `multi_agent` for Codex docs

commit a479e10
Merge: a4c4871 f4b54a1
Author: Jesse Vincent <jesse@fsck.com>
Date:   Mon Mar 16 17:08:09 2026 -0700

    Merge pull request obra#753 from obra/f/opencode-plugin

    Auto-register skills from plugin, simplify OpenCode install

commit a4c4871
Author: Jesse Vincent <jesse@fsck.com>
Date:   Mon Mar 16 15:57:27 2026 -0700

    Use generic "the agent" instead of "Claude" in brainstorm server

commit 2c6a8a3
Author: Jesse Vincent <jesse@fsck.com>
Date:   Mon Mar 16 15:57:23 2026 -0700

    Tone down review loops: single-pass plan review, raise issue bar

    - Remove chunk-based plan review in favor of single whole-plan review
    - Add Calibration sections to both reviewer prompts so only serious
      issues block approval
    - Reduce max review iterations from 5 to 3
    - Streamline reviewer checklists (spec: 7→5, plan: 7→4 categories)

commit 2b25774
Author: jesse <jesse@magic-kingdom>
Date:   Sun Mar 15 19:35:36 2026 +0000

    Update changelog with Cursor hooks support (obra#709)

    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

commit f4b54a1
Author: jesse <jesse@magic-kingdom>
Date:   Sun Mar 15 21:29:25 2026 +0000

    Auto-register skills from plugin, simplify OpenCode install to one line

    The plugin's new `config` hook injects the skills directory into
    OpenCode's live config singleton, so skills are discovered automatically
    without symlinks or manual config edits.

    Installation is now just adding one line to opencode.json:
      "plugin": ["superpowers@git+https://github.com/obra/superpowers.git"]

    Rewrote docs/README.opencode.md and .opencode/INSTALL.md to reflect
    the new approach, removing ~200 lines of platform-specific symlink
    instructions. Added migration notes for existing users.

    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

commit 911fa1d
Author: jesse <jesse@magic-kingdom>
Date:   Sun Mar 15 20:08:51 2026 +0000

    test: add package.json for opencode npm plugin test

commit 4e7c084
Author: jesse <jesse@magic-kingdom>
Date:   Sun Mar 15 19:35:18 2026 +0000

    feat: add Cursor-compatible hooks and fix platform detection

    Add hooks/hooks-cursor.json with Cursor's camelCase format (sessionStart,
    version: 1) and update .cursor-plugin/plugin.json to reference it. Uses
    ${CURSOR_PLUGIN_ROOT} and run-hook.cmd for cross-platform support.

    Fix session-start platform detection: check CURSOR_PLUGIN_ROOT first
    (Cursor may also set CLAUDE_PLUGIN_ROOT), ensuring correct output format
    for each platform.

    Based on PR obra#709 with fixes for: wrong filename (.sh extension), missing
    Windows support, fragile relative paths, and incorrect platform detection.

    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

commit 689f27c
Author: jesse <jesse@magic-kingdom>
Date:   Sun Mar 15 19:14:54 2026 +0000

    Update changelog: add bash 5.3+ fix, link all issues/PRs

    Add obra#572/obra#571 entry, add "already fixed" section for obra#630/obra#529/obra#539,
    and convert all issue/PR references to markdown links.

    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

commit 537ec64
Author: jesse <jesse@magic-kingdom>
Date:   Sun Mar 15 19:14:34 2026 +0000

    fix(hooks): replace heredoc with printf to fix bash 5.3+ hang

    Bash 5.3 has a regression where heredoc variable expansion blocks when
    content exceeds ~512 bytes. The session_context variable is ~4,500 bytes,
    causing the SessionStart hook to hang indefinitely on macOS with Homebrew
    bash 5.3+. Replace cat <<EOF with printf.

    Tested on Linux (bash 5.2) and Windows (Git Bash 5.2). The hang only
    affects 5.3+ but printf works correctly on all versions.

    Based on obra#572, closes obra#572. Fixes obra#571.

    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

commit c5e9538
Author: jesse <jesse@magic-kingdom>
Date:   Sun Mar 15 18:40:54 2026 +0000

    Update changelog with POSIX hook fix (obra#553)

    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

commit fd318b1
Author: jesse <jesse@magic-kingdom>
Date:   Sun Mar 15 18:40:33 2026 +0000

    fix(hooks): replace BASH_SOURCE with POSIX-safe $0

    Replace ${BASH_SOURCE[0]:-$0} with $0 in hooks/session-start and the
    polyglot-hooks docs example. BASH_SOURCE uses bash array syntax that
    causes 'Bad substitution' on systems where /bin/sh is dash (Ubuntu).

    Since session-start is always executed (never sourced), $0 and
    BASH_SOURCE give the same result. Tested on Linux (bash + dash) and
    Windows (Git Bash via CMD and direct).

    Based on obra#553, closes obra#553.

    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

commit ea472de
Author: jesse <jesse@magic-kingdom>
Date:   Sun Mar 15 18:38:16 2026 +0000

    Update changelog with portable shebang fix (obra#700)

    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

commit addfe85
Author: jesse <jesse@magic-kingdom>
Date:   Sun Mar 15 18:38:00 2026 +0000

    fix: use portable shebang #!/usr/bin/env bash in all shell scripts

    Replace #!/bin/bash with #!/usr/bin/env bash in 13 scripts. The
    hardcoded path fails on NixOS, FreeBSD, and macOS with Homebrew bash.
    #!/usr/bin/env bash is the portable POSIX-friendly alternative.

    Tested on Linux and Windows (Git Bash + CMD). macOS is the primary
    beneficiary since Homebrew installs bash to /opt/homebrew/bin/bash.

    Based on obra#700, closes obra#700.

    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

commit c6a2b1b
Author: jesse <jesse@magic-kingdom>
Date:   Sun Mar 15 18:24:23 2026 +0000

    fix: auto-foreground brainstorm server on Windows/Git Bash

    Windows/Git Bash reaps nohup background processes, causing the brainstorm
    server to die silently after launch. Auto-detect Windows via OSTYPE
    (msys/cygwin/mingw) and MSYSTEM env vars, switching to foreground mode
    automatically. Tested on Windows 11 from CMD, PowerShell, and Git Bash —
    all route through Git Bash and hit the same issue.

    Based on obra#740, fixes obra#737. Also adds CHANGELOG.md documenting the fix and
    a known OWNER_PID/WINPID mismatch on the main branch.

    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

commit d19703b
Author: jesse <jesse@magic-kingdom>
Date:   Sun Mar 15 18:28:55 2026 +0000

    fix: stop firing SessionStart hook on --resume

    Resumed sessions already have injected context in their conversation
    history. Re-firing the hook was redundant and could cause issues.
    The hook now fires only on startup, clear, and compact.

    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

commit 6d21e9c
Author: savvyinsight <ecedwdpf@outlook.com>
Date:   Mon Mar 16 01:23:32 2026 +0800

    fix: verify server actually stopped in stop-server.sh

commit 687a661
Author: ynyyn <6551531+ynyyn@users.noreply.github.com>
Date:   Sun Mar 15 21:21:09 2026 +0800

    Fix deprecated collab flag in Codex docs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation windows

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants