Architecture

Hauchiwa's architecture is based on a few core concepts.

Task Graph

The core of Hauchiwa is a dependency graph where nodes are Tasks and edges are Dependencies.

When you run a build, Hauchiwa analyzes the graph, schedules tasks in parallel, and ensures dependencies are met.

Granularity

Hauchiwa distinguishes between:

Caching

Hauchiwa uses Content-Addressable Storage (CAS) for assets. Files are stored based on their content hash. This ensures:

  1. Deduplication: Identical files are stored once.
  2. Cache-busting: Changed content gets a new filename (perfect for long-term caching headers).