Metadata-Version: 2.4
Name: codefile
Version: 1.0.0
Summary: A CLI tool to bundle entire projects into a single AI-friendly context file.
Author: Anthroberc
Keywords: ai,gemini,codefile,llm,context,prompt-engineering,bundler,devtools,chatgpt,claude
Requires-Python: >=3.10
Description-Content-Type: text/markdown

codefile – Python Project Packager

=====================================
What Is codefile?
=====================================

codefile is a Python package that scans your project directory
and packs everything into a single output file named:

    CodeFile

It includes:
- Project folder structure (tree view)
- File metadata (SHA-256 ID)
- File contents
- Total size (in MB)
- UTC creation timestamp

This is useful for:
- Creating project snapshots
- Sharing full source code as one file
- Simple archiving
- Backup purposes


=====================================
Installation
=====================================

If installed from source:

    pip install .

installing a package:

    pip install codefile


=====================================
How To Use
=====================================

Step 1:
Open terminal inside your project folder.

Step 2:
Run:

    codefile

Step 3:
After execution, a new file will appear:

    CodeFile

That file contains your full project snapshot.


=====================================
What Gets Packed?
=====================================

✔ All regular files in the current directory  
✔ Subdirectories  
✔ File contents  
✔ Directory structure  

Automatically ignored:
- .git folder
- The generated CodeFile
- The package script itself
- Patterns listed in .gitignore (if present)


=====================================
Output File Structure
=====================================

The generated file contains:

ROOT_NAME <project_name>
CREATED_UTC <timestamp>
TOTAL_SIZE_MB <size>

START_STRUCTURE
<folder tree>
END_STRUCTURE

FILE_START <relative_path> <file_id>
<file content>
FILE_END <relative_path> <file_id>


=====================================
Technical Details
=====================================

- Uses SHA-256 hashing (first 12 characters as ID)
- Reads files in chunks (memory safe)
- Skips unreadable or broken files safely
- Writes output using UTF-8 encoding
- Handles errors without crashing

=====================================
Requirements
=====================================

- Python 3.8+
- No external dependencies (uses standard library only)
