Live Reload

WebSocket-based live reload for a fast development workflow.

Starting the dev server

Run the development server with:

tulip serve

This starts a local HTTP server and watches your project for changes.

How it works

  1. tulip starts an HTTP server serving the build output
  2. A WebSocket connection is established between the browser and the server
  3. tulip watches all project files (templates, content, static assets, configuration)
  4. When a file changes, tulip rebuilds the project
  5. After the rebuild completes, a reload signal is sent over the WebSocket
  6. The browser automatically refreshes the page

What is watched

The file watcher monitors all project files, including:

  • Template files (.tulip)
  • Markdown content (.md)
  • Static assets (images, CSS, JS)
  • Configuration (tulip.toml)
  • Custom styles (styles.css)

Port configuration

By default, the dev server runs on port 3000. You can specify a different port:

tulip serve --port 8080

Or configure it in tulip.toml:

[dev]
port = 8080

Auto-rebuild

Every file change triggers a rebuild. Edit a template, save, and the browser updates instantly.