Skip to content

TachyonCMS docs

TachyonCMS is a headless CMS written in Rust. You run one binary next to one Postgres database, define your content types, and get a JSON API for them: documents you can create, read, update, delete, filter and link together, with sign-in, roles, API keys and access rules down to a single field.

These pages describe v0.1.0, the first release. For why it exists, what’s on the roadmap and how it compares, see tachyoncms.com.

  1. Install TachyonCMS with Docker or a release binary, and create the first Admin.
  2. Read Concepts for the ideas everything else builds on.
  3. Define a content type and add documents to it.
  • Content types: collections, globals, and changing them without losing data.
  • Fields: every field type, its options and how values are validated.
  • Querying: filters, sorting, paging and choosing which fields come back.
  • Relationships: links between documents, and getting them back populated.
  • Joins and virtual fields: showing related documents without storing them twice.
  • Schema files: keep content types in version control with tachyon schema.
  • Sign-in: the first Admin, sessions, bearer tokens and passwords.
  • Roles: Admin, Editor, Author and Viewer, and roles of your own.
  • API keys: scoped keys for websites and servers.
  • Access rules: which documents and fields each person can see and change.

Every request on these pages was run against the v0.1.0 Docker image, and every response shown is the one it returned. Responses are pretty-printed, and long ones are trimmed where the page says so. IDs and timestamps will differ on your machine, and session tokens and API keys are cut short to tcs_… and tcy_….

The examples use curl -g, which stops curl reading the square brackets in query strings such as where[title][equals] as a pattern.