Git-Based CMS
Table of Contents
A git CMS commits markdown to the repo so clients get buttons while the same push-live build still runs.
Key Concept
- Publish via Git directly when you are the author; clients often will not.
- Git stays source of truth; the CMS is just another commit path.
- Still say no to bad dynamic scope - CMS does not add a database.
- Minimum Effective Dose for solo sites: skip the CMS layer entirely.
Level 1 - Recognize
Git-based CMS publishes through Git commits as source of truth - authors push directly; clients often need buttons instead of terminals.
Level 2 - Explain
Like a kitchen with a back door for chefs and a counter for customers - Git for authors, UI for clients who will never touch a terminal.
Level 3 - Use
Use Git publish for solo sites; offer a CMS when the client will never touch a terminal - still say no to bad dynamic scope.
Level 4 - Connect
Git stays source of truth - the CMS is another commit path, not a second database that forks reality.
Level 5 - Create
Design the smallest publishing path for each site: direct Git for authors who can use it, or a narrow CMS that creates the same commits for clients.
Examples
- Glad Sveltia on the repo let the church volunteer edit announcements without a terminal - Cloudflare rebuilds on save.
- I added Decap for a client who insisted on WordPress-like editing - honest scope: blog posts only, not plugins; still cheaper than hosted WordPress long term.
Note Relationships
| Relationship | Wikilink | Reason |
|---|---|---|
| contradicts | Minimum Effective Dose | when a solo dev site does not need a CMS layer on top of markdown |
| extends | Client Site Pass-Off | CMS pass-off is a fourth path when Git lesson will not land |
| extends | Free Tier Hosting Stack | Still markdown in git, still Cloudflare build on push |
| extends | Static Site Client Scope | Widens who can edit without redirecting to WordPress |




