droplit
- Visibility
- public
- Deploys
- 3
- Build Number
- 1c783a51
- Updated
- Jun 24, 2026
Overview
droplit is a tiny single-domain hosting agent. Drop an HTML or markdown file,
or a whole folder, into the admin UI. On each upload Claude derives a short URL
slug (for example trip-itinerary), a page title, and a one-line description
from the contents. A single file becomes a page; a folder becomes a multi-file
site served at /<slug>/, with its index.html as the entry point and every
asset reachable beneath it. Markdown is converted to HTML at upload time and
wrapped in a minimal styled template.
The chat agent's only job is to help visitors discover what is hosted. It calls
the list_pages tool to fetch the current catalog and replies with the URL,
title, and one-line description for each entry.
Usage
Publishing pages and sites
Access to /admin is granted by email. The platform signs you in through its
OpenID Connect (OIDC) layer, and your verified email must appear in the
ADMIN_EMAILS allowlist. In local development there is no sign-in, so the admin
UI is open. Drag and drop files or a folder into the upload area:
- A single file (
.html,.htm,.md, or.markdown) becomes a page at/<slug>/. - A folder becomes a site. Its files are served at
/<slug>/<path>with the right content type, binary assets included. If the folder has noindex.html, a file listing is generated as the entry point.
For each upload Claude picks a kebab-case slug, a title, and a one-line
description. If a slug collides with an existing entry, a numeric suffix is
appended (my-page becomes my-page-2). Pages and sites are stored in Redis
and reachable immediately; changes propagate to the agent's in-process cache via
pub/sub with no restart. Existing entries can be deleted from the same view.
A bundled welcome page is seeded on first boot if Redis is empty.
Browsing
GET /<slug>/serves a page, or a site's entry document.GET /<slug>/<path>serves an asset inside a site; a trailing slash resolves to that directory'sindex.html.GET /<slug>redirects to/<slug>/so relative links resolve.- Unknown paths and missing assets return a styled 404 page.
- Reserved prefixes (
admin,api,healthz,static,assets,whoami) cannot be used as slugs.
Every route other than /admin is open to any visitor.
Asking the chat agent what is available
In any messaging adapter (web playground, Slack, and so on), ask the agent what
is hosted. For example, ask it "what pages are available here?" It calls
list_pages and replies with bulleted entries that include the path, title, and
description. It reports only pages that exist and does not invent them.
Inputs
| Input | Required | Description |
|---|---|---|
ADMIN_EMAILS | yes | Comma-separated admin emails allowed at /admin, matched case-insensitively against the OIDC email |
Limitations
- Admin access needs the platform identity. In production the
/admingate reads the verified email from the platform's OIDC token, soADMIN_EMAILSmust be set or no one can manage pages. There is no password fallback. - Per-file uploads are capped at 1 MiB. A dropped folder is additionally capped at 200 files and 20 MiB total, and is rejected as a whole if it exceeds either limit.
- Page and site content is served as-is. The admin uploads HTML and assets
directly and the host does not sanitize them, so add only people you trust to
ADMIN_EMAILS. - Multi-replica safe. Pages and site bundles live in Redis, so any replica can serve any entry, and the in-process metadata cache is refreshed via pub/sub.
- Visibility
- public
- Deploys
- 3
- Build Number
- 1c783a51
- Updated
- Jun 24, 2026