CodeGuard/install-semgrep-skill.bat

92 lines
2.6 KiB
Batchfile

@echo off
chcp 65001 >nul
echo ========================================
echo Semgrep Skill Offline Installer
echo ========================================
echo.
set SCRIPT_DIR=%~dp0
set SOURCE_DIR=%SCRIPT_DIR%installations
set USER_HOME=%USERPROFILE%
set SKILL_DIR=%USER_HOME%\.agents\skills\semgrep
echo [1/5] Creating skill directory...
if not exist "%SKILL_DIR%" mkdir "%SKILL_DIR%"
echo Created: %SKILL_DIR%
echo.
echo [2/5] Copying SKILL files...
set SEMGREP_SKILL_SOURCE=%SOURCE_DIR%\semgrep_skill
copy /Y "%SEMGREP_SKILL_SOURCE%\SKILL.md" "%SKILL_DIR%\SKILL.md"
if not exist "%SKILL_DIR%\references" mkdir "%SKILL_DIR%\references"
if exist "%SEMGREP_SKILL_SOURCE%\references" copy /Y "%SEMGREP_SKILL_SOURCE%\references\*.*" "%SKILL_DIR%\references\"
if not exist "%SKILL_DIR%\workflows" mkdir "%SKILL_DIR%\workflows"
if exist "%SEMGREP_SKILL_SOURCE%\workflows" copy /Y "%SEMGREP_SKILL_SOURCE%\workflows\*.*" "%SKILL_DIR%\workflows\"
if not exist "%SKILL_DIR%\scripts" mkdir "%SKILL_DIR%\scripts"
if exist "%SEMGREP_SKILL_SOURCE%\scripts" copy /Y "%SEMGREP_SKILL_SOURCE%\scripts\*.*" "%SKILL_DIR%\scripts\"
echo Copied all skill files
echo.
echo [3/5] Copying offline rules...
set SEMGREP_RULES_SOURCE=%SOURCE_DIR%\semgrep-offline-rules
if exist "%SEMGREP_RULES_SOURCE%" (
if not exist "%SKILL_DIR%\semgrep-offline-rules" (
xcopy /E /I /Y "%SEMGREP_RULES_SOURCE%" "%SKILL_DIR%\semgrep-offline-rules"
)
echo Rules copied to: %SKILL_DIR%\semgrep-offline-rules
) else (
echo WARNING: semgrep-offline-rules not found
)
echo.
echo [4/5] Setting environment variables...
echo.
set "SEMGREP_OFFLINE_RULES_PATH=%SKILL_DIR%\semgrep-offline-rules\third-party"
set "SEMGREP_OFFLINE=true"
setx SEMGREP_OFFLINE_RULES_PATH "%SKILL_DIR%\semgrep-offline-rules\third-party"
setx SEMGREP_OFFLINE "true"
echo SEMGREP_OFFLINE_RULES_PATH=%SEMGREP_OFFLINE_RULES_PATH%
echo SEMGREP_OFFLINE=%SEMGREP_OFFLINE%
echo (Environment variables set for current user via setx)
echo.
echo [5/5] Verification...
echo.
if exist "%SKILL_DIR%\SKILL.md" (
echo [OK] SKILL.md
) else (
echo [FAIL] SKILL.md
)
if exist "%SKILL_DIR%\references\rulesets.md" (
echo [OK] references
) else (
echo [FAIL] references
)
if exist "%SKILL_DIR%\workflows\scan-workflow.md" (
echo [OK] workflows
) else (
echo [FAIL] workflows
)
echo.
echo ========================================
echo Installation Complete!
echo ========================================
echo.
echo Skill location: %SKILL_DIR%
echo.
echo Environment variables have been set for your user account.
echo Please restart your terminal or VSCode to apply them.
echo.
pause