Skip to content

eddow/sursaut

Repository files navigation

Sursaut

A lightweight, reactive web framework ecosystem built with TypeScript and JSX

Sursaut is a monorepo containing a collection of packages for building modern web applications with automatic reactivity, type safety, and minimal overhead.

Ecosystem Status

  • @sursaut/core: The foundational reactive UI framework with JSX. It is mostly done and stable.
  • @sursaut/kit & @sursaut/ui: Client utilities, routing, and headless UI components. These are quite finished and work seamlessly with their pico CSS adapter while allowing adapters development with ease.
  • @sursaut/board: The full-stack meta-framework. It is currently undergoing a complete rework from the ground up and is not ready for general use at this time.

🌟 Features

  • 🚀 Lightweight: No virtual DOM, minimal overhead
  • ⚡ Reactive: Automatic reactivity powered by mutts reactivity engine
  • 🔄 Two-Way Binding: Automatic detection and setup of two-way data binding
  • 🎨 JSX Support: Write components using familiar JSX syntax
  • 💪 Type-Safe: Full TypeScript support with type safety
  • 🧩 Component-Based: Create reusable, composable components
  • 📦 No Runtime Overhead: Works directly with the DOM

Quick Start

# Install core package
npm install @sursaut/core mutts

# Install Kit, UI, and Pico adapter
npm install @sursaut/kit @sursaut/ui @sursaut/adapter-pico

Example

import { reactive } from 'mutts'
import { latch } from '@sursaut/core'

function Counter() {
  const state = reactive({ count: 0 })
  
  return (
    <>
      <h1>Counter: {state.count}</h1>
      <button onClick={() => state.count++}>Increment</button>
    </>
  )
}

latch('#app', () => <Counter />)

Development

# Install dependencies
pnpm install

# Build all packages
pnpm run build

# Run tests
pnpm run test

# Run linting
pnpm run lint

Documentation

  • Live site: build and deploy @sursaut/docs (see RELEASING.md); default canonical URL is https://sursaut-docs.pages.dev (override with DOCS_SITE_URL when building).
  • @sursaut/core - Core reactive framework documentation
  • @sursaut/kit - Client utilities and routing documentation
  • @sursaut/ui - UI components documentation

AI

For documentation-aware MCP workflows around Sursaut, you can use soup-chop as a documentation MCP.

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors