# Introduction

Welcome to the Gracile web framework documentation!

Gracile is a thin, full-stack, **web** framework with:

- Portable **HTML**, **CSS** and **JS**, thanks to **Lit (SSR)**.
- High responsivity during dev. and build, thanks to **Vite**.
- A **minimal dependency footprint** for its **runtime** and your
  **distributable**.
- Web standards friendliness, like **Custom Elements** (aka Web Components) or
  the **WhatWG Fetch** API.
- A streamlined **D**eveloper e**X**perience for building, instead of fiddling
  around.

## Main features

Gracile is powered by **Vite** and **Lit SSR**.  
It's pretty low-scope, agnostic and can adapt easily to a variety of tech
stacks.

With it, you can achieve:

- File-based routing with efficient code-splitting
- **S**erver **S**ide **R**endering
- **S**tatic **S**ite **G**eneration
- **Server** integration (`Request`/`Response`) for **Express**, **Hono**…
- Full-stack **Custom Elements** (Lit), with hydration
- **Content** websites
- Multi or Single Page **Applications**
- Progressive enhancements (no JS fallbacks, smart hydration…)
- And more, via **Add-ons** (Markdown, Metadata, SVG…)

All that, with a **few conventions**, a **standard-oriented** approach and a
very **contained footprint** 🤏.

Web Components, TypeScript, SASS, Lit, and other DX perks are all at your
fingertips; while remaining optional.

Thanks to the Vite modular architecture, and Node.js versatility, **developer
experience** is smoothed up across the board: in **development** and for
**production**.

<!-- > [!CAUTION]
> This project in is an **alpha** state.
> Feedback is appreciated via [Discord](https://discord.com/invite/JBnuw4UJ)
> or [GitHub discussions](https://github.com/gracile-web/gracile/discussions). -->

<!-- ## Philosophy

- Keep dependencies amount at a minimum
- Keep a tight feature scope
- Avoid sneaking "magic" features
- Avoid patching platform APIs
- Avoid bundler-tied APIs
- Preserve a stable and minimal API surface
- Encourage browser native capabilities usage -->

<!-- - Provide useful helpers for a beginner experience -->

<!-- All of these are **faithful goals**, not **immutable dogmas**. -->

---

> “Perfection is achieved, not when there is nothing more to add, but when there
> is nothing left to take away.”
>
> ―
> [Antoine de Saint-Exupéry](https://en.wikipedia.org/wiki/Antoine_de_Saint-Exup%C3%A9ry),
> _Airman's Odyssey_

<!-- --- -->

<!-- Head over to the main sections below to get a taste of what is achievable: -->
