|
| 1 | +--- |
| 2 | +description: Generate a product changelog entry |
| 3 | +--- |
| 4 | + |
| 5 | +Generate a changelog entry for the Cloudflare documentation site based on the user's request. |
| 6 | + |
| 7 | +## User Request |
| 8 | + |
| 9 | +$ARGUMENTS |
| 10 | + |
| 11 | +## Instructions |
| 12 | + |
| 13 | +1. **Validate the request**: Ensure the user has provided: |
| 14 | + - A clear product name (for example, Workers, KV, Hyperdrive, Containers, R2, etc.) |
| 15 | + - A description of the change or feature being documented |
| 16 | + - Enough context to explain the "why" and use-cases |
| 17 | + |
| 18 | + If any of these are missing or unclear, ask the user for clarification before proceeding. |
| 19 | + |
| 20 | +2. **Determine the product folder**: Use the product name to identify the correct changelog folder under `src/content/changelog/{product}/`. Refer to existing folders for valid product names. |
| 21 | + |
| 22 | +3. **Create the changelog file**: Create a new file at: |
| 23 | + ``` |
| 24 | + src/content/changelog/{product}/{YYYY-MM-DD}-{useful-short-name}.mdx |
| 25 | + ``` |
| 26 | + Use today's date and a concise, hyphenated slug describing the change. |
| 27 | + |
| 28 | +4. **Frontmatter format**: |
| 29 | + ```yaml |
| 30 | + --- |
| 31 | + title: {Concise title describing the change} |
| 32 | + description: {One-sentence summary of what changed and why it matters} |
| 33 | + products: |
| 34 | + - {product} |
| 35 | + date: {YYYY-MM-DD} |
| 36 | + --- |
| 37 | + ``` |
| 38 | + |
| 39 | +5. **Writing style guidelines**: |
| 40 | + - Use imperative mood and active voice |
| 41 | + - The opening sentence must clearly explain what the new feature/change is and what problem it solves |
| 42 | + - Expand on usage, use-cases, and the "why" in subsequent paragraphs |
| 43 | + - Assume a technical developer/cloud audience |
| 44 | + - Keep sentences concise (8-12 words where possible) |
| 45 | + - Avoid contractions |
| 46 | + - Avoid LLM-like phrases ("It's important to note", "leverage", "seamless", etc.) |
| 47 | + - Replace `e.g.` with "for example" and `i.e.` with "that is" |
| 48 | + |
| 49 | +6. **Code examples for Developer Platform products**: |
| 50 | + For products in the Developer Platform group (Workers, Durable Objects, Pipelines, KV, Hyperdrive, R2, D1, Queues, Containers, etc.): |
| 51 | + - Include a code block demonstrating usage of the new feature |
| 52 | + - Use plain JavaScript/TypeScript code blocks (```js or ```ts) |
| 53 | + - If showing wrangler.json config, use ```jsonc |
| 54 | + - Keep code snippets short and focused on the new feature |
| 55 | + - Minimize boilerplate and unnecessary code |
| 56 | + - Add imports at the top if using components: `import { Render, TypeScriptExample, WranglerConfig } from "~/components";` |
| 57 | + |
| 58 | +7. **Documentation links**: End the changelog with a link to relevant documentation: |
| 59 | + - Use relative paths (for example, `/workers/configuration/placement/`) |
| 60 | + - Link text should describe the destination, not "click here" or "read more" |
| 61 | + - Check for any uncommitted/staged .md/.mdx files that might be the related documentation |
| 62 | + |
| 63 | +## Reference Examples |
| 64 | + |
| 65 | +Review these existing changelogs for style and format guidance: |
| 66 | +- `src/content/changelog/workers/` - Workers changelogs with code examples |
| 67 | +- `src/content/changelog/kv/` - KV changelogs |
| 68 | +- `src/content/changelog/hyperdrive/` - Hyperdrive changelogs |
| 69 | +- `src/content/changelog/containers/` - Container changelogs |
| 70 | + |
| 71 | +## Output |
| 72 | + |
| 73 | +Create the changelog file and show the user the complete file path and content. |
0 commit comments