slavb18

    Your Own CMS on GitHub: How Copilot Helps Write, Publish, and Announce Content

    AI
    Copilot
    GitHub
    CMS
    Agents
    DevOps
    Automation

    In the era of vibe coding, you don't need to buy expensive platforms or set up monstrous CMSs. A GitHub repository, a few GitHub Actions, and Copilot are enough - and you have a ready-made autopilot for content marketing.

    Here's how it works for us at iconicompany.

    Idea: GitHub as a CMS

    Classic CMSs (WordPress, Contentful, Strapi) solve the problem of storing and publishing content, but they drag along infrastructure, dependencies, and cost. What if we store content where the code already lives - in a Git repository?

    The iconicompany/icontent repository is our CMS:

    • Articles are stored as .mdx files in the content/ru/blog/ and content/en/blog/ folders
    • Any change in the main branch triggers GitHub Actions
    • Actions publishes content, translates it into English, and sends out announcements

    Copilot, in turn, acts as an editor and author: it helps write articles directly in the browser or IDE via skills, knows the repository structure, and frontmatter formatting.

    Pipeline: From Idea to Telegram Post

    The entire process looks like this:

    1. Copilot writes a post - via a skill or directly in the IDE based on a brief
    2. The file goes into content/ru/blog/ - a regular commit to main
    3. GitHub Actions runs automatically - a trigger on changes in content/** is activated
    4. Auto-cleanup - smart quotes, em dashes, and other AI artifacts ("", --, ...) are removed
    5. Automatic translation to English - the LLM translates the post and places it in content/en/blog/
    6. Site synchronization - a webhook is invoked, and the site pulls the new content
    7. Announcement - the LLM generates a short announcement (2-4 sentences), which goes to Telegram and Max

    The entire pipeline is described in a single file sync.yml.

    Technical Overview

    Repository Structure


    📚 Read also