Metadata-Version: 2.4
Name: produm
Version: 0.2.0
Summary: Flatten a project into a single LLM-friendly text dump
Author: Pierre Lacerte
License: MIT License
        
        Copyright (c) 2025 produm contributors
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in
        all copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
        THE SOFTWARE.
        
Project-URL: Repository, https://github.com/placerte/project-dumper
Requires-Python: >=3.13
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pathspec
Requires-Dist: simdoc>=0.2.0
Dynamic: license-file

# produm

`produm` is a tiny CLI tool that flattens any small project into a single, LLM-friendly document. Useful when you want to show an entire codebase to ChatGPT or other LLMs without manually copying files. This was created for Python projects, but it could be generalized for other projects.

## Features
- Generates a single `.md` dump with:
  - Directory tree
  - File list
  - All text-based file contents
- Respects `.gitignore` (can be disabled)
- Skips binary files automatically
- Supports include/exclude rules
- Optional line numbers for code review and debugging
- Output name auto-generated unless specified
- Optional PDF export via Pandoc
- Clean command removes prior dump artifacts

## Installation

```bash
uv add produm
```
or
```bash
pip install produm
```

## Usage

### Basic

```bash
produm
```
or
```bash
produm .
```
will clean old dumps, then create a new dump file *from* and *in* the current directory.

### Subcommands

Dump only:

```bash
produm dump .
```

Clean only:

```bash
produm clean .
```

Dry-run cleaning:

```bash
produm clean . --dry-run
```

### Advanced

Specify output:

```bash
produm dump . -o dump.md
```


Only include Python files:

```bash
produm dump . --include-ext .py
```

Skip the directory tree:

```bash
produm dump . --no-tree
```

Export PDF only:

```bash
produm dump . --pdf
```

PDF export requires `pandoc` and `xelatex`.

## License
See [LICENSE](LICENSE)
