You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+16-12Lines changed: 16 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,17 +2,21 @@
2
2
3
3
<imgsrc="./docs/images/hero.png"width="600"alt="Burnt-Out Linux Penguin"align="right" />
4
4
5
-
A serverless, database-free CMS built on Git plumbing.
5
+
A Git-native, database-free CMS: article bodies in commit messages, publish by moving refs.
6
6
7
7
> "I'm using `git push` as my API endpoint."
8
8
9
-
`git-cms` treats Git as an application substrate, not just a version-control tool. Articles live in commit messages, drafts and published state live in refs, and history falls out of the storage model instead of being layered on afterward.
9
+
`git-cms` treats Git as an application substrate, not just a version-control tool. Article bodies live in commit messages on empty-tree commits. Draft and published state live in refs. History falls out of the storage model instead of being layered on afterward.
10
10
11
11
Full article: [Git as CMS](https://flyingrobots.dev/git-stunts/git-cms)
12
12
13
+
If you want the runnable appendix rather than the essay, use the companion doc:
Copy file name to clipboardExpand all lines: docs/ADR.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,7 @@
12
12
13
13
### Project Overview
14
14
15
-
**git-cms** is a serverless, database-free Content Management System that treats Git's object store as a distributed, cryptographically verifiable document database. Instead of storing content in traditional databases (SQL or NoSQL), it leverages Git's Merkle DAG to create an append-only ledger for articles, metadata, and encrypted assets.
15
+
**git-cms** is a Git-native, database-free Content Management System built on Git plumbing. Instead of storing content in traditional databases (SQL or NoSQL), it treats Git's object store as a distributed, cryptographically verifiable document database for articles, metadata, and encrypted assets.
16
16
17
17
The fundamental innovation: **`git push` becomes the API endpoint.**
18
18
@@ -47,7 +47,7 @@ Users MUST be able to access any historical version of any article without data
| 2 |**Simplicity**| Minimal dependencies, no database, composable architecture | Lines of code, dependency count, Docker image size |
52
52
| 3 |**Auditability**| Complete provenance of all content changes | Git log completeness, trailer metadata coverage |
53
53
| 4 |**Performance**| Sub-second reads for typical blog workloads | Response time for `readArticle()`|
@@ -211,7 +211,7 @@ Assets are stored by object hash, enabling automatic deduplication. In SHA-1 obj
211
211
**Benefit:** Reduces repository bloat.
212
212
213
213
#### P-4: Cryptographic Integrity
214
-
Every operation produces a cryptographically signed commit (when `CMS_SIGN=1`). The Merkle DAG ensures tamper detection.
214
+
Every operation produces a Git commit with cryptographic integrity from Git object hashing. Optional commit signing (`CMS_SIGN=1`) adds non-repudiation. The Merkle DAG ensures tamper detection.
215
215
216
216
**Benefit:** Audit trails are mathematically verifiable, not just trust-based.
0 commit comments