Skip to main content

Universal LLM-optimized project snapshot tool

Project description

akdogan — Universal LLM-Optimized Project Snapshot Tool

PyPI version Python versions License: MIT

akdogan is a lightweight, cross-platform tool designed to bridge the gap between complex software projects and Large Language Models (LLMs).

It instantly converts your entire project—directory structure, source code, and data previews—into a single, structured .txt file optimized for the context windows of ChatGPT, Claude, Gemini, and Llama.


🧠 Why Use akdogan?

Developers often struggle to share code context with AI because:

  • ZIP files are often rejected or hard to parse.
  • Copy-pasting dozens of files manually is tedious.
  • Binary files (images, pyc) create noise and waste tokens.
  • Large CSV/Excel files consume context limits without providing structure.

akdogan solves this by intelligently curating your project into a single, token-efficient text file.


✨ Key Features

  • 📂 Visual Directory Tree: Generates a clean map of your project structure.
  • 📄 Smart Content Extraction: Reads .py, .js, .html, .rs, .go and more.
  • 📊 Data Previews: Automatically extracts only the first 5 rows of .csv and .xlsx files (skips bulk data).
  • 🚫 Noise Filtering: Ignores system files like .git, __pycache__, node_modules, venv, and binary executables.
  • 🧪 Dual Mode: Run it from the terminal (CLI) or import it in your Python scripts.
  • 🖥️ Cross-Platform: 100% compatible with Windows, macOS, and Linux.

🚀 Installation

Requires Python 3.8+.

pip install akdogan

📦 CLI Usage

Navigate to your project folder and run:

# Snapshot the current directory
akdogan .

Options

Target a specific directory:

akdogan /Users/berke/dev/my-cool-project

Save to a specific output file:

akdogan . -o context_for_gpt.txt

🐍 Python Library Usage

You can also use akdogan programmatically within your automation scripts:

import akdogan

# Generate snapshot for the current directory
akdogan.snapshot('.')

# Or target a specific path
akdogan.snapshot('/path/to/target')

This will generate a file named snapshot_<folder>_<timestamp>.txt automatically.

📁 Output Format Example

The generated text file is structured specifically for LLM comprehension:

=== PROJECT TREE ===

my_project/
    ├── app.py
    ├── utils/
    │   └── helper.py
    └── data/
        └── dataset.csv

=== FILE CONTENTS ===

--- FILE: app.py ---
import os
def main():
    print("Hello World")

--- FILE: utils/helper.py ---
def help_me():
    return True

--- FILE: data/dataset.csv ---
id,name,role
1,Alice,Admin
2,Bob,User
<<FIRST 5 ROWS ONLY>>

🛠 Development

To contribute or modify the tool locally:

Clone the repository:

git clone https://github.com/yourusername/akdogan.git
cd akdogan

Run locally:

python -m akdogan .

Run tests:

pytest

Build package:

python -m build

📜 License

This project is licensed under the MIT License. See the LICENSE file for details.

Copyright © 2025 Berke Akdoğan

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

akdogan-1.0.0.tar.gz (6.0 kB view details)

Uploaded Source

Built Distribution

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

akdogan-1.0.0-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: akdogan-1.0.0.tar.gz
  • Upload date:
  • Size: 6.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for akdogan-1.0.0.tar.gz
Algorithm Hash digest
SHA256 1931ea7730e3619c2aa554d0629dd21926c16652818dea484b03dcc4a0de0330
MD5 556d3b81027443f99320388826e4f1ca
BLAKE2b-256 254530e55bd4eaa23c508b89aa6ee54ae1ac375167d5e6748f4440ae7cd14df2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: akdogan-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 8.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for akdogan-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 700ebcb73de66f35521e5a1d503a9596824bc010cb0a525964de30240a8d7d46
MD5 eb9bcea6e1392ee252f52b55c9a1968b
BLAKE2b-256 f9f2a7118e012166ddd187933580a0822f50942ace443401e6b3dea4f47e502b

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