Metadata-Version: 2.4
Name: skope
Version: 0.0.1
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Operating System :: MacOS
Classifier: Programming Language :: Rust
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering
Summary: Not a notebook. A journal 📰. Agent driven.
Keywords: agent,notebook,data-science,sandbox
License: ask :probabl
Requires-Python: >=3.8
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM

# skope 🔎

Not a notebook. 
A journal 📰.
Agent driven.


## Status

🚧 v0, walking skeleton. macOS dev only.

## Install

skope ships as a PyPI wheel — a self-contained binary:

```sh
uv tool install skope     # or: pip install skope
skope tui                  # opens a terminal client (auto-spawns the daemon)

uvx skope tui              # zero-install trial
```

skope runs Python cells with whatever `python3` is on PATH, **not** its own
install env — so activate your project's environment first (or use
`uv run skope tui`) to give cells access to your packages. Override explicitly
with `--python /path/to/python`.

## Requirements (development)

- Rust **stable** (pinned in `rust-toolchain.toml`)
- [`just`](https://github.com/casey/just) for repo recipes

## Quickstart 

With `ANTHROPIC_API_KEY` set, the agent is enabled. The header has an L2/L3
autonomy toggle: at L2 the agent runs cells and edits files automatically
but always prompts on `file_delete`; at L3 everything inside the writable
allow-list is auto-allowed.

Writable allow-list (hardcoded v0):

- `src/**`, `experiments/**`, `tests/**`
- `data/README.md`, `pyproject.toml`, `.gitignore`

Anything outside this list is hard-denied (no prompt, no override). In
particular `.skope/` (where skope keeps its own state) is off-limits.
The model can force a prompt at any level by setting
`require_approval: true` on a write tool call.

## Tools (v0)

| Tool | Purpose |
|---|---|
| `cell_run` | Run a Python cell on the persistent kernel. |
| `read` | Read a workspace file (with optional 1-indexed line range). |
| `glob` | List files matching a `*` / `**` / `?` pattern. |
| `grep` | Regex search across the workspace. |
| `file_create` | Create a new file inside the allow-list. |
| `file_edit` | Replace one exact substring; read-before-edit enforced. |
| `file_delete` | Delete a file; prompts at L2, auto at L3. |
| `file_move` | Move/rename a file; both ends must be in the allow-list. |

Every write tool snapshots the prior state under
`.skope/sessions/<session-id>/snapshots/<step_id>/` for future revert support.


Watch this space.

---

© Probabl. Licensing: **ask :probabl**.
