Skip to content

Commit 14741d2

Browse files
committed
docs: tighten reader-facing release docs
1 parent b545fe2 commit 14741d2

7 files changed

Lines changed: 30 additions & 17 deletions

File tree

GETTING_STARTED.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
# Getting Started
22

33
This guide has moved to [`docs/GETTING_STARTED.md`](docs/GETTING_STARTED.md).
4+
5+
If you came here from the article, you may also want the runnable appendix in [`docs/GIT_CMS_COMPANION.md`](docs/GIT_CMS_COMPANION.md).

QUICK_REFERENCE.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,12 @@ All endpoints are served by `git cms serve` (default port 4638). Slugs are NFKC-
124124

125125
Historical version endpoints currently assume Git's default SHA-1 object format and therefore validate 40-character hexadecimal commit IDs.
126126

127+
Restore note:
128+
129+
- `POST /api/cms/restore` appends a new draft commit from historical content
130+
- the article must not currently be in the `published` state
131+
- history remains append-only
132+
127133
Review-lane note:
128134

129135
- review lanes use `git-warp` working sets for speculative editorial state

README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ If you want the runnable appendix rather than the essay, use the companion doc:
1414

1515
- [docs/GIT_CMS_COMPANION.md](./docs/GIT_CMS_COMPANION.md)
1616

17+
If you want the shortest possible first contact, run `npm run demo`. If you want a live system you can keep poking at, run `npm run sandbox`.
18+
1719
## If You Came Here From The Blog Post
1820

1921
Use the reader-safe path first. It is isolated, seeded, and meant for live poking around:
@@ -68,7 +70,7 @@ The stunt is narrow on purpose:
6870
- draft state lives at `refs/_blog/dev/articles/<slug>`
6971
- published state lives at `refs/_blog/dev/published/<slug>`
7072
- publishing is pointer movement
71-
- restore writes a new commit from old content
73+
- restore writes a new commit from old content after the article is unpublished
7274
- review lanes live in `git-warp` working sets and apply back as new draft commits
7375
- history is the storage model
7476

@@ -102,7 +104,7 @@ This starts the HTTP server on port `4638` against an isolated seeded repo. The
102104

103105
- `hello-world` published at v1
104106
- two later draft commits ahead of published
105-
- enough history to make restore interesting immediately
107+
- enough history to make version browsing and restore interesting immediately
106108

107109
### 4. Inspect the seeded repo
108110

@@ -120,7 +122,7 @@ git -C "$GIT_CMS_REPO" log refs/_blog/dev/articles/hello-world --graph --oneline
120122
- The article content is stored in the commit message.
121123
- The commit points at the empty tree.
122124
- Publishing moves `refs/_blog/dev/published/<slug>` to the current draft tip.
123-
- Restoring an old version creates a new commit instead of rewriting history.
125+
- Restoring an old version requires unpublishing first, then creates a new commit instead of rewriting history.
124126
- Review lanes hold speculative edits off to the side until `Apply Lane` writes them back as a fresh draft commit.
125127

126128
This is the core of the stunt. Before Git can pretend to be a CMS, it has to behave like storage and state first.

REPO_WALKTHROUGH.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
# Repository Walkthrough
22

33
This content has been consolidated into [`QUICK_REFERENCE.md`](QUICK_REFERENCE.md).
4+
5+
If you want the article-aligned walkthrough instead of the command index, start with [`docs/GIT_CMS_COMPANION.md`](docs/GIT_CMS_COMPANION.md).

TESTING_GUIDE.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,8 +131,8 @@ That also removes the long-lived sandbox repo volume.
131131
If you intentionally want to use the CLI on your host outside Docker, do it only in a dedicated repo you do not care about yet.
132132

133133
```bash
134-
mkdir ~/git-cms-playground
135-
cd ~/git-cms-playground
134+
mkdir ~/git-cms-sandbox
135+
cd ~/git-cms-sandbox
136136
git init
137137
git config user.name "Your Name"
138138
git config user.email "you@example.com"

docs/ADR.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
## Database-Free Content Management via Git Plumbing
33

44
**Status:** Active
5-
**Version:** 1.0.0
6-
**Last Updated:** 2026-01-11
5+
**Version:** 1.2.1
6+
**Last Updated:** 2026-03-21
77
**Author:** James Ross
88

99
---
@@ -418,7 +418,7 @@ Output:
418418

419419
---
420420

421-
#### Module 3: `@git-stunts/git-warp` (v14.0.0)
421+
#### Module 3: `@git-stunts/git-warp` (v14.8.0)
422422
**Purpose:** Graph database primitive using commits on empty trees.
423423

424424
**Public API:**
@@ -448,7 +448,7 @@ async commitNode({ message, parents = [], sign = false }) {
448448

449449
---
450450

451-
#### Module 4: `@git-stunts/git-cas` (v5.3.0)
451+
#### Module 4: `@git-stunts/git-cas` (v5.3.2)
452452
**Purpose:** Content-Addressable Store for large files.
453453

454454
**Public API:**
@@ -482,7 +482,7 @@ class ContentAddressableStore {
482482

483483
---
484484

485-
#### Module 5: `@git-stunts/vault` (v1.0.0)
485+
#### Module 5: `@git-stunts/vault` (v1.0.1)
486486
**Purpose:** OS keychain integration for secrets.
487487

488488
**Public API:**
@@ -885,7 +885,7 @@ graph TB
885885
TestRunner --> TempRepos
886886
end
887887

888-
DevMachine -->|docker compose up playground| NodeApp
888+
DevMachine -->|npm run sandbox| NodeApp
889889
Browser -->|HTTP:4638| NodeApp
890890
DevMachine -->|docker compose run test| TestRunner
891891

@@ -955,7 +955,7 @@ CMD ["npm", "run", "test:local"]
955955

956956
**Deployment Steps:**
957957
```bash
958-
docker compose up playground # Start isolated seeded playground on http://localhost:4638
958+
docker compose up playground # Start isolated seeded sandbox on http://localhost:4638
959959
docker compose up app # Start contributor dev server against the checkout repo
960960
docker compose run --rm test # Run tests in isolated container
961961
```

docs/GETTING_STARTED.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -103,15 +103,15 @@ What you should see:
103103
- the article body inside the commit message
104104
- an empty-tree commit
105105
- a published ref behind the current draft ref
106-
- multiple restore-worthy historical commits
106+
- multiple historical commits worth browsing and restoring
107107

108108
## Seeded Sandbox State
109109

110110
The sandbox deliberately starts with an interesting repo:
111111

112112
- `hello-world` published at v1
113113
- draft v2 and v3 ahead of published
114-
- a history chain you can browse and restore immediately
114+
- a history chain you can browse immediately and restore after unpublishing
115115

116116
That means the UI is alive on first load and the Git inspection commands have something real to show.
117117

@@ -124,9 +124,10 @@ While `npm run sandbox` is running:
124124
3. Compare the current draft with the published state
125125
4. Open the History panel
126126
5. Preview an older version
127-
6. Restore it and watch a new commit appear
127+
6. Try Restore and note that the UI blocks it while the article is still published
128+
7. Unpublish, then restore, and watch a new draft commit appear
128129

129-
The important thing to notice is that restore does **not** rewrite history. It appends a new draft commit with old content.
130+
The important thing to notice is that restore does **not** rewrite history. It appends a new draft commit with old content, but only after the article leaves the `published` state.
130131

131132
## Contributor Path
132133

@@ -166,7 +167,7 @@ To stop services and remove volumes:
166167
docker compose down -v
167168
```
168169

169-
That removes the long-lived playground repo volume too.
170+
That removes the long-lived sandbox repo volume too.
170171

171172
## Tests
172173

0 commit comments

Comments
 (0)