# Feature catalog — withastro/astro

> Canonical page: https://codevetter.com/unpack/astro/feature-catalog

# Feature catalog — withastro/astro

Scanned commit 4c1470a7f907fe678ef5e7dceaa972ca83d297da (2026-10-02). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

Astro exposes developer commands alongside site-facing routing, rendering, actions, content, and image capabilities. Interactive components are hydrated according to client directives rather than requiring one application-wide client runtime. Integrations supply framework renderers and deployment-specific behavior. The inspected feature set also includes sessions, caching, internationalization, browser navigation, and font providers, but is not an exhaustive catalog of all workspace products.
- The CLI recognizes add, sync, telemetry, preferences, dev, build, preview, check, create-key, docs, and info, plus help/version behavior. — [packages/astro/src/cli/index.ts#L18-39](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/packages/astro/src/cli/index.ts#L18-L39) [packages/astro/src/cli/index.ts#L72-87](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/packages/astro/src/cli/index.ts#L72-L87)
- astro dev provides stop, status, and logs subcommands, explicit background startup, agent-inferred background startup, and --ignore-lock behavior. — [packages/astro/src/cli/dev/index.ts#L121-170](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/packages/astro/src/cli/dev/index.ts#L121-L170) [packages/astro/src/cli/dev/index.ts#L181-199](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/packages/astro/src/cli/dev/index.ts#L181-L199)
- astro build accepts output-directory, mode, development-output, and force flags; force is documented as clearing content caches for a full rebuild. — [packages/astro/src/cli/build/index.ts#L9-36](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/packages/astro/src/cli/build/index.ts#L9-L36)
- File-based routes include .astro and supported Markdown extensions, with bracket parameters and spread parameters parsed into RoutePart records. — [packages/astro/src/core/routing/create-manifest.ts#L44-71](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/packages/astro/src/core/routing/create-manifest.ts#L44-L71) [packages/astro/src/core/routing/create-manifest.ts#L121-145](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/packages/astro/src/core/routing/create-manifest.ts#L121-L145)
- Matched endpoints execute renderEndpoint(); page routes obtain props and a rendering result before calling renderPage(), including streaming and slot inputs. — [packages/astro/src/core/pages/handler.ts#L29-59](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/packages/astro/src/core/pages/handler.ts#L29-L59)
- Astro Actions support JSON and FormData handlers with optional Zod input schemas; RPC calls return serialized responses while form calls leave results in locals for page rendering. — [packages/astro/src/actions/runtime/server.ts#L34-60](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/packages/astro/src/actions/runtime/server.ts#L34-L60) [packages/astro/src/actions/runtime/server.ts#L75-127](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/packages/astro/src/actions/runtime/server.ts#L75-L127) [packages/astro/src/actions/handler.ts#L65-86](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/packages/astro/src/actions/handler.ts#L65-L86)
- The file content loader reads JSON, YAML, or TOML, accepts custom parsers, validates entries through parseData(), and reloads the collection on watched file changes. — [packages/astro/src/content/loaders/file.ts#L29-50](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/packages/astro/src/content/loaders/file.ts#L29-L50) [packages/astro/src/content/loaders/file.ts#L99-113](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/packages/astro/src/content/loaders/file.ts#L99-L113) [packages/astro/src/content/loaders/file.ts#L120-141](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/packages/astro/src/content/loaders/file.ts#L120-L141)
- getCollection() reads stored content and resolves image references; live collections instead call loader.loadCollection() and apply their schema at runtime. — [packages/astro/src/content/runtime.ts#L102-134](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/packages/astro/src/content/runtime.ts#L102-L134) [packages/astro/src/content/runtime.ts#L281-321](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/packages/astro/src/content/runtime.ts#L281-L321)
- Browser islands recognize load, idle, visible, media, and only directives, dynamically import component and renderer modules, and dispatch astro:hydrate after hydration. — [packages/astro/src/runtime/server/astro-island.ts#L5-15](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/packages/astro/src/runtime/server/astro-island.ts#L5-L15) [packages/astro/src/runtime/server/astro-island.ts#L139-178](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/packages/astro/src/runtime/server/astro-island.ts#L139-L178) [packages/astro/src/runtime/server/astro-island.ts#L248-259](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/packages/astro/src/runtime/server/astro-island.ts#L248-L259)
- The image endpoint parses transformation URLs, loads allowed remote or local sources, invokes the configured image service, and returns transformed bytes with cache and ETag headers. — [packages/astro/src/assets/endpoint/shared.ts#L51-82](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/packages/astro/src/assets/endpoint/shared.ts#L51-L82) [packages/astro/src/assets/endpoint/shared.ts#L99-114](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/packages/astro/src/assets/endpoint/shared.ts#L99-L114)
- astro/fetch exposes composable sessions, redirects, actions, i18n, and cache handlers; navigate() performs browser transitions and warns once when called during server rendering. — [packages/astro/src/core/fetch/index.ts#L73-128](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/packages/astro/src/core/fetch/index.ts#L73-L128) [packages/astro/src/transitions/router.ts#L584-598](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/packages/astro/src/transitions/router.ts#L584-L598)
- The fontProviders registry exposes Adobe, Bunny, Fontshare, Fontsource, Google, Google Icons, local, and npm provider factories. — [packages/astro/src/assets/fonts/providers/index.ts#L166-175](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/packages/astro/src/assets/fonts/providers/index.ts#L166-L175)

Every claim links to its cited files at the pinned commit. Citations identify source evidence; they do not establish runtime correctness. Independent CodeVetter scan — not reviewed by upstream maintainers.

## Public product links

- [CodeVetter](https://codevetter.com/)
- [Download](https://codevetter.com/download)
- [Documentation](https://codevetter.com/docs/)
- [Source](https://github.com/Codevetter/codevetter)
