Hospedagem com 20% de desconto comprando pelo link.

Recursos

Tudo que vem na caixa

Um CMS completo no download: painel, campos ricos, SEO, formulários, membros e multi-idioma. Sem plugins pra caçar, sem versão paga.

O essencial

Um painel que se monta sozinho

O admin é gerado do site.json — e já nasce com o que todo site precisa por baixo.

Painel gerado do schema

Cada página, tipo de conteúdo e campo declarado vira uma tela de edição. O cliente só vê o que o site realmente tem: sem menus sobrando, sem telas de configuração.

site.json → /admin

SEO embutido

Meta title, description e og:image anexados automaticamente a toda página e item, com sitemap.xml gerado, incluindo hreflang quando o site é multi-idioma.

sitemap.xml · hreflang · og:image

Biblioteca de mídia

Upload com texto alternativo, nomes limpos e tamanhos nomeados gerados sob demanda: thumb, hero, os que você declarar.

jpeg · png · gif · webp · svg · pdf

Formulários prontos

Proteção CSRF e honeypot, submissões salvas no banco e enviadas por e-mail com assunto dinâmico. Falhou o e-mail? A submissão continua guardada.

CSRF · honeypot · assunto {{name}}

Área de membros

Logins do site (clientes, alunos, leads) com tipos e campos próprios, rotas customizáveis e sessões separadas dos usuários do admin. Um problema num lado não alcança o outro.

sessões isoladas do admin

Multi-idioma nativo

URLs com prefixo e slug por idioma, tradução por conteúdo em abas no próprio editor e fallback automático: os helpers do tema resolvem o idioma sozinhos.

/pt/ · /en/ · /es/

Campos

17 tipos de campo

Declarados no site.json, renderizados no painel, lidos no tema com field().

text
Texto de uma linha — títulos, nomes, chamadas.
textarea
Texto longo sem formatação.
richtext
Editor visual (TipTap) que salva HTML limpo.
image
Uma imagem da biblioteca de mídia; resolvida com image_url().
gallery
Lista ordenada de imagens.
select
Dropdown com opções que você define.
boolean
Liga/desliga — destaque, badge, seção opcional.
number
Valor numérico.
email
Input de e-mail com validação HTML5.
url
Input de URL com validação HTML5.
date
Seletor de data.
repeater
Grupo de subcampos que repete — depoimentos, FAQs, listas.
flexible
Blocos com layouts nomeados — o "conteúdo flexível" do ACF.
link
Título + URL + nova aba; imprime com link_tag().
item
Relacionamento com outro conteúdo, via busca — só itens publicados.
group
Caixa organizacional recolhível no admin; storage continua plano.
tabs
Abas organizacionais no editor — só visual, sem mudar os dados.

Estrutura

Estrutura declarada, conteúdo livre

O site.json descreve o que o site pode ter. O painel e as URLs seguem.

Tipos de conteúdo

Posts, cases, serviços, imóveis: você nomeia. Cada tipo tem slug, template, arquivo de listagem e, se quiser, templates alternativos por item.

Taxonomias

Categorias, tags e o que mais precisar: hierárquicas ou não, com página própria opcional e campos personalizados nos termos.

Relacionamentos

O campo item conecta conteúdos, o case ao serviço, o post ao autor, com um combobox de busca no painel.

Páginas dos dois jeitos

Páginas estruturais declaradas no schema (home, contato) e templates de página pro cliente criar novas no admin, cada uma com seus campos.

Opções globais

Telefone, redes sociais, textos de rodapé: páginas de opções viram formulários no admin e saem no tema com option('contato.phone'), cacheado, uma query só.

Grupos reutilizáveis

field_groups define bundles de campos uma vez (SEO local, bloco de CTA) e reusa em páginas e tipos com uma linha.

Vibe coding

A CLI é a API

Tudo que o painel faz, a bin/velk faz por JSON. É assim que um agente de IA cria o schema, escreve conteúdo, publica e mantém o site inteiro, de ponta a ponta.

  • bin/velk
  • schema:validate
  • page:sync
  • item:create
  • item:update
  • page:update
  • item:schema
  • --json-stdin
  • --dry-run
  • --format=json
~/my-site
$ ./bin/velk item:schema servico name · type · required — o mapa antes de escrever $ ./bin/velk item:create servico --json-stdin ✓ Item criado: consultoria-seo $ ./bin/velk item:publish servico consultoria-seo ✓ Publicado
Skill oficial
skill.velkcms.com

Cole no Claude Code para instalar:

Instale a skill do Velk de skill.velkcms.com em ~/.claude/skills/velk

Sob o capô

Feito pra durar em produção

  1. Upgrades sem medo

    O engine é uma dependência versionada: o upgrade baixa o tarball, verifica o sha256 e troca só os arquivos do core. Tema, conteúdo, uploads e .env ficam intocados.

  2. Auto-migrate no boot

    Subiu arquivos novos por FTP? No primeiro acesso o Velk aplica as migrations pendentes sozinho, serializado com lock no MySQL: hospedagem sem SSH termina o upgrade sem abrir terminal.

  3. Segurança de fábrica

    Escape de saída com e(), SQL 100% em prepared statements, CSRF em todo POST, honeypot nos formulários e sessões de membros isoladas das do admin.

Veja tudo isso rodando

Instale a skill no Claude Code e descreva o seu primeiro site — a IA instala o Velk e o painel aparece antes do café esfriar.