Skip to content

Repository files navigation

English | 中文

TermHub

Your Resume In. Portfolio Out.
Terminal-themed portfolio for developers, researchers, and creatives. Edit text files or let AI do it via MCP.

Live DemoAuthor's SiteDocsDiscord

LicenseTypeScriptReactViteChakra UISupports MCP


Tip

Don't want to touch code? We're building a hosted solution at termhubai.com — upload your resume and get a live portfolio, no Git or terminal needed. Join the waitlist to get early access!


Demo

TermHub — Author's Portfolio
h-freax.github.io — the author's real portfolio, built with TermHub

Cookie's Demo · Author's Portfolio

View all pages

Publications

Publications

Projects

Projects

Experience

Experience

Articles

Articles

Awards · My Journey

AwardsMy Journey

Selected Publications · Recent Updates

Selected PublicationsRecent Updates


Design Philosophy

TermHub is built around one simple idea: CV → AI → Markdown → Homepage

Instead of writing HTML or learning a framework, you give your CV to any AI — ChatGPT, Claude, Gemini, or any LLM — and it generates Markdown files that plug directly into TermHub. Works for developers, researchers, designers, students — anyone who wants a professional portfolio. With our built-in MCP server, Claude can do this fully automatically: read your resume, call 19 specialized tools, and populate your entire site in under a minute.


Features

  • Terminal aesthetic with Nord color palette, dark / light mode
  • Fully responsive (mobile → desktop), hot reload on edit
  • No code needed — just edit text files in content/
  • MCP-powered — resume → AI → portfolio in minutes
  • i18n — built-in English / Chinese bilingual support

Content types: Publications · Projects · Experience · Articles · Awards · News


Quick Start

# 1. Fork & clone
git clone https://github.com/H-Freax/TermHub.git
cd TermHub && npm install
# 2. Run the setup wizard — generates your config
npm run setup
# 3. Start dev server
npm run dev

Open http://localhost:5173 — your site is running. Edit files in content/, save, and the browser refreshes automatically.


What You Edit

All your content lives in one folder — you never touch source code.

content/
├── site.json ← name, email, social links, features
├── about.md ← bio & career timeline
├── experience.json ← work & education history
├── publications/ ← one .md per paper
├── projects/ ← one .md per project
├── articles/ ← one .md per blog post
├── news.json ← announcements
├── awards.json ← awards & honors
└── images/ ← avatar, logos, screenshots
Feature toggles — show or hide entire pages

In content/site.json, flip features on or off:

{
"features": {
"publications": true,
"projects": true,
"articles": true,
"experience": true,
"news": true,
"pets": false,
"guide": false
}
}

When a feature is false, its page and nav link disappear completely.


Deploy

  • GitHub Pages — Push to main, the included workflow deploys automatically
  • Vercel — Import repo → click Deploy (auto-detects Vite)
  • Netlify — Import repo → click Deploy

AI Integration — Supports MCP

The CV → AI → Markdown → Homepage pipeline taken to its logical conclusion: TermHub includes a built-in MCP server that lets Claude directly read your resume, generate all Markdown/JSON content files, and build your site — zero manual editing.

  • Give AI your resume PDF or text, get a complete site
  • 19 specialized tools for publications, projects, experience, awards
  • Built-in PDF text extraction
  • AI can start dev server and live preview your site
# Quick setupcd mcp-server && npm install # 1. Install# 2. Configure Claude Desktop / Code (see mcp-server/mcp-config.json)# 3. Tell Claude: "Parse my resume and generate my portfolio"
Available tools
ToolDescription
get_schemaGet all data types — AI calls this first
parse_pdfExtract text from resume PDF
generate_from_resumeCreate structured blueprint from resume text
update_site_configSet name, email, social links
add_publicationAdd a paper with full metadata
add_projectAdd a project with tags and highlights
add_experienceAdd work/research timeline entry
add_educationAdd education entry
add_news / add_awardAdd news items and awards
write_markdown_contentWrite any Markdown content file
write_json_contentWrite any JSON content file
manage_assetsCopy images to public directory
preview_siteStart dev server or production build
get_site_statusOverview of current portfolio content
reset_contentClear all content for fresh start

Workflow: Resume → parse_pdfgenerate_from_resume → AI calls add_* tools → preview_site — done in under a minute.

For detailed setup instructions, see the AI Integration guide.


Tech Stack

React 18 · TypeScript 5 · Vite 5 · Chakra UI · Framer Motion · Nord Palette · i18next


Changelog

  • 2026-04-28v1.2.1 — Bilingual experience polish: setup wizard, MCP tools, and browser language detection now keep English and Chinese content in sync out of the box
  • 2026-03-15v1.2.0 — Built-in English / Chinese bilingual support with language switcher and auto detection
  • 2026-03-15v1.1.0 — Added MCP server with 19 tools for AI-powered portfolio generation
  • 2026-03-14v1.0.0 — Initial release with publications, projects, experience, articles, awards, and news

Contributing

Contributions are welcome! Feel free to:


License

GPL-3.0-only · Copyright © 2026 Yaoyao (Freax) Qian

About

TermHub is a terminal-style homepage template.

Topics

Resources

Contributing

Security policy

Stars

103 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages