← All writing

How publishing works

1 min read gitopsworkflow

Publishing a post here is three commands. No dashboard, no “publish” button — just the same loop you use to ship code.

1. Create the post

Scaffold a new markdown file with the built-in helper:

npm run new "My brilliant idea"

That writes src/content/blog/my-brilliant-idea.md with the frontmatter filled in and today’s date. Open it and write:

---
title: "My brilliant idea"
description: "One line that shows up in the list and RSS."
pubDate: 2026-07-31
tags: ["ideas"]
draft: true
---

Your words go here.

Leave draft: true while you’re working — drafts show up in npm run dev but are hidden from the production build.

2. Preview locally

npm run dev

Astro serves the site at localhost:4321 with hot reload. When it looks right, flip draft: false.

3. Push and let the pipeline ship it

git checkout -b post/my-brilliant-idea
git add src/content/blog/my-brilliant-idea.md
git commit -m "post: my brilliant idea"
git push

The platform’s GitOps pipeline sees the push, runs npm run build, and deploys the static output. A minute later the post is live and in the RSS feed.

StepYou doThe platform does
Writenpm run new + edit
Reviewopen a merge requestruns the build on the branch
Publishmerge / pushnpm run build → deploy

That’s it. The interesting infrastructure is all behind the push; the writing experience stays as calm as opening a text file.

Last updated .