Metadata-Version: 2.4
Name: cli-anything-verdaccio
Version: 1.0.0
Summary: CLI harness for Verdaccio npm registry
Home-page: https://github.com/cli-anything/verdaccio
Author: CLI Anything
Author-email: CLI Anything <cli-anything@example.com>
License: MIT
Project-URL: Homepage, https://github.com/your-org/cli-anything-verdaccio
Project-URL: Documentation, https://github.com/your-org/cli-anything-verdaccio#readme
Project-URL: Repository, https://github.com/your-org/cli-anything-verdaccio
Keywords: verdaccio,npm,registry,cli
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
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
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: click>=8.0.0
Requires-Dist: requests>=2.25.0
Requires-Dist: pyyaml>=5.4.0
Requires-Dist: psutil>=5.8.0
Requires-Dist: packaging>=21.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-cov>=3.0.0; extra == "dev"
Dynamic: author
Dynamic: home-page
Dynamic: requires-python

# CLI Anything - Verdaccio

A comprehensive CLI harness for managing Verdaccio npm registry instances.

## Installation

```bash
pip install cli-anything-verdaccio
```

Or install from source:

```bash
cd agent-harness
pip install -e .
```

## Usage

### One-shot Commands

```bash
# Start a Verdaccio server
cli-anything-verdaccio session start --port 4873

# Check server status
cli-anything-verdaccio session status

# Create a user
cli-anything-verdaccio user create myuser --email myuser@example.com

# Login
cli-anything-verdaccio user login myuser

# List packages
cli-anything-verdaccio package list

# Publish a package
cli-anything-verdaccio package publish ./my-package.tgz

# Stop server
cli-anything-verdaccio session stop
```

### REPL Mode

```bash
cli-anything-verdaccio repl
```

Interactive session:
```
verdaccio> session start --port 4873
Server started at http://localhost:4873
verdaccio> user create testuser
Password: ******
User 'testuser' created
verdaccio> package list
[]
verdaccio> exit
```

### JSON Output

All commands support `--json` flag for machine-readable output:

```bash
cli-anything-verdaccio --json session status
```

Output:
```json
{
  "success": true,
  "data": {
    "running": true,
    "pid": 12345,
    "url": "http://localhost:4873"
  },
  "message": "Server running at http://localhost:4873"
}
```

## Command Groups

### session
- `start` - Start a Verdaccio server
- `stop` - Stop the running server
- `status` - Check server status
- `logs` - View server logs

### package
- `list` - List all packages
- `show` - Show package details
- `search` - Search packages
- `publish` - Publish a package
- `unpublish` - Remove a package
- `download` - Download package tarball

### user
- `create` - Create a new user
- `login` - Login and get auth token
- `logout` - Logout and invalidate token
- `whoami` - Show current user

### config
- `show` - Display current config
- `validate` - Validate config file
- `init` - Create default config
- `get` - Get a config value
- `set` - Set a config value

### token
- `list` - List all tokens
- `create` - Create a new token
- `revoke` - Revoke a token

## Requirements

- Python 3.8+
- Node.js 18+ (for Verdaccio)
- Verdaccio installed globally or locally

## License

MIT
