Skip to content
hugo-sveltia-cms logo

Hugo + Sveltia CMS Skill

hugo-sveltia-cms

Bootstrap new Hugo sites with Sveltia CMS and Basecoat UI, or convert existing sites (any SSG or CMS) to Hugo + Sveltia CMS. Use this skill whenever the user mentions Hugo, Sveltia CMS, Decap CMS migration, TinaCMS migration, static site CMS setup, headless CMS for Hugo, or wants to add a content...

NeverSight/skills_feed0installs215stars

SKILL.md

Full skill instructions

Hugo + Sveltia CMS Skill

Two primary workflows:

  1. Bootstrap: New Hugo site with Sveltia CMS + Basecoat UI, deployed to Cloudflare Pages
  2. Convert: Migrate from TinaCMS, Decap/​Netlify CMS, WordPress, Jekyll, Eleventy, or other platforms to Hugo + Sveltia CMS

Why This Stack

  • Hugo — Fastest SSG, single binary, Go templates
  • Sveltia CMS — Git-based headless CMS, drop-in Decap/​Netlify CMS replacement with better UX and i18n. Beta, v1.0 early 2026. Same config.yml format as Decap
  • Basecoat — shadcn/​ui components without React. Tailwind CSS utility classes (btn, card, input), minimal JS, dark mode, themeable
  • Cloudflare Pages — Primary deploy target. Free tier, fast CDN, Workers for OAuth
  • GitHub — Only supported Git backend

Critical Knowledge

  1. YAML front matter only. Sveltia CMS has bugs with TOML (+++). Always use YAML (---) and set format: yaml on every collection.
  2. Use hugo.yaml not hugo.toml for config consistency.
  3. Admin files in static/​admin/. Hugo copies static/ to build root.
  4. Media paths. media_folder: "static/​images/​uploads" (repo) → public_folder: "/​images/​uploads" (URL). Hugo strips static/.
  5. GitHub OAuth required. Deploy sveltia-cms-auth as a Cloudflare Worker. Netlify git-gateway NOT supported.
  6. Always set extension: "md" and format: "yaml" on every folder collection.
  7. Schema line at top of config.yml: # yaml-language-server: $schema=https://unpkg.com/​@sveltia/​cms/​schema/​sveltia-cms.json

Workflow: Bootstrap

Step 1: Gather Requirements

Ask:

  • Site purpose: Consulting/​services, medical practice, blog, portfolio, docs?
  • Content types: What content will they manage?
  • Basecoat approach: Full Tailwind pipeline (recommended) or CDN-only prototype?
  • Custom domain: For CF Pages + OAuth setup

Step 2: Scaffold Hugo + Basecoat

hugo new site <site-name> --format yaml
cd <site-name>

Read references/​hugo-sveltia-setup.md § Basecoat Integration for setup details.

Production (recommended): npm init -y && npm install -D tailwindcss @tailwindcss/​cli basecoat-css, create assets/​css/​main.css with @import "tailwindcss"; @import "basecoat-css";, wire via Hugo's css.TailwindCSS pipe.

CDN (quick start): Add CDN links to baseof.html <head>.

Step 3: Create Admin Interface

Create static/​admin/​index.html and static/​admin/​config.yml using templates/. Build collections from the domain-specific patterns in the reference file.

Step 4: Build Layouts with Basecoat Components

Create Hugo partials wrapping Basecoat classes: partials/​components/​card.html, button.html, badge.html, alert.html, nav.html. These accept parameters via Hugo dict and emit styled HTML.

Step 5: Create Archetypes + Seed Content

One archetype per content type in archetypes/.

Step 6: Deploy to Cloudflare Pages

  1. Register GitHub OAuth App → get Client ID + Secret
  2. Deploy sveltia-cms-auth Cloudflare Worker
  3. Connect repo to CF Pages, set HUGO_VERSION env var
  4. Build command: hugo --minify, output: public
  5. The bootstrap creates .github/​workflows/​deploy.yml automatically — set CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID as GitHub Secrets and PAGES_PROJECT_NAME as a GitHub Variable

Step 7: Test Locally

Sveltia CMS detects localhost and uses File System Access API (Chromium) — no OAuth needed locally. Run hugo server, visit /​admin/.


Workflow: Convert

From TinaCMS

TinaCMS uses GraphQL API + tina/​config.ts schema + TinaCloud auth. Fundamentally different architecture.

Field type mapping:

TinaCMS typeSveltia widgetNotes
stringstring
string + list: truelist
datetimedatetime
booleanboolean
imageimage
rich-textmarkdownShortcode templates won't carry over
objectobjectMap subfields recursively
referencerelationSet collection, search_fields, value_field
numbernumberSet value_type: int or float

Config mapping: tina/​config.ts collections[].path → config.yml collections[].folder

Steps:

  1. Read tina/​config.{ts,js}, map each collection's fields using table above
  2. Content files (Markdown + YAML front matter) stay as-is — Hugo reads them directly
  3. Delete tina/ directory, remove tinacms from package.json, remove Tina build commands
  4. Create static/​admin/ with Sveltia CMS files
  5. Map Tina media config (mediaRoot/publicFolder) → Sveltia media_folder/public_folder
  6. Document shortcodes used in content (no CMS-side visual editing for these)
  7. Deploy via CF Pages + GitHub OAuth

Key win: No more TinaCloud dependency, no GraphQL build step, no tina/​__generated__/.

From Decap CMS / Netlify CMS

Drop-in replacement:

  1. Replace script tag: <script src="https://unpkg.com/​@sveltia/​cms/​dist/​sveltia-cms.js"></​script>
  2. Existing config.yml works as-is
  3. Replace git-gateway with GitHub OAuth + CF Worker
  4. Test all collections

From WordPress

  1. Export via wordpress-export-to-markdown or hugo import jekyll after Jekyll export
  2. Clean front matter (strip wp_id, guid)
  3. Map taxonomies → Hugo taxonomies
  4. Download media → static/​images/
  5. Build collections matching cleaned structure

From Jekyll

  1. hugo import jekyll <jekyll-root> <hugo-root> (built-in)
  2. Review front matter, add Sveltia CMS per standard workflow

From Eleventy / Other SSGs

  1. Copy Markdown + YAML front matter files into content/
  2. Adjust for Hugo conventions (date format, draft boolean)
  3. Rebuild templates in Hugo, add Sveltia CMS

Domain-Specific Collections

Read references/​hugo-sveltia-setup.md § Domain Collection Patterns for ready-made configs:

  • Consulting / Services — Services, case studies, testimonials, team members
  • Medical Practice — Providers, locations, services/​specialties, conditions, patient resources
  • Content / Blog — Posts, pages, authors, newsletter, categories

Mix and match. Each includes full field definitions.


File Checklist

  • hugo.yaml
  • package.json + assets/​css/​main.css (Basecoat/​Tailwind, if npm path)
  • static/​admin/​index.html + static/​admin/​config.yml
  • archetypes/ — one per content type
  • content/ — seed or converted content
  • layouts/ — Basecoat-styled templates + component partials
  • .github/​workflows/​deploy.yml — CI/​CD for Cloudflare Pages
  • .gitignore

Reference Files

  • references/​hugo-sveltia-setup.md — Full config reference, domain collections, Basecoat setup, widgets, auth, CF Pages deploy, gotchas, i18n
  • templates/​admin-index.html — Admin page template
  • templates/​config.yml — Annotated CMS config starter
  • templates/​deploy.yml — GitHub Actions workflow for Cloudflare Pages CI/​CD
  • scripts/​bootstrap-hugo-sveltia.sh — One-command scaffolding
  • scripts/​convert-toml-to-yaml.py — Batch front matter conversion

More skills from NeverSight

devops-deployer logo
NeverSight/skills_feed

devops-deployer

Comprehensive DevOps and deployment workflow that orchestrates infrastructure automation, CI/CD pipelines, container orchestration, and cloud deployment. Handles everything from infrastructure as code and pipeline setup to monitoring, scaling, and disaster recovery.

215 1
View
avnu logo
NeverSight/skills_feed

avnu

Integrate avnu SDK for Starknet DeFi: token swaps with best-price routing, DCA recurring buys, native staking, gasless transactions via paymaster, and market data. Use when building Starknet trading, DEX aggregation, or DeFi automation features.

215 0
View
post-to-x logo
NeverSight/skills_feed

post-to-x

发布内容和文章到 X (Twitter)。支持带图片的普通推文和 X Articles(长文)。使用真实的 Chrome 和 CDP 来绕过自动化检测。

215 0
View
ralph-prompt-builder logo
NeverSight/skills_feed

ralph-prompt-builder

Master orchestrator for generating Ralph Wiggum-compatible prompts. Analyzes task requirements and routes to appropriate generator (single-task, multi-task, project, or research). Use when you need to create any Ralph loop prompt and want automatic selection of the right generator.

215 0
View
branch-comparison logo
NeverSight/skills_feed

branch-comparison

Use when the user asks to compare branches, analyze git diffs, review changes between branches, update specifications based on code changes, or analyze what changed. Triggers on keywords like "compare branches", "git diff", "what changed", "branch comparison", "code changes", "spec update".

215 0
View
fastapi-development logo
NeverSight/skills_feed

fastapi-development

Build high-performance FastAPI applications with async routes, validation, dependency injection, security, and automatic API documentation. Use when developing modern Python APIs with async support, automatic OpenAPI documentation, and high performance requirements.

215 0
View
zendesk-chat logo
NeverSight/skills_feed

zendesk-chat

Enables Claude to manage Zendesk Chat conversations, support tickets, and customer service operations

215 0
View
forge logo
NeverSight/skills_feed

forge

Mine transcripts for knowledge - decisions, learnings, failures, patterns. Triggers: "forge insights", "mine transcripts", "extract knowledge".

215 0
View
mixpanel logo
NeverSight/skills_feed

mixpanel

Track product analytics and user behavior with Mixpanel's event-based platform.

215 0
View
ocpp logo
NeverSight/skills_feed

ocpp

OCPP protocol reference for EV charging infrastructure development. Covers OCPP 2.0.1 and OCPP 1.6J. Use when working with OCPP messages, charging station code, CSMS/Central System backends, smart charging, transaction handling, or EV charging protocols. Activates on keywords: OCPP, charging stat...

215 0
View
bee-collect logo
NeverSight/skills_feed

bee-collect

Gather scattered ideas into organized GitHub issues. The bee collects pollen from every flower, checks if the hive already has it, and carefully deposits new work in the comb for later. Never edits code—only organizes the work ahead. Use when creating issues from TODOs or planning work.

215 0
View
vercel-react-native-skills logo
NeverSight/skills_feed

vercel-react-native-skills

Comprehensive best practices for React Native and Expo applications. Contains rules across multiple categories covering performance, animations, UI patterns, and platform-specific optimizations.

215 0
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View