Skip to content

[Feat]: Tokyo Night theme package (Day and Night) #862

Description

@debba

🚀 Feature Proposal

Create a Tokyo Night theme package for Tabularis, with two variants:

  • Tokyo Night Day (light)
  • Tokyo Night (dark)

Palette reference: https://github.com/folke/tokyonight.nvim (see extras/ for the color values).

The theme should ship as an installable theme package in its own repository, not as a built-in preset in this repo. Theme packages are pure data (JSON), no code runs.

Where to start

Read the theme author guide: packages/create-plugin/THEMES.md.

  1. Scaffold a two-variant package with the published tooling:

    npx -p @tabularis/create-plugin tabularis-theme scaffold tabularis-tokyo-night-theme \
      --dir ./tabularis-tokyo-night-theme --min-runtime-version 0.26.0

    This creates .tabularium (the manifest), themes/light.json, themes/dark.json, an offline validator in tools/theme.mjs and ready-made GitHub workflows.

  2. Rename the variants in .tabularium ("Day" and "Night") and fill the two definitions. The allowed fields (application colors and Monaco editor colors / SQL token rules) are defined in src/schemas/theme-definition-v1.json. Missing values fall back to the host defaults, so you can start small.

  3. Validate and package:

    node tools/theme.mjs validate .
    node tools/theme.mjs package . --output theme-universal.zip
  4. Try it in the app: Settings → Appearance → Manage themes → Local package, pick the ZIP, preview both variants, install, then select a variant.

  5. Publish a release and submit the repository to the registry (section 6 of the guide).

Aim for readable contrast: built-in themes meet WCAG 2.2 AA on the token pairs listed in the Contrast section of DESIGN.md. When a palette color fails, nudge it slightly rather than ignoring it.

Acceptance criteria

  • A public repository with the package, a real license (replace the UNLICENSED placeholder) and credit to the original palette authors.
  • node tools/theme.mjs validate . passes and the generated ZIP installs through Local package.
  • Both variants look right across the SQL editor, data grid, sidebar and modals (screenshots in the README).
  • A tagged GitHub release with theme-universal.zip, submitted to the registry.
  • Comment here with the repository link so we can review it and list it.

Contributor notes

  • Respect the upstream palette license and attribution before redistributing.
  • Questions? Ask here or on Discord.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions