Hacklets can turn any local folder of .js files into a set of palette
commands. Point it at a folder and every script becomes searchable and
runnable — without a server, without a build step.
Pick a folder
- Open the settings page (right-click the extension icon → Options).
- Click Choose Folder and select the folder containing your scripts.
- Open the commands palette (Cmd+Shift+P) — your scripts appear alongside the built-in commands.
The folder is remembered locally in your browser. The scripts themselves stay on disk and are read only when a command runs.
You can edit them with your preferred code editor or using the script editor built into the extension.
The metadata header
Each script carries a Greasemonkey/Tampermonkey-style header that names it:
// ==UserScript==
// @name Greet the page
// @emoji 👋
// @match *://*/*
// ==/UserScript==
const name = prompt('What should I call you?')
alert(`Hello, ${name}!`)
| Directive | Required | Purpose |
|---|---|---|
@name | yes | The command title shown in the palette |
@emoji | no | Icon shown next to the title |
@match | no | URL glob pattern; script only shows on matching pages |
URL-based visibility
Use @match to make a script appear only on pages it makes sense for:
// @match https://github.com/*/blob/*
// @match *://trello.com/*
Multiple @match lines are allowed. When no @match is present the script is
available on every page.
On-demand execution
Unlike traditional user-script managers, scripts from the selected folder are never auto-injected on page load. The palette lists valid scripts when it opens, and a script only runs when you select it. Nothing executes without your explicit action.
When it runs, the script executes in the page’s MAIN world, so it has full access to the page’s DOM and JavaScript.
Example commands
Coming soon…
Known limitations
- Stale listings — the browser caches directory listings; newly added files may not appear until the cache syncs or you re-pick the folder. Once a script is visible to the extension, execution always reads it fresh from disk.
- Non-Chromium browsers — the File System Access API isn’t widely supported, folder commands may not be available. See Browser Support.