Minimal, content-driven portfolio built with Nuxt, Nuxt UI, and Nuxt Content.
- Nuxt 4 — framework
- Nuxt UI — components & theming
- Nuxt Content — markdown & JSON collections
- Nuxt SEO — meta, OG images, sitemap, robots
- MCP Toolkit — AI-accessible content via Model Context Protocol
- Vercel — hosting, analytics, speed insights
All content lives in content/ as markdown or JSON:
content/
├── index.md # Home page (hero, experience, projects, writing)
├── writing.md # Writing listing page
├── works.md # Works listing page
├── clipboard.md # Clipboard listing page
├── 1.works/*.json # Project data
├── 2.writing/*.md # Blog posts
└── 3.clipboard/*.md # Weekly clipboard posts
New article — create a .md file in content/2.writing/:
---
title: My Article
description: A short description.
date: 2026-04-04
tags: [nuxt, vue]
---New project — create a .json file in content/1.works/:
{
"name": "Project Name",
"description": "Short description.",
"url": "https://example.com",
"category": "author",
"date": "2026-01-01",
"tags": ["nuxt", "open-source"]
}New clipboard post — create a .md file in content/3.clipboard/:
---
title: "Clipboard #2"
date: 2026-04-14
---Rich components available in clipboard posts: ::spotify-embed, ::video-embed, ::link-card, ::quote.
The portfolio exposes a read-only MCP server at /mcp with tools to query content programmatically.
npx add-mcp https://hugorcd.com/mcpReusable skills for AI coding agents, discoverable via /.well-known/skills/. Install with the skills CLI:
npx skills add https://hugorcd.compnpm install
pnpm devTo start contributing, you can follow these steps:
- First raise an issue to discuss the changes you would like to make.
- Fork the repository.
- Create a branch using conventional commits and the issue number as the branch name. For example,
feat/123orfix/456. - Make changes following the local development steps.
- Commit your changes following the Conventional Commits specification.
- If your changes affect the code, run tests using
pnpm run test. - Create a pull request following the Pull Request Template.
- To be merged, the pull request must pass the tests/workflow and have at least one approval.
- If your changes affect the documentation, make sure to update it.
- If your changes affect the code, make sure to update the tests.
- Wait for the maintainers to review your pull request.
- Once approved, the pull request will be merged in the next release !
Published under the APACHE license.
Made by @HugoRCD and community 💛
