> For the complete documentation index, see [llms.txt](https://vistajs.gitbook.io/home/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://vistajs.gitbook.io/home/introduction.md).

# Introduction

{% hint style="info" %}
**VistaJS is in beta!** We would appreciate your feedback and contributions.

Feel free to try it out and share your thoughts with us!\
[Report issues or suggest improvements here](https://github.com/danilolmc/vistajs/issues).
{% endhint %}

<div align="left"><figure><img src="/files/1jkMdQfhzAGSOZGtNSRR" alt=""><figcaption></figcaption></figure></div>

**VistaJS** is a compact JavaScript framework for building web interfaces, offering built-in support for TypeScript and features like signals, computed values, effects, routing, testing and much more, all powered by [Vite](https://vite.dev/).

```typescript

import { signal } from 'vistajs/core';
import { Component, html } from 'vistajs/dom';
import { boostrap } from 'vistajs/boot';

const counter = Component('app-counter', () => {
  const counter = signal(0);

  const increment = () => {
    counter.set(counter() + 1);
  };

  return () => html`<button onclick=${increment}>${counter()}</button>`;
});

const root = document.querySelector('#app') as Element;

boostrap(root, counter);

```

**VistaJS features**

* Signals
* Effects
* Computed Values
* Routing
* Lazy Loading
* CSS Modules
* Functional Components

Take a look on our quickstart to setup your first VistaJS project! 😉
