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.jsonproject_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:
- Table of contents for easy navigation
- Directory and file structure
- Full file contents with syntax highlighting
- 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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.