molon/hunkwise · Archived

install-hunkwise

Install the hunkwise VSCode extension from source. Use this skill whenever the user asks to install, build, package, or reinstall hunkwise, or when they want to load the latest changes into VSCode.

First seen Mar 24, 2026

Installation

$ npx skills add molon/hunkwise --skill install-hunkwise

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 62
License LICENSE
Default branch main
Open issues 8
Status Archived

Skill metadata

Parsed from SKILL.md frontmatter.

Declared agents vscode

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 5,741 B
  • docs SUMMARY.md 221 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 4 installs

SKILL.md

Install hunkwise

hunkwise is a VSCode extension that uses a proposed (private) API — editorInsets — so it cannot be installed from the marketplace and requires a special setup.

Prerequisites

  • Node.js (>=18) and npm available
  • git available
  • code CLI resolvable (see Step 3 for platform-specific paths)

Steps

Step 1: Clone the repository

Clone into a uniquely named temp directory to avoid conflicts:

HUNKWISE_TMP=$(mktemp -d /tmp/hunkwise-XXXXXX)
git clone https://github.com/molon/hunkwise.git "$HUNKWISE_TMP"
cd "$HUNKWISE_TMP"

On Windows, use a timestamp-based name:

set HUNKWISE_TMP=%TEMP%\hunkwise-%DATE:~-4%%DATE:~3,2%%DATE:~0,2%-%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%
git clone https://github.com/molon/hunkwise.git %HUNKWISE_TMP%
cd %HUNKWISE_TMP%

Remember the directory path — you'll need it for cleanup in Step 6.

Step 2: Install dependencies and compile

npm install
npm run compile

If compilation fails, stop and surface the TypeScript errors to the user.

Step 3: Package with vsce

npx @vscode/vsce package --allow-missing-repository

This produces hunkwise-<version>.vsix in the project root. Do NOT use --no-dependencies — runtime dependencies (ignore, diff) must be bundled.

Step 3.5: Linux stable compatibility check

Before proceeding on Linux, check whether the target is a VS Code stable build (not Insiders). On some Linux distributions (e.g. CachyOS), the proposed editorInsets API may not work in the stable build. If the user is on Linux and only has VS Code stable installed, warn them:

⚠️ hunkwise may not work on VS Code stable on some Linux distributions. If it fails to activate, please switch to VS Code Insiders. See issue #20 for details.

Continue with installation — but surface this warning so the user is aware before restarting.

Step 4: Detect installed VSCode builds and install the .vsix

First, detect which VSCode builds are installed, then install into all of them.

Known CLI paths by platform:

Platform Build CLI path
macOS Stable /Applications/Visual Studio Code.app/Contents/Resources/app/bin/code
macOS Insiders /Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/bin/code
Windows Stable %LOCALAPPDATA%\Programs\Microsoft VS Code\bin\code.cmd
Windows Insiders %LOCALAPPDATA%\Programs\Microsoft VS Code Insiders\bin\code-insiders.cmd
Linux Stable code (in PATH)
Linux Insiders code-insiders (in PATH)

macOS/Linux — detect and install into all present builds:

VSIX=$(ls -t hunkwise-*.vsix | head -1)
for CLI in \
  "/Applications/Visual Studio Code.app/Contents/Resources/app/bin/code" \
  "/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/bin/code" \
  "$(command -v code 2>/dev/null)" \
  "$(command -v code-insiders 2>/dev/null)"; do
  [ -x "$CLI" ] && "$CLI" --install-extension "$VSIX" --force
done

Windows — detect and install into all present builds:

REM Use the actual .vsix filename produced by vsce in Step 3
for %%f in (hunkwise-*.vsix) do set VSIX=%%f
set STABLE=%LOCALAPPDATA%\Programs\Microsoft VS Code\bin\code.cmd
set INSIDERS=%LOCALAPPDATA%\Programs\Microsoft VS Code Insiders\bin\code-insiders.cmd
if exist "%STABLE%" "%STABLE%" --install-extension %VSIX% --force
if exist "%INSIDERS%" "%INSIDERS%" --install-extension %VSIX% --force

Step 5: Configure proposed API (one-time setup per build)

Because hunkwise uses a proposed API, each installed VSCode build must be told to enable it via its own argv.json in the user config directory. Apply to every build detected in Step 4 — skip any build where "molon.hunkwise" is already present.

argv.json locations (same builds as Step 4):

Platform Build Path
macOS/Linux Stable ~/.vscode/argv.json
macOS/Linux Insiders ~/.vscode-insiders/argv.json
Windows Stable %USERPROFILE%\.vscode\argv.json
Windows Insiders %USERPROFILE%\.vscode-insiders\argv.json

For each relevant argv.json: read the existing file, then add or merge "enable-proposed-api" — do not overwrite other fields:

{
  "enable-proposed-api": ["molon.hunkwise"]
}

If the key already exists with other values, append "molon.hunkwise" rather than replacing the array.

Step 6: Clean up

Delete the cloned directory:

rm -rf "$HUNKWISE_TMP"

On Windows: rmdir /s /q %HUNKWISE_TMP%

Step 7: Restart VSCode

Tell the user to fully quit and reopen VSCode (not just close the window) for the extension and proposed API setting to take effect.

Notes

  • The enabledApiProposals: ["editorInsets"] field in package.json enables vscode.window.createWebviewTextEditorInset, used to embed per-hunk Accept/Discard buttons inline in the editor. Without this, the buttons will not appear.
  • Settings are stored in .vscode/hunkwise/settings.json within the workspace, not in VSCode global settings.
  • If the extension fails to activate, check the exthost log:

- macOS: ~/Library/Application Support/Code[-Insiders]/logs/<timestamp>/window1/exthost/exthost.log - Windows: %APPDATA%\Code[-Insiders]\logs\<timestamp>\window1\exthost\exthost.log