Metadata-Version: 2.4
Name: unb-consultant
Version: 0.3.0
Summary: Universal NotebookLM-Based Consultant - create and query AI experts via NotebookLM
Author-email: Freddy Eleazar <freddyeleazar@gmail.com>
License: MIT
Keywords: ai-agent,cli,gemini-notebook,mcp,notebooklm
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
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: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.10
Requires-Dist: click>=8.0
Requires-Dist: mcp>=1.0.0
Requires-Dist: notebooklm-py>=0.7.0
Provides-Extra: browser
Requires-Dist: notebooklm-py[browser]; extra == 'browser'
Provides-Extra: cookies
Requires-Dist: notebooklm-py[cookies]; extra == 'cookies'
Provides-Extra: dev
Requires-Dist: pytest-asyncio>=0.21; extra == 'dev'
Requires-Dist: pytest>=7.0; extra == 'dev'
Requires-Dist: ruff>=0.1.0; extra == 'dev'
Provides-Extra: scraping
Requires-Dist: playwright>=1.50.0; extra == 'scraping'
Description-Content-Type: text/markdown

# unb-consultant

Universal NotebookLM-Based Consultant. Create and query AI experts powered by Google Gemini Notebook (formerly NotebookLM).

## Installation

```bash
pipx install "unb-consultant[browser]"
```

Or with cookie extraction support:
```bash
pipx install "unb-consultant[browser,cookies]"
```

## Quick Start

```bash
# Authenticate
unb login

# Create an expert
unb expert create "cvss-v4" \
  --url "https://www.first.org/cvss/v4-0/specification-document" \
  --desc "CVSS v4.0 scoring expert"

# Ask a question
unb ask "cvss-v4" "How is the base score calculated?"

# List experts
unb expert list
```

## MCP Server

For AI agent integration, start the MCP server:

```bash
unb mcp
```

Then configure in your `opencode.json`:

```json
{
  "mcpServers": {
    "unb-consultant": {
      "command": "unb",
      "args": ["mcp"]
    }
  }
}
```

## Commands

| Command | Description |
|---------|-------------|
| `unb login` | Authenticate with Google |
| `unb auth check --test` | Verify authentication |
| `unb auth refresh` | Refresh authentication tokens |
| `unb expert create NAME` | Create a new expert (`--url`, `--file`, `--auto`) |
| `unb expert list` | List all experts (`--json` for structured output) |
| `unb expert delete NAME` | Delete an expert (`--yes` to skip confirmation) |
| `unb ask NAME QUESTION` | Ask a question (`--json` for citations) |
| `unb suggest KEYWORD ...` | Suggest expert domains by keywords |
| `unb catalog NAME` | Generate thematic catalog |
| `unb skill-gen NAME` | Generate SKILL.md (`--auto` for automatic) |
| `unb source add NAME` | Add sources to expert |
| `unb init` | Set up unb-consultant in a project (`--auto`) |
| `unb setup` | Interactive setup wizard |
| `unb mcp` | Start MCP server |

## Development

### Prerequisites

- Python 3.10+
- Google account (for NotebookLM)

### Local setup

```bash
git clone https://github.com/freddyeleazar/unb-consultant.git
cd unb-consultant
pip install -e ".[browser,dev]"
```

### Testing

```bash
pytest
```

### Releasing

See [AGENTS.md](AGENTS.md) for the release workflow. The project uses
[Conventional Commits](https://www.conventionalcommits.org/) and
[Keep a Changelog](https://keepachangelog.com/).
