Skip to content

The app

The App is the public website at vimcolorschemes.com. It displays colorschemes discovered by the Worker and renders their generated preview data.

Repository: vimcolorschemes/vimcolorschemes

  • Render colorscheme detail pages and listing pages.
  • Read repository, colorscheme, and highlight group data from SQLite/libSQL.
  • Provide the filters, sorting, and navigation used by visitors.
  • Render code preview templates with colors generated by the Worker.

Start with the smallest area that owns the behavior you want to change.

ChangeStart here
Homepage, listing route, static listing paramssrc/app/(index)/i/[...filters]/page.tsx
Repository detail pagesrc/app/r/[owner]/[name]/page.tsx
Repository modal routesrc/app/@modal/(.)r/[owner]/[name]/page.tsx
Repository database reads, caching, DTO assemblysrc/services/repositoriesServer.ts
Database client setupsrc/services/database.ts
Sort optionssrc/lib/sort.ts, src/helpers/query.ts
Filter options and filter URLssrc/lib/filter.ts, src/helpers/filter.ts, src/helpers/indexRoute.ts
Explore command UIsrc/components/exploreCommandInput/
Repository grid and cardssrc/components/repositories/, src/components/repositoryCard/
Repository detail contentsrc/components/repositoryPageContent/, src/helpers/repositoryPage.ts
Preview markup and highlight CSSsrc/components/preview/, src/app/vim.css
Public repositories APIsrc/app/api/repositories/route.ts

The app uses generated static params for listing and repository routes. If you add a new route dimension, update both the route helper and the static params that enumerate valid paths.

Frontend changes that use existing data do not require running Worker jobs. The app repository includes a local example database at database/vimcolorschemes.db:

DATABASE_URL=file:./database/vimcolorschemes.db

Use this setup for UI, routing, styling, and display work that does not require new generated data.

Run the app checks before opening a pull request:

Terminal window
pnpm check

Use narrower commands while developing:

Terminal window
pnpm test
pnpm tc
pnpm lint.check
pnpm format.check

Treat an app change as full stack work when it changes:

  • Database columns or table relationships.
  • The shape of generated colorscheme preview data.
  • Assumptions about which repositories are eligible.
  • The deploy or publish flow.

In those cases, read The Worker and Data Flow before changing code.