Repository navigation
v0.1.0 — initial release
perskent is a CLI for managing Claude Code skills, agents, and commands via your own private Git registry. This is the first usable release.
Installation
One-liner (Linux / macOS, requires Python 3.11+):
```bash
curl -fsSL https://raw.githubusercontent.com/Alecell/Perskent/main/install.sh | sh
```
Or via pipx directly:
```bash
pipx install git+https://github.com/Alecell/Perskent.git
```
After install, configure your registry:
```bash
pskt init # asks for your private registry repo URL + token
pskt doctor # verifies everything
```
Commands shipped in v0.1.0
| Command | What it does |
|---|---|
| `pskt init` | Configure remote registry (URL + token) and clone workspace |
| `pskt doctor` | Diagnostics (Python, git, paths, registry reachability) |
| `pskt sync` | `git pull` on the local registry workspace |
| `pskt find remote` | List packages available in the registry |
| `pskt find local` | List packages installed in root and project scopes |
| `pskt show ` | Package details (metadata + files to install + install status) |
| `pskt search ` | Search packages by name or description |
| `pskt install [root|project] [--force]` | Install with file-level conflict detection |
| `pskt remove <root|project>` | Uninstall with recursive empty-folder cleanup |
| `pskt update ` | Upgrade, preserving files marked in `[update].preserve` |
Highlights
- Dual scope: install globally in `~/.claude/` (root) or per-project in `./.claude/`
- Type signal via folder: registry layout is `/<agents|skills|commands>//`
- `[update].preserve` in manifest protects user data (e.g. accumulated agent memory) across version bumps
- OS keyring for token storage, with `chmod 600` file fallback (WSL2 / headless friendly)
- Atomic install: file conflicts abort before touching the filesystem
- 45 end-to-end scenarios validated before tagging
Manifest schema
```toml
[package]
name = "my-agent"
version = "1.0.0"
description = "..."
author = "you"
[update] # optional
preserve = [
"agent-memory/my-agent/MEMORY.md", # exact file
"agent-memory/my-agent/notes/", # whole folder (trailing /)
]
```
Requirements
- Python 3.11+ on PATH
- A private GitHub repo (or any Git remote) to use as your registry — perskent does not host a central one
Next on the roadmap
- `pskt push ` — edit a package locally in `~/.pskt/`, bump, commit, push (no manual git involvement)