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.1.0.tar.gz (6.2 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.1.0-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for akdogan-1.1.0.tar.gz
Algorithm Hash digest
SHA256 308bb5df98107d32a486b637ca0ebc1ba5862b29996b98413ce6cce4cead0112
MD5 02b388460dbe52f4f0168c7510d932ab
BLAKE2b-256 9be636850df3642107d5184acf5ea6b15b68d98d46732b36cb2c1bf03e2640f7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: akdogan-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.4 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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b18f01cbba1507e8c0fe9d6b5f1ba8eaa66e426007f947c1589f33e80d4ef61c
MD5 3ccc514b887525447419ab7771168a31
BLAKE2b-256 3f43184301352456bf8775e9691852ea0e704a8842ba40f8651a208ba5ede932

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