Metadata-Version: 2.4
Name: ipman-cli
Version: 0.4.13
Summary: Intelligence Package Manager - Agent skill virtual environment manager
Project-URL: Homepage, https://github.com/twisker/ipman
Project-URL: Repository, https://github.com/twisker/ipman
Project-URL: Issues, https://github.com/twisker/ipman/issues
Project-URL: Documentation, https://twisker.github.io/ipman
Author: twisker
License-Expression: Apache-2.0
License-File: LICENSE
Keywords: agent,cli,package-manager,skill,virtual-environment
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Software Distribution
Requires-Python: >=3.10
Requires-Dist: click>=8.1
Requires-Dist: pyyaml>=6.0
Requires-Dist: textual>=0.80
Description-Content-Type: text/markdown

<p align="center">
  <img src="images/IpMan.jpg" alt="IpMan Banner" width="600" />
</p>

# IpMan - Intelligence Package Manager

*I can take on ten.*

> The skills housekeeper for AI agents. Discover, organize, absorb, dedup and clean the skills already on your machine — like a disk-cleanup utility, but for agent skills. It never installs and never destroys.

**[Documentation](https://twisker.github.io/ipman)** | **[中文文档](https://twisker.github.io/ipman/zh/)** | **[中文 README](README.zh-cn.md)**

---

## What it is (and is not)

Skills pile up: copied folders, half-remembered clones, duplicates across projects, broken leftovers. Your agent's own tooling installs skills — but nothing tidies them.

IpMan is that missing housekeeper. **It does not install or uninstall skills** — your agent's native mechanisms keep doing that. IpMan handles what they don't:

| Verb | What it does |
|------|--------------|
| **scan / status** | See every skills directory (user-global and per-project) and the true state of each skill: real dir, symlink, broken, duplicate, suite-managed |
| **absorb** | Take loose skill folders into one central store (a fresh git repo each — changes tracked from then on) and leave a symlink in place. Your agent notices nothing |
| **dedup** | Find byte-identical copies across projects and merge them onto one stored original |
| **clean** | Broken links, orphaned store entries, empty shells — quarantined to `~/.ipman/trash`, never deleted |
| **enable / disable** | Switch a skill off without losing it (the link goes, the original stays), switch it back on anytime |
| **pack** | Name a set of skills and enable/disable them as one unit, in any scope |
| **takeover / release** | Optionally put a whole skills directory in IpMan's custody: survives accidental `rm -rf`, restorable with one `sync` |

Everything destructive is dry-run first and quarantined — recoverable, always.

## Quick start

```bash
pipx install ipman-cli        # or: pip install ipman-cli / uv tool install ipman-cli

ipman                         # in a terminal: the interactive TUI
ipman status                  # or the same, as plain text
ipman scan                    # deep scan: wild skills, duplicates, cleanables
```

Typical first session:

```bash
ipman absorb --user           # inventory of ~/.claude/skills: what's absorbable
ipman absorb --user my-notes  # take one over (moved to store, symlinked back)
ipman dedup                   # duplicate report (dry-run)
ipman clean                   # cleanables report (dry-run)
```

## Use it from inside your agent

Install the companion skill (explicitly — IpMan never auto-installs anything, not even itself):

```bash
ipman skill-sync --scope claude-code-user
```

Then just tell your agent "整理一下我的技能" / "clean up my skills" — it drives the same engine through `--json` commands, with confirmation before every write. The skill keeps itself in lockstep with the CLI (`ipman skill-sync --check`).

Add IpMan to your agent's status bar:

```bash
ipman statusline    # -> 📦 user⚑12 | myproj✓3     (⚑ in custody, ✓ native)
```

Wire it into Claude Code by adding it to your `statusLine` command in `settings.json`.

## Safety model

- **Never installs, never uninstalls** — organization only
- **Dry-run first**: `dedup`/`clean` report before `--apply`
- **Quarantine, not deletion**: `clean --apply` moves to `~/.ipman/trash`; `--empty-trash` is a separate, explicit step
- **Pinned read-only originals**: absorbed skills link to read-only snapshots — even a trailing-slash `rm -rf` can't gut the store
- **Suites, clones and marketplace plugins are left alone**: anything with its own manager or upstream is reported, never touched

## Status

v3 (0.4.x): the housekeeper surface is new; verified on macOS with Claude Code. Windows: per-skill operations expected to work (junction fallback, CI-tested), directory takeover pending a Windows verification pass. Feedback and issues welcome.

## License

Apache License 2.0 — see [LICENSE](LICENSE) for details.
