docs: add PUBLISHING.md — how users install the three plugins
Per-platform install (Claude Code marketplace, Codex install.sh, Copilot MCP server) plus optional wider-distribution steps (GitHub Release, official Claude plugin marketplace PR, PyPI) and release-verification commands. Co-Authored-By: Claude Opus 4 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
# Publishing SkillOpt-Sleep — how people install and use it
|
||||
|
||||
This is the open-source SkillOpt-Sleep tool: a nightly offline "sleep cycle" for
|
||||
local coding agents, shipped as plugins for **Claude Code**, **Codex**, and
|
||||
**Copilot**. One engine ([`skillopt_sleep/`](skillopt_sleep)), three thin shells
|
||||
([`plugins/`](plugins)), decoupled from the research code.
|
||||
|
||||
## How end users install it
|
||||
|
||||
### Claude Code
|
||||
|
||||
The Claude Code plugin ships a marketplace manifest at
|
||||
`plugins/claude-code/.claude-plugin/marketplace.json`.
|
||||
|
||||
```text
|
||||
# inside Claude Code:
|
||||
/plugin marketplace add microsoft/SkillOpt
|
||||
/plugin install skillopt-sleep
|
||||
/sleep status
|
||||
```
|
||||
|
||||
(`/plugin marketplace add <owner>/<repo>` reads the marketplace manifest from the
|
||||
repo; the entry points at `plugins/claude-code`.)
|
||||
|
||||
### Codex
|
||||
|
||||
```bash
|
||||
git clone https://github.com/microsoft/SkillOpt.git
|
||||
cd SkillOpt
|
||||
bash plugins/codex/install.sh # installs /sleep prompt + skill
|
||||
export SKILLOPT_SLEEP_REPO="$(pwd)" # so the runner is found anywhere
|
||||
# then, in Codex: /sleep status
|
||||
```
|
||||
|
||||
### Copilot
|
||||
|
||||
```bash
|
||||
git clone https://github.com/microsoft/SkillOpt.git
|
||||
# register the MCP server with your Copilot config (see plugins/copilot/README.md
|
||||
# and plugins/copilot/mcp-config.example.json), pointing SKILLOPT_SLEEP_REPO at
|
||||
# the clone. Then ask Copilot to "run the sleep cycle".
|
||||
```
|
||||
|
||||
Requirements for all three: Python ≥ 3.10, and the corresponding agent CLI on
|
||||
PATH. The default backend is `mock` (no API spend); `--backend claude|codex`
|
||||
uses the user's own budget.
|
||||
|
||||
## Wider distribution (optional, maintainer steps)
|
||||
|
||||
1. **GitHub Release.** Tag the milestone so users can pin a version:
|
||||
```bash
|
||||
gh release create sleep-v0.1.0 --title "SkillOpt-Sleep v0.1.0" \
|
||||
--notes "Nightly offline self-evolution plugins for Claude Code, Codex, Copilot."
|
||||
```
|
||||
|
||||
2. **Official Claude Code plugin marketplace.** To appear in the public
|
||||
directory, open a PR adding a `marketplace.json` entry to
|
||||
[`anthropics/claude-code` / the official marketplace repo], pointing at
|
||||
`microsoft/SkillOpt` subdir `plugins/claude-code`. Users could then
|
||||
`/plugin install skillopt-sleep@<official-marketplace>`.
|
||||
|
||||
3. **PyPI (optional).** `skillopt_sleep` is a standalone package
|
||||
(`pyproject.toml` lists it). A `pip install skillopt-sleep` distribution would
|
||||
let users run `python -m skillopt_sleep ...` without cloning. Build with
|
||||
`python -m build` and publish with `twine`.
|
||||
|
||||
4. **README News.** The main [`README.md`](README.md) already announces the
|
||||
release and links to [`plugins/`](plugins) and
|
||||
[`docs/sleep/FINAL_REPORT.md`](docs/sleep/FINAL_REPORT.md).
|
||||
|
||||
## Verifying a release works
|
||||
|
||||
```bash
|
||||
# deterministic, no API key:
|
||||
python -m skillopt_sleep.experiments.run_experiment --persona researcher --assert-improves
|
||||
# the unit suite:
|
||||
python -m unittest tests.test_sleep_engine
|
||||
# the MCP server (Copilot):
|
||||
printf '%s\n' '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' \
|
||||
| SKILLOPT_SLEEP_REPO="$(pwd)" python3 plugins/copilot/mcp_server.py
|
||||
```
|
||||
Reference in New Issue
Block a user