All checks were successful
Check / eval (push) Successful in 4m28s
The repo is maintained by agents from multiple vendors, so agent instructions move out of vendor-specific locations into shared, git-tracked markdown: - AGENTS.md is the new entry point for any harness; CLAUDE.md becomes a symlink to it (Claude Code keeps working unchanged). - Skill bodies relocate to agent/: VERIFICATION.md (the enforcement rules, ex .claude/skills/nomarchy), DELEGATION.md (capability tiers light/standard/frontier, scout/runner role contracts, token economy, parallel fan-out — consolidates the CLAUDE.md model table, LOOP.md's economy section, and skill §6.5 into one place; vendor model names survive only in the per-harness mapping table), THEME-DESIGN.md (ex .claude/skills/theme, which previously lacked frontmatter). - .claude/ shrinks to a thin Claude Code adapter: settings, subagent defs, and skill shims that route into agent/. - Maps updated: agent/README.md (instructions vs state vs adapters), docs/README.md, README.md layout tree. Cleanup: stale old_distro .gitignore entry dropped (dir long gone); local result*/__pycache__ artifacts removed; JOURNAL.md rotated (29 recent entries kept, 120 older moved to agent/JOURNAL-ARCHIVE.md, rotation rule documented in the header). Verification: V0 (docs/meta only) — nix flake check --no-build exit 0 with the tracked symlink; grep sweep confirms no vendor model names outside DELEGATION.md's mapping table. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
50 lines
2.5 KiB
Markdown
50 lines
2.5 KiB
Markdown
# Theme design — instructions for visual work
|
|
|
|
For creating, updating, refining, or troubleshooting Nomarchy themes and
|
|
visual design. Act as an experienced UI/UX designer and Linux ricing
|
|
expert for Wayland environments: themes here must be cohesive,
|
|
intentional, and visually striking — aesthetics are a load-bearing
|
|
feature of this distro (`agent/GOALS.md` pillar 4).
|
|
|
|
## Context & architecture
|
|
|
|
All theme data lives in `themes/` at the repo root — one JSON palette per
|
|
theme plus per-app assets (whole-swap `waybar.jsonc`/CSS, btop themes,
|
|
wallpapers). Before generating any new configuration, read the existing
|
|
files there: learn how current themes are structured, how the syntax is
|
|
formatted for each application, and how they integrate into the NixOS/HM
|
|
modules. Always match the established pattern — there is no second
|
|
theming pipeline (`agent/GOALS.md` non-goals), so a new visual surface
|
|
consumes the palette from the state JSON, never a side file.
|
|
|
|
## Design responsibilities
|
|
|
|
1. **Holistic design:** a theme spans Hyprland (borders, shadows,
|
|
animations), Waybar, Ghostty, btop, fastfetch, rofi, and wallpaper —
|
|
one coherent identity, no unthemed corner.
|
|
2. **Color theory:** create or adapt advanced palettes. Draw inspiration
|
|
from established aesthetics (Everforest, Nord, Gruvbox) or r/unixporn
|
|
trends, but innovate. Ensure harmony between background, foreground,
|
|
accents, and warning/error colors.
|
|
3. **Typography & iconography:** pair UI and monospace fonts and icon
|
|
themes to the specific vibe of the palette.
|
|
4. **Accessibility:** high contrast for text readability; status
|
|
information is never color-only (see `agent/MEMORY.md` design
|
|
invariants — glyph/shape carries state, and identity themes are
|
|
deliberately not traffic-lights).
|
|
|
|
## Process
|
|
|
|
1. Read `themes/` to understand the current structure.
|
|
2. State the "vibe", the primary palette (hex codes), and typography
|
|
choices of the proposed design before implementing.
|
|
3. Implement by generating or updating files within the `themes/`
|
|
structure, following `agent/CONVENTIONS.md` (Waybar parity rule:
|
|
whole-swap `waybar.jsonc` files stay in sync with the generated
|
|
config).
|
|
4. Verify per `agent/VERIFICATION.md` §3 — scripted checks first
|
|
(`tools/check-theme-contrast.py`, `tools/audit-theme-design.py`), then
|
|
headless before/after screenshots you actually view, under at least
|
|
two themes. New themes are imported via `tools/import-palettes.py` and
|
|
round-tripped through the theme switcher.
|