Installation

Get up and running with PulsePoint in seconds. No build tools, bundlers, or complex configuration required.


The Starter Template

The fastest way to start is by using the CDN. Simply copy the template below into an index.html file. This setup includes the core library and handles the initial loading state to prevent content flashing.

index.html
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>PulsePoint App</title>
    
    <!-- 1. Import PulsePoint -->
    <script type="module">
      import { PP } from "https://cdn.tsnc.tech/pp-reactive-v1.js";
      
      // 2. Initialize
      window.pp = new PP();

      // 3. Handle Hydration (Prevents FOUC)
      document.addEventListener("pp:hydrated", () => {
        document.body.style.opacity = "1";
      });
    </script>
  </head>
  
  <!-- Hidden by default until hydrated -->
  <body style="opacity: 0;">
    
    <h1>Hello World</h1>
    <p>PulsePoint is ready.</p>

  </body>
</html>
1

Import

We use an ES Module import directly from our edge CDN. This ensures you get the latest optimized version of the runtime.

2

Initialize

new PP() scans the DOM for reactive state declared via pp.state and injects values into mustache bindings like {jsExpression}. Reactions/effects are declared with pp.effect. Core directives supported: pp-for, pp-ref, and pp-spread.

3

Hydrate

We hide the body initially to prevent users from seeing raw curly braces {jsExpression} before the engine loads.

Integrating with a Backend

Because PulsePoint is just HTML and JavaScript, it works seamlessly inside any backend template engine.

Node.js / Express

Add the script to your EJS, Pug, or Handlebars layouts.

Python (Django / FastAPI)

Perfect for Jinja2 templates or standard Django views.

PHP (Laravel / Symfony)

Place the script tag in your layout.blade.php or header file.

C# / .NET

Include inside your _Layout.cshtml Razor pages.

Go (Gin / Echo)

Works with the standard html/template library.

Rust (Actix / Axum)

Fully compatible with Askama, Tera, or Maud templates.

Introduction Next: Directives and Public API