This guide walks you through cloning the repository, installing dependencies, wiring up environment variables, and launching the development server. The whole process takes under five minutes on a modern machine. Once the server is running you will see a fully server-rendered portfolio page populated with live data from the GitHub REST API — no mocks, no fixtures.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/santiagonieto09/portafolio/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
Make sure the following tools are available on your system before you begin:- Bun 1.x (recommended) — used as the runtime, package manager, and test runner. Install from bun.sh.
- Node.js 20+ — a supported alternative if you prefer npm/yarn/pnpm.
- Git — required to clone the repository.
Rate limits: The portfolio works without any environment variables. However, GitHub’s unauthenticated REST API is limited to 60 requests per hour per IP address. For sustained local development or production deployment you should set a GITHUB_TOKEN to raise this limit to 5,000 requests per hour. See the Configuration guide for details.
Installation
Configure environment variables
Copy the example environment file and open it in your editor:The file contains three optional variables:
See the Configuration guide for the full description of each variable, token scopes, and cron scheduling examples.
| Variable | Purpose |
|---|---|
GITHUB_TOKEN | Authenticates GitHub API requests, raising the rate limit from 60 to 5,000 req/hr |
CRON_SECRET | Protects the /api/public/sync cache-refresh endpoint from unauthorized callers |
SITE_URL | Canonical base URL used in sitemap.xml and Open Graph metadata |
Start the development server
Available Scripts
All scripts are defined inpackage.json and can be run with either bun run or npm run:
| Script | Description |
|---|---|
bun run dev | Starts the Vite development server with hot module replacement |
bun run build | Compiles a production build using the Vercel Nitro preset by default |
bun run build:dev | Compiles a development build (source maps, no minification) |
bun run preview | Serves the production build locally so you can verify the output before deploying |
bun run lint | Runs ESLint across all src/ files and reports violations |
bun run format | Formats all source files in-place with Prettier |
bun run test | Runs the full Vitest test suite once and reports pass/fail results |
What You’ll See
After the dev server boots and the initial GitHub data is fetched, the portfolio page renders the following sections from top to bottom:- Profile Hero — Your GitHub avatar, display name, bio, location, and follower/following counts, supplemented by links to all detected social accounts (Twitter/X, LinkedIn, etc.).
- Stats Grid — Four summary tiles showing total public repositories, cumulative star count across all repos, total fork count, and total release count.
- Language Chart — An interactive doughnut chart visualising the distribution of programming languages across your repositories, weighted by byte count and colour-coded with GitHub’s official language palette.
- Repository Explorer — A filterable and sortable card grid of all your public repositories. Filter by language, sort by stars, forks, or last-updated date, and click through to the repository on GitHub.
- Activity Feed — A chronological list of your most recent public GitHub events (pushes, pull requests, issues, releases) pulled from the
/events/publicendpoint.