Full Page

pgstream

Real-time change data capture for Postgres

About

pgstream listens to your Postgres WAL and emits structured change events over WebSocket or NATS. Zero polling, sub-millisecond latency, and it handles schema changes gracefully. Built in Rust, runs as a single binary.

Features

Logical replication with automatic slot management, WebSocket and NATS output adapters, Schema migration tracking, Exactly-once delivery guarantees, Prometheus metrics built in

Installation

curl -sSL https://example.com/install.sh | sh, pgstream init --db postgres://localhost/mydb, pgstream start

Project README

Open-source project page with description, badges area, installation steps, and links.

by DesignGenerate 0 stars 1 renders 0 forks

Schema

FieldType
project_name string
one_liner string
description text
install_steps list<string>
features list<string>
repo_url link
docs_url link
license string

Apply Values

POST JSON to the API endpoint:

POST /api/templates/project-readme/apply
Content-Type: application/json

{
  "project_name": "pgstream",
  "one_liner": "Real-time change data capture for Postgres",
  "description": "pgstream listens to your Postgres WAL and emits structured change events over WebSocket or NATS. Zero polling, sub-millisecond latency, and it handles schema changes gracefully. Built in Rust, runs as a single binary.",
  "install_steps": [
    "curl -sSL https://example.com/install.sh | sh",
    "pgstream init --db postgres://localhost/mydb",
    "pgstream start"
  ],
  "features": [
    "Logical replication with automatic slot management",
    "WebSocket and NATS output adapters",
    "Schema migration tracking",
    "Exactly-once delivery guarantees",
    "Prometheus metrics built in"
  ],
  "repo_url": "https://github.com/example/pgstream",
  "docs_url": "https://example.com/pgstream/docs",
  "license": "Apache-2.0"
}

AI Prompt

Copy this prompt to generate a compatible template with any LLM:

You are an expert frontend designer.
Create a beautiful, modern HTML template for "Project README" that strictly follows the constraints and schema below.

## Constraints
- Style everything using inline style="" attributes only (no external CSS, no <link>, no <style> tags)
- Do NOT use: <script>, <iframe>, <form>, <input>, <textarea>, <button>, <select>, <object>, <embed>, <details>, <dialog>
- Place data placeholders using this syntax: {{project_name:string}}, {{one_liner:string}}, {{description:text}}
- The template must be a single HTML fragment (no <html>, <head>, or <body> tags)
- Use system fonts: font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif (or Georgia, serif for editorial)

## JSON Schema
```json
{
  "project_name": "string",
  "one_liner": "string",
  "description": "text",
  "install_steps": [
    "string"
  ],
  "features": [
    "string"
  ],
  "repo_url": "link",
  "docs_url": "link",
  "license": "string"
}
```

## Placeholder Syntax
Each data point uses `{{key:type}}` — for example:
- `{{project_name:string}}` → string
- `{{one_liner:string}}` → string
- `{{description:text}}` → text
- `{{install_steps:list<string>}}` → list<string>
- `{{features:list<string>}}` → list<string>
- `{{repo_url:link}}` → link
- `{{docs_url:link}}` → link
- `{{license:string}}` → string

Output ONLY the HTML code block. No explanation.