showtime-review 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Darrick Oliver
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,142 @@
1
+ Metadata-Version: 2.4
2
+ Name: showtime-review
3
+ Version: 0.1.0
4
+ Summary: Browser review loop for agent-authored plans
5
+ Author: Darrick Oliver
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://github.com/Darrick-Oliver/showtime-skill
8
+ Project-URL: Repository, https://github.com/Darrick-Oliver/showtime-skill
9
+ Project-URL: Issues, https://github.com/Darrick-Oliver/showtime-skill/issues
10
+ Keywords: agent-skills,planning,review,cli
11
+ Classifier: Development Status :: 3 - Alpha
12
+ Classifier: Environment :: Console
13
+ Classifier: Programming Language :: Python :: 3 :: Only
14
+ Classifier: Programming Language :: Python :: 3.8
15
+ Classifier: Programming Language :: Python :: 3.9
16
+ Classifier: Programming Language :: Python :: 3.10
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Programming Language :: Python :: 3.13
20
+ Classifier: Programming Language :: Python :: 3.14
21
+ Classifier: Topic :: Software Development :: User Interfaces
22
+ Requires-Python: >=3.8
23
+ Description-Content-Type: text/markdown
24
+ License-File: LICENSE
25
+ Dynamic: license-file
26
+
27
+ # Showtime
28
+
29
+ An [Agent Skills](https://agentskills.io) review loop for plans. An agent turns
30
+ a finished plan into a single-page HTML artifact, hosts it in a dark browser
31
+ shell, and blocks until the user approves or returns a comment batch.
32
+
33
+ ![The Showtime shell reviewing an artifact](docs/screenshot.png)
34
+
35
+ - Agent-facing contract: [src/showtime/skill/SKILL.md](src/showtime/skill/SKILL.md)
36
+ - Runtime: Python 3.8+, standard library only
37
+ - Contributor UI: React, TypeScript, Vite, and Tailwind
38
+
39
+ ## Install
40
+
41
+ Install the runtime once, then copy thin skill adapters into every harness that
42
+ should discover Showtime:
43
+
44
+ ```bash
45
+ uv tool install showtime-review
46
+ showtime skill install agents
47
+ ```
48
+
49
+ `pipx install showtime-review` is equivalent. Before the PyPI release exists,
50
+ install from the source repository:
51
+
52
+ ```bash
53
+ uv tool install git+https://github.com/Darrick-Oliver/showtime-skill
54
+ ```
55
+
56
+ Known destinations are `agents`, `claude`, `codex`, and `pi`; several may be
57
+ installed together. Use `--destination` for another harness. `skill install`
58
+ never overwrites a non-empty directory. To replace an old full clone with a
59
+ thin adapter and timestamped backup, preview the operation first:
60
+
61
+ ```bash
62
+ showtime skill migrate agents --dry-run
63
+ showtime skill migrate agents
64
+ showtime doctor
65
+ ```
66
+
67
+ ## Update
68
+
69
+ Upgrade the shared runtime, then refresh each installed adapter:
70
+
71
+ ```bash
72
+ uv tool upgrade showtime-review
73
+ showtime skill install agents
74
+ showtime doctor
75
+ ```
76
+
77
+ For pipx installations, use `pipx upgrade showtime-review` followed by the same
78
+ adapter command. Managed adapter updates are idempotent. Runtime upgrades never
79
+ touch project artifacts or sidecars.
80
+
81
+ ## Architecture
82
+
83
+ ```text
84
+ src/showtime/cli.py CLI, stdlib server, review protocol, adapter installer
85
+ serve ARTIFACT host the review and block for its outcome
86
+ reply ARTIFACT FILE validated agent reply channel into the sidecar
87
+ reattach ARTIFACT ID repair or accept an orphaned thread anchor
88
+ config resolve and print the section contract
89
+ doctor verify runtime assets and installed adapters
90
+ skill install|migrate manage thin harness adapters
91
+
92
+ src/showtime/config.json runtime-default section contract
93
+ src/showtime/ui/ compiled shell and iframe agent, bundled in the wheel
94
+ src/showtime/skill/ thin Agent Skill adapter and its authoring docs
95
+ scripts/showtime.py source-checkout compatibility launcher
96
+
97
+ ui/src/shell/ React shell: chips, popover, drawer, composers
98
+ ui/src/agent/ iframe agent: quote anchoring and layout bridge
99
+ ui/src/protocol.ts shared protocol and sidecar types
100
+ ```
101
+
102
+ The shell frames the artifact in an iframe and communicates with the injected
103
+ iframe agent over `postMessage`. Threads persist in a server-owned sidecar next
104
+ to the artifact. The runtime binds `127.0.0.1` only. Approval is stamped into
105
+ the artifact itself.
106
+
107
+ Config resolves whole-file layers in this order: `<cwd>/.showtime/config.json`,
108
+ `~/.showtime/config.json`, then the runtime default. See the adapter's
109
+ `docs/config.md` for its schema and section obligations.
110
+
111
+ ## Developing
112
+
113
+ The Python runtime has no dependencies. Node 20+ is required only to change the
114
+ shell:
115
+
116
+ ```bash
117
+ cd ui
118
+ npm install
119
+ npm run build # typecheck + builds -> src/showtime/ui/
120
+ npm test # Vitest unit tests
121
+ npm run e2e # Playwright against scripts/showtime.py
122
+ npm run dev # shell only; artifact routes require `showtime serve`
123
+ ```
124
+
125
+ `src/showtime/ui/` is committed and included as wheel package data. Rebuild and
126
+ commit it with every UI change; there is no CI check for stale assets.
127
+
128
+ ## Release
129
+
130
+ The package version has one source: `src/showtime/__init__.py`. To release:
131
+
132
+ 1. Update `__version__` and commit it.
133
+ 2. Create a GitHub release tagged with the same version prefixed by `v`, such
134
+ as `v0.2.0`.
135
+ 3. The `publish.yml` workflow verifies the tag, builds the wheel and source
136
+ distribution, and publishes them to PyPI through OIDC trusted publishing.
137
+
138
+ One-time PyPI setup is required: register a pending trusted publisher for
139
+ project `showtime-review`, owner `Darrick-Oliver`, repository
140
+ `showtime-skill`, workflow `publish.yml`, and GitHub environment `pypi`. Add
141
+ required reviewers to that environment before the first release. No PyPI token
142
+ or GitHub secret is needed.
@@ -0,0 +1,116 @@
1
+ # Showtime
2
+
3
+ An [Agent Skills](https://agentskills.io) review loop for plans. An agent turns
4
+ a finished plan into a single-page HTML artifact, hosts it in a dark browser
5
+ shell, and blocks until the user approves or returns a comment batch.
6
+
7
+ ![The Showtime shell reviewing an artifact](docs/screenshot.png)
8
+
9
+ - Agent-facing contract: [src/showtime/skill/SKILL.md](src/showtime/skill/SKILL.md)
10
+ - Runtime: Python 3.8+, standard library only
11
+ - Contributor UI: React, TypeScript, Vite, and Tailwind
12
+
13
+ ## Install
14
+
15
+ Install the runtime once, then copy thin skill adapters into every harness that
16
+ should discover Showtime:
17
+
18
+ ```bash
19
+ uv tool install showtime-review
20
+ showtime skill install agents
21
+ ```
22
+
23
+ `pipx install showtime-review` is equivalent. Before the PyPI release exists,
24
+ install from the source repository:
25
+
26
+ ```bash
27
+ uv tool install git+https://github.com/Darrick-Oliver/showtime-skill
28
+ ```
29
+
30
+ Known destinations are `agents`, `claude`, `codex`, and `pi`; several may be
31
+ installed together. Use `--destination` for another harness. `skill install`
32
+ never overwrites a non-empty directory. To replace an old full clone with a
33
+ thin adapter and timestamped backup, preview the operation first:
34
+
35
+ ```bash
36
+ showtime skill migrate agents --dry-run
37
+ showtime skill migrate agents
38
+ showtime doctor
39
+ ```
40
+
41
+ ## Update
42
+
43
+ Upgrade the shared runtime, then refresh each installed adapter:
44
+
45
+ ```bash
46
+ uv tool upgrade showtime-review
47
+ showtime skill install agents
48
+ showtime doctor
49
+ ```
50
+
51
+ For pipx installations, use `pipx upgrade showtime-review` followed by the same
52
+ adapter command. Managed adapter updates are idempotent. Runtime upgrades never
53
+ touch project artifacts or sidecars.
54
+
55
+ ## Architecture
56
+
57
+ ```text
58
+ src/showtime/cli.py CLI, stdlib server, review protocol, adapter installer
59
+ serve ARTIFACT host the review and block for its outcome
60
+ reply ARTIFACT FILE validated agent reply channel into the sidecar
61
+ reattach ARTIFACT ID repair or accept an orphaned thread anchor
62
+ config resolve and print the section contract
63
+ doctor verify runtime assets and installed adapters
64
+ skill install|migrate manage thin harness adapters
65
+
66
+ src/showtime/config.json runtime-default section contract
67
+ src/showtime/ui/ compiled shell and iframe agent, bundled in the wheel
68
+ src/showtime/skill/ thin Agent Skill adapter and its authoring docs
69
+ scripts/showtime.py source-checkout compatibility launcher
70
+
71
+ ui/src/shell/ React shell: chips, popover, drawer, composers
72
+ ui/src/agent/ iframe agent: quote anchoring and layout bridge
73
+ ui/src/protocol.ts shared protocol and sidecar types
74
+ ```
75
+
76
+ The shell frames the artifact in an iframe and communicates with the injected
77
+ iframe agent over `postMessage`. Threads persist in a server-owned sidecar next
78
+ to the artifact. The runtime binds `127.0.0.1` only. Approval is stamped into
79
+ the artifact itself.
80
+
81
+ Config resolves whole-file layers in this order: `<cwd>/.showtime/config.json`,
82
+ `~/.showtime/config.json`, then the runtime default. See the adapter's
83
+ `docs/config.md` for its schema and section obligations.
84
+
85
+ ## Developing
86
+
87
+ The Python runtime has no dependencies. Node 20+ is required only to change the
88
+ shell:
89
+
90
+ ```bash
91
+ cd ui
92
+ npm install
93
+ npm run build # typecheck + builds -> src/showtime/ui/
94
+ npm test # Vitest unit tests
95
+ npm run e2e # Playwright against scripts/showtime.py
96
+ npm run dev # shell only; artifact routes require `showtime serve`
97
+ ```
98
+
99
+ `src/showtime/ui/` is committed and included as wheel package data. Rebuild and
100
+ commit it with every UI change; there is no CI check for stale assets.
101
+
102
+ ## Release
103
+
104
+ The package version has one source: `src/showtime/__init__.py`. To release:
105
+
106
+ 1. Update `__version__` and commit it.
107
+ 2. Create a GitHub release tagged with the same version prefixed by `v`, such
108
+ as `v0.2.0`.
109
+ 3. The `publish.yml` workflow verifies the tag, builds the wheel and source
110
+ distribution, and publishes them to PyPI through OIDC trusted publishing.
111
+
112
+ One-time PyPI setup is required: register a pending trusted publisher for
113
+ project `showtime-review`, owner `Darrick-Oliver`, repository
114
+ `showtime-skill`, workflow `publish.yml`, and GitHub environment `pypi`. Add
115
+ required reviewers to that environment before the first release. No PyPI token
116
+ or GitHub secret is needed.
@@ -0,0 +1,48 @@
1
+ [build-system]
2
+ requires = ["setuptools>=61"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "showtime-review"
7
+ dynamic = ["version"]
8
+ description = "Browser review loop for agent-authored plans"
9
+ readme = "README.md"
10
+ requires-python = ">=3.8"
11
+ license = "MIT"
12
+ authors = [{ name = "Darrick Oliver" }]
13
+ keywords = ["agent-skills", "planning", "review", "cli"]
14
+ classifiers = [
15
+ "Development Status :: 3 - Alpha",
16
+ "Environment :: Console",
17
+ "Programming Language :: Python :: 3 :: Only",
18
+ "Programming Language :: Python :: 3.8",
19
+ "Programming Language :: Python :: 3.9",
20
+ "Programming Language :: Python :: 3.10",
21
+ "Programming Language :: Python :: 3.11",
22
+ "Programming Language :: Python :: 3.12",
23
+ "Programming Language :: Python :: 3.13",
24
+ "Programming Language :: Python :: 3.14",
25
+ "Topic :: Software Development :: User Interfaces",
26
+ ]
27
+ dependencies = []
28
+
29
+ [project.urls]
30
+ Homepage = "https://github.com/Darrick-Oliver/showtime-skill"
31
+ Repository = "https://github.com/Darrick-Oliver/showtime-skill"
32
+ Issues = "https://github.com/Darrick-Oliver/showtime-skill/issues"
33
+
34
+ [project.scripts]
35
+ showtime = "showtime.cli:main"
36
+
37
+ [tool.setuptools]
38
+ package-dir = { "" = "src" }
39
+ include-package-data = true
40
+
41
+ [tool.setuptools.dynamic]
42
+ version = { attr = "showtime.__version__" }
43
+
44
+ [tool.setuptools.packages.find]
45
+ where = ["src"]
46
+
47
+ [tool.setuptools.package-data]
48
+ showtime = ["config.json", "skill/.showtime-adapter.json", "skill/SKILL.md", "skill/docs/*.md", "ui/index.html", "ui/agent.js", "ui/assets/*"]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,3 @@
1
+ """Showtime review runtime."""
2
+
3
+ __version__ = "0.1.0"