Frogie πΈ
A local-first home for your AI agents. Chat, tools, and sessions in one place.
Project goal
Work on local project directories through a web coding assistant, keeping conversations, tool execution, MCP tools and resumable sessions together.
Tech stack
- TypeScript / Bun β Service code, runtime and builds
- Hono / WebSocket β HTTP APIs and streaming conversation events
- Anthropic SDK β Model calls and the custom tool loop
- MCP TypeScript SDK β stdio connections and tool discovery
- SQLite / JSON β Settings, session indexes and conversation files
- React / Vite / Zustand β Web interface and client state
- Tailwind CSS / Radix UI β Styling and interactive components
- react-markdown / remark-gfm / rehype-highlight β Markdown and code highlighting
Brand & assets
For agents
Read the integration guide
# Frogie β project and identity
Page: https://hexly.ai/projects/frogie
Integrate Frogie using the Hexly single-project identity API.
GET https://hexly.ai/api/projects/nocoo/frogie
No authentication. Public CORS. Request exactly one GitHub owner/repository pair; include the owner in the path and preserve repository dots and hyphens. Owner and repository names are case-insensitive. Current projects belong to nocoo; never assume that owner for future integrations. No list, batch, search or query parameters. Do not fetch the full catalogue.
Example:
const response = await fetch("https://hexly.ai/api/projects/nocoo/frogie");
if (!response.ok) throw new Error(`Hexly API HTTP ${response.status}`);
const project = await response.json();
const title = project.title;
const description = project.description.en;
const github = project.github;
const icon = project.icons.small;
Expect a single JSON object: schemaVersion (1), id (Hexly slug), owner (GitHub user or organization), repo (GitHub repository name), title, description {en, zh}, emoji, category, archived, github, website (string or null), url (Hexly detail page), icons {small, large}, logos[], and brand {manifest, iconManifest, source, originalSha256}. Use owner/repo together as the integration key. Small/large icons are 64/512px. Each logo has id, url, width, height, format, background, role, usage and theme. URLs are absolute HTTPS CDN URLs; use the returned URLs unchanged and preserve aspect ratio with object-fit: contain. Use textContent or framework text bindings for text, not innerHTML.
Logo selection:
- Prefer icons.small for a 24β32px header/sidebar and icons.large for a larger project card. Active Hexly entries use the approved textured presentation: original family foreground colors and composition over a pale texture, with continuous corners already rendered. Do not add a CSS mask, tile or shadow. The manifest is brand.iconManifest when available; it records native dimensions, resampling and original source hashes.
- When an original transparent mark is explicitly required, select role="project-identity", background="transparent", usage="navigation". Prefer a PNG matching the required resolution (16/32px favicon; roughly 2x CSS size for high-DPI UI). Do not add a background tile, mask, shadow, crop or recolor the mark.
- Opaque presentation variants are intended for README artwork and platform icon masters. The ios-app-icon variant is an opaque 1024px square; iOS applies its own mask. Use usage="apple-touch-icon" for touch bookmarks. Rounded presentation variants have transparent corners with an opaque textured interior; they are not transparent foreground marks.
- role="hexly-campaign" is separately labelled artwork for Hexly-related presentation. It does not authorize replacing the product's own Logo, favicon, colors or UI. Check brand.manifest and its license/provenance before adopting campaign materials.
- background="original" preserves the source background; transparency is not guaranteed. Some projects only have original/emoji assets. Missing variants are unavailable: do not fabricate URLs or claim transparency. Use icons.small/large as supplied when no suitable transparent identity exists.
- Keep original geometry, colors, bytes, licenses and provenance. brand.originalSha256 verifies the original logo only, not its derivatives. Do not regenerate or upload new logos for this integration.
Cache successful metadata for at most one hour. Edge responses also cache for one hour; previously cached metadata may remain visible for up to one hour after deployment. Do not cache failures as project data. A 404 means unknown repository; 400 means invalid request; 405 means unsupported method; 503 means temporarily unavailable. Handle network failures, nullable website and archived projects explicitly. An entry is not proof of service health. No polling or credentials are needed.
Verify the integrated title, en description, GitHub destination, logo aspect ratio, light/dark contrast, mobile layout and failure state. Fetch current metadata rather than copying the preview as permanent configuration.
A local-first home for your AI agents. Chat, tools, and sessions in one place.
Project ID: frogie. Catalogue state: active. This is not a product release or health assertion.
Repository: https://github.com/nocoo/frogie
Website: not listed
Original project identity: https://h.no.mt/projects/frogie/identity/v1.0.0/frogie-2026-09-06-752fae79301d.png
Original SHA-256: 752fae79301d175093cc726313c470b4cef4b7b56d299d2e802a4a0f59e39a2b
Source: https://github.com/nocoo/frogie/blob/e965214c3efe99f4c4b459e6716e2014184dc32d/logo.png
Reuse the approved downloadable files. Preserve the original Logo geometry, proportions, colors and bytes. Hexly campaign styling belongs to this archive and Hexly promotional material; the product's own palette and UI remain independent.
Family artwork: https://h.no.mt/logos/family/frogie/2026-09-06-01/03/transparent.png
Family SHA-256: 752fae79301d175093cc726313c470b4cef4b7b56d299d2e802a4a0f59e39a2b
Recorded adoption state: adopted. Do not treat a review candidate as an adopted product identity.
The exact generation prompt is a historical source record. Read it for context; adopting the existing assets does not require running it again.
Use the current rounded presentation as delivered on Hexly pages. Original foreground geometry/colors are preserved. iOS and Apple touch files are opaque squares for platform masking. Native dimensions and resampling are recorded in the icon manifest; source-product adoption remains separate.
Brand kit: v1.0.0. Read its manifest roles and license records before choosing official identity versus Hexly campaign artwork. Verify the selected files against that manifest.
Current decorative surface: Lily margins, generated with gpt-image-2.5-flare. Reuse its approved PNG/WebP; it is separate from the original Logo. Display one complete canvas without repetition or cropping. Exact light/dark prompts and generation receipts are in the texture archive.
Texture pack v1.0.0 has its own version, independent of the identity kit and application. Existing kit textures remain historical. Keep the active pack's manifest and use its measured surface opacity 0.38 on a separate background layer; Logo and text stay fully opaque.
## Sources
- [Single-project identity API](https://hexly.ai/api/projects/nocoo/frogie)
- [Exact generation prompt](https://h.no.mt/logos/family/frogie/2026-09-06-01/03/prompt.txt)
- [Current textured icon manifest](https://h.no.mt/projects/frogie/icons/v1.0.0/manifest.json)
- [Brand asset manifest](https://h.no.mt/brands/frogie/v1.0.0/manifest.json)
- [light surface: original PNG](https://h.no.mt/projects/frogie/textures/v1.0.0/texture-light.png)
- [Exact light surface prompt](https://h.no.mt/projects/frogie/textures/v1.0.0/texture-light-prompt.txt)
- [dark surface: original PNG](https://h.no.mt/projects/frogie/textures/v1.0.0/texture-dark.png)
- [Exact dark surface prompt](https://h.no.mt/projects/frogie/textures/v1.0.0/texture-dark-prompt.txt)
- [Active texture manifest and hashes](https://h.no.mt/projects/frogie/textures/v1.0.0/manifest.json)
- [Texture usage and license](https://h.no.mt/projects/frogie/textures/v1.0.0/guide.md)
- [Project catalogue JSON](https://hexly.ai/data/projects.json)
- [Agent index](https://hexly.ai/llms.txt)
- [Published site version and revision](https://hexly.ai/api/live)