# chapeliser

Scale single-machine apps to distributed clusters without learning Chapel.

PMPL-2.0 crates.io

## Install

    cargo install chapeliser

## What It Does

Chapeliser is a general-purpose Chapel acceleration framework. Describe your workload in a `chapeliser.toml` manifest, point it at your code, and it generates the distributed scaffolding — Chapel `coforall` loops, data partitioning, result gathering, and the ABI/FFI bridge between your application and the Chapel runtime.

## Features

- Manifest-driven — describe what to distribute in TOML, not how
- Idris2 ABI with formal proofs of data layout and partition safety
- Zig FFI bridge to Chapel runtime with zero runtime overhead
- Works with Rust, C, and Zig applications
- Scales from 1 node (local) to 256+ nodes (cluster)
- No Chapel expertise required

## Quick Example

    [workload]
    name = "my-scanner"
    entry = "src/batch.rs::scan_all"
    partition = "per-item"
    gather = "merge"

    [scaling]
    min-nodes = 1
    max-nodes = 256
    grain-size = 50

GitHub crates.io -iser family