# Sig.JS

Sig JS is a powerful and flexible JavaScript library for building web applications. It provides a range of features to help you create reactive, composable, and efficient applications.

## Features

- **Declarative Components**: Build your UI using components that are easy to read and maintain.
- **Element rendered only Once**: Sig JS ensures that each element is rendered only once, reactivity is achieved by using signals.
- **Reactive Signals**: Signals are first citizens in `sig`, You can create reactive signals to manage state and build dynamic and responsive applications.
- **Control Flow Components**: Use components like `If`, `For`, and `Await` to control the rendering of other components based on conditions or loops.
- **TypeScript Support**: Fully typed with TypeScript to provide a better development experience and catch errors early.
- **Routing**: Built-in routing support to create single-page applications with multiple views.
- **Store Management**: Built-in store management to manage global state and share data between components.
- **Interoperability**: Sig JS can render simple HTML elements, there for any libraries or frameworks can be used with it.
- **SSR (Server-Side Rendering)**: Support for server-side rendering to improve performance. [experimental]

## Installation

You can install Sig JS using npm:

```bash
npm install @sigjs/sig
```

Or using yarn:

```bash
yarn add @sigjs/sig
```

## Documentation

For more information on how to use Sig JS, check out the [SigJs Documentation](https://sigjs.netlify.app/).