Skip to content
ddddd edited this page Jun 27, 2026 · 5 revisions

SPACK Wiki

SPACK is evolving from a container-first static asset runtime into an AOT compiler and minimal runtime for frontend build outputs.

The current runtime mode still serves directories directly. The next architecture separates heavy build-time optimization from the production data plane:

Frontend build output
-> spack-compiler compile
-> app.spack
-> spack-runtime serve
-> HTTP static delivery

Start here

Page Purpose
AOT Compile and Runtime Compiler/runtime split, .spack archive format, and pre-optimization plan.
Quick Start Current runtime usage and local verification.
Configuration Current configuration sources, environment variables, and flags.
Operations Deployment preflight, asset inspection, and runtime mode checks.
Reliability and Consistency Contract Protocol coverage, cache consistency, and release reliability gates.
Container Deployment Current container deployment patterns.
Architecture Current runtime architecture.
Request Lifecycle Current HTTP request flow.
Compression and Images Current compression and image variant behavior.
Cache and Performance Cache, prepared snapshots, and performance notes.
Performance Baseline Reproducible local AOT benchmark environment and results.
Observability Metrics, health checks, debug endpoints, and dashboards.
Development and Release Local development, tests, profiling, and releases.
FAQ Operational notes and common questions.

Language policy

English pages should be written in English only.

Chinese pages use the -zh suffix and should be written in Chinese only.

Existing mixed-language pages will be split gradually as the AOT architecture work lands.

Product direction

SPACK should treat frontend build output as an immutable application artifact.

The compiler can be heavy because it runs during CI or image build. It may include libvips, compression libraries, manifest analyzers, and verification tools.

The runtime should be small. It should not include libvips or dynamic optimization pipelines by default. It should load a compiled .spack bundle, select a precomputed response plan, and send bytes.

Clone this wiki locally