Skip to content

thedevmark/toolset-themes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

toolset-themes

Build a theme for the stream toolset and submit it to the catalog.

A theme customizes the look of one or more widgets — chat box, death counter, music player, and others as they expose their settings. It is field overrides (the same settings the tool page exposes) plus optional scoped CSS. Themes are data and CSS only: no JavaScript, no external assets, no commerce. Accepted themes are free to every toolset user.

This repo is both the SDK (how to build a theme) and the submission inbox (where you open a pull request). If your theme is accepted it shows up in the in-app Themes catalog at toolset.deutschmark.online/tools/themes.

What you can submit

Two formats. Pick the one that matches what you're styling:

  • Theme pack (v2, kind: "theme-pack") — styles multiple widgets at once with a shared palette. One click in the toolset applies it across the streamer's music, chat, death counter, etc. all in matching colors. Best for "all-encompassing" looks. Defined in schema/theme-pack.schema.json; example at examples/my-first-pack/.

  • Widget theme (v1, kind: "widget-theme") — styles one widget surface. Best when you want to nail a specific look on a specific tool. Defined in schema/widget-theme.schema.json; example at examples/my-first-theme/.

Both formats live in the catalog side-by-side. The toolset's apply UX is the same shape for both — a multi-source checkbox modal.

Quick start

  1. Fork this repo.
  2. Copy examples/my-first-pack/ (v2) or examples/my-first-theme/ (v1) to submissions/<your-handle>/<theme-slug>/.
  3. Edit theme.json — set name, author, description, and the fields you want to override per widget. Keep fields to keys the widget actually exposes (see docs/fields-overview.md).
  4. Replace the preview PNGs. Hero is 16:9, ≤ 512 KB. One preview per widget the theme covers.
  5. Open a pull request. Read CONTRIBUTING.md first — it covers the quality bar and the rules.

The rules, up front

  • No AI-generated submissions. Visuals, CSS, or copy generated by AI tools are rejected without appeal. You attest to this in the PR.
  • No commerce. No paid themes, tiers, or buy buttons. Accepted themes are free to everyone.
  • No JavaScript. Themes are field values and CSS. No .js files, no <script> tags, no inline handlers.
  • Hand-curated. A person reviews every PR. There is no SLA — we read every submission, but we don't promise a turnaround time.

Layout

README.md
LICENSE
CONTRIBUTING.md
.github/
  pull_request_template.md
  workflows/validate.yml   submission CI (schema + CSS + asset checks)
docs/
  concepts.md              what makes a good theme
  fields-overview.md       how field overrides work
  widget-themes.md         the WidgetTheme format
  css-selectors.md         the CSS selector contract themes can rely on
  review-criteria.md       the quality bar, written plainly
schema/
  widget-theme.schema.json (v1)
  theme-pack.schema.json   (v2)
examples/
  my-first-theme/          a minimal working v1 chat-box theme
  my-first-pack/           a minimal working v2 multi-widget pack
scripts/
  validate-submission.mjs  what CI runs — also runs locally
tools/
  preview-harness/         tiny local server to preview a theme as you build it
submissions/               you add your theme directory here

Themes are not Accents

If you came here from the toolset, note that Themes (this repo) are distinct from Accents — the supporter dashboard skins (Silver, Gold, Nyan Cat) inside the app. Accents are internal and not community-submittable. Themes are open to anyone and apply to your widgets, not the dashboard.

License

Contributed themes are licensed under Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0).

Statement of intent (how the licensor reads and applies this license):

  • Accepted themes are free to every toolset user, always.
  • You may use a theme on your own stream, including a stream you monetize through ads, subscriptions, or donations. That is not "commercial use" of the theme and is explicitly permitted.
  • What is not permitted: reselling or redistributing a contributed theme itself as a standalone commercial product or paid pack.
  • Attribution lives in this repository and in the in-app catalog metadata — keep author credit intact when redistributing.

This statement expresses the licensor's intent and will not be enforced against streamers for monetizing their own broadcasts. Where it is silent, the CC BY-NC 4.0 legal text in LICENSE governs.

About

Build a theme for the Stream Toolset and submit it to the catalog — schema, docs, examples, and contribution guide. Data + CSS only, no JavaScript, hand-curated.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors