Skip to content

Commit 6a4e6f8

Browse files
authored
opencode: add new /changelog command (#27022)
1 parent 2b94e7f commit 6a4e6f8

File tree

1 file changed

+73
-0
lines changed

1 file changed

+73
-0
lines changed

.opencode/command/changelog.md

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
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

Comments
 (0)