-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
89 lines (88 loc) · 5.21 KB
/
Copy pathindex.html
File metadata and controls
89 lines (88 loc) · 5.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Overview · polycode docs</title>
<style>
:root { --fg:#1c2128; --muted:#656d76; --bg:#fff; --side:#f6f8fa; --bd:#d0d7de; --link:#0969da; --code:#f6f8fa; }
* { box-sizing: border-box; }
body { margin:0; font:16px/1.6 -apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif; color:var(--fg); background:var(--bg); }
.wrap { display:flex; min-height:100vh; }
nav { width:260px; flex:0 0 260px; background:var(--side); border-right:1px solid var(--bd); padding:24px 18px; }
nav h1 { font-size:18px; margin:0 0 14px; }
nav a { display:block; padding:6px 10px; border-radius:6px; color:var(--fg); text-decoration:none; font-size:14px; }
nav a:hover { background:#eaeef2; }
nav a.active { background:#ddf4ff; color:var(--link); font-weight:600; }
main { flex:1; padding:40px 48px; max-width:860px; }
a { color:var(--link); text-decoration:none; }
a:hover { text-decoration:underline; }
h1,h2,h3 { line-height:1.25; }
h1 { border-bottom:1px solid var(--bd); padding-bottom:.3em; }
h2 { border-bottom:1px solid var(--bd); padding-bottom:.3em; margin-top:2em; }
code { background:var(--code); padding:.15em .4em; border-radius:6px; font-size:85%; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; }
pre { background:var(--code); padding:16px; border-radius:8px; overflow:auto; }
pre code { background:none; padding:0; }
table { border-collapse:collapse; width:100%; margin:1em 0; display:block; overflow-x:auto; }
th,td { border:1px solid var(--bd); padding:6px 12px; text-align:left; }
th { background:var(--side); }
blockquote { margin:1em 0; padding:.2em 1em; color:var(--muted); border-left:4px solid var(--bd); }
footer { color:var(--muted); font-size:13px; margin-top:48px; border-top:1px solid var(--bd); padding-top:16px; }
</style>
</head>
<body>
<div class="wrap">
<nav><h1>polycode docs</h1><a href="index.html" class="active">Overview</a>
<a href="architecture.html">Architecture</a>
<a href="graph.html">Agent graphs</a>
<a href="getting-started.html">Getting Started</a>
<a href="configuration.html">Configuration</a>
<a href="providers.html">Providers & Models</a>
<a href="security.html">Security & Keys</a>
<a href="cli.html">CLI Reference</a>
<a href="packages.html">Packages</a>
<a href="deploy.html">Build & Deploy</a>
<a href="roadmap.html">Roadmap</a>
<a href="continuity.html">Continuity / Handoff</a>
<a href="FORgasan.html">FORgasan</a>
<a href="beta-survey.html">beta-survey</a>
<a href="beta-test.html">beta-test</a>
<a href="buildout-plan.html">buildout-plan</a>
<a href="demo-script.html">demo-script</a></nav>
<main>
<h1>polycode documentation</h1>
<p>A terminal coding agent with a Claude Code–style interface, built <strong>provider-agnostic</strong>:
one agent engine drives <strong>OpenAI</strong>, <strong>Google Gemini</strong>, and <strong>xAI (Grok)</strong> — with runtime
model switching, smart routing, a secure first-run key setup, and an optional hosted
server mode.</p>
<blockquote>
<p><strong>Status:</strong> working scaffold. Architecture, types, agent loop, providers, tools, secure
key store, Ink TUI, and an HTTP+SSE server are wired end-to-end and typecheck clean.
A live end-to-end provider call (the "smoke test") is the next verification step.</p>
</blockquote>
<h2>Contents</h2>
<ul>
<li><a href="architecture.html">Architecture</a> — layers, the canonical model, and the agent loop</li>
<li><a href="graph.html">Agent graphs</a> — LangGraph-shaped state machines on the polycode loop (no LangChain)</li>
<li><a href="getting-started.html">Getting Started</a> — prerequisites, install, first run, smoke test</li>
<li><a href="configuration.html">Configuration</a> — config file, tiers, env precedence</li>
<li><a href="providers.html">Providers & Models</a> — OpenAI/Gemini/xAI, current model IDs, adding a provider</li>
<li><a href="security.html">Security & Keys</a> — secure key store, permission modes, sandboxing</li>
<li><a href="cli.html">CLI Reference</a> — flags and slash commands</li>
<li><a href="packages.html">Packages</a> — per-package reference</li>
<li><a href="deploy.html">Build & Deploy</a> — bundle, publish, Docker server image</li>
<li><a href="continuity.html">Continuity / Handoff</a> — current state, decisions, gotchas, next steps</li>
</ul>
<h2>One-paragraph summary</h2>
<p><code>polycode</code> is a pnpm monorepo (TypeScript). The <strong>agent loop, tools, permission engine,
and UI only ever see canonical types</strong> — every provider quirk (message shapes, tool-call
formats, stop reasons, reasoning channels) is normalized inside a thin adapter over the
Vercel AI SDK. That seam is what makes "multiple API models" tractable. Keys are captured
on first run via a masked prompt and stored in the OS keychain. The same engine runs
locally in an Ink TUI or behind an HTTP+SSE server.</p>
<p>Repo: <a href="https://github.com/gasantiago16/polycode"><code>gasantiago16/polycode</code></a> (public, experimental alpha).</p>
<footer>Generated from <code>docs/*.md</code> by <code>scripts/build-docs.ts</code> — run <code>corepack pnpm docs</code> to refresh.</footer>
</main>
</div>
</body>
</html>