Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 60 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,62 @@
# renderflow
✨ Spec-driven document rendering engine (Markdown → PDF/HTML/LaTeX)

## Installation

### Download from GitHub Releases (recommended)

Pre-built binaries are available for Linux, macOS, and Windows on the [Releases page](https://github.com/egohygiene/renderflow/releases).

**Linux:**
```bash
curl -L https://github.com/egohygiene/renderflow/releases/latest/download/renderflow-linux -o renderflow
chmod +x renderflow
sudo mv renderflow /usr/local/bin/
```

**macOS:**
```bash
curl -L https://github.com/egohygiene/renderflow/releases/latest/download/renderflow-macos -o renderflow
chmod +x renderflow
sudo mv renderflow /usr/local/bin/
```

**Windows:**

Download `renderflow-windows.exe` from the [Releases page](https://github.com/egohygiene/renderflow/releases/latest) and place it somewhere on your `PATH`.

### Build from source (requires [Rust](https://rustup.rs))

```bash
cargo install --path .
```

## Usage

```bash
# Render using the default renderflow.yaml config
renderflow build

# Render using a custom config file
renderflow build --config custom.yaml

# Shorthand: pass the config file directly (equivalent to renderflow build --config my-project.yaml)
renderflow my-project.yaml

# Preview what would be built without creating any files
renderflow build --dry-run
```

> **Note:** The argument to `renderflow` is always a YAML configuration file. The Markdown file to render is specified inside the config under the `input` key (e.g. `input: "input.md"`).

### Configuration

Renderflow is driven by a YAML configuration file (default: `renderflow.yaml`):

```yaml
input: "input.md"
output_dir: "dist"
outputs:
- type: pdf
- type: html
```