Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
77 changes: 77 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,83 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [2.0.0] - 2025-12-20

### BREAKING CHANGES

**UV Shebang Conversion**
- Converted from manual venv management to UV shebang scripts with PEP 723 inline metadata
- Command pattern changed: `python scripts/run.py script.py` → `./scripts/script.py` or `uv run scripts/script.py`
- Requires UV installation: `curl -LsSf https://astral.sh/uv/install.sh | sh`

### Migration Guide

**1. Install UV:**
```bash
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows (PowerShell)
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
```

**2. Update skill:**
```bash
cd ~/.claude/skills/notebooklm
git pull
```

**3. Clean old environment (optional):**
```bash
rm -rf .venv # No longer needed
```

**4. Make scripts executable (Unix/Mac only):**
```bash
chmod +x scripts/*.py
```

**Updated Commands:**

| Old Command | New Command (Unix/Mac) | New Command (Windows) |
|-------------|------------------------|------------------------|
| `python scripts/run.py auth_manager.py status` | `./scripts/auth_manager.py status` | `uv run scripts\auth_manager.py status` |
| `python scripts/run.py notebook_manager.py list` | `./scripts/notebook_manager.py list` | `uv run scripts\notebook_manager.py list` |
| `python scripts/run.py ask_question.py --question "..."` | `./scripts/ask_question.py --question "..."` | `uv run scripts\ask_question.py --question "..."` |

**First run:** Dependencies install automatically (one-time, ~30 seconds)

**Troubleshooting:**

- **"uv: command not found"**: Install uv and restart terminal
- **"Permission denied"**: Run `chmod +x scripts/*.py` (Unix/Mac)
- **Windows users**: Always use `uv run scripts\script.py` syntax

**Rollback to v1.3.0:**
```bash
cd ~/.claude/skills/notebooklm
git checkout v1.3.0
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python -m patchright install chrome
```

### Added
- UV shebang with PEP 723 inline metadata in all entry point scripts
- Automatic dependency installation on first run
- Dependency caching for instant subsequent runs

### Removed
- `scripts/run.py` - Replaced by UV shebang
- `scripts/setup_environment.py` - Replaced by UV automatic setup
- `requirements.txt` - Dependencies now inline in scripts

### Changed
- All scripts now directly executable with UV shebang
- Updated documentation for UV usage pattern
- Simplified installation process (no manual venv setup)

## [1.3.0] - 2025-11-21

### Added
Expand Down
62 changes: 44 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,27 +66,48 @@ Your Task → Claude asks NotebookLM → Gemini synthesizes answer → Claude wr

## Installation

### The simplest installation ever:
### Prerequisites

**Install uv** (one-time):
```bash
# 1. Create skills directory (if it doesn't exist)
mkdir -p ~/.claude/skills
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows (PowerShell)
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
```

# 2. Clone this repository
### Install Skill

```bash
mkdir -p ~/.claude/skills
cd ~/.claude/skills
git clone https://github.com/PleasePrompto/notebooklm-skill notebooklm
```

**Unix/Mac only:**
```bash
cd notebooklm
chmod +x scripts/*.py
```

# 3. That's it! Open Claude Code and say:
That's it! Dependencies install automatically on first use.

### First Run

Tell Claude Code:
```
"What are my skills?"
```

When you first use the skill, it automatically:
- Creates an isolated Python environment (`.venv`)
- Installs all dependencies including **Google Chrome**
- Sets up browser automation with Chrome (not Chromium) for maximum reliability
- Everything stays contained in the skill folder
When you first use NotebookLM, dependencies install automatically:
```bash
./scripts/auth_manager.py status
# Installing dependencies... (one-time, ~30 seconds)
# ✅ Not authenticated
```

**Note:** The setup uses real Chrome instead of Chromium for cross-platform reliability, consistent browser fingerprinting, and better anti-detection with Google services
**No manual venv setup needed** - uv handles everything.

---

Expand Down Expand Up @@ -254,9 +275,14 @@ Uses realistic typing speeds and interaction patterns to avoid detection.
Note: The MCP server uses the same Patchright library but via TypeScript/npm ecosystem.

### Dependencies

Dependencies are declared inline in each script using PEP 723 metadata:

**Main scripts:**
- **patchright==1.55.2**: Browser automation
- **python-dotenv==1.0.0**: Environment configuration
- Automatically installed in `.venv` on first use

Automatically installed by uv on first run.

### Data Storage

Expand Down Expand Up @@ -342,12 +368,12 @@ Say: `"Clear NotebookLM browser data"`

### Dependencies issues
```bash
# Manual reinstall if needed
cd ~/.claude/skills/notebooklm
rm -rf .venv
python -m venv .venv
source .venv/bin/activate # or .venv\Scripts\activate on Windows
pip install -r requirements.txt
# Dependencies are managed automatically by uv
# If you encounter issues, ensure uv is installed:
curl -LsSf https://astral.sh/uv/install.sh | sh

# Restart terminal and try again:
./scripts/auth_manager.py status
```

---
Expand Down
Loading