Skip to content
@sp-night

sp night

SP Night — the Pico do Jaraguá at dusk, aviation beacon lit, the city's lights at the foot of the range

SP Night

The sodium lamp turns the whole city this colour.
A dark colour scheme with São Paulo as its reference — the sodium street lamp,
exposed concrete, the free span of the MASP, the drizzle before the rain.

sp-night.github.io  ·  palette  ·  spec  ·  ports


Three flavours, all dark

Not one palette at three brightnesses — three ways of looking at the same city.

Noite Paulista the city at 3am; blue-violet dark, the sodium lamp burning warm on top
Garoa the same window through the drizzle; flat grey, chroma near zero
Pico do Jaraguá the same night from the highest point; the dark turned towards the forest

Ports

Plain text files. No build step, nothing to compile.

ghostty the full 16-colour ANSI mapping, cursor, selection, split dividers
kitty ANSI, cursor, splits, the tab bar and the three mark slots
alacritty ANSI, both cursors, search hits, hints, the footer bar
eza a native theme.yml — file kinds, permissions, sizes, git status
helix the whole scope tree, the three modes, diagnostics, diffs and the picker
herdr the agent sidebar, panes and toasts — including the four colours for what each agent is doing

How it holds together

Every colour is written down once. A role layer names a palette key, and a port names a role — never a colour. Move syntax.keyword in one file and every port changes together.

palette          22 colours per flavour — the only place a hex is written
    ↓
roles            every role names a palette key, never a colour
    ↓
ports            a mapping asks for a role, never a colour

No hex in any port was picked by hand, including the previews — those are synthetic SVGs drawn from the palette, so they cannot show a colour you will not get.

Contrast is a gate, not a promise. 70 pairs per flavour are measured on every build, and the build fails when one falls short. An unreadable comment is the number-one issue of every popular dark theme, and always because nobody measured.

The engine and the full specification live in sp-night/sp-night. Adding a port is three steps, and only one of them needs a human.

Contributing

A port is a mapping, not a copy of colours. Start with the spec, then docs/port-creation.md.

If an app needs something the roles do not offer, that is a real finding — open an issue rather than reaching for the palette.

MIT.

Popular repositories Loading

  1. sp-night.github.io sp-night.github.io Public

    A dark colour scheme with São Paulo as its reference — three flavours, 22 colours

    Astro 2

  2. ghostty ghostty Public

    🌃 SP Night for Ghostty — a dark colour scheme with São Paulo as its reference

  3. eza eza Public

    🌃 SP Night for eza — a dark colour scheme with São Paulo as its reference

  4. sp-night sp-night Public

    Go

  5. kitty kitty Public

    🌃 SP Night for kitty — a dark colour scheme with São Paulo as its reference

  6. .github .github Public

    Organisation profile and shared community health files for SP Night

Repositories

Showing 9 of 9 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…