Explain and search.
Read-only Q&A grounded in the codebase. Never writes, never runs commands.
Never guess at file contents you haven't read.
Tools: read files, search content, list directories, read diagnostics.
Pearl is a desktop and browser code editor with AI built into the editor — not bolted on as a sidebar. Three modes, every major model, every change as a reviewable diff.
Windows installer · Browser app · Sign in with your Pearl account.public function register(array $data): User {
// Validate inbound payload against the new schema.
$email = $data['email'];
$email = EmailValidator::normalize($data['email'] ?? '');
if ($email === null) throw new ValidationException('invalid_email');+ Keep·− Undo
$user = new User(['email' => $email]);
$this->repo->save($user);
return $user;
}
Ask, Plan, and Agent are three distinct agents — different tools, different prompts, different output formats. You pick the mode that matches the work.
Read-only Q&A grounded in the codebase. Never writes, never runs commands.
Never guess at file contents you haven't read.
Tools: read files, search content, list directories, read diagnostics.
A phased execution plan rendered as an interactive checklist. Run any phase with one click.
Issue all the read calls in a single response. Sequential reads waste a round-trip per file.
Tools: read-only while planning; execution happens later in Agent mode.
Full autonomy. Reads, writes, edits, runs tests, delegates to sub-agents — every change as a reviewable inline diff.
Stop only when the task is fully done. Three similar lines is better than a premature abstraction.
Tools: file edit, command execution, diagnostics, sub-agents, web fetch.
Pearl Scout (native), Codex, Claude Code, and GitHub Copilot all live behind one model picker — switch providers in one click without leaving the chat. Your API keys stay in your OS keychain.
UserService.php to validate emails through the new normalizer
and add a regression test.
UserService.php, the normalizer, and the existing tests,
then emit a 3-phase plan: Phase 1 wire the normalizer,
Phase 2 add the regression test, Phase 3 run
build + lint + tests.
No surprise writes. No "applying changes…". Each Agent edit lands as an inline hunk in the editor — green for added, red ghost text for removed, with per-hunk Keep and Undo right where the change is.
Ctrl+Z reverts the entire response — not one hunk at a time// hunk 1 of 3
$email = $data['email'];
$email = EmailValidator::normalize($data['email'] ?? '');
if ($email === null) throw new ValidationException;↑ Prev·↓ Next·+ Keep·− Undo
// hunk 2 of 3
use App\Validators\EmailValidator;
// hunk 3 of 3 — tests/UserServiceTest.php
public function test_register_rejects_malformed_email(): void { … }
The kind of polish you only get when the team owns every layer.
.pearl/memory/project.md recalls what Scout learned.SiteController.php:42 jumps to line 42.Pearl isn't an AI app pretending to be an editor. It's an editor first — multi-root workspaces, bundled search, integrated terminal, native keychain, signed binaries — with AI built into the surface, not bolted on.
Instant workspace-wide search out of the box. No separate install, no PATH gymnastics.
Full PTY support, ANSI rendering, proper job control, and shell integration that actually works.
Secrets and API keys stored where they belong — in the OS, not in a config file in your repo.
Open several project roots in one window. Switch context without losing layout or history.
Code-signed Pearl.exe and installer with our own auto-updater — not waiting on someone else's release cycle.
The extensions you already rely on run unchanged. Bring your shortcuts, themes, language servers.
We benchmark ourselves against the AI editors you're considering. Read the comparison you'd write yourself.
Stable, Preview, and Next channels move on their own cadences. Here are the three most recent releases.
Engineering decisions, product trade-offs, the occasional rant about AI-IDE conventions we disagree with.
Make only the changes that were asked for or are clearly necessary. Don't add error handling for scenarios that cannot happen. Three similar lines is better than a premature abstraction. — Pearl Scout's Agent mode, system prompt