Skip to content

Add read-only terminal virtual filesystem - #32

Draft
cursor[bot] wants to merge 2 commits into
mainfrom
cursor/terminal-emulation-feature-263c
Draft

Add read-only terminal virtual filesystem#32
cursor[bot] wants to merge 2 commits into
mainfrom
cursor/terminal-emulation-feature-263c

Conversation

@cursor

@cursor cursor Bot commented Jun 7, 2026

Copy link
Copy Markdown
Contributor

Issue

Title

Add a read-only portfolio filesystem to the terminal emulator

Problem

The terminal help advertised shell-like commands such as pwd and cd, but the implementation was mostly stubbed: pwd always returned /home/guest, cd rejected every real path, and ls only listed commands. This limited the site's stated goal of terminal emulation.

Proposed improvement

Implement a generated, read-only /home/guest virtual filesystem backed by existing portfolio JSON data. Users should be able to navigate and inspect portfolio content using familiar shell commands.

Acceptance criteria

  • pwd prints the current virtual working directory.
  • cd [path], cd ~, cd .., and cd - update the current directory and prompt path.
  • ls [-la] [path] lists generated files/directories, while ls --commands preserves the command catalog.
  • cat [file] reads generated portfolio files.
  • Path tab completion works for cd, ls, and cat.
  • README/help/man text documents the feature.
  • Unit tests cover path resolution, listing, reading, completions, and edge cases.

Summary

  • Added a pure virtual filesystem helper layer in src/lib/terminal/index.js generated from projects, repos, skills, experience, posts, and site config.
  • Wired the browser runtime to track current/previous directories, update prompts, support pwd, cd, ls, cat, and path completion.
  • Replaced the duplicated runtime command list with the shared exported COMMAND_LIST and documented filesystem usage in help/man pages and README.

Testing

  • Pre-push pnpm check passed: lint, Prettier format check, Vitest coverage, and Astro production build.
  • Vitest: 70 tests passed; branch coverage 83.05% (threshold 83%).
  • Manual browser walkthrough recorded: /opt/cursor/artifacts/terminal_virtual_filesystem_walkthrough.mp4 showing pwd, ls, cd projects, prompt path updates, cat link-converter.txt, cat contact.txt, and ls --commands.
Open in Web View Automation 

cursoragent and others added 2 commits June 7, 2026 12:07
Co-authored-by: Jakob Langtry <jjalangtry@users.noreply.github.com>
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