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

@atharvasingh7007/commitforge

v1.0.5

Published

Local-first, fail-safe, CLI-based project timeline rebuilder with optional GitHub commit/push scheduling

Readme

Committer

Committer is an advanced, local-first, CLI-based project timeline rebuilder. It takes an existing complete codebase and dynamically deconstructs it into a realistic, step-by-step development timeline. It natively supports Git commit scheduling and automated GitHub pushes to construct a realistic contribution graph over days or weeks.

🌟 Key Features

  • Architectural Slicing: Rebuild your project file-by-file OR completely surgically via the new --symbol-mode (AST function/class level).
  • Intelligent Dependency Graph: Uses Kahn's algorithm and AST deep traversal to ensure that your project is runnable at every single intermediate step.
  • Syntactic Stubbing: In symbol mode, future functions and classes are injected as syntactically valid stubs using Babel, preventing compilation errors while only delivering partial logic.
  • Micro-Commits & Transactions: Automatically breaks daily steps into multiple micro-transactions, generating humanized, Conventional Commits (e.g., feat: implement parseData) for maximum realism.
  • Fail-Safe Transactions: Every step is applied atomically. If an external scheduler or process dies mid-apply, Committer auto-recovers and rolls back to keep your source pristine.
  • Automated Git & Push: Configure it once, and let it build your git history automatically.

📦 Installation

npm install -g @atharvasingh7007/commitforge

🚀 Quick Start

Initialize a project to be rebuilt over 10 days:

committer init ./my-completed-project -o ./my-rebuild --days 10 --symbol-mode

Navigate to the output directory and preview your plan:

cd ./my-rebuild
committer plan

Apply the first step of the project:

committer next --commit --push

🛠 Command Reference

| Command | Description | |---|---| | init <source> | Scans the source project, builds the dependency graph, and generates the timeline plan. | | plan | Displays the generated step-by-step reconstruction plan. Use --repair to fix broken plans. | | next | Applies the files/symbols for the next step to the output folder. Supports --dry-run, --commit, and --push. | | status | Shows the current progress (e.g., Step 3 of 10). | | graph | Exports the dependency graph. Use --format html for an interactive 2D visualization! | | config | Toggles internal settings like gitEnabled and autoPush. | | schedule | Setup local background scheduling. |

🧩 Symbol Mode vs File Mode

By default, Committer operates in File Mode—it groups whole files into steps based on import graphs.

If you pass --symbol-mode during initialization, Committer switches to a granular AST engine. It reads the internal CallExpressions of your code, dynamically generating partial files where functions from future steps are replaced with empty stubs (e.g., export function getUser() { /* added in step 5 */ }). This creates a remarkably realistic, iterative coding timeline.

🤝 Contributing

Contributions, issues, and feature requests are welcome!

📄 License

ISC