Skip to content

Architecture

The project is organized around a static-feeling frontend backed by generated data.

GitHub repositories
|
v
Worker import/update jobs
|
v
SQLite/libSQL database
|
v
Worker generate job + extractor.nvim + Neovim
|
v
colorschemes + colorscheme_groups tables
|
v
publish job triggers frontend deploy
|
v
vimcolorschemes.com
PartResponsibility
The AppUser-facing website, pages, filters, rankings, and preview rendering
The WorkerScheduled repository discovery, metadata updates, preview data generation, and publish coordination
extractor.nvimNeovim-based highlight extraction for each colorscheme/background combination
SQLite/libSQLShared storage for repositories, job events, colorschemes, and highlight groups

GitHub API calls, plugin installation, Neovim execution, and highlight extraction happen outside the app request path in the Worker.

The database is the contract between the Worker and the app. When a change affects that contract, update the app and Worker together and document the expected data shape.

GoalStart Here
Change website UIThe App
Change repository discoveryThe Worker
Change preview generationCode Previews
Change extracted highlight dataextractor.nvim
Understand data movementData Flow