Architecture
The project is organized around a static-feeling frontend backed by generated data.
GitHub repositories | vWorker import/update jobs | vSQLite/libSQL database | vWorker generate job + extractor.nvim + Neovim | vcolorschemes + colorscheme_groups tables | vpublish job triggers frontend deploy | vvimcolorschemes.comResponsibilities
Section titled “Responsibilities”| Part | Responsibility |
|---|---|
| The App | User-facing website, pages, filters, rankings, and preview rendering |
| The Worker | Scheduled repository discovery, metadata updates, preview data generation, and publish coordination |
| extractor.nvim | Neovim-based highlight extraction for each colorscheme/background combination |
| SQLite/libSQL | Shared storage for repositories, job events, colorschemes, and highlight groups |
System boundaries
Section titled “System boundaries”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.
Where to make changes
Section titled “Where to make changes”| Goal | Start Here |
|---|---|
| Change website UI | The App |
| Change repository discovery | The Worker |
| Change preview generation | Code Previews |
| Change extracted highlight data | extractor.nvim |
| Understand data movement | Data Flow |