Programming guide

Build a pipeline from Apps, processing components, functions, and target states.

Version
v 1.0.14
Last reviewed
Nov 4, 2026
ExperimentalThe Rust SDK is experimental. It is outside CocoIndex's compatibility promise: any release, including a minor one, may change or remove its API. It is not yet published on crates.io.

Start with Core Concepts for the mental model and the diagrams behind it. Use this reference to find each building block, its API, and its role in an incremental pipeline.

How the pieces fit

An App runs processing components. Each component calls functions and declares target states, which describe the output CocoIndex keeps in sync.

Example: convert Markdown files to HTML
  1. App

    Starts the pipeline with the source and output directories.

    Runs processing components
  2. Processing component

    Processes a source file. Calls functions to read Markdown and produce HTML.

    Declares target states
  3. Target state

    Describes the output file: its name and HTML content.

    CocoIndex updates the output

When the component finishes, CocoIndex creates, updates, or removes its output files as needed.