# `core/`

Code that executes within the top-level Node context. Contains the main Astro logic for the `build`, `dev`, `preview`, and `sync` commands, and also manages the Vite server and SSR.

The `core/index.ts` file is the main entry point for the `astro` package.

[See CONTRIBUTING.md](../../../../CONTRIBUTING.md) for a code overview.

## Pipeline

The pipeline is an internal concept that describes how Astro pages are eventually created and rendered to the user.

Each pipeline has different requirements, criteria and quirks. Although, each pipeline must use the same underline functions, because
the core of the pipeline is the same.

The core of the pipeline is rendering a generic route (page, endpoint or redirect) and returning a `Response`.
When rendering a route, a pipeline must pass a `RenderContext` and `ComponentInstance`. The way these two information are
computed doesn't concern the core of a pipeline. In fact, these types will be computed in different manner based on the type of pipeline.

Each consumer will decide how to handle a `Response`.
