Template Catalog (v2.8+)
The in-app Template Catalog browses every official .scarftemplate published at awizemann.github.io/scarf/templates/ without leaving Scarf. One click installs a template; the existing Project Templates flow takes over from there.
Opening the catalog
Sidebar → Projects → toolbar Templates menu → Browse Catalog….
The sheet fetches the catalog from awizemann.github.io once on first open and again whenever you click the refresh icon (top-right of the sheet). Between refreshes it serves a 24-hour cache from ~/.hermes/scarf/catalog_cache.json, so opening the sheet repeatedly doesn't re-hit the network. If both the network and the cache are unavailable, Scarf falls back to a hardcoded list of the official templates so the sheet is never empty on a fresh install.
Filtering
- Search — matches your text against template name, description, and tags (case-insensitive). Empty = no filter.
- Category — picker constrains to a single category (
monitoring,news,dev,ops,personal,finance, …). Categories shown in the picker are exactly those present in the loaded catalog — you'll never see a category that has no matching template. - Sort — official
awizemann/...templates rank first; community templates follow alphabetically by name.
Install state
Each row shows a badge indicating how the template relates to your local install:
- (no badge) — not installed.
- Installed v1.0.0 (green) — you have this template installed at exactly this version.
- Update v1.1.0 (amber) — you have an older version installed; a new one is available in the catalog.
Update detection compares the catalog's version against <project>/.scarf/template.lock.json's template_version for every project in ~/.hermes/scarf/projects.json. The actual update flow is "uninstall the old version, install the new one" — Scarf doesn't yet ship a single-click in-place upgrade. Your config values survive the round-trip because they live in <project>/.scarf/config.json separately from the lock file.
Detail page
Tap a row to push a detail page. The detail page surfaces only what the catalog already carries — no separate README fetch, no remote markdown — so the sheet stays snappy and works offline. You'll see:
- Description and tags (from the template's
template.json). - What's inside — a checklist of the bundle's contents (dashboard, AGENTS.md, cron jobs, configuration fields, memory appendix, skills).
- Configuration — every field the install form will ask you for, with the same description text the form will show. Secret fields are flagged with a lock icon.
- Recommended model — if the template author specified one. Scarf does NOT auto-switch your active model; this is informational only.
The big primary button at the bottom hands the template's HTTPS install URL straight to the existing install sheet. From there the flow is identical to "Install from URL…" — pick a parent directory, fill in the configuration form, confirm.
Where the catalog lives
The catalog is a single JSON file regenerated by tools/build-catalog.py on every release that adds or updates a template. The file format is documented in templates/CONTRIBUTING.md. Scarf reads it from a hardcoded URL — there's no Settings field to change the source today (deliberate; one canonical catalog keeps the namespace honest). If you want to test against a forked or local catalog, point your dev Scarf build at it by editing CatalogService.baseURL in source.
Privacy
Opening the sheet hits https://awizemann.github.io/scarf/templates/catalog.json once per refresh window (24 hours). The request is anonymous — no token, no identifier. Same shape as Sparkle's update check. See Privacy Policy for the full picture of what Scarf accesses.
Limitations (v2.8)
- No screenshots / hero images. The catalog ships text-only metadata. We may add image support once the template count justifies the visual differentiation work.
- No favorites / starring. Browse, install, uninstall — no per-user preferences carried with you.
- No background refresh. The catalog refreshes only when you open the sheet (with a stale cache) or click refresh. No on-launch network call, no timer.
- No README rendering. The detail page uses the description from
catalog.jsononly. Full READMEs ship inside each.scarftemplateand become visible when you start the install flow.
Getting Started
ScarfGo (iOS)
User Guide
- Dashboard
- Insights & Activity
- Chat
- Slash Commands
- Memory & Skills
- Projects & Profiles
- Project Templates
- Template Catalog
- Template Ideas
- Platforms / Personalities / Quick Commands
- Servers & Remote
- MCP, Plugins, Webhooks, Tools
- Gateway / Cron / Health / Logs
Architecture
- Overview
- Core Services
- Design System
- Data Model
- Transport Layer
- ScarfCore Package
- Sidebar & Navigation
- ACP Subprocess
Developer Guide
Reference
Troubleshooting
Contributing
- Contributing
- Wiki Maintenance
- ScarfGo Roadmap (dev reference)
Release History
Legal & Support
Wiki edited via the local .wiki-worktree/ clone. See Wiki Maintenance for the workflow. Last sync: 2026-04-20.