Skip to main content

A utility to create Markdown snapshots of project structures for LLMs

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

project_snap-1.0.0.tar.gz (7.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

project_snap-1.0.0-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file project_snap-1.0.0.tar.gz.

File metadata

  • Download URL: project_snap-1.0.0.tar.gz
  • Upload date:
  • Size: 7.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.3

File hashes

Hashes for project_snap-1.0.0.tar.gz
Algorithm Hash digest
SHA256 484d6e9a449072ac10757886c96e9b01f57acfa04fd5ababe03e9d6f1590b2aa
MD5 6bda60e2a19e68f06bc98c9c0c5b2fca
BLAKE2b-256 360e2a83ff0c638a7550be6a5bebbb7e834866076176341dfb05c2e76ce62364

See more details on using hashes here.

File details

Details for the file project_snap-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: project_snap-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 9.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.3

File hashes

Hashes for project_snap-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b06f6a0ff5c4df8ba894f446dcf6b3f4d91b3a64a9aea2451c354860890302da
MD5 d9c70f76998d9b2b282de5fa74dab751
BLAKE2b-256 201d198fae6373ba2948ecc35be98e5fa2d82e22cba53dc742fea16ded02828a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page