# VSN.js: SEO-friendly JavaScript framework

VSN adds state, events, and bindings to the HTML you already wrote. Because if CSS can describe how a website looks, surely it can describe how it behaves. Surely.

[Get started →](/get-started) · [Explore the examples](/examples)

## HTML first. Behavior alongside it.

Keep your server-rendered pages. Add a small CFS behavior, mount VSN once, and let the markup do the talking. No virtual DOM. No component renderer. Just a slightly more ambitious relationship with selectors.

## From the Developer

“We know how much developers love CSS, so building a language to program website functionality akin to CSS was a no-brainer. You're welcome!”

## A small framework. A short reading list.

- [Get Started](/get-started): install VSN and make your first page reactive
- [Guide](/guide): understand behaviors, scope, bindings, and requests
- [Reference](/reference): find the directive or API you actually need
- [Examples](/examples): 17 runnable recipes, from a counter to a kanban board

## For people. For agents. For anyone still reading.

These pages start as Markdown in the repository. Read the formatted site, follow the Markdown link on any page, or request `Accept: text/markdown` at the same URL. One source of truth. A surprisingly reasonable decision.
