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

linepush

v0.1.51

Published

No more spending time writing commit messages and PR descriptions. Let Linepush do it for you.

Downloads

740

Readme

Linepush

Linepush is a developer CLI that uses an LLM to write commit messages and pull request descriptions from your staged diff and the code around the changes.

No more spending time writing commit messages and PR descriptions. Let Linepush do it for you.

Why Linepush?

Developers often spend unnecessary time writing:

  • commit messages
  • pull request descriptions
  • change summaries

Even worse, many commits end up like:

fix stuff
update code
minor changes

Linepush fixes this by using an LLM to analyze what changed (and where), then drafting commit and PR text you can review and use right away.


Features

Commit Message Generation

The npx lp -commit command generates high-quality commit messages based on:

  • staged git changes
  • the git diff
  • the surrounding code context
  • affected functions, classes, and modules

This allows Linepush to understand why the change exists, not just what changed.

Example generated commit:

feat(auth): implement login endpoint with validation

- add POST /login API
- implement password validation
- update authentication service

Context-Aware Code Analysis

Unlike traditional commit generators, Linepush does not rely only on git diff.

It also analyzes:

  • modified files
  • functions and classes affected
  • dependency relationships
  • project structure

This allows the LLM to generate much more accurate commit messages.


Generated Pull Requests

The npx lp -create--pr (or lp -create--pr if global) command generates a structured Draft Pull Request by analyzing:

  • all commits in the branch
  • affected files
  • detected features or fixes
  • code changes and their context

Draft Pull Request Creation

Pull Requests are created as Drafts so developers can review the generated description before requesting a review.

This prevents accidental PR submissions while still saving time.


Simple CLI Workflow

Linepush is designed to keep the developer workflow simple.

Instead of writing long messages manually:

git add .
git commit -m "..."

You can simply run (see Running with npx below):

npx lp -commit

And for pull requests:

npx lp -create--pr

Installation

npm install linepush

The lp binary is not on your PATH when installed this way—npm only links it under node_modules/.bin. Use npx so the CLI runs correctly:

| Command | What to run | |--------|-------------| | Init | npx lp init | | Commit | npx lp -commit | | Draft PR | npx lp -create--pr | | Help | npx lp --help |


Running with npx

  • npx lp … always resolves the Linepush CLI from your project’s node_modules—use this after npm install linepush (or npm install --save-dev linepush).
  • If lp alone does nothing or command not found, you are almost certainly using a local install: switch to npx lp … or install globally with npm install -g linepush.

OpenRouter API key

Linepush calls LLM through OpenRouter. To get a key:

  1. Create an account at https://openrouter.ai/.
  2. In the OpenRouter dashboard, create an API key.
  3. Set LINEPUSH_OPENROUTER_API_KEY in your .env (see .env.example). You can also put .env in ~/.config/linepush/ for a user-wide key.

Configuration templates: The published package includes config/linepush/ with default PR_TEMPLATE and COMMIT_TEMPLATE. Run npx lp init (or lp init when global) in your repo to create config/linepush/ and .env in that project. You can also add your own config/linepush/ in the project; the CLI prefers the project folder over defaults.


Commands

lp -commit

Creates a commit with an LLM generated commit message.

What it does

  1. Detects staged files
  2. Reads the git diff
  3. Analyzes the modified code
  4. Determines the purpose of the changes
  5. Generates a commit message
  6. Asks the user for confirmation
  7. Executes git commit

Example

git add .
npx lp -commit

Generated output:

Generated Commit Message

feat(auth): implement login endpoint

- add login API route
- add password validation
- update authentication service

User confirmation:

Use this commit message? (Y/n)

lp -create--pr

Creates a Draft Pull Request for the current branch.

What it does

  1. Detects the current branch
  2. Collects all commits in the branch
  3. Analyzes code changes across the branch
  4. Generates a structured PR description
  5. Asks the user to choose the base branch
  6. Creates a Draft Pull Request

Example Workflow

Typical development workflow using Linepush (use npx when Linepush is a project dependency):

git checkout -b feature/login

git add .
npx lp -commit

npx lp -create--pr

License

MIT License