Metadata-Version: 2.4
Name: wooden-skills
Version: 0.1.1
Summary: Install a curated set of opencode skills into the auto-scanned skill directories. Non-destructive: never overwrites or deletes existing files, never touches config.
Author: wooden-skills contributors
License: MIT
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown

# wooden-skills

A command-line installer for a curated set of opencode skills. It copies the
bundled skills into opencode's auto-scanned skill directories **without**
touching any existing file or configuration, so you can get a known set of
skills onto a machine without manually placing files or hand-editing config.

Perfect for provisioning a fresh machine (e.g. one that can reach PyPI but
from which cloning from GitHub is impractical) with a one-command installer.

## Usage

```bash
pip install wooden-skills
wooden-skills-install --dry-run   # optional: preview add/skip, writes nothing
wooden-skills-install             # add missing skills to the auto-scanned dirs
# restart opencode → skills are loaded
```

Installs into both `~/.config/opencode/skills/` and `~/.agents/skills/`
(opencode scans both recursively for `**/SKILL.md`).

## Safety guarantees

- **Only-add, never overwrite**: any existing target file or skill is skipped;
  nothing already on disk is modified or deleted.
- **No config touched**: `opencode.json` and every other config file are never
  written.
- **Dry-run**: `--dry-run` prints what would be added/skipped and writes
  nothing.
- **Rollback**: `wooden-skills-uninstall` removes exactly the files this package
  installed (tracked by a content-hash fingerprint), preserving anything else.
- **Explicit update**: use `--force` to overwrite an existing skill.

## Other commands

```bash
wooden-skills-list                    # show installed / present skills
wooden-skills-uninstall               # remove exactly what we installed
```

## For developers

```bash
uv venv .venv --python 3.11
uv pip install --python .venv/Scripts/python.exe -e . pytest build

# stage the source skills into the wheel bundle, then build
python tools/stage_skills.py
uv build

# run tests (source on PYTHONPATH)
$env:PYTHONPATH = "src"
uv run --with pytest pytest tests
```

The installer and CLI take explicit `--source` / `--target` paths (and honour a
`WOODEN_HOME` env var) so they can be tested against temporary directories
without touching the real `~` — no test ever writes to the user's home.
