Skip to main content

Sumigo

Sumigo is a self-hosted, multi-site Git CMS in the spirit of Decap CMS. One instance manages the content of many repositories on GitHub, GitLab, Forgejo or Gitea: entries are Markdown files with YAML front matter, and every change is a commit or a pull request in the site repository.

  • No "Login with GitHub": each site has an access token, encrypted at rest. Users log in to Sumigo with their own account, or with single sign-on.
  • Attribution: commits are authored with the user's name and email (the token owner stays the committer), and pull request titles name the author.
  • Access control: per-site roles viewer < editor < publisher, plus admins who open every site. See Users and roles.
  • Drafts: "Save draft" keeps changes on a cms/<collection>/<slug> branch with an open pull request, "Publish" puts them live (squash-merging the draft). Drafts can also be scheduled: the server merges them at the set date.
  • Autosave: the editor form is saved in the Sumigo database every few seconds, without any commit, and offered back on the next visit.
  • History: every version of an entry can be compared and restored into the editor.
  • Fast lists: a collection is read from the forge once and kept in memory until its branch moves. See Collection cache.
  • SEO: collections can declare their SEO fields; the editor scores each entry as it is typed and previews its Google result.
  • AI assistant: suggests field values, writes an article from a brief and proofreads, with Anthropic, OpenAI, Mistral, Gemini, OpenRouter or any OpenAI-compatible API.
  • Fixed pages: files collections give each page its own fields, so editors change its texts without touching its layout.
  • Content model in the repository: a sumigo.yml at the root, in the Decap format. A repository without one gets it drafted from its files, or from its Decap config.
  • Images are resized, converted to WebP and stripped of their metadata (GPS position included) in the browser before upload.
  • Custom domains: a site can open on its own domain, for a white-label CMS. See Custom domains.