Metadata-Version: 2.4
Name: config-map
Version: 1.0.0
Summary: A beautiful terminal map of your configuration files
Author-email: Toshon Jennings <mstly.pcfl@gmail.com>
License: MIT
Project-URL: Homepage, https://github.com/toshonjennings/config-map
Project-URL: Repository, https://github.com/toshonjennings/config-map
Project-URL: Issues, https://github.com/toshonjennings/config-map/issues
Keywords: config,dotfiles,terminal,cli,system,audit,map
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: MacOS
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: System :: Systems Administration
Classifier: Topic :: Utilities
Classifier: Typing :: Typed
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: rich>=10.0
Dynamic: license-file

# config-map

A beautiful terminal map of your configuration files.

Scans `~/.config/` recursively and your top-level dotfiles, then displays each
file with path, size, last-modified, format, line count, and a type-specific
summary (extracted keys for structured formats, counts for `.env` / shell
configs, etc.).

## Install

```bash
pip install config-map
```

## Usage

```bash
config-map                       # full report (~3s)
config-map --search herme        # only files with "herme" in the path
config-map --min-size 100k       # only files >= 100 KB
config-map --config              # only ~/.config/
config-map --dotfiles            # only top-level dotfiles
config-map --version             # show version
```

## What it shows

| Field | Description |
|-------|-------------|
| File | Path (relative to ~) |
| Format | JSON / YAML / TOML / ENV / SHELL / PLIST / INI etc. |
| Size | Human-readable (B/KB/MB) |
| Lines | Line count (skips files >5 MB) |
| Modified | Last modified date/time |
| Purpose / Summary | Extracted keys, alias/export counts, git sections, etc. |

## Type-specific summaries

- **JSON** → top 6 keys
- **YAML** → top 6 top-level keys
- **TOML** → top 6 sections/keys
- **.env** → variable count
- **Shell configs** → alias / export / function counts
- **.gitconfig** → section list
- **SSH config** → Host entries
- **plists** → top-level key count

## Performance

Large cache/model dirs (`.hermes`, `.vscode`, `.lmstudio`, `.gemini`, etc.) are
scanned shallowly (top-level files only) to avoid walking gigabytes of models.
Files over 5 MB are never read — they show size/format only.

Full scan runs in ~3 seconds on a typical macOS system.

## Requirements

- Python 3.7+
- `rich` library (installed automatically)

## License

MIT
