@primavera-ui

Primavera is an experimental, specification-first component library with plain JS web component implementations. Spec is majority handwritten, comprehensive & opinionated. Implementations are vibe-coded based on spec then tested by me & further refined.

Spec is currently relatively informal - markdown files with various shapes. Currently, implementation details specific to web components are defined or suggested. No automated tests currently. Currently I use a spec-diff file to show changes & prompts to spec that I haven’t yet incorporated - the main spec file is slower work.

I am building this because I think good behavioural spec is relatively static while model-driven development and target environments changes more frequently. Spec can be adjusted to others’ needs without having to understand implementation specifics. Spec can be considered contracts between human & llm. The contract must be comprehensible to humans, led by and first for humans & everything else should be downstream. Eventually it could mature to something enforceable in code & compiled assets.

NPM

Terminal window
npm install @primavera-ui/components

Component sizes

dist/otp.js    11.74 kB │ gzip:  3.07 kB
dist/dnd.js    45.49 kB │ gzip: 10.41 kB

Features:

  • Native web components
  • Server Side Rendering
  • Accessibility
  • Optional styles
  • No Shadow DOM
  • Demo pages
  • Tree-shaking
  • Lightweight

Roadmap:

  • Touch controls in dnd list
  • Show second dnd list in demo
  • Wrappers for front-end frameworks (React, SolidJS, Svelte)
  • Calendar component

Support me

I am improving & making more of these components as well as other open source projects. If you find these useful or want to see more, your support is appreciated. Please see my other work & posts at danielgormly.com.

Buy Me a Coffee at ko-fi.com