The ayu palette for Tabularis, in all three official variants:
- Ayu Light: bright and clean, with orange accents.
- Ayu Mirage: the mid-tone blue-grey variant.
- Ayu Dark: deep navy-black with golden accents.
Each variant styles the application, SQL editor and data grid. Themes are declarative JSON, not executable plugins.
| Ayu Mirage | Ayu Dark | Ayu Light |
|---|---|---|
![]() |
![]() |
![]() |
| Variant | Background | Text | Accent |
|---|---|---|---|
| Ayu Light | #f8f9fa |
#3a3f45 |
#f29718 |
| Ayu Mirage | #1f2430 |
#cccac2 |
#ffcc66 |
| Ayu Dark | #0d1017 |
#bfbdb6 |
#e6b450 |
Colors come from the official ayu palette (ayu-colors 9.1.0). SQL syntax in the editor uses the original ayu syntax colors unchanged.
Application colors (text, status colors, data types in the grid, focus ring) are held to WCAG 2.2 AA, the same contrast checks Tabularis applies to its built-in themes: 4.5:1 for text and 3:1 for focus indicators. Where an ayu color falls short, it is replaced by the nearest shade of the same hue that passes. This mostly affects Ayu Light, whose original pastel accents are too light for text on a white background, and the muted text of Mirage and Dark.
Requires Tabularis 0.25.1-1 or later, the first release that accepts a theme
manifest with a stable package id and a free-form display name.
- Download
theme-universal.zipfrom this repository's GitHub Releases. - In Tabularis, open Settings → Appearance → Manage themes → Local package.
- Preview and install the package.
- Select Ayu Light, Ayu Mirage or Ayu Dark and apply it. Installation alone does not change the selected theme.
The ZIP is universal: the same file works on all supported operating systems.
Edit themes/light.json, themes/mirage.json and themes/dark.json. Application
colors live under colors; Monaco colors and SQL token rules live under editor.
The $schema hints let external editors offer completion and validation:
| File | Public schema |
|---|---|
.tabularium |
https://registry.tabularis.dev/manifest.schema.json?kind=theme |
themes/*.json |
https://raw.githubusercontent.com/TabularisDB/tabularis/main/src/schemas/theme-definition-v1.json |
Validate and package offline with Node.js 22, no account or token needed:
node tools/theme.mjs validate .
node tools/theme.mjs package . --output theme-universal.zipValidation does not submit or publish the theme.
- Branch pushes / pull requests: validate and package the theme offline. The workflow has read-only permissions and needs no secrets.
- Version tags: check that the tag matches the manifest version, validate,
package, then create a draft GitHub release with
theme-universal.zipand the.tabulariummanifest attached.
Releasing a version:
-
Increment
versionin.tabularium. If the theme starts relying on newer host features, raisemin_runtime_versionto the first Tabularis release providing them. -
Tag and push:
git tag v1.0.0 git push origin v1.0.0
-
Review the generated draft, then publish the release.
-
Submit this repository through Tabularium. Registry approval and ingestion are separate from GitHub release publication.
Keep the package id and variant IDs stable across versions.
MIT. The ayu color palette is © Konstantin Pschera, also MIT licensed. See LICENSE.txt.


