npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

klover

v1.1.0

Published

A lightweight DSL for building reactive UI

Readme

🚀 Klover

Klover is a lightweight domain-specific language (DSL) for building UI using simple, readable .kv files. It compiles your code into clean HTML with built-in layout, styling, and state handling.

Read the Comprehensive Language Guide


✨ Why Klover?

  • 🧠 Declarative UI — write what you want, not how to structure HTML
  • Fast iteration — minimal syntax, instant results
  • 🎨 Auto-Responsive Layout — column, row, and auto-wrapping grid out of the box
  • 📱 Mobile Optimized — automatic stacking and typography scaling for small screens
  • 🔠 Semantic Typography — built-in heading variants (h1-h4, heading, subheading)
  • 🔁 Reactive State — simple state + events with live updates
  • 🧩 Extensible architecture — plugin-ready

📦 Installation

npm install -g klover

🚀 Usage

Build UI

klover build yourfile.kv

Generates:

output.html

Run a file

klover run app.kv

Dev mode (auto rebuild)

klover dev

Debug mode

klover debug --no-render

🧾 Example

theme dark
title "My Premium App"
icon "favicon.ico"

state count = 0

column center:
    text "Welcome to Klover" h1
    text "The UI language for hackers." subheading

    row:
        button "Decrease" onClick=set(count, count - 1)
        button "Increase" primary onClick=set(count, count + 1)
    
    text count h1

🧠 Core Concepts

Layout

column:
    text "Top"

    row:
        text "Left"
        text "Right"

State

state count = 0

Events

button "Increase" onClick=set(count + 1)

Dynamic Values

text count

Media

image "image.png"
video "demo.mp4" controls autoplay

🧩 Features

  • ✅ Text, button, image, video components
  • ✅ Column & row layout system
  • ✅ State management
  • ✅ Event handling (onClick)
  • ✅ Conditional rendering (if)
  • ✅ Lists (repeat ... as ...)
  • ✅ Custom Page Title & Icon (title, icon)
  • 🚧 Plugin system (in progress)
  • 🚧 Rendering optimizations (in progress)

🎨 VS Code Extension

Klover includes a syntax highlighting extension located in:

klover-vscode/

Features

  • Syntax highlighting for .kv files
  • Language recognition
  • Custom file icons

Install Extension

You can:

  • Install from the VS Code Marketplace (search Klover)
  • OR manually install the .vsix file from the klover-vscode directory

Enable File Icons

File icons require manual activation:

  1. Open Command Palette (Ctrl + Shift + P)
  2. Search: File Icon Theme
  3. Select: Klover Icons

🏗 Project Structure

klover/
├── cli/            # CLI interface
├── parser/         # Robust DSL parser
├── runtime/        # State + V9 execution
├── renderer/       # HTML generation
├── shared/         # Node schema
├── plugins/        # Extension system
├── index.js        # Build pipeline

🧪 Development

Run locally:

node cli/index.js build

📄 License

MIT License


👤 Author

Bhumi Jha

Yugank Das


🚀 Status

Klover is under active development.

  • Robust Parser: Supports complex expressions, nested parentheses, and semantic keywords.
  • V9 Responsive Engine: Class-based CSS with auto-layout, breakpoints, and flex-wrapping.
  • Semantic Typography: Full heading hierarchy (h1-h4, heading, subheading) built-in.
  • Reactive Live State: Full re-render cycle with state persistence across updates.
  • VS Code Support: Enhanced syntax highlighting and custom icons available.

💡 Vision

Klover aims to provide a simple, expressive way to build UI without the complexity of traditional frameworks.