Skip to content

Add read-only virtual terminal filesystem - #26

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

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

Conversation

@cursor

@cursor cursor Bot commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

Issue

Title

Add portfolio-backed filesystem commands to the terminal

Problem

The site is moving toward terminal emulation, but pwd was fixed to /home/guest, cd did not maintain real state, and ls only listed commands. Visitors could not browse portfolio content with familiar shell filesystem commands.

Proposed improvement

Generate a read-only virtual /home/guest filesystem from the existing JSON data and wire shell-like commands into the terminal runtime.

Acceptance criteria

  • pwd reflects the current virtual directory.
  • ls [path] lists virtual files and directories, while ls --commands preserves command discovery.
  • cd [path] supports relative paths, absolute paths, ~, ., and ...
  • cat [path] prints generated portfolio files.
  • tree [path] renders a bounded directory tree.
  • Unit tests cover path normalization, generated content, directory/file errors, duplicate filenames, and tree output.

Changes

  • Added virtual filesystem helpers in src/lib/terminal/index.js.
  • Added cat and tree commands plus path-aware pwd, cd, and ls behavior in src/scripts/terminal.js.
  • Updated help/man text and README documentation for filesystem commands.
  • Added focused Vitest coverage for filesystem generation and edge cases.

Validation

  • Pre-push npm run check passed: lint, format check, 70 unit tests with 85.56% branch coverage, and Astro build.
Open in Web View Automation 

cursoragent and others added 2 commits June 1, 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