Skip to content

LissaGreense/URL-Cheat-Sheet

Repository files navigation

image

URL Cheat Sheet

Paste a URL, then chat with an agent that has actually read the page.

Instead of skimming a long article, RFC, or doc yourself, drop in its URL and just ask. The agent reads the page for you and answers grounded in the actual content — and every answer cites the source lines it used, so you can verify it rather than take it on faith. Useful for getting the gist of a dense page, pulling specific facts out of a wall of text, or interrogating documentation without reading it end to end.

How it works

  1. Paste a URL. The server fetches the page and extracts its readable content: an SSRF-guarded fetch, a prompt-injection scan (vard), and Readability parsing that strips nav/ads/boilerplate down to clean text plus a heading outline. If a page can't be fetched, is too large, or trips the safety scan, you get a clear status (extractingflagged / extract-error) rather than a silent failure.
  2. The page becomes the agent's memory. The extracted document is the only thing the agent can see — answers come from the page, not the model's prior knowledge.
  3. Ask questions. Chat streams answers from Claude. Under the hood the agent works through the document with four tools — outline it, search it, read specific line ranges — then finalizes a reply with citations back to the source lines. Long sessions stay anchored to what the page actually says.

Chatting uses your own Anthropic API key (see Bring your own key).

image

Agent tools (packages/agent/src/tools/):

  • outline — heading structure with line numbers; call first to see what's covered.
  • grep_doc — case-insensitive substring search with surrounding context; supports OR-union for synonym exploration.
  • read_lines — up to 200 lines of raw text by 1-based range.
  • finalize — client-side sentinel; the model emits it to end its turn with a non-empty answer + citations.

API routes (apps/web/src/routes/api/):

  • POST /api/extract — fetch + SSRF guard + vard scan + Readability; returns typed ExtractResponse (text, title, sourceUrl, headings, byteSize, scan) or typed ExtractError.
  • POST /api/chat — streaming chat via Vercel AI SDK v6.
  • GET /api/health — liveness.

Bring your own key

Chatting needs an Anthropic API key — paste it into the settings (⚙) drawer. The key is held in memory only (never localStorage, disk, or any other store) and is sent with the chat request for that turn; close or restore the tab and it's gone. See the spec at docs/specs/2026-05-20-byo-anthropic-key.md. Extraction (/api/extract) needs no key — only the chat does.

Quick start

bun install
bash scripts/setup-git-hooks.sh   # one-shot: wire pre-push hook (blocks push-to-main)
bash scripts/setup-bd.sh          # one-shot: provision custom bd statuses for the agentic workflow
bun run dev                       # SvelteKit on http://localhost:5173

Run all CI checks locally

bun run typecheck && bun run lint && bun run test && bun run build

Layout

  • apps/web/ — SvelteKit app (Vercel target). State-machine UI at /; api/{chat,extract,health} routes.
  • packages/agent/ — 4-tool agent (outline, grep_doc, read_lines, finalize), URL extract pipeline (url/{fetch,sanitize,ssrf,extract}.ts), system prompt, streamChat entry.
  • packages/schemas/ — shared Zod schemas (chat request, message, extract request/response, QA case).
  • packages/evals/ — promptfoo runner + suites. Canary suite under suites/canary/.
  • packages/qa/ — QA case loader (parseCase validates QA cases against the schema).
  • docs/ — specs, plans, reviews, QA, evals, ADRs (see docs/README.md).
  • scripts/ — one-shot setup (setup-git-hooks.sh, setup-bd.sh) plus orchestrator helpers (render-pr-body.sh, bd-pr-audit.sh, session-prime.sh).
  • .claude/ — vendored superpowers, project skills, team specs.
  • .beads/ — task DB (bd v1.x: worktree-safe by default, no flags needed).

For agents

Read CLAUDE.md and invoke the using-this-repo skill first.

Stack

Bun 1.3, TypeScript 6, SvelteKit 2.60 (Svelte 5 runes), Vite 8 + Rolldown, Vitest 4, Vercel AI SDK v6, Zod 4, promptfoo. ESLint 9 + Prettier 3.8. Deploy: Vercel with adapter-vercel experimental_bun1.x runtime.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors