Skip to content

Add virtual portfolio filesystem to terminal - #18

Draft
cursor[bot] wants to merge 1 commit into
mainfrom
cursor/terminal-emulation-feature-edaf
Draft

Add virtual portfolio filesystem to terminal#18
cursor[bot] wants to merge 1 commit into
mainfrom
cursor/terminal-emulation-feature-edaf

Conversation

@cursor

@cursor cursor Bot commented May 24, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add a generated read-only /home/guest portfolio filesystem backed by site JSON data.
  • Wire pwd, cd, ls, cat, and tree into the terminal runtime with path-aware prompt updates and tab completion.
  • Document the virtual filesystem and add focused unit coverage for path resolution, listing, reading, tree output, and completion.

Issue

Title

Upgrade terminal emulation with a read-only virtual portfolio filesystem

Problem

The terminal UI had several shell-like commands (pwd, cd, ls) but they behaved as isolated stubs, so the site did not feel like a coherent terminal environment.

Proposed improvement

Generate a virtual /home/guest filesystem from existing portfolio data and expose it through familiar shell commands. Visitors can explore projects, repositories, skills, experience, posts, contact information, and resume metadata using ls, cd, cat, and tree.

Acceptance criteria

  • pwd prints the current virtual directory.
  • ls [path] lists generated files and directories, while ls --commands still exposes the command catalog.
  • cd [path] changes the prompt path and reports realistic filesystem errors.
  • cat [path] reads generated portfolio files and handles missing files/directories.
  • tree [path] renders a terminal-style directory tree.
  • Unit tests cover filesystem generation, path resolution, errors, and tab completion.

Verification

  • Pre-push hook ran npm run check successfully:
    • npm run lint
    • npm run format:check
    • npm run test:coverage (71 tests, branch coverage 85.13%)
    • npm run build
Open in Web View Automation 

Co-authored-by: Jakob Langtry <jjalangtry@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant