SPB Git

spb/khaelor Public

KHAELOR — a terminal-native autonomous engineering agent powered by Anthropic.

TypeScript 82.9% HTML 14.9% CSS 1.1% JavaScript 0.7%
8.5 KB · 166 lines html
Raw Blame History
1<!doctype html>2<!--3KHAELOR4File: website/public/index.html5Description: KHAELOR documentation site — landing page: what KHAELOR is, install, features, demo.6Author: Simon-Pierre Boucher7Contact: contact@spboucher.ai8-->9<html lang="en">10<head>11<meta charset="utf-8">12<meta name="viewport" content="width=device-width, initial-scale=1">13<title>KHAELOR — a terminal-native autonomous engineering agent</title>14<meta name="description" content="KHAELOR is a terminal-native autonomous engineering agent powered by Anthropic. Install with one command: curl -fsSL https://www.khaelor.sh/install.sh | sh">15<link rel="stylesheet" href="/styles.css">16<script>17(function(){try{var t=localStorage.getItem("khaelor-theme");if(!t&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: light)").matches)t="light";if(t==="light")document.documentElement.setAttribute("data-theme","light");}catch(e){}})();18</script>19<script defer src="/site.js"></script>20</head>21<body>2223<header class="site-header"><div class="inner">24  <a class="wordmark" href="/"><span class="glyph">&#10095;</span>KHAELOR</a>25  <nav>26    <a href="/docs/getting-started.html">Docs</a>27    <a href="/#install">Install</a>28    <button id="theme-toggle" type="button" aria-label="Toggle color theme">light</button>29  </nav>30</div></header>3132<main class="page">3334  <section class="hero">35    <div class="kicker">TERMINAL-NATIVE &middot; POWERED BY ANTHROPIC</div>36    <h1>An autonomous engineering agent that treats your terminal as the product.</h1>37    <p class="tagline">38      KHAELOR reads, searches, edits, runs, and verifies code in your repository —39      streaming every action into a calm, fast, keyboard-native interface.40      No web UI. No Electron. Just your terminal, done properly.41    </p>4243    <div class="install-line" id="install">44      <span class="prompt">$</span>45      <code>curl -fsSL https://www.khaelor.sh/install.sh | sh</code>46      <button type="button" aria-label="Copy install command">copy</button>47    </div>4849    <div class="cta-row">50      <a href="/docs/getting-started.html">Getting started &rarr;</a>51      <a href="/docs/usage.html">The TUI in depth &rarr;</a>52    </div>5354    <div class="principle">Understand first. Design second. Implement third.</div>55  </section>5657  <div class="section-title">What it feels like</div>5859  <pre class="term" data-no-copy><code> <span class="t-b">KHAELOR</span>60 <span class="t-dim">~/dev/my-project &middot; main</span>61 <span class="t-dim">claude-sonnet-4-5 &middot; thinking adaptive</span>62<span class="t-dim">────────────────────────────────────────────────────</span>63 What do you want to build?64 <span class="t-accent">&#10095;</span> add retry logic to the session store6566 <span class="t-dim">&#9656;</span> Read <span class="t-b">src/session/store.ts</span> <span class="t-dim">&middot; 212 lines</span>67 <span class="t-dim">&#9656;</span> Search <span class="t-b">"retry"</span> <span class="t-dim">&middot; 6 matches</span>6869 I found the failure point in SessionStore.append — writes70 are not retried on transient EAGAIN. Fixing that first.7172 <span class="t-dim">&#9656;</span> Edit <span class="t-b">src/session/store.ts</span> <span class="t-dim">&middot; +31 −12</span>73 <span class="t-dim">&#9656;</span> Run <span class="t-b">npm test</span> <span class="t-dim">&middot;</span> <span class="t-ok">passed</span> <span class="t-dim">&middot; 4.2s</span>7475 <span class="t-ok">&#10003;</span> src/session/store.ts  <span class="t-ok">+31</span> <span class="t-err">−12</span>        <span class="t-dim">d expand diff</span>7677 <span class="t-accent">&#10095;</span> _78 <span class="t-dim">main +1 −0  │  claude-sonnet-4-5  │  context 24%  │  $0.31</span></code></pre>7980  <div class="section-title">Why KHAELOR</div>8182  <div class="features">83    <div class="feature">84      <span class="glyph">&#10095;_</span>85      <h3>The terminal is the product</h3>86      <p>Print-once scrollback, a bounded flicker-free live region, sub-16&nbsp;ms input echo. Native selection and copy always work — nothing repaints behind your back.</p>87    </div>88    <div class="feature">89      <span class="glyph">&#9654;&#9654;</span>90      <h3>First-class streaming</h3>91      <p>Everything is event-driven — model text, tool calls, process output — coalesced into smooth 16&nbsp;ms frames. No spinners pretending to be progress.</p>92    </div>93    <div class="feature">94      <span class="glyph">7</span>95      <h3>Seven powerful tools</h3>96      <p><code>read</code> &middot; <code>write</code> &middot; <code>edit</code> (9-strategy replacer) &middot; <code>grep</code> &middot; <code>glob</code> &middot; <code>bash</code> &middot; <code>process</code> — a real background process manager, not blocking shells.</p>97    </div>98    <div class="feature">99      <span class="glyph">&#9679;&#9675;</span>100      <h3>Background processes</h3>101      <p>Start a dev server, keep editing, read its output later, run tests alongside. Long commands migrate to the background instead of hanging the agent.</p>102    </div>103    <div class="feature">104      <span class="glyph">&#8942;</span>105      <h3>Capability-based permissions</h3>106      <p>Allow / ask / deny by capability — never opaque tool names. Approve once with <kbd>Enter</kbd>, persist a precise grant with <kbd>A</kbd>, deny with <kbd>Esc</kbd>.</p>107    </div>108    <div class="feature">109      <span class="glyph">&#8635;</span>110      <h3>Persistent sessions</h3>111      <p>Every session is an append-only event log. Resume is replay: your transcript, cost, file state, and even pending permission prompts survive restarts.</p>112    </div>113    <div class="feature">114      <span class="glyph">%</span>115      <h3>Honest numbers</h3>116      <p>Token usage, cost, and context pressure come from real API metadata — never estimates, never invented progress bars. If pricing is unknown, it says <code>n/a</code>.</p>117    </div>118    <div class="feature">119      <span class="glyph">&#8853;</span>120      <h3>Context engine</h3>121      <p>Token-pressure-aware compaction with structured checkpoints. Inspect exactly what the model sees with <code>/context</code>; compact on demand with <code>/compact</code>.</p>122    </div>123    <div class="feature">124      <span class="glyph">&#9998;</span>125      <h3>Steer while it works</h3>126      <p>Type while the agent runs — messages queue and inject safely at tool boundaries. <kbd>Esc</kbd> interrupts instantly without corrupting the session.</p>127    </div>128  </div>129130  <div class="section-title">Install</div>131132  <p>One line (checks Node&nbsp;&ge;&nbsp;22, installs the CLI globally, verifies it):</p>133  <pre><code>curl -fsSL https://www.khaelor.sh/install.sh | sh</code></pre>134135  <p>Or install the tarball directly with npm:</p>136  <pre><code>npm install -g https://www.khaelor.sh/khaelor.tgz</code></pre>137138  <p>Then set your Anthropic API key and start it inside any project:</p>139  <pre><code>export ANTHROPIC_API_KEY=sk-ant-...140khaelor</code></pre>141142  <p>Full walkthrough: <a href="/docs/getting-started.html">Getting started</a>.</p>143144  <div class="section-title">Documentation</div>145146  <table>147    <tr><td><a href="/docs/getting-started.html">Getting started</a></td><td class="wrap">Install, API key setup, your first session.</td></tr>148    <tr><td><a href="/docs/usage.html">The TUI</a></td><td class="wrap">Composer, file mentions, shell mode, interruption, steering.</td></tr>149    <tr><td><a href="/docs/commands.html">Commands &amp; keyboard</a></td><td class="wrap">Every slash command, the <kbd>Ctrl+K</kbd> palette, the complete key reference.</td></tr>150    <tr><td><a href="/docs/tools.html">Tools</a></td><td class="wrap">What the agent can do: the seven tools, truncation, background processes.</td></tr>151    <tr><td><a href="/docs/permissions.html">Permissions</a></td><td class="wrap">Capabilities, allow/ask/deny, the permission panel, persisted grants.</td></tr>152    <tr><td><a href="/docs/configuration.html">Configuration</a></td><td class="wrap">Config files, precedence, model selection, thinking and output budget.</td></tr>153    <tr><td><a href="/docs/sessions.html">Sessions</a></td><td class="wrap">Persistence, resume, the event log, cost tracking.</td></tr>154    <tr><td><a href="/docs/faq.html">FAQ</a></td><td class="wrap">Troubleshooting: keys, terminals, NO_COLOR, logs.</td></tr>155  </table>156157</main>158159<footer class="site-footer"><div class="inner">160  <span>KHAELOR — Simon-Pierre Boucher &middot; <a href="mailto:contact@spboucher.ai">contact@spboucher.ai</a></span>161  <span>Anthropic-powered &middot; terminal-native by design</span>162</div></footer>163164</body>165</html>166