Skip to content

Add persistent terminal aliases - #31

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

Add persistent terminal aliases#31
cursor[bot] wants to merge 1 commit into
mainfrom
cursor/terminal-emulation-feature-ae81

Conversation

@cursor

@cursor cursor Bot commented Jun 6, 2026

Copy link
Copy Markdown
Contributor

Issue

The terminal UI listed alias as a command, but it only printed a static placeholder and did not emulate real shell alias behavior. This limited the site's goal of becoming a richer terminal-emulation experience.

Improvement

Add persistent shell-style aliases that users can create, inspect, execute, and remove directly in the portfolio terminal.

Changes

  • Added alias name='command', alias, alias <name>, unalias <name>, and unalias -a behavior backed by localStorage.
  • Expanded aliases before command execution, including aliases used inside pipelines and aliases that preserve trailing arguments.
  • Added alias-aware which output and tab completion.
  • Documented alias emulation in README.md and built-in man alias / man unalias help.
  • Added unit coverage for alias parsing, formatting, quoting, pipeline expansion, argument preservation, and loop detection.

Verification

  • pnpm check passed during pre-push: lint, format check, coverage tests, and Astro build.
  • Manual browser walkthrough passed on http://localhost:4321/: create/list/run aliases, alias pipeline (h | grep weather), which h, remove aliases, and confirm empty alias list.
  • Walkthrough artifact: <video src="/artifacts/persistent_terminal_aliases_walkthrough.mp4" controls></video>
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