Metadata-Version: 2.4
Name: protocol-monk
Version: 0.1.0
Summary: Installable CLI for the Protocol Monk local assistant runtime.
License-Expression: LicenseRef-Protocol-Monk-Demo
Project-URL: Homepage, https://github.com/Prot0c0lM0nk/protocol_monk
Project-URL: Repository, https://github.com/Prot0c0lM0nk/protocol_monk
Project-URL: Issues, https://github.com/Prot0c0lM0nk/protocol_monk/issues
Keywords: cli,ollama,openrouter,assistant
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Utilities
Requires-Python: >=3.14
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pydantic>=2.0.0
Requires-Dist: pydantic-settings>=2.0.0
Requires-Dist: python-dotenv>=1.0.0
Requires-Dist: ollama>=0.6.1
Requires-Dist: prompt_toolkit>=3.0.40
Requires-Dist: openai>=1.0.0
Requires-Dist: rich>=13.7.1
Requires-Dist: openpyxl>=3.1.0
Requires-Dist: xlrd>=2.0.1
Requires-Dist: PyMuPDF>=1.24.0
Requires-Dist: Pillow>=10.0.0
Provides-Extra: dev
Requires-Dist: build>=1.2.2; extra == "dev"
Requires-Dist: twine>=6.1.0; extra == "dev"
Dynamic: license-file

# Protocol Monk

Protocol Monk is a local-first terminal assistant with a `protocol_monk` CLI entrypoint, interactive Rich or prompt-toolkit UIs, tool execution, and provider support for Ollama or OpenRouter.

## Quick Install And Run

Install from a clone of this repo:

```bash
python -m pip install .
```

First run:

```bash
protocol_monk
```

If you want explicit local overrides, copy the example environment file first:

```bash
cp .env.example .env
```

## `pipx`

For an isolated CLI install:

```bash
pipx install .
```

After the first PyPI release, the intended end-user command is:

```bash
pipx install protocol-monk
```

## Provider Requirements

### Ollama

- Default provider path.
- Requires a reachable Ollama server, defaulting to `http://localhost:11434`.
- Requires at least one installed model that Ollama can serve.
- Model discovery cache is written to `./.protocol_monk/models.json`.

### OpenRouter

- Requires `OPENROUTER_API_KEY`.
- Uses the packaged example model map by default.
- Set `OPENROUTER_MODELS_JSON_PATH` if you want to manage your own model map file.

## Dev Setup

For reproducible contributor setup:

```bash
conda env create -f environment.yml
conda activate monk_env
python -m pip install -e .[dev]
```

Build and verify release artifacts:

```bash
python -m build
python -m twine check dist/*
```

## PyPI Publishing

This repo includes `.github/workflows/package-release.yml`.

Before the first PyPI release:

1. Create the `protocol-monk` project on PyPI.
2. Configure PyPI trusted publishing for this repository and workflow.
3. Push a version tag such as `v0.1.0`, or trigger the workflow manually.

## Current Status And Limits

- Source install and `pipx` install are verified.
- A PyPI publish workflow is prepared, but no release has been published yet.
- `LICENSE` is included, but it is a demo/evaluation license rather than an open-source redistribution/modification grant.
- Runtime behavior still depends on local provider configuration and available models.
