Skip to content

Astro Sites

This section documents how we build and ship static sites using Astro, powered by the ACL (Astro Creation Library) repo.

What is ACL?

The ACL repository serves two purposes:

  1. Project creation script — a Bash script (scripts/create-astro-project.sh) that scaffolds a fully configured Astro project in seconds.
  2. Shared component library — a published npm package (@sitios-agencia-digital/acl) with reusable React components, styles, and utilities.

Architecture overview

Every Astro site we build follows the same conventions:

Layer Technology
Framework Astro (latest, TypeScript strict)
UI Astro components + React (islands)
Styling Tailwind CSS + SCSS (custom properties)
Icons Font Awesome Pro (Kit script) + Iconify
Content YAML data files (front.yaml, head.yaml, config.yaml)
Deployment GitHub Actions → GitHub Pages
Optional SDKs S3 (@sitios-agencia-digital/sitios-build-time-sdk), MercadoLibre (@sitios-agencia-digital/meli-sdk)

Typical workflow

1. Client meeting        →  Gather info & assets (see Client Onboarding)
2. Run creation script   →  Scaffold the project   (see Project Creation)
3. Develop the site      →  Follow conventions      (see Development Guidelines)
4. Deploy to staging     →  GitHub Pages default URL (see Deploy to GH Pages)
5. Iterate with client   →  Push to master to redeploy
6. Go to production      →  Attach custom domain    (see Switch staging → prod)

Deployment workflow (high level)

  • Staging: deploy to GitHub Pages using the default *.github.io URL (no custom domain yet).
  • Production: switch the staging site to the final domain (custom domain + HTTPS).

In this section