Personal scripts, runnable anywhere via the s command.
macOS / Linux
curl -fsSL https://raw.githubusercontent.com/samelliottdlt/scripts/main/install.sh | bashWindows (PowerShell)
irm https://raw.githubusercontent.com/samelliottdlt/scripts/main/install.ps1 | iexInstalls to ~/.s by default. Override with S_DIR:
S_DIR=~/Code/scripts curl -fsSL ... | bashs # list all available scripts
s which # show where the active checkout lives
s dd-cli check # run a script, passing argumentsThis repo is public. Only generic, reusable utilities belong here. Never commit anything work-specific, private, or secret, or any vendor-licensed file. See
skills/s-scripts/SKILL.mdfor the full rules.
Create a file in scripts/ with a .mjs extension:
// scripts/my-script.mjs
export const description = "What this script does";
export default function main(args) {
console.log("Running my-script with", args);
}Then just run it: s my-script
s skills install # copy skills/*/SKILL.md to ~/.copilot/skills and ~/.claude/skills
s skills check # report installed skills that are missing or out of dateThe install scripts and s update run s skills install automatically.
skills/s-scripts/SKILL.md teaches agents (Copilot CLI and desktop, Claude Code) how
to use this repo and extend it. New reusable utilities should land here as s scripts.
s dd-cli check # compare installed binary/skill against the newest tarball in ~/Downloads
s dd-cli install # install or upgrade from that tarball (or pass a path)Download the release tarball from the dd-cli GitHub releases page first. On Windows,
download the linux-amd64 build. The binary and DoorDash's SKILL.md are never
committed here; both come from the tarball each time.
- Windows: the binary runs inside WSL. On ARM machines, the script installs amd64
multiarch and
qemu-user-staticso the x86-64 build can run. It also installswslusodd-cli logincan open the Windows browser viawslview, andlibsecret-toolsto copy an existing gnome-keyring sign-in (see Keyring below). - Shim:
bin/dd-cli.mjsis linked asdd-cliand forwards arguments to the real binary. On Windows it passes them towsl.exe. - Keyring (Windows): gnome-keyring in WSL re-locks every time the WSL VM restarts, so
each
dd-clicall would pop an unlock prompt.s dd-cli installdropslib/s_file_keyring.pynext to dd-cli's bundled Python, and the shim selects it viaPYTHON_KEYRING_BACKEND. The sign-in is then stored unencrypted in~/.local/share/s/dd-cli/credentials.json(mode 600) inside WSL, likeghor the AWS CLI do without a keyring, so dd-cli runs unattended. The install copies an existing gnome-keyring sign-in over once. Delete that file to sign out. - Skill: the tarball's
SKILL.mdis used as-is, and on Windowsskills/dd-cli-usage/windows-notes.mdis appended. The result is written to~/.copilot/skills/dd-cli-usage/and~/.claude/skills/dd-cli-usage/.
To test scripts locally without affecting the globally linked s:
npm run dev -- my-scriptbin/s.mjsis a tiny Node CLI dispatcher registered via npm'sbinfield.npm linksymlinks it into your globalnode_modules/.bin, makingsavailable everywhere.- Each script is an ES module in
scripts/that exports adefaultfunction and an optionaldescription. - Shared helpers live in
lib/. Extra commands (such as thedd-clishim) live inbin/and are registered inpackage.json. - Agent skills live in
skills/<name>/SKILL.md.AGENTS.mdpoints agents working in this repo to them. - The install script clones this repo, runs
npm link, and installs skills. It's safe to re-run to update.