npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

kaestral

v1.0.3

Published

The AI-operated video editor for Windows. You describe the edit, it makes it — cut, caption, and edit by prompt over MCP. A GPLv3-licensed, Windows-native AI video editor.

Readme


A kestrel watches with total precision, then strikes. Kaestral watches your footage, hears every word, and cuts. Type "cut the boring parts, add captions, punch in on the hook" — and watch your timeline change.

Works with the Claude Code you already have (free), or in-app chat. Built on a real pro timeline — so when the AI is done, you can still touch every frame. Everything runs locally — your video never leaves your machine.


Quick start

The fastest way in is to point the Claude Code you already have at Kaestral — one command, zero config:

claude mcp add kaestral -- npx kaestral
claude

Claude Code spawns npx kaestral itself and talks to it over stdio (an MCP server) — no separate process, no port to remember. Then just ask:

"get_timeline, then cut the silent parts of demo.mp4, add captions, and export it."

Prefer the full desktop app? Download for Windows → — double-click the installer, the editor and its engine start internally (no terminal, no npm).


What it does

🎬 AI-operated. You direct, it edits.

Describe the edit in plain language and watch it happen on your timeline — cut, caption, punch in, grade, add a title. Every action runs through the editor's tools, so the result is a real, editable project, not a black-box export. Drive it with Claude Code (free, terminal) or the in-app chat.

⚡ Raw footage → publish-ready reel.

Drop a 20-minute recording; get a tight, captioned, beat-cut short. Kaestral removes filler words, finds the hook, and captions on the word — automatically. Speech is transcribed on-device; cuts land on silences and beats.

📊 Make SaaS & product videos without an editor.

Animated intros, logo reveals, data-viz, transition stingers — art-directed from a sentence and rendered onto your timeline. Not templates: a connected LLM composes bespoke motion using the compose_motion surface + a master motion-designer skill. Launch videos, demos, and ads, without hiring an editor.

…plus the full editor underneath:

  • Real pro timeline — multi-track, ruler + playhead, drag-with-snapping, split, ripple-delete, undo/redo, keyframes, 16 blend modes, frame-accurate composited preview.
  • Perception — word-level transcription (whisper, on-device), frame vision (the AI actually sees your footage), beat/silence detection, color-palette extraction.
  • Motion graphics — bespoke, art-directed compositions (compose_motion) + fast canvas titles.
  • Color — grade with wheels, curves, LUTs, temperature.
  • Import from anywhere — files, drag-drop, or a URL (import_from_url, via your yt-dlp).
  • Export — H.264 / H.265 / ProRes, plus Premiere (XMEML) and Resolve/FCP (FCPXML).
  • Editing playbooks (skills) — art-direction, viral-reel, beat-sync, creative-director, captions, b-roll, platform-delivery, promo/ad. The AI reads them and follows pro workflows.

50 MCP tools. A full editor the AI operates like a pair of hands. Full reference: docs/MCP-TOOLS.md.


How it works (the proof)

On-device whisper for word-level transcription · frame vision so the model sees the footage · beat/silence detection for rhythmic cuts · palette extraction for on-brand color · Remotion motion graphics · an MCP server exposing 50 tools over stdio (or HTTP) · a full multi-track timeline · H.264/H.265/ProRes render + Premiere/Resolve interchange export. No cloud required for any of it — nothing is uploaded.


Connect an AI

Kaestral is a local MCP server (npx kaestral, stdio). Any MCP client that runs a local server can drive it. The three that work today:

Prerequisites (for npx kaestral): Node.js / npm and FFmpeg + ffprobe on your PATH. The whisper model (~142 MB) downloads on first transcription. (The Windows installer bundles all of this, so the desktop app itself needs none of it.)

1. Claude Code — one command

claude mcp add kaestral -- npx kaestral
claude

Claude Code spawns npx kaestral itself over stdio — no separate process, no port. Then just ask, e.g. "cut the silent parts of demo.mp4, add captions, and export it."

2. Cursor

Add Kaestral to your MCP config — global at ~/.cursor/mcp.json (or per-project at .cursor/mcp.json):

{
  "mcpServers": {
    "kaestral": {
      "command": "npx",
      "args": ["kaestral"]
    }
  }
}

Restart Cursor (or toggle the server in Settings → MCP). Kaestral's ~50 tools appear in the tool list.

3. Claude Desktop

Open Settings → Developer → Edit Config (this opens claude_desktop_config.json). On Windows it lives at %APPDATA%\Claude\claude_desktop_config.json. Add:

{
  "mcpServers": {
    "kaestral": {
      "command": "npx",
      "args": ["kaestral"]
    }
  }
}

Save and fully restart Claude Desktop. Kaestral appears under the connectors/tools menu.

🖱️ One-click install: grab kaestral.mcpb from the latest release and double-click it — Claude Desktop installs Kaestral as a connector with no JSON editing. (See mcpb/ for how it's built.)

Or: in-app chat (no MCP client needed)

Open the desktop app → Connect AI → paste your Anthropic API key. Chat right inside Kaestral; edits happen live in the window.

Prefer the HTTP transport?

npx kaestral defaults to stdio (recommended). To run the engine yourself over HTTP (e.g. to keep it up across sessions):

npx kaestral --http     # local editor engine on http://127.0.0.1:19789/mcp
claude mcp add --transport http kaestral http://127.0.0.1:19789/mcp

ChatGPT? ChatGPT's connectors require a hosted/remote MCP server, and Kaestral is local-first by design — so use Claude Code, Cursor, or Claude Desktop. Cloud/ChatGPT support is on the roadmap. See the FAQ.


Install options

| | How | |---|---| | MCP (recommended) | claude mcp add kaestral -- npx kaestral | | Windows installer | Download the latest release → double-click | | From source | git clone https://github.com/prabindersinghh/Kaestral-pro && cd Kaestral-pro && npm install && npm run tauri dev | | macOS | On the roadmap — Kaestral is Windows-first by design (that's the wedge). |


What makes it different

| | Kaestral | |---|---| | Platform | Windows (macOS on roadmap) | | AI editing over MCP | ✅ drive it from the Claude Code you already have — one command | | Perception (transcribe / see / beats) | ✅ on-device | | Bespoke motion graphics | ✅ art-directed by the LLM, not templates | | Real timeline | ✅ multi-track, keyframes, blend modes — a true editable project | | Privacy | ✅ 100% local — nothing uploaded | | AI video generation | ⏳ Pro (waitlist) | | Price | free, GPLv3 |

Kaestral's edge is Windows + real perception + bespoke AI motion + a free, open, Claude-Code-native workflow, all running locally. Generation lands later, in the Pro tier.


Pro & Max (waitlist)

  • Pro — coming soon: AI video & image generation (prompt → a real clip on your timeline), translation & dubbing (Hindi + regional Indian languages, and beyond), temporally-consistent upscaling, advanced generative motion (PixiJS particles & shaders).
  • Max — something bigger. Details under wraps.

Join from the app's ✨ Pro button, or the pricing page. Basic is free and open source, forever; Pro/Max pricing is announced closer to launch.


Privacy — local-first

Your video and project files stay on your device. Kaestral never uploads them. Transcription (whisper), frame vision, beat detection, and rendering all run locally. The only things that ever leave your machine: your AI prompts (sent to Anthropic, only if you use in-app chat with your own key), and your email (only if you join the Pro/Max waitlist). No account required.


Development

npm test           # full suite: format round-trip, edit engine, MCP contract, perception, render
npm run typecheck  # strict TS  (tsc --noEmit)
npm run build      # production frontend
npm run tauri dev  # run the desktop app
npm run tauri build  # build the Windows installer (see docs/UPDATER-SETUP.md for signed releases)

Docs worth reading before you dig in:


FAQ

Short answers to the common questions — is it free, what's Pro/Max, which Windows, does my data stay local, how do I connect Claude — are in FAQ.md.


Community & support

  • 💬 GitHub Discussions — questions, ideas, show-and-tell, and help. (Enable it under Settings → Features → Discussions if the link 404s.)
  • 🎮 Discord — chat with the community and the team.
  • 🐛 Issues — bugs and feature requests.
  • 🙌 Contributing — PRs welcome.

Contributing

Kaestral is open source (GPLv3) and contributions are welcome — see CONTRIBUTING.md for how to set up, run the tests, and open a pull request.


License & credit

GPLv3. Kaestral is a derivative work of the upstream Palmier Pro by Palmier Inc. (palmier-io/palmier-pro, GPLv3), re-implemented for Windows using the Swift source as an executable specification. This attribution is required by the GPLv3 and is retained accordingly; Kaestral is not affiliated with or endorsed by Palmier Inc. The upstream's proprietary cloud generation backend is not part of that repo and is not ported. Third-party components (whisper.cpp, FFmpeg, Remotion, etc.) retain their own permissive licenses — see NOTICE.md.