Local-first palette generation: taste sources → versioned genome → IDE themes and website tokens.
Repository: github.com/ledoit/Rob-Ross
Local checkout: Menhir Holdings/Color/Rob-Ross (rename from robross-palette-engine when editors are closed if the folder still uses the old name)
- 100% local execution
- No paid APIs at runtime
- Deterministic color math in code (not LLM)
Python 3.11+, Ollama, Typer, FastAPI + Alpine.js (Web Color Studio)
python -m venv .venv
source .venv/Scripts/activate # Windows Bash
pip install -r requirements.txt
python cli.py --helpIDE themes (chat agents) — see AGENTS.md:
from core.ide_theme import make_ide_palette, iterate_ide_palette, keep_ide_paletteWeb Color Studio (optional browser UI):
python -m studio
# http://127.0.0.1:8765/web| Area | Command |
|---|---|
| Genome | ingest, build-genome, feedback, superset |
| IDE export | export-themes (repair); agents use keep_ide_palette |
| Web palettes | web quick, web preview, web export, web sites |
| Site sync | web sync paid — push kept IDE palettes → registered consumers |
| Consumers | web consumers — list sites/consumers.json |
Register any site in sites/consumers.json. See sites/README.md for moving apps (e.g. Paid → Sync).
genome/ genome_v1.json + history (taste DNA only)
registry/ theme_roster, iteration session, user_loop state
sites/ consumers.json (downstream app paths)
core/ ide_theme, ide_iteration, pathways/web, export/
outputs/palettes/ ide_palette_*.json, web_{site}_palette_*.json
outputs/web-tokens/ CSS per site
vscode-themes/ Cursor/VS Code extension (robross-ide-palettes)
studio/ Web Color Studio only (/web)
AGENTS.md Chat agent instructions
pytestTypical agent flow: make_ide_palette → iterate_ide_palette → keep_ide_palette → auto VSIX.
After keeping themes: python cli.py web sync paid (or your consumer id).