Metadata-Version: 2.4
Name: p2ctx
Version: 0.1.1
Summary: Bundles a project's context (code, structure, Go dependency graph) into a single compact JSON/Markdown file for an LLM
Project-URL: Homepage, https://github.com/LZTD1/p2ctx
Author: LZTD1
License-Expression: MIT
Keywords: ai,codebase,context,llm,prompt
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.9
Requires-Dist: pathspec>=0.12
Provides-Extra: clipboard
Requires-Dist: pyperclip>=1.8; extra == 'clipboard'
Provides-Extra: tokens
Requires-Dist: tiktoken>=0.7; extra == 'tokens'
Description-Content-Type: text/markdown

# p2ctx

Bundles a project's source (code, structure, Go dependency graph) into a
single compact JSON or Markdown file, ready to feed to an LLM.

Compresses function/method bodies down to signatures + docstrings/JSDoc
for **Go**, **Python**, and **JS/TS/JSX/TSX**, so tokens aren't spent on
implementation details the model doesn't need to see.

## Install

```bash
pip install p2ctx
```

## Usage

```bash
p2ctx .                                  # current dir -> <dirname>_context.json
p2ctx /path/to/proj -o out.json
p2ctx . --format md                      # markdown instead of JSON
p2ctx . --stdout | pbcopy                # print to stdout instead of a file
p2ctx . --copy                           # copy result straight to clipboard
p2ctx . --include "*.py" --exclude "tests/*"
p2ctx . --respect-gitignore
p2ctx . --no-compress-go                 # skip Go compression
p2ctx . --no-compress-py                 # skip Python compression
p2ctx . --no-compress-js                 # skip JS/TS/JSX/TSX compression
p2ctx . --no-compress                    # skip all compression
p2ctx . --max-size 300000
p2ctx . --tiktoken                       # exact token count
```

## Optional dependencies

```bash
pip install p2ctx[clipboard]   # for --copy
pip install p2ctx[tokens]      # for --tiktoken
```
