← ClaudeAtlas

brewdocpublishlisted

Publish text/markdown/file/site to brewpage.app, returns URL. Triggers: publish, share link, brewpage, опубликуй.
kochetkov-ma/claude-brewcode · ★ 27 · AI & Automation · score 77
Install: claude install-skill kochetkov-ma/claude-brewcode
# brewdoc:publish Publish content to **brewpage.app** — free instant hosting for HTML pages, JSON documents, files, and multi-file sites. No sign-up required. ## Workflow ### Step 1: Parse Arguments Extract from `$ARGUMENTS`: - `--ttl N` → TTL in days (default: `15`) - `--entry <filename>` → entry file for SITE uploads (default: auto-detect) - Remaining text → `content_arg` ### Step 2: Detect Content Type | Input | Type | API | |-------|------|-----| | `content_arg` is a directory (`test -d`) | SITE | `POST /api/sites` (ZIP created from dir) | | `content_arg` ends with `.zip` AND file exists (`test -f`) | SITE | `POST /api/sites` (archive upload) | | `content_arg` is a file path AND file exists (`test -f`) | FILE | `POST /api/files` (multipart) | | `content_arg` starts with `{` or `[` | JSON | `POST /api/json` | | Anything else | HTML | `POST /api/html` (format=markdown) | Stats per type — SITE (dir): HTML count, total size, entry file. SITE (ZIP): file size, entry override. FILE: size + MIME via `file --mime-type -b`. TEXT/JSON: char count. ### Step 3: Show Pre-Publish Stats For HTML/JSON/FILE: ``` Content: <type description> · <size> · <api endpoint> TTL: <N> days ``` For SITE: detect entry file using priority: 1) `--entry` flag, 2) `index.html` exists, 3) first `.html` alphabetically. If no .html in dir → fail with explicit error, do not guess. ``` Content: site · <N> files · <total_size> · POST /api/sites Entry: <entry_file> TTL: <N> days ``` ###