Metadata-Version: 2.4
Name: file-type-counter-max
Version: 0.1.0
Summary: Tiny CLI that counts file types by extension and exports Markdown table or JSON.
Author: file-type-counter-max
License: MIT
Keywords: cli,productivity,file-management,dev-tools
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Utilities
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Dynamic: license-file

# file-type-counter-max

A tiny CLI that counts file types by extension in a folder, then exports a copy/paste-ready Markdown table or machine-parseable JSON summary. Built for repo audits, onboarding handoffs, cleanup reviews, and tech-mix discovery.

## Install

Requires Python 3.11 or newer.

```bash
python3 -m pip install --user file-type-counter-max
```

Or install from source:

```bash
git clone https://github.com/<your-org>/file-type-counter-max.git
cd file-type-counter-max
python3 -m pip install --user .
```

After install, the command is `file-type-counter-max`.

## Usage

```bash
file-type-counter-max /path/to/repo
file-type-counter-max .
file-type-counter-max /path/to/repo --format json
file-type-counter-max /path/to/repo --format markdown --min-count 2
```

### Options

- `path`: target directory to scan; defaults to the current directory.
- `-f, --format`: output mode; `table` for human-readable Markdown table, `json` for machine-readable JSON.
- `-d, --depth`: maximum directory depth to recurse into; omit for unlimited depth.
- `--min-count`: only include extensions with at least this many files.
- `-i, --ignore`: comma-separated folder basenames to skip, such as `.git`, `node_modules`, `__pycache__`.
- `--sort`: sort order; `count` shows highest first, `ext` shows alphabetical by extension.
- `--help`: show help message.

## Output examples

### Markdown table

```text
| Extension | Count | Share |
| --- | ---: | ---: |
| .py | 181 | 54.0% |
| .toml | 42 | 12.6% |
| .md | 31 | 9.3% |
| .yml | 21 | 6.3% |
```

### Sample run

Actual run against this repo with default table output:

```text
| Extension | Count | Share |
| --- | ---: | ---: |
| .txt | 6 | 18.2% |
| (no extension) | 5 | 15.2% |
| .md | 4 | 12.1% |
| .pyc | 4 | 12.1% |
| .toc | 4 | 12.1% |
| .py | 3 | 9.1% |
| .html | 1 | 3.0% |
| .pkg | 1 | 3.0% |
| .pyz | 1 | 3.0% |
| .spec | 1 | 3.0% |
| .tag | 1 | 3.0% |
| .toml | 1 | 3.0% |
| .zip | 1 | 3.0% |
```

## Release path

This project ships a single-command local install. For a ready-to-run release without an install step, use GitHub Releases or package it with `pyinstaller` or `shiv`.

## Notes

- This CLI avoids paid dependencies and does not collect telemetry.
- Favorites or defaults are not stored; every run is computed fresh from the provided path.
