Elyra
Elyra The coding agent eTerm The terminal that knows where each command ends Huskarl AI colleagues on your own Mac Starf An activity monitor for Apple silicon that never invents a number etrans An SSH and SFTP client for macOS Elyra VM Virtual machines for macOS, Linux and Windows on your Mac Litr A small, native web browser for macOS Notr A notebook for macOS e The native code editor Elyra Grove Native local development environment Askr The real server for Laravel & PHP Elyra Framework Rust + Svelte 5 framework for desktop apps Elyra Conductor Local project conductor Refr Local-first PDF workspace for macOS Elyra Workspace A desktop workspace for coding agents Elyra SQL Server MySQL-compatible SQL server in Rust Elyra Félagi Agents as teammates on one board Elyra SQL Client Native desktop SQL workbench Elyra SQL Anywhere Replication-ready SQL engine Elyra Sjá SEO & GEO workspace for macOS Elyra DataGrid Server-driven data grid for Laravel
Release notes
Changelog
Elyra
Tasks & tests

Tasks & tests

e detects runnable tasks from your project and runs them in the integrated terminal.

Run a task (⌘⇧B)

Opens the task palette with everything it found:

  • npm / yarn / pnpm / bun scripts (from package.json, picking the right package manager from the lockfile)
  • Composer scripts (composer.json)
  • Cargo — test, build, run, check, clippy, fmt
  • Go — go test ./..., go build ./...
  • Laravel — artisan test / serve / migrate / tinker
  • Pest / PHPUnit
  • Makefile targets

Pick one (type to filter, arrows + Enter, or click) and it runs in a new, named terminal tab so you can watch the output.

Run tests

The Run Tests command (⌘⇧P → Run Tests) runs the project's primary test command — php artisan test, pest, phpunit, cargo test, go test ./..., or npm test, depending on what it detects.

Grove

When Grove is installed, a Laravel project also gets grove: dev start / grove: dev stop (the site's Vite server, queue worker and whatever the app declares via DevCommands), and — for a MySQL or PostgreSQL database — artisan: migrate (snapshot first), which takes a grove db snapshot before running the migration so a bad one is one grove db restore from undone, plus grove: db snapshot on its own.