Skip to main content

Project Snapshot Utility (project-snap)

A command-line utility to create comprehensive Markdown snapshots of your project structure for sharing with LLMs like Claude or Gemini.

Features

  • Create detailed markdown snapshots of your project structure
  • Configurable inclusion/exclusion of files, folders, and extensions
  • Automatic syntax highlighting for common file types
  • Table of contents generation for easy navigation
  • Size limits to avoid including large files
  • Configurable via JSON file or command-line arguments
  • Installable via pip

Installation

pip install project-snap

Usage

Basic Usage

Generate a project snapshot with default settings:

project-snap

This will create a project_snapshot.md file in the current directory.

Command-line Options

project-snap --help
project-snap --init                     # Create a sample configuration file
project-snap --config path/to/config.json  # Use a custom configuration file
project-snap --output custom_name.md    # Specify a custom output filename
project-snap --target /path/to/project  # Snapshot a different directory

Configuration

The tool looks for a configuration file in the following locations:

  • project-snapshot-config.json
  • .project-snapshot.json
  • project_snapshot_config.json

You can generate a sample configuration file using:

project-snap --init

Sample configuration:

{
  "folders": {
    "include": [],
    "exclude": ["node_modules", "venv", ".git", "__pycache__", "dist", "build"]
  },
  "files": {
    "include": [],
    "exclude": [".DS_Store", "*.pyc", "*.jpg", "*.png", "package-lock.json"]
  },
  "ext": {
    "include": [".py", ".js", ".ts", ".html", ".css", ".json", ".md"],
    "exclude": []
  },
  "target_folder": ".",
  "output_folder": ".",
  "snapshot_name": "project_snapshot.md",
  "max_file_size_kb": 500
}

Use with LLMs

The generated markdown file is optimized for sharing with Large Language Models like Claude or Gemini. The snapshot includes:

  1. Table of contents for easy navigation
  2. Directory and file structure
  3. Full file contents with syntax highlighting
  4. Manageable file sizes for context windows

License

MIT

Metadata

Release files for project-snap 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for project-snap 1.0.0
File Size Uploaded Provenance Actions
project_snap-1.0.0.tar.gz 7.6 kB Without provenance Details for project_snap-1.0.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for project-snap 1.0.0
File Interpreter ABI Platform Actions
project_snap-1.0.0-py3-none-any.whl Python 3 none any Details for project_snap-1.0.0-py3-none-any.whl

Total release size: 17.2 kB

Release files / project_snap-1.0.0.tar.gz

Download URL project_snap-1.0.0.tar.gz
Size 7.6 kB
Tags Source
SHA-256 checksum
How to use checksums
484d6e9a449072ac10757886c96e9b01f57acfa04fd5ababe03e9d6f1590b2aa
BLAKE2b-256 checksum
How to use checksums
360e2a83ff0c638a7550be6a5bebbb7e834866076176341dfb05c2e76ce62364
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.3

Release files / project_snap-1.0.0-py3-none-any.whl

Download URL project_snap-1.0.0-py3-none-any.whl
Size 9.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b06f6a0ff5c4df8ba894f446dcf6b3f4d91b3a64a9aea2451c354860890302da
BLAKE2b-256 checksum
How to use checksums
201d198fae6373ba2948ecc35be98e5fa2d82e22cba53dc742fea16ded02828a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.3

Security for project-snap 1.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page