Skip to content

Commit da1ee5e

Browse files
policy(docs): README must be Markdown (not AsciiDoc) (#427)
README renders in GitHub **community-health**, the GitHub **profile** (profile READMEs render *only* `README.md`), and external **MCP directories (Glama)** — all show AsciiDoc as raw markup (confirmed live on glama.ai/.../boj-server). So README joins the GitHub-required-`.md` set: `README.md` is canonical, a `README.adoc` alongside it is a duplicate to remove. Replaces the earlier `.adoc`-primary-with-Glama-carve-out rule for README (which only helped repos with `glama.json` and still kept .adoc canonical). `doc-format.yml` + the CLAUDE.md policy updated. The estate-wide README.adoc→.md conversion sweep (#2) follows; the profile (#29) and boj-server (#260) are already converted. Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 0f49246 commit da1ee5e

2 files changed

Lines changed: 23 additions & 20 deletions

File tree

.claude/CLAUDE.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -167,8 +167,9 @@ Both are FOSS with independent governance (no Big Tech).
167167
### Documentation Format
168168

169169
- All docs must be `.adoc` (AsciiDoc) except GitHub-required files
170-
- GitHub-required `.md`: SECURITY.md, CONTRIBUTING.md, CODE_OF_CONDUCT.md, CHANGELOG.md
171-
- No duplicate formats (if `.adoc` exists, don't also have `.md`)
170+
- GitHub-required `.md` (must be Markdown): **README.md**, SECURITY.md, CONTRIBUTING.md, CODE_OF_CONDUCT.md, CHANGELOG.md
171+
- **README must be `.md`, not `.adoc`.** README renders in GitHub community-health, the GitHub profile page (profile READMEs *only* render `README.md`), and external MCP directories (Glama) — all of which show AsciiDoc as raw markup. Keep `README.md`; do not keep a `README.adoc` alongside it. (This replaces the earlier `.adoc`-primary-with-Glama-carve-out rule for README.)
172+
- No duplicate formats for the `.adoc`-primary docs (if `ARCHITECTURE.adoc` etc. exists, don't also have `.md`)
172173

173174
### Security Requirements
174175

.github/workflows/doc-format.yml

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -31,23 +31,23 @@ jobs:
3131
run: |
3232
DUPLICATES=0
3333
34-
# Check for docs that exist in both .md and .adoc (except GitHub-required)
35-
for doc in README ARCHITECTURE ROADMAP PHILOSOPHY INSTALL CHANGELOG; do
34+
# .adoc-primary docs: keep only .adoc. README is NOT here — README is a
35+
# GitHub-required Markdown file (see the README rule below).
36+
for doc in ARCHITECTURE ROADMAP PHILOSOPHY INSTALL; do
3637
if [ -f "${doc}.md" ] && [ -f "${doc}.adoc" ]; then
37-
# Glama carve-out: the Glama MCP-server directory (glama.ai) requires a
38-
# README.md to index a server and will NOT render README.adoc. When a
39-
# glama.json is present, README.md is permitted alongside the canonical
40-
# README.adoc. README.adoc remains the source of truth. This is a Glama
41-
# limitation, not an owner-policy change. See contractiles/CANONICAL-TEMPLATES.adoc.
42-
if [ "${doc}" = "README" ] && [ -f "glama.json" ]; then
43-
echo "::notice::README.md kept alongside README.adoc (Glama carve-out: glama.json present; .adoc remains canonical)."
44-
continue
45-
fi
4638
echo "::error::Duplicate documentation: ${doc}.md and ${doc}.adoc both exist. Keep only .adoc"
4739
DUPLICATES=$((DUPLICATES + 1))
4840
fi
4941
done
5042
43+
# README MUST be Markdown: it renders in GitHub community-health, the GitHub
44+
# profile, and external MCP directories (Glama) — all of which show AsciiDoc
45+
# as raw markup. So README.md is canonical; README.adoc is a duplicate to remove.
46+
if [ -f "README.md" ] && [ -f "README.adoc" ]; then
47+
echo "::error::Duplicate README: keep README.md (required Markdown); remove README.adoc."
48+
DUPLICATES=$((DUPLICATES + 1))
49+
fi
50+
5151
# CONTRIBUTING can have both but .md should just be a redirect
5252
if [ -f "CONTRIBUTING.md" ] && [ -f "CONTRIBUTING.adoc" ]; then
5353
if ! grep -q "See.*CONTRIBUTING.adoc" CONTRIBUTING.md 2>/dev/null; then
@@ -62,14 +62,16 @@ jobs:
6262
6363
echo "✓ No duplicate documentation formats found"
6464
65-
- name: Check documentation uses .adoc
65+
- name: Check documentation format
6666
run: |
67-
# List of files that MUST be .md for GitHub community health
68-
# SECURITY.md, CONTRIBUTING.md (can redirect), CODE_OF_CONDUCT.md, CHANGELOG.md
69-
70-
# Check README is .adoc (not .md)
71-
if [ -f "README.md" ] && [ ! -f "README.adoc" ]; then
72-
echo "::warning::README.md found without README.adoc. Consider converting to AsciiDoc."
67+
# Files that MUST be .md for GitHub community-health / profile / Glama:
68+
# README.md, SECURITY.md, CONTRIBUTING.md (can redirect), CODE_OF_CONDUCT.md, CHANGELOG.md
69+
70+
# README must be Markdown. A lone README.adoc renders as raw markup in
71+
# community-health/profile/Glama — nudge to convert (warning during the
72+
# estate-wide migration; the duplicate case above is the hard error).
73+
if [ -f "README.adoc" ] && [ ! -f "README.md" ]; then
74+
echo "::warning::README.adoc without README.md — README must be Markdown (renders raw as AsciiDoc in community-health/profile/Glama). Convert to README.md."
7375
fi
7476
7577
# Check other docs are .adoc

0 commit comments

Comments
 (0)