From f9f4b1989db1b5d5368bc5bc93cc14de38dc063b Mon Sep 17 00:00:00 2001 From: "alex.stanfield" <13949480+chaptersix@users.noreply.github.com> Date: Thu, 21 May 2026 12:47:54 -0500 Subject: [PATCH 1/3] chore: add PR template --- .github/pull_request_template.md | 79 ++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 .github/pull_request_template.md diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 000000000..b616ed3e0 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,79 @@ +## Related issues + + + +## What changed? + + + +## Checklist + + + +**Stability** +- [ ] Breaking changes are marked with 💥 in the PR title and release notes +- [ ] Changes to JSON output (`-o json` / `-o jsonl`) are treated as breaking changes + +**Design** +- [ ] This feature only uses APIs exposed by the OSS server (no Cloud-specific behavior) +- [ ] New commands follow noun→verb structure (`temporal `) +- [ ] New flags are named after the API concept, not the implementation mechanism +- [ ] New flags don't duplicate an existing flag that serves the same purpose +- [ ] New flags do not have short aliases without strong justification +- [ ] Experimental features are marked with `(Experimental)` in `commands.yaml` + +**Help text** (see style guide at the top of `commands.yaml`) +- [ ] All flags shown in help text and examples are implemented and functional +- [ ] Summaries use sentence case, don't reword the command name, and have no trailing period +- [ ] Long descriptions end with a period and include at least one example invocation +- [ ] Examples use long flags (`--namespace`, not `-n`), one flag per line +- [ ] Placeholder values use `YourXxx` form (`YourWorkflowId`, `YourNamespace`) + +**Behavior** +- [ ] Results go to stdout; errors and diagnostics go to stderr +- [ ] Error messages are lowercase with no trailing punctuation + +**Tests** +- [ ] Added functional test(s) (`SharedServerSuite`) +- [ ] Added unit test(s) (`func TestXxx`) where applicable + +## How did you test it? + + + +- [ ] built +- [ ] run locally and tested manually + +### Manual tests + +**Setup** +``` +temporal server start-dev --headless +temporal workflow start \ + --type YourWorkflowType \ + --task-queue YourTaskQueue \ + --workflow-id YourWorkflowId +``` + +**Happy path** +``` +$ temporal \ + --flag value + +``` + +**Error case** +``` +$ temporal \ + --invalid-combination +Error: +$ echo $? +1 +``` + +**Composition** +``` +$ temporal ... +$ temporal --flag + +``` From 77ef3b5fe5962ab4199fe1174230c1a2864810a7 Mon Sep 17 00:00:00 2001 From: "alex.stanfield" <13949480+chaptersix@users.noreply.github.com> Date: Thu, 21 May 2026 12:49:42 -0500 Subject: [PATCH 2/3] chore: remove how did you test section from pr template --- .github/pull_request_template.md | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index b616ed3e0..b677f4d51 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -37,14 +37,7 @@ - [ ] Added functional test(s) (`SharedServerSuite`) - [ ] Added unit test(s) (`func TestXxx`) where applicable -## How did you test it? - - - -- [ ] built -- [ ] run locally and tested manually - -### Manual tests +## Manual tests **Setup** ``` From e6292b5f1d4f03a77496fe76595d4eac46e336ff Mon Sep 17 00:00:00 2001 From: "alex.stanfield" <13949480+chaptersix@users.noreply.github.com> Date: Tue, 26 May 2026 16:29:38 -0500 Subject: [PATCH 3/3] chore: improve PR template based on review feedback - Clarify checklist intro and add AI agent tip - Fix Cloud-only check wording to be less misleading - Update noun/verb structure item with concrete example - Add good/bad example for flag naming guideline - Remove ambiguous "don't reword the command name" item - Replace "diagnostics" with "warnings" in behavior check - Add instruction comment to manual tests section --- .github/pull_request_template.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index b677f4d51..0b129b983 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -8,29 +8,29 @@ ## Checklist - + **Stability** - [ ] Breaking changes are marked with 💥 in the PR title and release notes - [ ] Changes to JSON output (`-o json` / `-o jsonl`) are treated as breaking changes **Design** -- [ ] This feature only uses APIs exposed by the OSS server (no Cloud-specific behavior) -- [ ] New commands follow noun→verb structure (`temporal `) -- [ ] New flags are named after the API concept, not the implementation mechanism +- [ ] This feature does not depend on Cloud-only APIs or behavior (it works against an OSS server) +- [ ] New commands follow `temporal ` structure (e.g. `temporal workflow start`) +- [ ] New flags are named after the API concept, not the implementation mechanism (good: `--search-attribute`, bad: `--index-field`) - [ ] New flags don't duplicate an existing flag that serves the same purpose - [ ] New flags do not have short aliases without strong justification - [ ] Experimental features are marked with `(Experimental)` in `commands.yaml` **Help text** (see style guide at the top of `commands.yaml`) - [ ] All flags shown in help text and examples are implemented and functional -- [ ] Summaries use sentence case, don't reword the command name, and have no trailing period +- [ ] Summaries use sentence case and have no trailing period - [ ] Long descriptions end with a period and include at least one example invocation - [ ] Examples use long flags (`--namespace`, not `-n`), one flag per line - [ ] Placeholder values use `YourXxx` form (`YourWorkflowId`, `YourNamespace`) **Behavior** -- [ ] Results go to stdout; errors and diagnostics go to stderr +- [ ] Results go to stdout; errors and warnings go to stderr - [ ] Error messages are lowercase with no trailing punctuation **Tests** @@ -39,6 +39,8 @@ ## Manual tests + + **Setup** ``` temporal server start-dev --headless