tex-lens
Auto-discovers the workspace's main .tex file, compiles it locally with a plugin-managed native Tectonic renderer, then renders the selectable PDF in the right panel using bundled PDF.js.
Marketplace
Every plugin is a package with a declared surface and a fixed content digest. Shun verifies the bytes, shows you what it asks for, and only then installs it.
1 editor’s pick · 1 published
tex-lens
Auto-discovers the workspace's main .tex file, compiles it locally with a plugin-managed native Tectonic renderer, then renders the selectable PDF in the right panel using bundled PDF.js.
The kernel owns the transcript, the tool loop and the lifecycle, and nothing else. Everything a product actually needs — repositories, deploys, design files, a LaTeX renderer, a commit graph — arrives as a package that declares what it provides and what it needs. Those packages can be written from inside Shun itself.



It happens where the plugin is written. A task builds it, sets the version and the description, draws the icon, and publishes it from inside Shun — the archive carries two digests, so everyone installs exactly what was packed.
Publishers are identified by a verified email address, bound once with a code. There is no account to create and nothing to sign into; the store keeps the binding, not your address.
Everything here is reviewed before it appears. Versions are immutable, so an update is a new version rather than a replacement, and a version that has to be withdrawn stops new installs without breaking existing ones.
shun://plugin/<id> · shun://plugin/<id>?version=<version>