Open-source CMS powered by Go

Lesstruct

An open-source CMS powered by Go. Fast, configurable, customizable. Built for humans and AI agents, extended with WebAssembly plugins. One binary, no Docker required.

The Lesstruct admin panel: rich-text editor with custom fields and an SEO panel.

Features

A single binary runs the whole CMS. Configure content types and fields in config.toml, extend with WebAssembly, and drive it from the terminal. See the full list →

Quick start#

1
2
3
go install github.com/aristorinjuang/lesstruct@latest
export JWT_SECRET="$(head -c 48 /dev/urandom | base64)"
lesstruct

Open http://localhost:8080/admin, register the first account, and start publishing. Full configuration reference lives in the Configuration docs.

Install the CLI#

lesstruct-cli is a terminal client for the REST API — useful for scripts and AI agents.

1
go install github.com/aristorinjuang/lesstruct/cmd/lesstruct-cli@latest

Point it at a running server and create an API key from the admin panel. The full command reference lives in the API Reference.

Where to go next#

AI agent ingestion#

This site is designed to be crawlable by AI agents in addition to humans.

  • /llms.txt — index of every documentation page with a one-line summary.
  • /llms-full.txt — every page concatenated in section order, suitable as a single context window.
  • Per-page markdown is also served at the canonical path (e.g. /docs/api-reference/index.md) for retrieval pipelines that prefer per-page fetches.
  • /sitemap.xml — Hugo’s built-in sitemap.

For an LLM working inside the repo, the source tree is the contract: docs/ is developer-facing, skills/*/references/ is the user-facing snapshot that ships in the binary.