Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/nicolasgrajaleshoyos/portafolio/llms.txt

Use this file to discover all available pages before exploring further.

This guide walks you from an empty directory to a fully running local development server for Portfolio Moderno. By the end you will have the Vite dev server running at http://localhost:3000 with hot-module replacement enabled, ready for you to explore or customise the project.
1

Prerequisites

Portfolio Moderno requires Node.js 18 or newer. Verify your installed version before continuing:
node --version
The output should be v18.x.x or higher. If not, download the latest LTS release from nodejs.org.
2

Clone the Repository

Clone the repository from GitHub and move into the project directory:
git clone https://github.com/nicolasgrajaleshoyos/portafolio.git && cd portafolio
3

Install Dependencies

Install all required packages using your preferred package manager:
npm install
4

Start the Dev Server

Launch the Vite development server with hot-module replacement:
npm run dev
The server binds to port 3000 as configured in vite.config.ts under server.port: 3000. It also listens on host: '0.0.0.0', making it reachable from other devices on the same local network.
5

Open in Browser

Navigate to the local URL in your browser:
http://localhost:3000
You should see the Portfolio Moderno landing page with the Hero typing animation running. Any file change in src/ will trigger an instant HMR update without a full page reload.

Available Scripts

The following scripts are defined in package.json and can be run with npm, yarn, or bun:
ScriptCommandDescription
devnpm run devStart the Vite development server with HMR on port 3000
buildnpm run buildTranspile and bundle the app for production into dist/ via vite build
previewnpm run previewServe the production build locally to verify the output before deploying

Path Aliases

Vite is configured with a @/ path alias that resolves to the src/ directory. This is set up in vite.config.ts under resolve.alias:
import Header from '@/components/Header';
import { type Project } from '@/types';
Using @/ keeps imports clean and refactoring-safe — you never need relative ../../../ chains regardless of how deeply nested a component is.
All three package manager lockfiles — package-lock.json (npm), yarn.lock (yarn), and bun.lock (bun) — are committed to the repository. Use whichever one matches the package manager already set up in your environment to ensure deterministic, reproducible installs.

Build docs developers (and LLMs) love