No description
  • CSS 49.6%
  • JavaScript 19.6%
  • Python 14.9%
  • HTML 14.7%
  • Just 1.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
David Aizenberg 3b66005d81 Code window: a terminal's tab bar, not a phone's traffic lights
The title now sits in .code-window-tab, an active tab with an accent
edge on top that joins a terminal-black screen (--bg-primary); the rest
of the bar is chrome. The three coloured dots are gone. Numbered lines
get a gutter rule. Macro, docs, bench specimens and changelog follow.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-26 13:08:44 +00:00
docs Code window: a terminal's tab bar, not a phone's traffic lights 2026-09-26 13:08:44 +00:00
src/jax_ui Code window: a terminal's tab bar, not a phone's traffic lights 2026-09-26 13:08:44 +00:00
.gitignore gitignore: exclude local agent state and personal planning notes 2026-08-27 23:13:51 +00:00
.python-version init 2026-02-16 04:12:27 +01:00
CLAUDE.md Docs: workbench benches and specimens for the new widget families 2026-08-27 23:13:43 +00:00
justfile justfile: base deploy on the remote tip, add build-scheme 2026-08-27 12:23:45 +00:00
pyproject.toml Add component workbench and cohesion drift check 2026-08-25 20:38:27 +00:00
README.md Colour schemes: the palette becomes a swappable module 2026-08-27 12:23:45 +00:00
uv.lock init 2026-02-16 04:12:27 +01:00

jax-ui

Terminal-aesthetic CSS/JS design language for Python projects.

Colour schemes

Colour is the only swappable part of the design language. jax.core.css carries every rule with no colour values; one schemes/<name>.css carries the palette. Pick one at import:

<link rel="stylesheet" href="/jax/css/jax.core.css">
<link rel="stylesheet" href="/jax/css/schemes/cobalt.css">

jax.css is the drop-in shortcut: the core plus the default scheme (ember). To bake a different default into it, uv run jax-build --scheme cobalt.

scheme accent
ember amber on ash — the default
moss phosphor green on a cooled slate
cobalt cold blue on graphite
viola magenta-violet on a blued charcoal
teal cyan on a sea-dark neutral
mono no accent hue — luminance carries every state

Each scheme carries both light and dark in one light-dark() declaration, so scheme and theme are independent: jax.theme picks the mode, jax.scheme (optional, only if a page ships more than one) picks the palette.

Every scheme is gated by uv run jax-contrast-check at the same AA targets in both modes. A palette that misses one fails the build.

Adding a scheme

Copy any file in src/jax_ui/static/css/schemes/, change the values, run uv run jax-contrast-check. The contract — the exact token set a scheme must define — is documented at the top of tokens.css and enforced by the check.

Build

uv run jax-build                 # concat + minify -> dist/
uv run jax-build --scheme moss   # ... with moss as the default scheme
uv run jax-dev                   # watch + rebuild

Requirements

The stylesheets use light-dark() and color-mix() — Baseline 2024, so Chrome 123+, Safari 17.5+, Firefox 120+.