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

movild

v0.1.11

Published

Movild local runner — pair your Mac with movild.dev and run coding agents on your machine.

Readme

movild

Movild local runner. Pair your Mac with movild.dev and run coding agents (Claude, Codex, Gemini) on your machine instead of the cloud.

Install

npm i -g movild

Requires Node 20+. macOS uses the system Keychain to store your session token. Linux falls back to a 0600 dot-file at ~/.movild/session.

Quick start

movild

First run opens your browser, asks you to approve the device on movild.dev, and then starts listening for tasks. Subsequent runs reuse the saved session and go straight to listening.

┌──────────────────────────────────────┐
│ movild v0.1.0                        │
│ ship code from anywhere · cli        │
└──────────────────────────────────────┘

┌─ pair this device ─────────────┐
│ verification code              │
│ ABCD-1234                      │
│                                │
│ opening:                       │
│ https://movild.dev/pair?code=… │
└────────────────────────────────┘

· opening browser…
⠙ waiting for approval…
✓ device paired
✓ signed in as @you
✓ agents available: anthropic, openai
· listening for tasks…

Agents

Movild drives whichever of these you have installed and authenticated:

Run movild doctor to verify what the CLI can see.

You also need gh installed if you want the agent to open pull requests for you (it shells out to gh pr create).

Commands

| Command | What it does | | ----------------- | -------------------------------------------------- | | movild | Pair if needed, then listen for tasks. Default. | | movild pair | Force a fresh pairing flow. | | movild daemon … | Run in the background at login (macOS). See below. | | movild logout | Clear the saved session token. | | movild doctor | Show config + agent + session checks. | | movild version | Print the CLI version. |

Run in the background (macOS)

Don't want to keep a terminal open? Install movild as a background runner. It starts at login, restarts itself if it crashes, and keeps processing tasks — so you never have to think about it.

movild daemon install     # pair (once) + register a launchd LaunchAgent
movild daemon status      # is it running?
movild daemon logs        # tail the daemon log
movild daemon uninstall   # stop it and remove it

Notes:

  • macOS only, built on launchd — nothing extra to download, the CLI writes the launch agent itself.
  • Per-user, no sudo. It runs inside your own login session (a LaunchAgent, not a system LaunchDaemon) so it can reach your Keychain and your locally-authenticated claude / codex / gemini.
  • Only runs while you're logged in; stops at logout.
  • macOS lists it under Settings → General → Login Items → Allow in the Background, so you can always see and toggle it.
  • It's an unattended runner: it will pick up and execute tasks without you watching. Uninstall any time with movild daemon uninstall.

Environment variables

| Variable | Purpose | | ---------------------- | ------------------------------------------------------------------ | | MOVILD_API_URL | Override the API endpoint. Defaults to https://api.movild.app. | | MOVILD_RUNNER_NAME | Override the runner name. Defaults to your machine's hostname. | | MOVILD_CLAUDE_COMMAND | Override the Claude invocation. Defaults to the bundled command. | | MOVILD_CODEX_COMMAND | Override the Codex invocation. | | MOVILD_GEMINI_COMMAND | Override the Gemini invocation. |

How it works

  1. CLI calls POST /cli/pair/init to get a short-lived code.
  2. CLI opens your browser at https://movild.dev/pair?code=<code>.
  3. You approve the device — the web mints a long-lived session JWT and stores it on the pairing row.
  4. CLI polls GET /cli/pair/<id> until approved, redeems the token, and stores it in the macOS Keychain (or a 0600 file on other OSes).
  5. CLI starts the worker loop: registers as a runner, polls POST /local-runner/tasks/next, and executes claimed tasks inside a persistent per-task workspace at ~/.movild/runs/<task-id>.

Each task is a persistent chat thread. The agent reuses the workspace between turns; it only pushes a branch or opens a PR when you explicitly ask for it.

License

MIT