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

@leitwerk-dev/github-repo-change

v0.4.0

Published

`@leitwerk-dev/github-repo-change` plans, implements, reviews, and publishes a repository change as a GitHub pull request. Load `github`, `git-ssh`, `coding`, and this extension on the server and worker. The extension is opt-in.

Readme

GitHub repository change

@leitwerk-dev/github-repo-change plans, implements, reviews, and publishes a repository change as a GitHub pull request. Load github, git-ssh, coding, and this extension on the server and worker. The extension is opt-in.

The UI launcher selects a server-owned GitHub profile, a visible repository, and a requested change. Launch checks repository visibility and SSH read/write access, pins the bot Git identity, and uses the default branch as the base. Replaying a UI launch generates a new work branch. The shared workflow requires plan approval, then simplifies and publishes automatically. UI launches can skip plan approval or simplification; relaunch preserves both choices. Issue launches read leitwerk-skip-simplification after implementation, never use labels to bypass plan approval, and retain completed routing decisions on recovery.

Configuration

Configure API access in github and checkout credentials in git-ssh. The SSH credential defaults to the GitHub profile name. Override it for future launches:

extensions:
  github-repo-change:
    profile_bindings:
      team:
        ssh_credential_ref: repository-writer
process_configs:
  github_repo_change_process:
    watchers:
      use_leitwerk:
        enabled: true
        profile: team
        poll_interval: 30s
        repositories:
          include: [team/service]
        labels:
          trigger: use-leitwerk
          done: leitwerk-done

The issue watcher uses the integration's trigger-actor authorization and rechecks it before launch. Issue launches use leitwerk/issue-N. Profile mappings cannot be overridden through launcher input; existing instances retain resolved wiring.

Delivery and recovery

Unchanged work completes without a PR; source issues stay open, lose the trigger, and receive a comment. Otherwise the shared lifecycle commits and pushes the work branch, then creates or reconciles one PR. It settles human feedback for two minutes, acknowledges it, and starts a fresh repair turn. Replies and other provider writes reconcile across retries. GitHub checks trigger repair only for the tracked request revision; diagnostics include failed check annotations and bounded Actions job logs. Consumed failure evidence is retained so rearming cannot repeatedly repair the same failure. After three automatic CI cycles, the operator chooses retry, resume waiting, or abort. Missing or successful checks do not complete the process.

Confirmed conflicts and GitHub's clean-but-behind condition use the shared rebase implementation and the original-head push lease. Merge completes delivery; closing an unmerged PR aborts it. An issue-origin merge removes the trigger, adds the done label, comments, and closes the issue. Unmerged closure removes the trigger and comments without closing the issue. Source cancellation aborts waiting delivery; terminal PR reconciliation takes precedence. UI-origin processes never need a source issue.

Composition

The default extension requires Docker. Trusted local compositions can use createGitHubRepoChange({ docker: false }); load exactly one variant. Both retain github_repo_change_process. Custom GitHub integrations must supply profiles() to expose profiles to the launcher. The factory owns its launcher configuration and clears it when the server stops. Automatic merging, existing-PR adoption, fork publication, and release delivery are not provided.