indra 0.8.0

Run, watch and orchestrate AI coding agents (Claude Code, Codex, Gemini, Ollama) across machines: a web console, workflows with conditions and loops, boards, an MCP server and graph memory, in one binary.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>indra terminals</title>
<link rel="icon" href="/favicon.svg" type="image/svg+xml">
<link rel="stylesheet" href="/vendor/xterm.css">
<link rel="stylesheet" href="/style.css">
<link rel="preload" href="/vendor/symbols-nerd-font-mono.woff2" as="font" type="font/woff2" crossorigin>
</head>
<body class="termpage">
<header class="termbar">
  <a class="brand" href="/#/terminal" title="Back to the console"><img src="/favicon.svg" alt="" width="20" height="20"><span>indra</span></a>
  <div id="tabs" class="termtabs" role="tablist" aria-label="Terminals"></div>
  <button id="new" type="button" class="ghost" aria-haspopup="true" aria-expanded="false" title="New terminal">+ New</button>
</header>
<form id="newform" class="termnew card" hidden>
  <label>Open <select id="nwhat" aria-label="What to open"><option value="shell">a shell</option><option value="claude">Claude Code</option></select></label>
  <label id="nshellbox">with <select id="nshell" aria-label="Shell"></select></label>
  <label>in <select id="ntarget" aria-label="Directory"></select></label>
  <label id="nprofilebox" hidden>with <select id="nprofile" aria-label="Profile"></select></label>
  <button type="submit" class="primary">Open</button>
  <button type="button" id="ncancel" class="ghost">Cancel</button>
</form>
<div id="panes" class="termpanes"></div>
<div id="none" class="termnone" hidden>
  <p>No terminals open.</p>
  <button type="button" id="none-new" class="primary">Open a terminal</button>
</div>
<script src="/vendor/xterm.js"></script>
<script src="/vendor/addon-fit.js"></script>
<script src="/term.js"></script>
</body>
</html>