NPM
Install devfolio globally using npm or your preferred package manager.
npm install -g devfolioOr use npx to run without installing:
npx devfolio initeverything you need to build your portfolio
Install devfolio globally using npm or your preferred package manager.
npm install -g devfolioOr use npx to run without installing:
npx devfolio init| Requirement | Version | Notes |
|---|---|---|
| Node.js | >=18.0.0 | LTS recommended |
| npm | >=8.0.0 | Comes with Node.js |
Create a new portfolio folder with the starter template:
devfolio initThis creates a folder with portfolio.yaml and an images/ directory for your assets.
Create a new portfolio folder
devfolio initInteractive prompts will ask for:
Validate a portfolio YAML file
devfolio validate <file>Checks for:
Generate static HTML from portfolio
devfolio render [file] [options]| Option | Description |
|---|---|
| [file] | YAML file (default: portfolio.yaml) |
| --theme, -t <name> | Theme to use (default: srcl) |
| --output, -o <dir> | Output directory (default: ./site) |
Basic information about you.
| Field | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Your full name |
| title | string | yes | Your role or title |
| location | string | yes | City, Country |
| timezone | string | no | Timezone (e.g., UTC-5) |
How people can reach you.
| Field | Type | Required | Description |
|---|---|---|---|
| string | yes | Email address | |
| website | URL | no | Personal website |
| github | string | no | GitHub username |
| string | no | LinkedIn username | |
| string | no | Twitter/X handle |
A short description of yourself. Supports multiline with | syntax.
bio: |
Line one of your bio.
Line two continues here.Array of work experiences.
| Field | Type | Required | Description |
|---|---|---|---|
| company | string | yes | Company name |
| role | string | yes | Your role/title |
| date.start | YYYY-MM | yes | Start date |
| date.end | YYYY-MM | "present" | yes | End date or "present" |
| description | string | no | Role description |
| highlights | string[] | no | Key achievements |
Array of notable projects.
| Field | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Project name |
| description | string | no | Short description |
| url | URL | no | Project URL |
| tags | string[] | no | Technologies used |
| featured | boolean | no | Highlight this project |
Key-value pairs of skill categories.
skills:
Languages: [TypeScript, Go, Python]
Frameworks: [React, Next.js, Express]
Tools: [Docker, Kubernetes, AWS]Array of educational background.
| Field | Type | Required | Description |
|---|---|---|---|
| institution | string | yes | School/University name |
| degree | string | yes | Degree or certificate |
| date.start | YYYY-MM | no | Start date |
| date.end | YYYY-MM | no | End date |
| description | string | no | Additional info |
Array of articles, blog posts, or publications.
| Field | Type | Required | Description |
|---|---|---|---|
| title | string | yes | Article title |
| url | URL | yes | Link to article |
| date | YYYY-MM-DD | no | Publication date |
| publication | string | no | Where published |
Terminal aesthetic. Monospace fonts, dark theme, orange accents. Inspired by sacred.computer.
theme: srclClean and contemporary. Sans-serif typography, subtle shadows, professional feel.
theme: modernScholarly aesthetic. Serif typography, warm browns, vintage academic feel.
theme: dark-academiaConfigure theme behavior in your portfolio.yaml:
| Setting | Type | Default | Description |
|---|---|---|---|
| color_scheme | "dark" | "light" | dark | Default color scheme |
| show_grid | boolean | false | Show baseline grid overlay |
| enable_hotkeys | boolean | true | Enable keyboard shortcuts |
| animate | "none" | "subtle" | "full" | subtle | Animation level |
Deploy instantly with the Vercel CLI:
# Install Vercel CLI
npm install -g vercel
# Deploy
cd site
vercelOr connect your GitHub repo for automatic deployments.