The list of plugins Bläck offers under Settings → Plugins → Find plugins
  • TypeScript 82.3%
  • JavaScript 15.8%
  • CSS 1.9%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-19 21:47:55 +02:00
.forgejo/workflows The SDK, the starter template and Bläck's plugins, built into the list 2026-10-18 23:20:00 +02:00
packages Dictation 1.5.0: recording window, pause, sound level; SDK: pause/resume, onLevel, onClose 2026-10-19 21:47:55 +02:00
plugins Dictation 1.5.0: recording window, pause, sound level; SDK: pause/resume, onLevel, onClose 2026-10-19 21:47:55 +02:00
scripts The SDK, the starter template and Bläck's plugins, built into the list 2026-10-18 23:20:00 +02:00
shared dashboard plugins 2026-10-19 08:33:27 +02:00
tests dictation 2026-10-19 12:42:21 +02:00
zips Dictation 1.5.0: recording window, pause, sound level; SDK: pause/resume, onLevel, onClose 2026-10-19 21:47:55 +02:00
.gitignore The SDK, the starter template and Bläck's plugins, built into the list 2026-10-18 23:20:00 +02:00
package-lock.json The SDK, the starter template and Bläck's plugins, built into the list 2026-10-18 23:20:00 +02:00
package.json Dictation 1.5.0: recording window, pause, sound level; SDK: pause/resume, onLevel, onClose 2026-10-19 21:47:55 +02:00
plugins.json Dictation 1.5.0: recording window, pause, sound level; SDK: pause/resume, onLevel, onClose 2026-10-19 21:47:55 +02:00
README.md Dictation 1.5.0: recording window, pause, sound level; SDK: pause/resume, onLevel, onClose 2026-10-19 21:47:55 +02:00
tsconfig.json dashboard plugins 2026-10-19 08:33:27 +02:00

Bläck Studio plugins

Everything for Bläck Studio's plugins:

plugins/<id>/          a plugin: manifest.json and src/
shared/                what the dashboard's plugins share: days, streaks, deadlines, cards
zips/<id>-<version>.zip   each version, as built and vouched for
plugins.json           the list: every plugin's latest version, its zip and SHA-256
packages/black-plugin  the SDK
packages/create-black-plugin   npm create black-plugin

Changing a plugin, or adding one

npm install
# edit plugins/<id>/, and raise its version in manifest.json
npm run release      # builds every plugin into zips/, and writes plugins.json
npm test && npm run check
git add -A && git commit

How it works:

  • Reproducible zips. A zip is the same every time for the same source, so its SHA-256 says what's in it.
  • Versions don't change. A version once listed is never made again: a changed plugin needs a new version, and npm run release says so if it doesn't have one. The old zips stay, so nothing that was vouched for goes away.
  • Checked on every push. The CI checks that zips/ and plugins.json are exactly what the source makes.

A plugin of your own can live anywhere: build it with the SDK (npm run build in its folder makes its zip and prints the SHA-256), and add an entry here, with its download address and SHA-256. Or keep a list of your own: any plugins.json like this one, at an https address, can be added in Bläck Studio under Settings → Plugins → Find plugins → Plugin lists.

Trying a plugin in Bläck Studio as you write it

From its folder: npm run dev builds it into Bläck Studio's plugins folder on every save, and Bläck Studio reloads it. See the guide.

What Bläck Studio checks

  • The download: Bläck Studio installs a plugin only from a list. It refuses the zip unless its SHA-256 is the one the list gives, and it must hold the plugin the list names, with nothing outside its folder.
  • Permissions: the user is asked to allow what the plugin asks for, in a window of Bläck Studio's own, before it runs.