i'm trying to articulate my approach to colours in the terminal and I guess it's:

1. make every program use the 16 ANSI colours, except for neovim, theme that with 24-bit colour because theming vim with ANSI colours is a pain
2. pick a terminal emulator theme I like for the ANSI colours
3. use “minimum contrast" in the terminal emulator to avoid having unreadable text because something chose a bad combo of ANSI colours for my theme

@b0rk
I recently had an idea for a feature that terminals could implement that I think would help a lot. The basic 16 colors are always used in the context of an escape sequence for setting the foreground or background (or underline) color, so a terminal could actually have separate fg & bg palettes. Setting the colors on one palette to fairly light and the other to fairly dark would basically solve contrast issues. A terminal with this feature would allow configuring e.g. bg-red and fg-red.