Running the portfolio on your own machine is straightforward. Because the project is a fully static Astro site with no external backend, all you need is Node.js 18 or later and the pnpm package manager. Once those prerequisites are in place, three commands take you from a fresh clone to a live hot-reloading dev server.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Emmanuel-Mtz-777/My-Personal-Portfolio/llms.txt
Use this file to discover all available pages before exploring further.
Setup
Install dependencies
Install all project dependencies. pnpm is recommended because the project ships a
pnpm-lock.yaml lockfile, but npm and yarn work too:Start the dev server
Launch the Astro development server with hot module replacement:The site will be available at http://localhost:4321. The Spanish version loads at
/ and the English version at /en/. Any changes you make to source files are reflected instantly in the browser without a full page reload.Available Commands
All commands are run from the project root:| Command | Action |
|---|---|
pnpm dev | Starts the local dev server at localhost:4321 with HMR |
pnpm build | Builds the production site to ./dist/ |
pnpm preview | Serves the production build locally so you can verify it before deploying |
pnpm astro ... | Run any Astro CLI command, e.g. astro add, astro check, astro info |
Project Structure
The repository follows Astro’s conventional layout with a few portfolio-specific additions:src/langs/— All user-facing text lives here. Edites.jsonto update Spanish content anden.jsonfor English. No component changes are required for copy updates.src/components/— Reusable Astro and React components, including section components (Hero,Experience,Projects,Stack,Education,AboutMe) and layout pieces (Header).src/pages/— Astro’s file-based router.index.astrorenders the Spanish site;en/index.astrorenders the English site using the same components but a different locale prop.src/layouts/Layout.astro— The HTML shell shared by every page. It includes the<head>SEO tags, the dark gradient background, and the analytics component.
Spanish is the default locale. When Astro builds the site,
src/pages/index.astro (with lang="es") is served at /, and src/pages/en/index.astro (with lang="en") is served at /en/. This is configured in astro.config.mjs via the i18n.defaultLocale: "es" option.