# Astro > astro documentation pack ## [Astro](https://docharvest.github.io/docs/astro/) Contents astro Astro Astro - [Astro Coursesastro-courses](/docs/astro/astro-courses/) - [Contribute to Astrocontribute](/docs/astro/contribute/) - [Develop and builddevelop-and-build](/docs/astro/develop-and-build/) - [Editor setupeditor-setup](/docs/astro/editor-setup/) - [Getting startedgetting-started](/docs/astro/getting-started/) - [Install Astroinstall-and-setup](/docs/astro/install-and-setup/) - [Astro recipesrecipes](/docs/astro/recipes/) - [Upgrade Astroupgrade-astro](/docs/astro/upgrade-astro/) - [Componentsbasics/astro-components](/docs/astro/basics/astro-components/) - [Pagesbasics/astro-pages](/docs/astro/basics/astro-pages/) - [Layoutsbasics/layouts](/docs/astro/basics/layouts/) - [Project structurebasics/project-structure](/docs/astro/basics/project-structure/) - [Islands architectureconcepts/islands](/docs/astro/concepts/islands/) - [Why Astro?concepts/why-astro](/docs/astro/concepts/why-astro/) - [Actionsguides/actions](/docs/astro/guides/actions/) - [Authenticationguides/authentication](/docs/astro/guides/authentication/) - [Use a backend service with Astroguides/backend](/docs/astro/guides/backend/) - [Building Astro sites with AI toolsguides/build-with-ai](/docs/astro/guides/build-with-ai/) - [Route cachingguides/caching](/docs/astro/guides/caching/) - [Scripts and event handlingguides/client-side-scripts](/docs/astro/guides/client-side-scripts/) - [Use a CMS with Astroguides/cms](/docs/astro/guides/cms/) - [Configuration overviewguides/configuring-astro](/docs/astro/guides/configuring-astro/) - [Content collectionsguides/content-collections](/docs/astro/guides/content-collections/) - [Data fetchingguides/data-fetching](/docs/astro/guides/data-fetching/) - [Deploy your Astro Siteguides/deploy](/docs/astro/guides/deploy/) - [Dev toolbarguides/dev-toolbar](/docs/astro/guides/dev-toolbar/) - [E-commerceguides/ecommerce](/docs/astro/guides/ecommerce/) - [Endpointsguides/endpoints](/docs/astro/guides/endpoints/) - [Using environment variablesguides/environment-variables](/docs/astro/guides/environment-variables/) - [Using custom fontsguides/fonts](/docs/astro/guides/fonts/) - [Front-end frameworksguides/framework-components](/docs/astro/guides/framework-components/) - [Imagesguides/images](/docs/astro/guides/images/) - [Imports referenceguides/imports](/docs/astro/guides/imports/) - [Working with integrationsguides/integrations](/docs/astro/guides/integrations/) - [Internationalization (i18n) Routingguides/internationalization](/docs/astro/guides/internationalization/) - [Markdown in Astroguides/markdown-content](/docs/astro/guides/markdown-content/) - [Image and video hosting with Astroguides/media](/docs/astro/guides/media/) - [Middlewareguides/middleware](/docs/astro/guides/middleware/) - [Migrate an existing project to Astroguides/migrate-to-astro](/docs/astro/guides/migrate-to-astro/) - [On-demand renderingguides/on-demand-rendering](/docs/astro/guides/on-demand-rendering/) …and 376 more in the sidebar. [llms.txt](/docs/astro/llms.txt) for agents ## [Astro Courses](https://docharvest.github.io/docs/astro/astro-courses/) Contents astro Astro Courses Astro Astro Courses Want to get started learning Astro with a course or tutorial? You can learn the basics of Astro with our [official docs Build a Blog tutorial](/en/tutorial/0-introduction/), or explore our collection of recommended Astro educational content. ## Education Partners :::tip\[Support Astro while you learn\] Use Astro's affiliate links for discounts with our education partners and some of your purchase goes directly back to funding development of the Astro open source project! ::: Learn Astro from trusted Astro educators, with video lessons, interactive challenges, and projects! ## Community learning resources Learn from your fellow astronauts with curated collections of guides, articles, and blog posts. ## [Components](https://docharvest.github.io/docs/astro/basics/astro-components/) Contents astro Components Astro Components **Astro components** are the basic building blocks of any Astro project. They are HTML-only templating components with no client-side runtime and use the `.astro` file extension. :::note If you know HTML, you already know enough to write your first Astro component. Learn more in the [Astro syntax reference](/en/reference/astro-syntax/). ::: Astro components are extremely flexible. An Astro component can be as small as a snippet of HTML, like a collection of common `` tags that make SEO easy to work with. Components can be reusable UI elements, like a header or a profile card. Astro components can even contain an entire page layout or, when located in the special `src/pages/` folder, be an entire page itself. The most important thing to know about Astro components is that they **don't render on the client**. They render to HTML either at build-time or on-demand. You can include JavaScript code inside of your component frontmatter, and all of it will be stripped from the final page sent to your users' browsers. The result is a faster site, with zero JavaScript footprint added by default. When your Astro component does need client-side interactivity, you can add [standard HTML `