Sailfish is a compile-time template engine for Rust, delivered as a multi-crate workspace. The core crates are `sailfish` (public runtime API), `sailfish-macros` (thin derive-macro shim), and `sailfish-compiler` (the actual template compilation pipeline: parser -> translator -> resolver -> optimizer -> code generator). Applications derive one of four traits (`TemplateSimple`, `TemplateOnce`, `TemplateMut`, `Template`) on a struct, point at a `.stpl` file with `#[template(path = ...)]`, and call `render_*()` to produce an HTML/text string. The compiler runs at build time, which makes rendering type-safe: template expression errors surface as Rust compile errors mapped back to template source positions. The runtime side is performance-focused: a custom raw-allocated `Buffer` with zero-copy `String` conversion, adaptive pre-allocation via size hints, filter composition via wrapper types, and SIMD HTML escaping (AVX2/SSE2/fallback) selected at runtime with an atomic function pointer. Templates support EJS-style syntax (`<% %>` code, `<%= %>` escaped output, `<%- %>` raw output, `<%+ %>` nested component rendering, `include!` for composition), custom delimiters, whitespace control, and a `sailfish.toml` config system with env-var expansion. The repo also ships editor tooling: a tree-sitter grammar with bindings for Rust, Node, Python, Swift, Go, and C, a VSCode extension, and Vim syntax/indent files, plus an mkdocs documentation site whose generated output is committed. External dependencies are minimal (syn/quote/proc-macro2, filetime, optional serde/toml for config); web-framework integration is demonstrated with an actix-web example. Tests are strong: template fixtures paired with golden `.out` reference files plus trybuild compile-fail tests. Notable warts: CHANGELOG is stale (stops at v0.4.0 while the crate is at v0.11.x), the docs `output_site/` and VSCode `node_modules/` are committed to the repo, a legacy Travis script lingers, and the VSCode grammar does not recognize the newer `<%+` component tag. None of these affect the core library, which is well-structured and actively maintained.