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 🙏

© 2025 – Pkg Stats / Ryan Hefner

@xelth/eck-snapshot

v4.0.0

Published

A powerful CLI tool to create and restore single-file text snapshots of Git repositories and directories. Optimized for AI context and LLM workflows.

Downloads

17

Readme

eckSnapshot

A lightweight, platform-independent CLI for creating focused, AI-ready project snapshots.

eckSnapshot is a powerful command-line tool designed to solve a critical problem in AI-assisted development: providing clear, complete, and focused context to Large Language Models (LLMs). It allows you to package an entire project codebase—or just specific parts of it—into a single, clean text file.

This tool is built for a modern workflow where you act as the architect, guiding the overall strategy, while AI agents handle the detailed implementation.

The Core Workflow

eckSnapshot is designed to support a two-part AI workflow for maximum efficiency and quality:

  1. The Architect LLM (Gemini, GPT-4, Grok): A model with a large context window. You provide it with a snapshot of your project, and it analyzes the codebase to create a high-level plan for new features or refactoring.
  2. The Coder LLM (Claude Code, OpenAI Codex): A model specialized in writing and modifying code. It takes the detailed instructions generated by the Architect and performs the hands-on coding tasks.

Requirements

  1. Node.js (v18.x or higher).
  2. An AI Assistant CLI (at least one):
    • Claude: An active Claude Pro subscription and the claude-code CLI installed.
    • OpenAI: An active ChatGPT Plus/Pro subscription and the @openai/codex CLI installed (npm install -g @openai/codex).

Installation

Install eckSnapshot globally on your system using npm:

npm install -g @xelth/eck-snapshot

Once installed, you can run the tool using the eck-snapshot command from any directory.

A Step-by-Step Guide to Using eckSnapshot

Here’s the most common workflow, from creating a full snapshot to focusing on specific features.

Step 1: Create a Full Project Snapshot

This is your primary command. It scans your project and packs all relevant code into a single file.

Usage:

dimi@xelth:/mnt/c/Users/xelth/myProject$ eck-snapshot
  • What it does: Creates a file like myProject_snapshot_... .md in the .eck/snapshots/ directory. This file contains your project's directory structure and the complete code. You can now pass this file to your Architect LLM for analysis.

Step 2: Handle Large Projects with Auto-Profiling

If your project is too large for an LLM's context window, profile-detect can automatically slice it into logical parts (profiles) using AI.

Usage:

dimi@xelth:/mnt/c/Users/xelth/myProject$ eck-snapshot profile-detect
  • Output Example:
    ✨ Detected Profiles:
    ---------------------------
      - cli
      - services
      - core
      - templates
      - docs
      - config
  • What it does: Analyzes your project and saves these logical groupings into a .eck/profiles.json file, which you can use in the next step.

Step 3: Use Profiles to Create Focused Snapshots

The --profile option gives you powerful control over what goes into a snapshot. You can combine profiles, exclude files, and even use ad-hoc patterns.

Example 1: Combine and Exclude Profiles

Create a snapshot of the core logic, services, and CLI, but exclude all documentation and configuration files.

eck-snapshot --profile "core,services,cli,-docs,-config"

Example 2: Use Ad-Hoc Glob Patterns

Include all .js files in the src directory but exclude all test files, without using a pre-defined profile.

eck-snapshot --profile "src/**/*.js,-**/*.test.js"

Note: Quotes are required when using complex patterns with wildcards (*) or commas.

Step 4: Intelligently Prune a Snapshot

If a snapshot is still too large, prune uses AI to shrink it to a target size, keeping only the most important files for understanding the code.

Usage:

eck-snapshot prune myProject_snapshot.md --target-size 500KB

Step 5 (Alternative): Truncate Files by Line Count

A faster, non-AI method to reduce snapshot size. This command keeps only the top N lines of each file, which is useful for a high-level architectural overview.

Usage:

eck-snapshot --max-lines-per-file 200

Auxiliary Commands

  • restore <snapshot_file>: Recreates a project's file structure from a snapshot.
  • generate-profile-guide: Creates a guide for manual profile creation. Use this if profile-detect fails on very large projects, as it allows you to use an LLM with a larger context window (e.g., a web UI).
  • detect: Shows how eckSnapshot has identified your project type and what default file filters are being applied.
  • ask-gpt / ask-claude: Directly delegate a task to your configured AI coder agents from the command line.
  • setup-gemini: A utility to automatically configure integration with the gemini-cli.

For a full list of commands and options, run eck-snapshot --help.

License

This project is licensed under the MIT License.