# @teasim/astro

## What it is

The half of a documentation site that has nothing to do with how it looks.
It reads a content collection and computes the structure — the sidebar tree,
the breadcrumb trail, the previous and next links, the table of contents.

## Why it is separate

A content helper that also renders markup decides how your site is built. That
is the second borrowed decision, and it is why computing is a separate package
from rendering rather than shipped inside it. `@teasim/astro` renders nothing,
and `@teasim/astra` and `@teasim/aster` know nothing about content. Either half
works on its own.

## Markdown twins

Every page is served twice: once as HTML for people, once as markdown for
machines. `/about` has `/about.md` beside it, and the site publishes `llms.txt`
and `llms-full.txt` so a model can read the whole thing without parsing your
markup.

## Validation that names the page

Schema problems are reported in dev with the slug that caused them. A missing
title, a link that points nowhere, a `prev` that names a page that does not
exist — each one is a console line naming the file, not a build failure.