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

generate-project-context

v1.0.25

Published

CLI tool to generate a project context file with directory tree and file contents

Readme

Project Context Generation Utility

Purpose

This utility is designed to automatically generate the project_context.md file, which contains complete information about the structure and contents of the project. The main purposes are:

  1. Creating a full project description: The utility scans all files in the project and creates a file containing the full content of all files, which allows you to get a complete understanding of the project.

  2. Facilitating work with LLMs: The project_context.md file can be used for uploading into language models (LLMs) for analysis, refactoring, or code generation based on an existing project.

  3. Documenting the project structure: The utility generates a hierarchical representation of the project's file and directory structure, helping to better understand the project's architecture.

Installation

Install the utility as a dev dependency into your project:

npm install --save-dev generate-project-context

Usage

After installation, you can run the utility with the following command:

npx generate-context

The utility will perform the following actions:

  1. Recursively scan all files from the current directory down to the deepest level
  2. Exclude files listed in .ignoreList (located in the package directory)
  3. Create a project_context.md file in the project root containing the complete contents of all project files

To update the project context, simply run the utility again — it will overwrite the project_context.md file with up-to-date information.

File Filtering

The utility automatically excludes from analysis the files listed in the .ignoreList, which is located in the package directory (node_modules). The file is created during the first run of the utility. By default, the list includes:

  • project_context.md — the file containing the full contents of all project files
  • package-lock.json — the file with fixed dependency versions
  • node_modules — the directory containing installed npm packages
  • .git — Git repository files

To manage the list of ignored files, you can:

  1. Run npx generate-context ignore to create or open the .ignoreList file
  2. Or manually edit the .ignoreList file located in the package directory

You can use patterns in .ignoreList to specify files and directories that should be excluded from analysis.