Skip to content

Repository files navigation

Knife — file workflows, one right-click away

CI status Project site Node.js 22.12 or newer pnpm 12 GitHub stars

Knife runs local file workflows from Windows Explorer without opening a heavyweight application. Knife Hub discovers, configures, tests, and diagnoses tools; knife-cli validates and runs each plugin in its isolated environment.

Project site · Source and issues

Product tour

These captures use Knife Hub's browser preview. Native-only actions are clearly identified and no personal files are shown.

Tool catalog Run history
Knife Hub tool catalog showing the RMBG workflow and Explorer integration controls Knife Hub run history with the local canary input
Diagnostics Settings
Knife Hub diagnostics showing installed tools, runtime paths, and suggested checks Knife Hub settings for local plugin installation and manual-run confirmation

Current status

  • Windows 10/11 is the primary operating platform.
  • hub/ is the main desktop app: Tauri 2, React 19, and Tailwind CSS 4.
  • crates/knife-cli/ contains the Rust runner used by the Hub and Explorer context menu.
  • plugins/ contains 13 plugins and 21 catalog tools covered by contract validation.
  • native-hub/ is an experimental Native SDK 0.9.0 shell. It does not replace the Tauri backend yet.
  • Use Corepack with the packageManager field in package.json. Knife does not depend on Bun APIs or a Bun runtime.
  • The user-facing Hub, plugin GUIs, catalog copy, prompts, progress messages, and errors are English-only.

Requirements

  • Node.js 22.12 or newer.
  • pnpm 12.0 or newer, preferably through Corepack.
  • Stable Rust with the Windows MSVC target.
  • Visual Studio 2022 Build Tools or Community with C++ and the Windows SDK.
  • Python for plugins that create a dedicated virtual environment.
  • WebView2 Runtime for the desktop apps.

Quick start

From the repository root:

corepack enable
pnpm install --frozen-lockfile
pnpm run hub:dev

Do not use npm install or generate another lockfile. pnpm-lock.yaml is the reproducible source for both JavaScript packages in the workspace.

Python requirements are also pinned. Each plugin owns its .venv; Knife reruns setup_command when the command or requirements.txt content changes, so a legacy marker cannot keep a stale environment active.

Development and build

# Browser preview
pnpm run hub:dev

# Frontend checks
pnpm run hub:typecheck
pnpm run hub:build

# Tauri desktop app
pnpm --dir hub run tauri dev
pnpm --dir hub run tauri build

Browser mode previews actions that require Tauri. Windows registration, real plugin execution, native notifications, and the progress overlay require the Tauri app.

VS Code tasks

.vscode/tasks.json provides shortcuts for install, development, build, Tauri, packaging, checks, verification, tests, linting, plugin runs, plugin GUIs, and Native SDK operations.

Quality gates

pnpm run doctor:quick
pnpm run doctor:frontend
pnpm run doctor

pnpm run doctor loads vcvars64.bat when available and validates plugin contracts, the Echo Metadata canary, Rust formatting and Clippy, CLI tests, the Hub build, and workspace tests.

Dependency gates:

pnpm outdated --recursive --format json
pnpm audit --audit-level high
cargo update --dry-run --verbose

Experimental Native SDK shell

pnpm run native:setup
pnpm run native:doctor
pnpm run native:check
pnpm run native:build
pnpm run native:package

The Windows production package is written to native-hub/zig-out/package/knife-hub-0.1.0-windows-ReleaseFast/ and uses the GUI subsystem. See native-hub/README.md for setup and current limits.

Docs

Support development

Sponsor this project Support development on Ko-fi

About

Run scripts and useful tools from the Windows context menu.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages