Back to templates

Template details

terminalCV

An easy to setup and (almost) fully customizable command line style CV theme for Hugo with blogging capabilities.

About this template

terminalCV is a Hugo theme that renders a CV/resume as an interactive command-line terminal, driven by a single config.yml file. It produces a static website with terminal-style commands for each résumé section, and optionally includes blog post functionality. Built on jcubic/jquery.terminal, the theme is maintained by coolapso and available on GitHub.

What is terminalCV?

terminalCV is a Hugo theme that turns your CV into a command-line interface experience. You configure all content in one YAML file (config.yml), and the theme generates a static site where visitors type commands like 'whois', 'work', or 'education' to browse your credentials. It includes a built-in blogging system that can be toggled on or off.

The theme is built on top of the jcubic/jquery.terminal library, and it supports Hugo shortcodes, images in blog posts, and custom CSS for full visual control.

Key Features

  • Terminal-style résumé sections — Commands for 'whois', 'social', 'work', 'education', 'sklls' (original spelling), 'softskills', 'languages', 'projects', 'certifications', 'publications', and 'misc'; each section has its own configuration options in config.yml.
  • Fully customizable prompt — Set before/after prompt text, text colors, separator text/colors, symbols, extra text, and all their colors directly from config.yml.
  • Custom greeting and banner — Multi-line greeting text is respected, and a separate banner with a different color can be displayed.
  • Extra commands — 'startx' and 'exit' show progress bars and redirect to a website (both disabled by default unless you provide a URL); 'source' displays the theme repo link; 'version' shows a version string if configured.
  • less output — Command output and blog posts can be paged through 'less', either globally for all commands or per command; 'less ' works as a prefix.
  • Blogging support — Enable blog posts with 'params.blog: true' in config; posts are listed via 'posts' or 'ls' and read with 'cat '.
  • Command auto-completion — Tab completion for both commands and blog post filenames.
  • Custom CSS and favicons — Edit /static/style.css to change background color, text color, URL color, cursor style and color, line thickness, terminal glow, and fonts; favicons are generated with RealFaviconGenerator and placed in /static.

Who is it for?

  • Job seekers who want a memorable, interactive résumé site that stands out from standard PDFs.
  • Developers and tech enthusiasts who appreciate a command-line aesthetic and want a Hugo theme that feels native to terminal users.
  • Personal website owners who want to combine a CV with a blog and present both through a unified terminal interface.

What can you do with terminalCV?

  • Showcase your professional history — Add work experience, education, skills, projects, certifications, languages, and publications as separate commands that visitors can run.
  • Share your blog — Enable the blog toggle, write Markdown posts, and let readers discover and read them via 'posts', 'ls', and 'cat' commands.
  • Link your social presence — Add any social network with a name and URL; optionally hide the name to show only the URL.
  • Redirect to other sites — Use the 'startx' and 'exit' commands to show a progress bar and send visitors to another website of your choice.

How does terminalCV work?

Set up is straightforward: clone the repository into your Hugo site's themes directory (or add it as a git submodule), copy the exampleSite config.yml to your project root, run 'hugo server', and customize the config file. For local development, 'make server' runs the demo site using the example config at localhost:1313.

screenshot of terminalCV on template0.com