Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,9 @@
[![types](https://img.shields.io/badge/types-included-blue)](packages/larvadb/src/index.ts)
[![license](https://img.shields.io/badge/license-MIT-blue)](LICENSE)

**Current release: 2.7.0.** Real SQL (time series, upserts, JSON, multi-table joins, subqueries), atomic transactions, time travel, and a guaranteed exit path to SQLite *or* Postgres.
**Docs & live demo: [larvadb.dev](https://larvadb.dev)** — a landing page that queries its own database, the full docs, a public test lab, and the agent prompt at [larvadb.dev/llms.txt](https://larvadb.dev/llms.txt).

**Current release: 2.7.1.** Real SQL (time series, upserts, JSON, multi-table joins, subqueries), atomic transactions, time travel, and a guaranteed exit path to SQLite *or* Postgres.

## Sixty seconds to a database

Expand Down Expand Up @@ -203,7 +205,7 @@ const db = larva({

## Give this to your AI agent

Larva is built for apps where an agent writes the SQL. The prompt that teaches an agent the dialect, the guardrails, and the performance rules lives in **[docs/larva-for-agents.md](docs/larva-for-agents.md)** — paste its contents into your agent's instructions (CLAUDE.md, AGENTS.md, .cursorrules, a system prompt), or point the agent at a deployed test lab's **`/llms.txt`**, which serves the same file raw. The deployed lab's `/docs` page has a one-click copy button.
Larva is built for apps where an agent writes the SQL. The prompt that teaches an agent the dialect, the guardrails, and the performance rules lives in **[docs/larva-for-agents.md](docs/larva-for-agents.md)** — paste its contents into your agent's instructions (CLAUDE.md, AGENTS.md, .cursorrules, a system prompt), or point the agent at **[larvadb.dev/llms.txt](https://larvadb.dev/llms.txt)**, which serves the same file raw. The [docs site](https://larvadb.dev/docs) has a one-click copy button.

The short version of what it teaches:

Expand Down Expand Up @@ -313,7 +315,7 @@ bun run --cwd packages/larvadb build # build the npm package

## Try it in a browser

The repo doubles as a test lab — a Next.js dashboard with a SQL console over a seeded demo database (with Postgres/JSON/CSV export), a commit-protocol stress lab, and a `/docs` page that serves the agent prompt (raw at `/llms.txt`, with a copy button). [docs/test-lab.md](docs/test-lab.md) explains all of it. Deploy it to your own Vercel account:
The repo doubles as the site behind **[larvadb.dev](https://larvadb.dev)** — a landing page running live queries, a SQL console over a seeded demo database (with Postgres/JSON/CSV export), a commit-protocol stress lab, and docs that serve the agent prompt (raw at [/llms.txt](https://larvadb.dev/llms.txt), with a copy button). [docs/test-lab.md](docs/test-lab.md) explains all of it. Deploy it to your own Vercel account:

```bash
git clone https://github.com/pango07/larva-db && cd larva-db
Expand Down
14 changes: 14 additions & 0 deletions app/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,23 @@ const geistMono = Geist_Mono({
});

export const metadata: Metadata = {
metadataBase: new URL("https://larvadb.dev"),
title: "LarvaDB — a real SQL database, living in your object store",
description:
"Larva turns Vercel Blob, S3, or R2 into a durable SQL database with transactions, time travel, and a Postgres escape hatch. No server, no connection string — just a bucket.",
openGraph: {
title: "LarvaDB — a real SQL database, living in your object store",
description:
"Real SQL, atomic transactions, time travel, and a Postgres escape hatch — inside the bucket you already have.",
url: "https://larvadb.dev",
siteName: "LarvaDB",
images: [{ url: "/og.png", width: 1200, height: 630, alt: "larvadb" }],
type: "website",
},
twitter: {
card: "summary_large_image",
images: ["/og.png"],
},
};

export default function RootLayout({
Expand Down
4 changes: 2 additions & 2 deletions app/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -305,9 +305,9 @@ export default function Landing() {
<div className="border-hairline bg-background flex min-w-0 items-center gap-3 rounded-lg border py-2.5 pr-2 pl-4 font-mono text-sm">
<span className="text-accent select-none">$</span>
<span className="overflow-x-auto whitespace-nowrap">
curl larva-db.vercel.app/llms.txt
curl larvadb.dev/llms.txt
</span>
<CopyButton text="curl https://larva-db.vercel.app/llms.txt" />
<CopyButton text="curl https://larvadb.dev/llms.txt" />
</div>
</div>
</div>
Expand Down
2 changes: 1 addition & 1 deletion bun.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 3 additions & 2 deletions content/agents.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,9 @@ import { AgentPromptBlock } from "../app/_components/agent-prompt-block";
Larva is built for apps where an agent writes the SQL. This page holds the prompt that teaches an agent the dialect, the guardrails, and the performance rules — paste it into your agent's instructions (`CLAUDE.md`, `AGENTS.md`, `.cursorrules`, a system prompt).

<Callout type="info">
Agents can also fetch it directly: it's served raw at [`/llms.txt`](/llms.txt) on every deployed
test lab — one URL instead of a paste.
Agents can also fetch it directly: it's served raw at
[`larvadb.dev/llms.txt`](https://larvadb.dev/llms.txt) (and at `/llms.txt` on any deployed test
lab) — one URL instead of a paste.
</Callout>

## The prompt
Expand Down
5 changes: 3 additions & 2 deletions docs/larva-for-agents.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<!-- Paste this file into your agent's instructions (CLAUDE.md, AGENTS.md,
.cursorrules, a system prompt). It is also served at /llms.txt on any
deployed Larva test lab. Canonical source: docs/larva-for-agents.md -->
.cursorrules, a system prompt). It is also served raw at
https://larvadb.dev/llms.txt (and at /llms.txt on any deployed Larva
test lab). Canonical source: docs/larva-for-agents.md -->

# Working with LarvaDB (@larva-db/core)

Expand Down
5 changes: 4 additions & 1 deletion packages/larvadb/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@

Real SQL (time series, upserts, JSON, multi-table joins, subqueries), atomic transactions, time travel, and a guaranteed exit path to SQLite *or* Postgres.

**Docs & live demo: [larvadb.dev](https://larvadb.dev)** · agent prompt at [larvadb.dev/llms.txt](https://larvadb.dev/llms.txt)

## Sixty seconds to a database

```bash
Expand Down Expand Up @@ -275,7 +277,8 @@ import { runStress, runProperty } from "@larva-db/core/testing"; // unstable API

## Links

- [Repository](https://github.com/pango07/larva-db) — development, CI, and the browser test lab (SQL console + stress lab you can deploy)
- [Docs & live demo](https://larvadb.dev) — the docs, a live SQL console, the data viewer, and the stress lab
- [Repository](https://github.com/pango07/larva-db) — development, CI, and the site's source
- [Quickstart](https://github.com/pango07/larva-db/blob/main/LARVA-QUICKSTART.md)
- [Design of record](https://github.com/pango07/larva-db/blob/main/LARVA-DESIGN.md)
- [The agent prompt](https://github.com/pango07/larva-db/blob/main/docs/larva-for-agents.md)
Expand Down
3 changes: 2 additions & 1 deletion packages/larvadb/package.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
{
"name": "@larva-db/core",
"version": "2.7.0",
"version": "2.7.1",
"description": "A tiny SQL database that lives inside your Vercel Blob store. Real SQL, atomic transactions, time travel, and a guaranteed exit path when you outgrow it.",
"license": "MIT",
"homepage": "https://larvadb.dev",
"type": "module",
"publishConfig": {
"access": "public"
Expand Down
Binary file added public/og.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading