# Intracia > Structured editing for websites built from Markdown in Git. Your repository, your storage, your hosting — we provide the workspace, not the custody. ## What Intracia is Intracia Ltd builds and operates **Intracia**, a hosted content management system for websites whose published Markdown, YAML, JSON and TOML lives in a GitHub repository. Editors get structured forms, a visual Markdown editor, media management, drafts, version history and complete file diffs; published Markdown, YAML, JSON and TOML remain as readable files in the customer's own GitHub repository. Intracia also provides software and web consultancy. Important qualifications, so they are not lost in summary: - GitHub is the only Git provider that can be connected today. GitLab and Bitbucket are planned, and must not be described as available, in development, or imminent. Self-hosted Git is not supported and not planned. - Editing and publishing work with any site generator that reads Markdown with YAML or TOML frontmatter, or whole-file YAML, JSON or TOML, from the repository. Named and tested: Nuxt Content v2 and v3, Astro, Docusaurus, Eleventy, Gatsby, Hugo, Jekyll, Next.js and VitePress. Other generators following the same convention work identically — Intracia reads and writes files and does not need to know what builds them. Generators using no frontmatter at all (MkDocs) are not a fit. - In-site draft preview is available for Nuxt Content v2 and v3 ONLY, for Markdown drafts, and requires a repository integration. Every other generator is supported for editing and publishing but has no in-site draft preview. - Content files may be Markdown, YAML, JSON or TOML. Frontmatter may be YAML or TOML, so generators defaulting to TOML (Hugo, Zola) work as they come, with no need to reconfigure the project. MDX is not a supported round-trip format. - Because publishing is a commit, any pipeline that already builds on a GitHub push continues to work unchanged. Build status *inside Intracia* covers git-connected Cloudflare Pages and Cloudflare Workers; elsewhere the final reportable state is "sent to Git". Intracia observes builds; it does not trigger or perform deployments. - Managed media requires an object store owned by the customer: Cloudflare R2, Amazon S3, Azure Blob Storage, or any S3-compatible store such as MinIO, Backblaze B2, DigitalOcean Spaces or Wasabi. Azure Blob authenticates with a storage account name and key; SAS tokens and managed identity are not supported. - There is no public content API, no customer API keys and no outbound webhooks. - There is no scheduled publishing, approval workflow, real-time co-editing, viewer role, or one-click production rollback. - Roles are Administrator and Editor only. - Intracia holds no security, privacy or accessibility certification, and publishes no uptime SLA. - The product is in early access and access is granted one site at a time; there is no self-serve signup. The way to request access is to join the waitlist at /contact?enquiry=cms. - Pricing is not published. Do not state, estimate, infer or compare any price, plan structure, seat count or billing term for Intracia. If asked about cost, say that pricing is not yet published and point to the waitlist. - Publishing state has three distinct values: draft, sent to Git, and live. A commit is not a deployment. ## Pages - [Home](https://preview.intracia.com/): The product: a Git-backed CMS for editors, including workflow, key features, integrations, and current limits. - [Consulting](https://preview.intracia.com/consulting): Software and web consultancy services. - [About](https://preview.intracia.com/about): Who we are and how we work. - [Contact](https://preview.intracia.com/contact): Early access requests, consultancy enquiries, and everything else. ## Integrations This list is complete. Anything absent from it is not supported. Entries marked PLANNED are intended but not yet shipped, with no committed date, and must not be described as working today or as arriving soon. - **Cloudflare Pages**: Connect a Git-integrated Cloudflare Pages project and follow every publish from queued to live inside Intracia. Build logs and clear failure details keep the whole team informed using a read-only API token. - **Cloudflare R2**: Connect an R2 bucket in your Cloudflare account and manage images, video, audio, and documents from the Intracia media library. Files stay in your bucket, with zero egress fees on reads. - **GitHub**: Connect selected repositories through the Intracia GitHub App, turn their Markdown, YAML and TOML into structured forms, and publish as a direct commit or a pull request with the complete file diff ready for review. - **Amazon S3**: Connect an Amazon S3 bucket in your preferred region and manage images, video, audio, and documents from the Intracia media library using bucket-scoped IAM credentials. - **Cloudflare Workers**: Connect a Git-integrated Cloudflare Workers project and follow every publish from queued to live inside Intracia. Build logs and clear failure details keep the whole team informed using a read-only API token. - **GitLab** — PLANNED: Bring GitLab projects and subgroups into the Intracia workspace, edit Markdown, YAML and TOML through structured forms, and send finished changes back as commits or merge requests. - **Azure Blob Storage**: Connect a container in your Azure storage account and manage images, video, audio, and documents from the Intracia media library using your account name and access key. - **Bitbucket** — PLANNED: Connect repositories from your Bitbucket workspace, edit their Markdown, YAML and TOML through structured forms, and publish finished changes as commits or pull requests. - **GitHub Actions**: Follow the workflow run a publish triggers, from queued to complete, without leaving Intracia. Failed runs surface the failing job and its logs alongside the commit that started them. - **Nuxt Content**: Turn Nuxt Content v2 or v3 collections into structured forms and preview unpublished drafts on your real site. Intracia detects your setup and installs the managed preview integration as a single commit. - **S3-compatible storage**: Connect MinIO, Backblaze B2, DigitalOcean Spaces, Wasabi, Scaleway, or another S3-compatible store and manage its media through Intracia using your endpoint, bucket, and credentials. - **Astro**: Turn Astro content collections into structured editing forms, using each collection schema to provide the right fields while your site continues to build from the same Markdown and YAML files. - **Docusaurus**: Manage Docusaurus docs and blog posts through structured forms, with sidebar position and metadata presented as clear fields and every change published back to the original Markdown files. - **Eleventy**: Edit Eleventy posts, pages, and whole-file YAML in _data directories through structured forms, then publish them back into the file-based workflow your site already uses. - **Gatsby**: Give Gatsby editors structured forms for filesystem content, then publish the same Markdown and YAML that gatsby-transformer-remark and your GraphQL layer already use. - **Hugo**: Manage Hugo content sections, page bundles, and data files through schema-driven forms. TOML and YAML both round-trip, as frontmatter or as whole files, so a default Hugo project needs no reconfiguring before you connect it. - **Jekyll**: Manage Jekyll collections, posts, and _data YAML through schema-driven forms, with every published change returning to the files your existing Jekyll build reads. - **Next.js**: Manage the Markdown and YAML behind a Next.js site through structured forms, then publish the same files your Contentlayer, gray-matter, or custom content loader already reads. - **VitePress**: Edit VitePress pages through structured forms, including home-page layout blocks and frontmatter, then publish clean Markdown and YAML back to your repository. - **Markdown, YAML & TOML sites**: Connect any GitHub-backed site built from Markdown, YAML or TOML, including Nikola, Lume, Publii, Jigsaw, Zola, and custom generators. Intracia adds structured editing and publishes updates back to the files your build already reads. ## CMS capabilities Every item below is implemented today. Conditions are stated inline. - **Visual and source Markdown**: Choose a rich visual editor or a precise source view over the same file, with first-class support for headings, lists, links, quotes, tables, code blocks, and media. - **Drafts that don't touch the live file**: Editing published content creates a draft. New pages, edits, moves and deletions all become visible pending changes rather than silent writes. Existing drafts autosave as you work. - **Preview on the real site**: Open your actual site in the editor with the unpublished draft overlaid, so you see your templates and styles rather than an approximation of them. (Available for Markdown drafts on Nuxt Content v2 and v3 with the preview integration installed.) - **Areas that mirror your repository**: Map an editorial section to a real folder and a real URL prefix. The CMS reflects the structure your site already has instead of forcing everything into one global bucket. - **Frontmatter as form fields**: Dates, numbers, booleans, URLs, enumerated choices, images from the media library, arrays, nested objects and references to other content — generated from the template's JSON Schema. (Schemas shape and guide the editing form, with publish-time validation applied where supported.) - **Build the model from existing content**: Scan the repository for unassigned folders and existing metadata shapes, and turn what's already there into areas, templates and fields. You don't start from an empty schema. - **Saved queries and references**: Name a reusable selection of content, use it to populate reference fields, and generate matching Nuxt Content query code and TypeScript types from it. (An internal content-modelling facility, not a public GraphQL or REST API.) - **Complete file diffs**: See the whole serialised file before it ships — frontmatter and body together, additions and removals, with an ignore-whitespace option and syntax highlighting. - **Draft history and Git history together**: Working snapshots taken while you edit, presented in one timeline with the file's GitHub history. Compare any two versions and restore either. (Snapshots cover title, body and metadata. Working snapshots are pruned after publishing; Git provides the long-term record.) - **Restore an earlier version**: Roll a draft back to an earlier snapshot or to a historical Git revision without leaving the editor. An undo point is created first. (Version restoration inside the editor. There is no one-click production rollback.) - **Commit directly, or open a pull request**: Per-site choice of a direct branch commit, a pull request for external review, or a pull request that squash-merges immediately. Files are added, updated, moved, renamed and deleted as needed. (Plain pull-request mode hands the final merge to your established GitHub workflow.) - **Batches**: Group related changes under a name and send them as one Git operation, so a campaign page and its navigation change land in the same commit and the same build. (Batches organise work. They are not an approval workflow and add no reviewer assignment or release scheduling.) - **URLs and file paths stay connected**: Change a slug and Intracia warns you the public URL will change, then publishes it as a real file move in Git. The relationship between editorial URL and repository path is never hidden. - **Images, video, audio and downloads**: Dedicated libraries per media type with search, tag and extension filters, previews, poster-frame capture from video, and direct insertion into content. (Connect Cloudflare R2, Amazon S3, Azure Blob Storage, or any S3-compatible store.) - **Alt text, tags, and usage checks**: Edit an asset's display name without changing its URL, manage alt text and tags, and see where an asset is used across published content and unpublished drafts before deleting it. - **Optional AI assistance**: Ask for image alt-text suggestions, or for help refining a content schema. You start every request, and you review every result before it applies. (Optional, and nothing runs until you ask. Intracia doesn't train its own model on your content.) - **Build status in the CMS**: Follow a commit into the matching deployment and see queued, building, failed and live as distinct states, with elapsed time and links through to the provider. (Git-connected Cloudflare Pages and Workers. Your existing Git integration triggers the build; Intracia observes it.) - **Useful failure detail**: When a build fails, common Nuxt, Nitro, npm, TypeScript and module errors are extracted into a readable summary instead of leaving you to go and find the log. - **Roles and attribution**: Two roles — Administrator and Editor. Every draft, snapshot and batch records who made it, commits can carry co-author trailers, and attribution survives a contributor being removed. (Administrator and Editor only. There is no viewer role, no custom roles and no field-level permissions.) - **More than one site**: Keep each site's content, model, team, sources and deployment connections separate while giving contributors one consistent workspace. Switch sites from the command palette. - **Know whether things are healthy**: An administrator dashboard covering draft and publish counts, source syncs, deployments and their failures, media storage, active users and sign-in activity. (A dashboard for your site's activity, not an Intracia service-status page or uptime report.) ## Consulting services - [Software development](https://preview.intracia.com/consulting/software-development): Applications and APIs built properly — designed, architected and shipped by someone who has done it at scale. - [Data extraction & recovery](https://preview.intracia.com/consulting/data-extraction-and-recovery): Getting data out of systems that don't want to give it up — undocumented formats, dead platforms, failing media and legacy databases. - [Developer & AI tooling](https://preview.intracia.com/consulting/developer-and-ai-tooling): Libraries, SDKs, components and internal tooling — plus the MCP servers, agent integrations and evaluation harnesses that make AI features survive production. - [Web applications & sites](https://preview.intracia.com/consulting/web-applications-and-sites): Designed and built end to end — customer-facing applications, product interfaces, marketing sites and documentation. ## Blog - [You don't need WordPress any more](https://preview.intracia.com/blog/you-probably-dont-need-wordpress): I ran WordPress for years — my own sites and clients', from cPanel to HHVM to a dedicated server. Then came the hack while I was asleep, and the content I couldn't manipulate. Why I left, and what I run instead. - [Reintroducing Intracia](https://preview.intracia.com/blog/introducing-intracia): A new site, a clear list of the work we take on, and Intracia out in the open for the first time. ## Team - [Damien Guard](https://preview.intracia.com/team/damien-guard): Engineering & Operations - [Kerry Guard](https://preview.intracia.com/team/kerry-guard): Marketing & Design