Gratia MoonA quiet, semantic dark theme for Visual Studio Code. Gratia Moon is the VS Code adapter for the @gratiaos/tokens design-token system. It is designed around one principle:
Architecture
This repository is not the source of truth. Do not edit:
|
| Token | Semantic role | What it speaks |
|---|---|---|
| Lunar | primary signal | Functions, method calls, tag names — things that execute or structure |
| GePeTo | intelligence / declaration | Variables, properties, CSS custom properties — things that carry data |
| Mint | positive | Strings, boolean values, CSS keyword values — affirmative content |
| Amber | attention / type | Classes, types, tag attributes, JSX props — declarative metadata |
| River | reference / context | Keywords, control flow, CSS units, numbers — structural movement |
| Heather | metadata / constant | Numbers, color literals, escape characters — raw data |
| Ivory | base text / operator | Operators, punctuation, plain text — the canvas itself |
| Flame | negative / error | Interrupts, warnings, destructive actions — things that must stop you |
| Muted | comment / subtle | Comments, inactive UI elements — background information |
Editing rules
✅ Do
- modify Moon tokens in
@gratiaos/tokens/tokens/moon/ - build the generated artifact (
pnpm build:tokens) - validate the generated theme in VS Code
- test in real source files (HTML, CSS, JSX, JSON, Markdown)
❌ Don't
- edit
themes/moon-dark-theme.json - introduce arbitrary HEX values into VS Code theme file
- add one-off syntax colors without a semantic role
- use color solely for decoration — every color must speak
Development
Prerequisites
Node.js 18+ and pnpm.
# Install dependencies
cd packages/tokens && pnpm install
# (Optional) Install VS Code extensions dependency
cd gratia-vscode-theme && pnpm install
Build the theme
From packages/tokens/:
pnpm build:tokens
This generates dist/vscode/moon-dark-theme.json from the OKLCH source tokens.
Sync into gratia-vscode-theme
cd gratia-vscode-theme && pnpm prepublishOnly
This copies packages/tokens/dist/vscode/moon-dark-theme.json into themes/.
Package and install
cd gratia-vscode-theme && npm run package
This produces gratia-moon.vsix. Install locally in VS Code via:
Extensions view (⌘⇧X) → ⋯ → Install from VSIX...
Install (Marketplace)
Marketplace: gratiaos.gratia-moon
CLI install:
code --install-extension gratiaos.gratia-moon
Once installed, choose Gratia Moon from the Color Theme picker (⌘⇧P).
Credits
Gratia Moon is built on the same philosophy as the wider GratiaOS design system:
Every information that the eye must distinguish quickly gets enough contrast.
No token is colored because we like it. Every token speaks a role in the grammar.
If you find value in this work, consider supporting GratiaOS:
github.com/sponsors/GratiaOS
© GratiaOS. Licensed under AGPL-3.0.