diff --git a/docs/site/content/docs/remote-servers.mdx b/docs/site/content/docs/remote-servers.mdx index e5aeced46fe..63f94e35af8 100644 --- a/docs/site/content/docs/remote-servers.mdx +++ b/docs/site/content/docs/remote-servers.mdx @@ -89,6 +89,11 @@ On the computer you want to use as the client: caption="On the client: name the server, paste its access link, and add it. The pairing code is redacted in this example." /> + + Adding a server saves it without forcing every new project onto it. Open **Advanced → Active Server** only when you want server-routed projects, terminals, provider checks, and browser or mobile handoff to use that server by default. ## Use the remote server diff --git a/docs/site/content/docs/review/annotate-ai-diff.mdx b/docs/site/content/docs/review/annotate-ai-diff.mdx index e1a406e3e6c..6ac3fe4e6a1 100644 --- a/docs/site/content/docs/review/annotate-ai-diff.mdx +++ b/docs/site/content/docs/review/annotate-ai-diff.mdx @@ -2,8 +2,12 @@ title: Annotate AI Diff --- +import { ImagePlaceholder } from '@/components/docs/prose'; + Annotate AI Diff is Orca's inline review loop for agent-generated code. You leave comments on any line of any AI-generated hunk, then send them back to the agent as a single batch for revision — no copying line numbers, no context-switching. + + ## Leave a comment 1. Hover any line in the diff. A **+** appears in the gutter. diff --git a/docs/site/content/docs/ways-to-run.mdx b/docs/site/content/docs/ways-to-run.mdx index 7c8e9bbd1c1..1a9c44ba1d1 100644 --- a/docs/site/content/docs/ways-to-run.mdx +++ b/docs/site/content/docs/ways-to-run.mdx @@ -82,6 +82,11 @@ Providers people wire today include Vercel Sandbox, Fly, Modal, plain SSH hosts, caption="Settings → Experimental → Cloud VM — enable the skill, then have an agent set up a recipe for the repo." /> + + **Good fit when:** you want clean isolation per task, disposable compute, or a standard environment every agent boots into. **Setup sketch:** diff --git a/docs/site/public/docs/annotate-ai-diff.gif b/docs/site/public/docs/annotate-ai-diff.gif new file mode 100644 index 00000000000..015d63c849b Binary files /dev/null and b/docs/site/public/docs/annotate-ai-diff.gif differ diff --git a/docs/site/public/docs/posters/annotate-ai-diff.jpg b/docs/site/public/docs/posters/annotate-ai-diff.jpg new file mode 100644 index 00000000000..fae7fc7ac1a Binary files /dev/null and b/docs/site/public/docs/posters/annotate-ai-diff.jpg differ diff --git a/docs/site/public/docs/posters/file-drag.jpg b/docs/site/public/docs/posters/file-drag.jpg new file mode 100644 index 00000000000..6c28a080571 Binary files /dev/null and b/docs/site/public/docs/posters/file-drag.jpg differ diff --git a/docs/site/public/docs/posters/orca-split-screen.jpg b/docs/site/public/docs/posters/orca-split-screen.jpg new file mode 100644 index 00000000000..467bb382b85 Binary files /dev/null and b/docs/site/public/docs/posters/orca-split-screen.jpg differ diff --git a/docs/site/public/docs/remote-server-share-desktop.png b/docs/site/public/docs/remote-server-share-desktop.png new file mode 100644 index 00000000000..1453d01df6a Binary files /dev/null and b/docs/site/public/docs/remote-server-share-desktop.png differ diff --git a/docs/site/public/docs/ways-to-run-local-sidebar.png b/docs/site/public/docs/ways-to-run-local-sidebar.png new file mode 100644 index 00000000000..8a748e4a1ad Binary files /dev/null and b/docs/site/public/docs/ways-to-run-local-sidebar.png differ diff --git a/docs/site/public/docs/ways-to-run-run-on.png b/docs/site/public/docs/ways-to-run-run-on.png new file mode 100644 index 00000000000..e406171a169 Binary files /dev/null and b/docs/site/public/docs/ways-to-run-run-on.png differ diff --git a/docs/site/src/app/docs/sitemap.ts b/docs/site/src/app/docs/sitemap.ts new file mode 100644 index 00000000000..9c0b53561b1 --- /dev/null +++ b/docs/site/src/app/docs/sitemap.ts @@ -0,0 +1,13 @@ +import type { MetadataRoute } from 'next' +import { source } from '@/lib/source' + +const siteUrl = 'https://www.onorca.dev' + +export default function sitemap(): MetadataRoute.Sitemap { + return source.getPages().map((page) => ({ + url: `${siteUrl}${page.url}`, + lastModified: new Date(), + changeFrequency: 'weekly', + priority: page.url === '/docs' ? 0.9 : 0.7 + })) +} diff --git a/docs/site/src/app/layout.tsx b/docs/site/src/app/layout.tsx index b89f8a15f84..5aa94fb9a7e 100644 --- a/docs/site/src/app/layout.tsx +++ b/docs/site/src/app/layout.tsx @@ -44,7 +44,9 @@ export default function RootLayout({ return ( - {children} + + {children} + ) diff --git a/docs/site/src/components/layout/DocsFooter.tsx b/docs/site/src/components/layout/DocsFooter.tsx index c1f52c4029c..e8aed683f5e 100644 --- a/docs/site/src/components/layout/DocsFooter.tsx +++ b/docs/site/src/components/layout/DocsFooter.tsx @@ -62,6 +62,16 @@ export function DocsFooter() { Discord +
  • + + X + +
  • diff --git a/docs/site/src/components/layout/DocsHeader.tsx b/docs/site/src/components/layout/DocsHeader.tsx index 71ef6f58f57..b4cd54b488f 100644 --- a/docs/site/src/components/layout/DocsHeader.tsx +++ b/docs/site/src/components/layout/DocsHeader.tsx @@ -1,9 +1,32 @@ import Link from 'next/link' import Image from 'next/image' -import { GitBranch, MessageCircle, X } from 'lucide-react' +import { MessageCircle, Star } from 'lucide-react' import { ThemeSwitch } from 'fumadocs-ui/layouts/shared/slots/theme-switch' -export function DocsHeader() { +async function getGithubStars(): Promise { + try { + const response = await fetch('https://api.github.com/repos/stablyai/orca', { + headers: { Accept: 'application/vnd.github+json' }, + next: { revalidate: 3600 } + }) + if (!response.ok) { + return undefined + } + const payload = (await response.json()) as { stargazers_count?: unknown } + return typeof payload.stargazers_count === 'number' ? payload.stargazers_count : undefined + } catch { + return undefined + } +} + +function formatStars(stars: number): string { + return stars >= 1000 ? `${(stars / 1000).toFixed(1).replace(/\.0$/, '')}k` : String(stars) +} + +export async function DocsHeader() { + const stars = await getGithubStars() + const formattedStars = stars === undefined ? undefined : formatStars(stars) + return (
    @@ -61,7 +84,9 @@ export function DocsHeader() { className="hidden size-8 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/50 sm:flex" aria-label="Follow Orca on X" > -