Skip to content

Releases: j3w1/theme

v3.0.0

Choose a tag to compare

@j3w1 j3w1 released this 26 Sep 12:26
f0e9e25

Code names stand apart from the rose text, the prompt keeps its heritage look in every terminal, and each app has one folder you can install from. CI got much faster.

Coral slot 6 and a fixed prompt background (D-032)

Role 2.0.0 3.0.0 Contrast
color.terminal.ansi.6 #bb696c #ff7a66 (coral) 5.05 → 7.77 on #0c0909
color.terminal.prompt-bg new #8c1212 none
color.terminal.prompt-text #0c0909 #ffa2a7 4.97 on the prompt background
  • What it fixes. Code highlighters draw names in slot 6: PowerShell cmdlets such as Invoke-RestMethod in Claude Code, and dimmed type names such as [scriptblock]. Those names now stand apart from normal text.
  • The prompt. An Agnoster-style directory segment keeps the heritage #8c1212 with bright rose text, whatever slot 4 carries. A prompt sets both as 24-bit colours.
  • Unchanged. The other fifteen slots and the interface reds (focus, links, borders, accents) do not change.
  • Heritage. heritage-ansi keeps every historical value. It gains only prompt-bg, with its slot-4 value.

One folder per app

You use Folder What you get
Orca on Windows ports/orca/ Terminal colours, selection, divider and font. One command downloads, checks, applies and tests it; restore is key by key.
Claude Code ports/claude-code/ The custom:j3w1 theme and an installer
Codex CLI ports/codex/ The j3w1 syntax theme and an installer
ChatGPT desktop app ports/chatgpt/ Two appearance presets (Signature, Reading): a settings table and an import string each
Ghostty, Warp ports/ghostty/, ports/warp/ Theme files
  • Same-commit installs. Each installer uses the theme values of the commit it came from. The port guides show copy-paste commands pinned to this release's commit.
  • Terminal-kit backups still restore. Backups made by the terminal kit restore with the new installers. On the devbox, set J3W1_THEME_STATE_DIR to your old state folder first.
  • Experimental. Every port is experimental. The ChatGPT import strings count as verified only after an import into a real ChatGPT build.

Faster CI (D-031)

  • How it works. CI picks the checks each change needs, and release-gate is the only required check.
  • On main. A site change runs the whole browser matrix in parallel shards, merged into one evidence report, then deploys. A change that doesn't touch the site deploys nothing.
  • Result. main went from 33–63 minutes to about 8 minutes, and a pull request with everything selected takes about 7.

Docs

  • Plain language. The guides now use numbered steps.
  • Converged specs. Rules repeated across specs now live once, with links. The decision log is about a fifth shorter, in one short shape. Its status table renders as one table again.

Why 3.0.0

Changing an approved value, and removing color.primitive.ansi-readable.6, is a major version under the versioning rule. Anything pinned to 2.x keeps the old values until it upgrades.

For hosts that set their own palette

Anything that prints the palette itself, such as CE Devbox's shell palette, needs to vendor 3.0.0. Set the prompt's directory segment to color.terminal.prompt-bg and color.terminal.prompt-text, not to slot 4.

j3w1 2.0.0 — readable terminal and code colours

Choose a tag to compare

@j3w1 j3w1 released this 26 Sep 06:29
28205be

The j3w1 terminal and code colours become readable. The reds you know stay the reds you know; the dim ones are lifted until text in them reads.

Readable terminal and code reds (D-029)

The default profile's sixteen terminal colours keep every hue and saturation. Each slot that fell below the 4.5:1 text floor has its lightness raised, the light-to-dark order stays the same, and bright black (slot 8) stays the deliberately dim tier.

Slot Before After Contrast on #0c0909
1 #c81a1a #e84b4b 3.42 → 5.23
4 #8c1212 #e53131 2.09 → 4.55
6 #9e474a #bb696c 3.26 → 5.05
8 #7d1310 #b71c17 1.86 → 3.01 (dim tier)
9 #ab1612 #ea3833 2.70 → 4.83
10 #ad2721 #dc4f49 2.92 → 4.97
12 #871f19 #db433a 2.12 → 4.61
13 #e82132 #ed5360 4.43 → 5.67
14 #e0292f #e6565a 4.28 → 5.52
15 #a3676b #b17e81 4.45 → 5.83
  • What it fixes. Inline code and links that Claude Code draws in slot 12, code-block keywords in slot 4, Codex's branch names and ls directories all become readable.
  • Code editor.
    • Keywords and tags move #f73f35 → #f7463c.
    • Properties, headings and invalid text move #e53935 → #e95551.
    • Both now stay at 4.5:1 inside a selection.
  • Unchanged. Interface reds (focus, links, borders, accents) do not change.
  • The prompt. The terminal prompt's path segment now has dark text on the brighter slot 4.
  • Heritage. The heritage-ansi profile keeps every historical value byte for byte.

Coloured code, opt-in (D-030)

color.code.hued.* gives syntax themes that want colour the three bounded j3w1 hues:

  • green: strings (#86a46f);
  • amber: numbers, constants, functions, attributes and escapes (#c9973f);
  • blue: types and properties (#7e9ebb);
  • bright rose: operators (#ffa2a7).

Keywords stay red and comments rose. The reference code editor stays monochrome.

Why 2.0.0

Changing an approved value is a major version under this repository's versioning rule. Anything pinned to 1.x keeps the old palette until it upgrades.

Terminal themes (experimental)

File Import
config.ghostty Orca → Settings → Terminal → Import from Ghostty, after saving it as %APPDATA%\ghostty\config.ghostty on Windows (or ~/.config/ghostty/config.ghostty)
j3w1.yaml Warp, or Orca's Import from YAML
j3w1 Ghostty: save as ~/.config/ghostty/themes/j3w1 and set theme = j3w1

Also in this release

  • tools/terminal-kit/ (#53) installs the default profile into Orca on Windows, Claude Code and Codex, with backups, verification and key-level restore.
    • Its pin moves to v2.0.0 in a follow-up pull request.
  • @j3w1/ui 2.0.0. The version-stamped exports and every component's version regenerate; no component behaviour changes.

For hosts that set their own palette

Anything that prints the palette itself, such as CE Devbox's shell palette, needs to vendor 2.0.0. A prompt that draws light text on slot 4, like an Agnoster directory segment, should switch to dark text.

Decisions: spec/decisions.md D-029 and D-030.

j3w1 1.2.0 — terminal themes for Orca, Warp and Ghostty

Choose a tag to compare

@j3w1 j3w1 released this 25 Sep 21:21
0838171

The j3w1 theme now ships terminal themes you can download and import: Orca, Warp and Ghostty. The component package's implementation identity also stops reacting to unrelated dependency changes.

Terminal themes (experimental)

File Import Carries
config.ghostty Orca → Settings → Terminal → Import from Ghostty, after saving it as %APPDATA%\ghostty\config.ghostty on Windows (or ~/.config/ghostty/config.ghostty) terminal colours, cursor text, selection, all sixteen ANSI slots, pane divider, font SauceCodePro NFM at 13 px
j3w1.yaml Warp themes folder, or Orca's Import from YAML / Import from Warp terminal colours, accent
j3w1 Ghostty: ~/.config/ghostty/themes/j3w1, then theme = j3w1 terminal colours, selection, divider

Each file is generated from the default profile's tokens and its mapping.json. Every role a format cannot carry is recorded with a reason. Downloads are also in the README and on the Ports page. Install and rollback steps are in each port's README under ports/.

On Windows, prefer config.ghostty. Orca's YAML import gives each file one second, and that includes starting its parser, so on a busy machine it can report "Theme file took too long to parse" for any file. The Ghostty import has no such limit.

The files pass Orca 1.4.209's own YAML and Ghostty parsers. No real application import is recorded yet, so all three ports stay experimental.

Package

  • @j3w1/ui 1.2.0: each component's implementationId hashes its definition and the exact emitted modules its class reaches (#50). A lockfile or tooling change that leaves a component's runtime code alone no longer moves its id. Before, any such change moved all 67 ids.
  • The bundled entities licence notice now comes from the copy parse5 actually bundles. The text is unchanged.
  • Every component class carries version = "1.2.0", so this release moves each id once.

Download j3w1-ui-1.2.0.tgz, verify it against release.json, then install it:

npm install --save-exact ./j3w1-ui-1.2.0.tgz

No token values change.

Verification

The delivery workflow ran on revision 0838171 and passed:

  • source validation, generated-artifact checks and the source tests
  • the build and distribution tests
  • 63 packed-consumer checks across Chromium, Firefox and WebKit
  • 234 specification browser checks (134 scoped skips)
  • the verification-report gates

It then deployed. The attached tarball, evidence and theme files come from that run and match the deployed site byte for byte. delivery-provenance.json binds the release to the revision, the run, and the tarball and theme-file digests.

This is automated implementation evidence. There is no manual screen-reader, physical-device or independent acceptance claim, and no npm registry publication; registry publication remains an owner release action. The v1.0.0 and v1.1.0 tags remain immutable.

j3w1 1.1.0 — True Black / Rose and themed controls

Choose a tag to compare

@j3w1 j3w1 released this 08 Sep 22:01
7d1389e

The j3w1 design-system portal, Vue demo and reusable package now use themed single/multiple choices, a date calendar, time editor and step buttons, and shared checkbox/radio/range/file-button styling. Command search fills its dialog below the label. This addresses the native blue selection and cramped search field reported during the preview.

True Black / Rose remains permanent, with red graphs and underlined red links, near-white titles, rose headings and distinct table-header/body colors. All 67 inventory entries have modular implementations, typed APIs, complete copy bundles and pinned contracts. The Vue 3 JavaScript demo has 31 destinations using resettable synthetic data.

Download j3w1-ui-1.1.0.tgz, verify it against release.json, then install it and prepare a Vue copy kit:

npm install --save-exact ./j3w1-ui-1.1.0.tgz
npx --no-install j3w1-ui kit --components text-field,button,dialog --mode copy --framework vue --out ./j3w1-kit

The public enhanceControls(root) API lets existing applications use the same rendering. Original controls retain form data, defaults, events and reset. The documentation covers lifecycle, keyboard interaction, date/time fallback constraints, explicit enhancement roots and complete copy dependencies. No-JavaScript fallback and browser-owned system dialogs retain host behavior.

The delivery workflow passed source validation, generated-artifact checks, 110 source tests, build, 12 distribution tests, 63 packed-consumer checks across Chromium/Firefox/WebKit, 234 specification browser checks (134 scoped skips), and verification-report gates. Public readback matched 606 files to the tested artifact. The live browser report exercises the palette, search layout, themed agent-kit choices, Kanban focus, all Vue destinations at desktop/narrow/zoom widths, record validation/save/reset and no-JavaScript documentation.

The attached isolated settings application was authored through the installed public copy CLI and exercised against the same archive. Evidence records retain their actual environments and limits. This is automated implementation evidence, with no manual screen-reader, physical-device or independent acceptance claim. Windows-local Firefox context teardown and the large reference settings test exceeded their existing time limits; those runs are not presented as passes. The attached complete reports come from the successful Linux CI run.

The npm registry package has not been published; registry publication remains an owner release action. The archive is directly consumable. The existing v1.0.0 tag remains immutable; v1.1.0 identifies this additive control correction. delivery-provenance.json binds the release to revision 7d1389e, its CI run and artifact digests.

j3w1 UI Theme Spec 0.1.0

Choose a tag to compare

@j3w1 j3w1 released this 06 Sep 13:08

The first public specification of the j3w1 identity: warm-black surfaces, rose text, red focus, 1px square borders, zero radii, one monospace family.

Read it: https://j3w1.github.io/theme/

Use it (agents): pin this tag and follow agents/consume.md. Start at theme.json, then exports/theme.compact.md, then the exports/components/<id>.json you need. Record theme.lock.json and report deviations.

What is in it

  • Three profiles. default (approved), heritage-ansi (the sixteen historical Xresources slots, exact) and the proposed extended overlay, as DTCG 2025.10 tokens with provenance on every primitive.
  • 47 components across nine families, each specified and demonstrated with a full state matrix; ten carry browser tests. Four composed specimens: settings panel, administrative form, filterable table, and an i3 window frame with the workstation's Chinese status labels.
  • The rules that matter: selection is a fill and focus is a ring; nothing is rounded, blurred or glowing; disabled never uses opacity; colour is never the only channel.
  • 853 declared contrast pairs, measured unrounded, all passing or carrying a decorative waiver. Sixteen non-examples and eleven stress fixtures are rendered on the page.
  • For agents: compact and full Markdown, per-component JSON and copyable briefs, resolved tokens, CSS custom properties, llms.txt, digests. A fresh agent given only the sealed kit reconstructed text-field in all fourteen states and passed the browser judge.

What is not in it

No native application ports are published. The historical gedit, IntelliJ, tmux and browser-extension implementations in j3w1/1w3j are catalogued as references, not downloads. Decisions D-005 to D-012 remain proposed; the roles they cover are implemented as listed and named as pending in the compact export.

MIT for code, tokens and generated data; CC BY 4.0 for the prose and specimens; no fonts are distributed.