Properly follow Superpowers 6.1.1 pattern: - SessionStart command hook (type: command) runs run-hook.cmd session-start - run-hook.cmd is a cross-platform polyglot wrapper (Unix/Windows) - session-start script reads engineering-principles/SKILL.md and injects it as additionalContext wrapped in EXTREMELY_IMPORTANT tags - The 29 engineering principles are active in context from turn 1 plugin.json: remove sessionStart.skill, keep skills: ./skills/ The command hook is the primary mechanism (just like Superpowers' using-superpowers).
42 lines
1.1 KiB
Batchfile
Executable File
42 lines
1.1 KiB
Batchfile
Executable File
: << 'CMDBLOCK'
|
|
@echo off
|
|
REM Cross-platform polyglot wrapper for hook scripts.
|
|
REM On Windows: cmd.exe runs the batch portion, which finds and calls bash.
|
|
REM On Unix: the shell interprets this as a script (: is a no-op in bash).
|
|
REM
|
|
REM Usage: run-hook.cmd <script-name> [args...]
|
|
|
|
if "%~1"=="" (
|
|
echo run-hook.cmd: missing script name >&2
|
|
exit /b 1
|
|
)
|
|
|
|
set "HOOK_DIR=%~dp0"
|
|
|
|
REM Try Git for Windows bash in standard locations
|
|
if exist "C:\Program Files\Git\bin\bash.exe" (
|
|
"C:\Program Files\Git\bin\bash.exe" "%HOOK_DIR%%~1" %2 %3 %4 %5 %6 %7 %8 %9
|
|
exit /b %ERRORLEVEL%
|
|
)
|
|
if exist "C:\Program Files (x86)\Git\bin\bash.exe" (
|
|
"C:\Program Files (x86)\Git\bin\bash.exe" "%HOOK_DIR%%~1" %2 %3 %4 %5 %6 %7 %8 %9
|
|
exit /b %ERRORLEVEL%
|
|
)
|
|
|
|
REM Try bash on PATH
|
|
where bash >nul 2>nul
|
|
if %ERRORLEVEL% equ 0 (
|
|
bash "%HOOK_DIR%%~1" %2 %3 %4 %5 %6 %7 %8 %9
|
|
exit /b %ERRORLEVEL%
|
|
)
|
|
|
|
REM No bash found — exit silently
|
|
exit /b 0
|
|
CMDBLOCK
|
|
|
|
# Unix: run the named script directly
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
SCRIPT_NAME="$1"
|
|
shift
|
|
exec bash "${SCRIPT_DIR}/${SCRIPT_NAME}" "$@"
|