Infra: docs enablement first attempt - #3689
Conversation
mich-elle-luna
left a comment
There was a problem hiding this comment.
thank you! Just a few thoughts off the top of my head
| @@ -0,0 +1,5 @@ | |||
| # AGENTS.md | |||
There was a problem hiding this comment.
I think AGENTS.md is a special name that is used for something else
There was a problem hiding this comment.
AGENTS.md is actually the intended name here — it's the emerging cross-tool open standard for agent instructions (Codex, Cursor, and others auto-read a root AGENTS.md). Since a lot of the company uses Cursor or Codex, I think it's necessary: it routes those tools to the same rules in CLAUDE.md, so there's still a single source of truth for style and conventions. So it's not colliding with anything — it is the special name, pointed at our one source.
|
|
||
| | Change type | What's required | | ||
| |---|---| | ||
| | No user-facing impact (refactor, internal, tests, CI) | Assert **"no docs needed"** on the PR. | |
There was a problem hiding this comment.
We should add new product
|
|
||
| ## Do I need to write docs for this change? | ||
|
|
||
| - **No user-facing change** (refactor, internal, tests, CI) → **no docs.** Note "no docs needed" on your PR. |
🧠 Redis MemoryFound 5 related items from repository history:
Memory updated at 5c1a9b7 |
🧠 Redis MemoryFound 5 related items from repository history:
Memory updated at 5493219 |
🧠 Redis MemoryFound 5 related items from repository history:
Memory updated at 657b103 |
andy-stark-redis
left a comment
There was a problem hiding this comment.
Just a few thoughts and suggestions - it's looking pretty good so far :-)
| @@ -0,0 +1,36 @@ | |||
| --- | |||
There was a problem hiding this comment.
Page templates might be a good idea to have. However, I'm not sure if the ones you've got here make it look like these are strict heading structures that we already use (not every reference page needs a syntax section, for example). Also, maybe we should consider using mdschema for this? It can create page boilerplate like this but can also validate the structure (eg, it can check that required frontmatter fields are present and of the right type, like an integer for the weight, etc).
| @@ -0,0 +1,16 @@ | |||
| ## Summary | |||
There was a problem hiding this comment.
An AI tool won't see these directly, but if a human sees this, will they really know if the checks have been passed or not (it will probably be AI that writes the page)? We might want something like /make-pr skill that actually opens the PR; the skill could contain a checklist like this that the AI could use.
| @@ -0,0 +1,57 @@ | |||
| # Redis docs — writing conventions (humans + AI) | |||
|
|
|||
| Base style: **Google developer documentation style**; fall back to the **Microsoft Writing Style Guide** where Google is silent. Follow these on every docs change. AI tools working in this repo inherit these rules automatically. | |||
There was a problem hiding this comment.
Maybe link to these explicitly?
| Base style: **Google developer documentation style**; fall back to the **Microsoft Writing Style Guide** where Google is silent. Follow these on every docs change. AI tools working in this repo inherit these rules automatically. | |
| Base style: [**Google developer documentation style**](https://developers.google.com/style); fall back to the [**Microsoft Writing Style Guide**](https://learn.microsoft.com/en-us/style-guide/welcome/) where Google is silent. Follow these on every docs change. AI tools working in this repo inherit these rules automatically. |
| @@ -0,0 +1,36 @@ | |||
| --- | |||
There was a problem hiding this comment.
It might be worth making this into a skill rather than a command. The reason is that a command has to be invoked explicitly with the slash syntax, whereas the LLM can use a skill at its own discretion when the task seems to require it. If we use a command then we should explicitly say somewhere "Type /docs:review-doc to run the review". Otherwise, people might say "please review what I've just written", etc, and the LLM won't run the command.
| ## Coverage-aware authoring — do this FIRST | ||
|
|
||
| - Before creating a page, **check whether the topic already exists.** Prefer to **fold into / extend / cross-link** an existing page over making a new one. | ||
| - Create a new page only when it's genuinely new — and **never leave it orphaned**: link it from its section index. |
There was a problem hiding this comment.
The LLM might not know about _index.md pages with auto-indexing (ie, hideListLinks not set to true). Maybe we should start using hideListLinks: false and add links in the content for all section index pages? The auto-generated lists don't look very good anyway.
|
|
||
| Each step names the actual action — a prompt to the AI, a command, or a click. | ||
|
|
||
| 1. **Check what already exists.** Ask Claude or Codex in the repo: *"Is there already a page about `<topic>` under `content/`? If so, where, and should I add to it instead of making a new one?"* — or in the editor, `Cmd/Ctrl+Shift+F` across `content/` for the topic, and check the search box on the docs site. If there's a related page, add to it instead of creating a new one. |
There was a problem hiding this comment.
Maybe mention that a well-written Jira ticket or a discussion on a Slack thread is often a good starting point for a docs plan? Claude can access both from VSCode using the connectors. Claude Tag or the Jira tool can make a Jira ticket by summarising a Slack thread.
| 3. **Draft with AI in the repo.** In the Claude Code (or Codex) panel, paste your source material and ask it to draft — *"Draft this task page from these notes: `<spec>`."* It reads the committed `CLAUDE.md` automatically, so the draft comes out in our voice, naming, and shortcodes. | ||
| 4. **Self-check and preview.** Run `/docs:review-doc` — or manually: `vale content/<path>`, the link check, and `make serve`, then open `http://localhost:1313` to eyeball the page. Fix what's flagged, then actually run the steps or commands the page describes to confirm they work. | ||
| 5. **Open a PR.** Commit and push the branch (or tell the AI "commit and push this branch"), then open a PR on GitHub — the PR template auto-loads the docs checklist, so fill it in and request a reviewer. A docs teammate reviews for voice, structure, and placement, then merges. Merging to `main` publishes to the live site automatically — so review happens *before* merge, and changes to sensitive areas (security, release notes) always get a human reviewer first. | ||
|
|
There was a problem hiding this comment.
Maybe mention that they should expect Bugbot feedback sometimes, but they can handle it easily using /docs:bugbot.
|
Closing in favor of using one file (onboarding.md) which Michelle is developing. |
Note
Low Risk
Process and template-only changes with no runtime or published user doc content; risk is limited to contributor guidance and PR expectations, not production behavior.
Overview
Introduces docs contributor infrastructure so humans and AI tools share one style bar and a repeatable workflow before PR review.
CLAUDE.mdcodifies Redis docs writing rules (Google dev style, voice, terminology, frontmatter, coverage-first IA, placeholders/security).AGENTS.mdtells Codex and other agents to follow the same file.CONTRIBUTING.mddocuments when docs are required, the golden path (search →hugo newarchetype → AI draft → self-check → PR), templates, and the “ready for review” bar.Adds a GitHub PR template with a docs checklist (coverage, template type, build/frontmatter, accuracy, style) plus a “no docs needed” escape hatch for non–user-facing changes.
Adds Hugo
archetypes/for task, concept, and reference pages with frontmatter scaffolding and inline author guidance.Adds a first-cut Claude command spec
.claude/commands/docs/review-docdescribing deterministic checks (Vale, links, Hugo build, frontmatter) and an AI rubric (voice, structure, IA, security placeholders); implementation mechanics are explicitly left as a stub/TODO.Reviewed by Cursor Bugbot for commit 657b103. Bugbot is set up for automated code reviews on this repo. Configure here.