Hosting with 20% off when you buy through the link.

Minimalist CMS in PHP 8.2+ and MySQL

The CMS for
Vibe Coding

A truly flexible CMS, built to give rhythm to the ideas that move your business. You describe it, the AI installs Velk, writes the site.json and the panel appears — running on any PHP host.

Paste into Claude Code — the AI downloads and installs Velk for you:

Install the Velk skill from skill.velkcms.com into ~/.claude/skills/velk
vibe session

Create a blog with categories and an author field.

Adding the post type to site.json…

  • +1 type
  • +2 fields
  • +1 taxonomy
theme/site.json
{
  "item_types": {
    "post": {
      "label": "Blog",
      "slug": "blog",
      "template": "single-post.php",
      "taxonomies": ["categoria"],
      "fields": [
        { "name": "content", "type": "richtext" },
        { "name": "autor", "type": "text" }
      ]
    }
  }
}
/admin — generated panel
velk
  • Pages
  • Blog new
  • Media
  • Forms
  • Options
New post Publish
Title How to choose a good domain
Author Ana Souza
Category Guides
Content
terminal

$ ./bin/velk schema:validate

✓ Valid schema — panel updated.

  • PHP 8.2+
  • MySQL
  • Zero Composer
  • Zero build
  • FTP or SSH
  • Subdirectory ok

Why Velk

A CMS that fits in your head

Three architecture decisions explain almost everything — and they are what make the AI work so well with Velk.

  1. site.json is the source of truth

    Pages, content types, taxonomies, fields, forms, members: all declared in a single file. The admin panel is generated from it — change the schema, change the panel.

  2. The theme is plain PHP

    No template language, no hooks, no plugin tree. Helpers like field() and items() — if you know PHP, you already know Velk. And your AI knows PHP.

  3. The engine is a dependency

    You never edit the core. Upgrades swap the whole engine and preserve theme, content and uploads — updating the CMS stops being a risky project.

Vibe coding

From prompt to a live site

The official skill teaches Velk to the AI — which installs the framework, writes the schema and runs the site for you.

  1. 01

    Describe the site

    Talk it through: sections, content types, fields. In plain language.

  2. 02

    The AI structures it

    It writes the site.json and the templates, and validates with schema:validate.

  3. 03

    Publish anywhere

    SSH, FTP, cPanel. On the first request Velk runs the migrations by itself.

  4. 04

    The client edits

    The panel only shows what the site has. No config screens, no broken plugins.

~/my-site
$ claude > Build a site for a clinic with a blog and a team page ✦ Escrevendo theme/site.json ✦ Criando templates em theme/templates/ ✦ ./bin/velk schema:validate ok ✦ ./bin/velk page:sync ok $ ./bin/velk serve Velk rodando em http://localhost:8080
Official skill
skill.velkcms.com

Paste into Claude Code to install:

Install the Velk skill from skill.velkcms.com into ~/.claude/skills/velk

Features

Everything a real site needs

No plugins to hunt, no pro version. The essentials come ready — and organized.

17 field types

From plain text to ACF-style flexible content — with galleries, repeaters and relationships between content.

  • text
  • textarea
  • richtext
  • image
  • gallery
  • select
  • boolean
  • number
  • email
  • url
  • date
  • repeater
  • flexible
  • link
  • item
  • group
  • tabs
  • tabs
  • group
  • item
  • link
  • flexible
  • repeater
  • date
  • url
  • email
  • number
  • boolean
  • select
  • gallery
  • image
  • richtext
  • textarea
  • text

Panel generated from the schema

The editing screens come from site.json: the client only sees what the site actually has.

Built-in SEO

Meta title, description and og:image on every page and item, plus an automatic sitemap.

Forms out of the box

CSRF + honeypot, submissions saved to the database and sent by email.

Multi-language

URLs with a per-language prefix, per-content translation and configurable fallback.

A CLI built for agents

Everything the panel does, bin/velk does over JSON — create content, publish, validate the schema. It is what lets the AI run the site end to end.

$ ./bin/velk item:create post --json-stdin

Members area

Site logins — clients, students, leads — separate from admin users, with their own types and fields.

And more: media with automatic sizes, global options, alternate templates, auto-migrate…

Todos os recursos

For devs — and their AIs

No DSL. No hooks. Just PHP.

A Velk template is a PHP file that prints content with half a dozen helpers. Nothing to memorize, nothing to compile — what you read is what renders.

  • with_context()
  • the_title()
  • e()
  • field()
  • items()
  • image_url()
  • option()
  • url()
theme/templates/single-post.php
<?phpwith_context($item, function () {    get_header();    ?>    <article class="post">        <h1><?= e(the_title()) ?></h1>        <?= field('content') /* trusted */ ?>    </article>    <?php    get_footer();});?>

single-post.php — a complete, real template.

Elleven

Need a professional service?

Elleven is the agency that created and maintains Velk. If you need a professional team to build and evolve your site, get in touch and see our cases and services.

  • Website creation
  • Support and evolution

Course · coming soon

The Velk course

A complete course on building and shipping sites with Velk: from the first prompt to a site in production. Recording now.

Leave your email and we'll write once, the day it launches.

Velk is a creation of Elleven.Digital, technology unit of Grupo DLS.