Metadata-Version: 2.4
Name: aptitude-publisher
Version: 0.1.0
Summary: Publisher CLI for evaluating and publishing Aptitude skills
Project-URL: Homepage, https://github.com/aptitude-stack/publisher
Project-URL: Repository, https://github.com/aptitude-stack/publisher
Project-URL: Issues, https://github.com/aptitude-stack/publisher/issues
Project-URL: Documentation, https://github.com/aptitude-stack/publisher/tree/main/docs
Keywords: ai,cli,publisher,registry,skills
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development
Classifier: Topic :: Utilities
Requires-Python: <3.13,>=3.12
Description-Content-Type: text/markdown
Requires-Dist: llm-guard<0.4,>=0.3.16
Requires-Dist: prompt-toolkit>=3.0
Requires-Dist: PyYAML>=6.0
Requires-Dist: rich>=13.0
Requires-Dist: upskill
Requires-Dist: zstandard<0.24,>=0.23
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == "dev"

# Aptitude Publisher

Local publisher for Aptitude skills. It evaluates a skill folder, builds a
registry payload, compresses the bundle, and uploads it to an Aptitude registry.

## Install

```bash
uv venv
uv pip install -e .
```

The base install includes:

- `llm-guard` for skill-content security scanning
- `upskill` for performance evaluation

## Inspect A Skill

```bash
aptitude-publisher inspect /path/to/skill
```

## Publish A Skill

```bash
APTITUDE_PUBLISH_TOKEN=publisher-token \
aptitude-publisher publish /path/to/skill --version 1.0.0
```

The default registry URL is `http://127.0.0.1:8000`. Override it with:

```bash
export APTITUDE_REGISTRY_URL="https://api.aptitude-registry.dev"
```

## Evaluator Configuration

LLM Guard runs locally over the skill package content. It scans the main
`SKILL.md`, metadata fields, schemas, companion markdown, scripts, references,
and other text files for prompt injection, secrets, and hidden text.

Upskill can be pointed at models with:

```bash
export UPSKILL_MODELS="haiku,sonnet"
```

Provider API keys are needed when the configured Upskill target uses a hosted
model provider. For example, an OpenAI-compatible target expects:

```bash
export OPENAI_API_KEY="..."
```

Security publishing decisions depend on LLM Guard. If LLM Guard is not configured or
does not produce a scored result, the publisher blocks the publish flow.
