You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
📖 [Docs]: Contribution and PowerShell guidance made consistent (#75)
Contributors can follow the repository, agent setup, worktree,
issue-planning, and PowerShell example guidance without choosing between
contradictory instructions.
## Changed: Contribution guidance now agrees
- Repository standards use the canonical pull request body sequence:
summary, user-facing sections, optional technical details, then related
issues last.
- Worktree and root agent setup guidance keep concise local folder names
while using the required `<type>/<issue>-<slug>` branch names.
- Implementation plans organize tests alongside each behavior and
explicitly preserve test-first execution.
- PowerShell help guidance now identifies the generated
`psmodule.io/<Module>/Functions[/<Group>]/<Function>` URL used by
PSModule framework commands.
## Fixed: The FunctionCount skip example follows every remaining rule
Every displayed function now includes complete comment-based help,
matching `[OutputType()]` and `.OUTPUTS` metadata, typed and validated
parameters, implicit output, and a `.LINK` to the public function's
generated online reference page. Only the intentionally named
`FunctionCount` framework test is exempted.
## Technical Details
- Updated the canonical, agent, and example guidance identified by
#74 without changing unrelated content.
- Implementation plan progress: every task in #74 is
complete.
- Documentation index verification, link validation, and a clean
Zensical build are complete.
<details>
<summary>Related issues</summary>
- Fixes#74
</details>
---------
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copy file name to clipboardExpand all lines: src/docs/Coding-Standards/PowerShell/Functions.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -115,6 +115,8 @@ Send each kind of message to the stream built for it, so a caller can capture, r
115
115
116
116
Every function carries comment-based help — including internal and private helpers, not only the public surface. It is what lets a reader or an agent understand what the function does and how to call it without reading its body, and a private helper needs that as much as a public command does. Put it first inside the body, with sections in this order: `.SYNOPSIS` (one imperative sentence), `.DESCRIPTION`, at least one `.EXAMPLE` per behaviour, then `.INPUTS`, `.OUTPUTS` (matching `[OutputType()]`), `.NOTES`, `.LINK`. Document each parameter with an inline comment above it rather than a `.PARAMETER` block, and let comments explain *why*, not *what*.
117
117
118
+
Functions in modules built with the PSModule framework use the generated online reference URL in `.LINK`: `https://psmodule.io/<ModuleName>/Functions/<Function-Name>` or, for a grouped command, `https://psmodule.io/<ModuleName>/Functions/<Group>/<Function-Name>`. A private helper links to the published public function it supports.
119
+
118
120
### `.INPUTS` and `.OUTPUTS`
119
121
120
122
**`.INPUTS`** documents **pipeline input only** — types accepted via `ValueFromPipeline` or `ValueFromPipelineByPropertyName` parameters. It does not document ordinary parameters.
Replace `<ModuleName>` with the module's published name. If the public function belongs to a group, insert `<Group>/` between `Functions/` and `Get-ComplexData`.
187
+
188
+
The skip exempts only `FunctionCount`. Every function in the file must still follow the [PowerShell function standard](../../Coding-Standards/PowerShell/Functions.md), including complete comment-based help, matching `[OutputType()]` and `.OUTPUTS` metadata, typed parameters, and implicit output.
189
+
93
190
## Best Practices
94
191
95
192
-**Use skip comments sparingly**: Framework tests exist to maintain code quality and consistency. Only skip tests when absolutely necessary.
-**`.bare/`** — the shared git object store. All worktrees share this.
43
43
-**`.git`** — a file (not a directory) that points git tooling to `.bare/`.
44
44
-**`<default>/`** — the default branch worktree (e.g. `main` or `master`). Kept as a clean reference. Used for diffing, reading docs, running comparisons. Never directly committed to.
45
-
-**`<N>-<slug>/`** — one worktree per issue in flight. Named by issue number and a short slug. Branch name matches the folder name.
45
+
-**`<N>-<slug>/`** — one worktree folder per issue in flight, named by issue number and a short slug. The folder is a concise local path; its branch uses the required `<type>/<issue>-<slug>`name, so the two names do not need to match.
Copy file name to clipboardExpand all lines: src/docs/Ways-of-Working/Issue-Format.md
+13-12Lines changed: 13 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -229,10 +229,11 @@ The task-level roadmap. Implementers track progress here; reviewers use it to un
229
229
Structure:
230
230
231
231
- Every discrete piece of work is a checkbox: `- [ ]`.
232
-
- Tasks are grouped under subheadings when work spans multiple areas (files, components, tests).
232
+
- Tasks are grouped under subheadings when work spans multiple behaviors or dependencies. Keep each behavior's tests with its implementation tasks.
233
233
- Each task is specific and actionable — file paths, function names, modules.
234
234
- All tasks start unchecked. Checking happens during implementation.
235
-
- Tasks are ordered logically — dependencies first, tests last.
235
+
- Order groups and tasks so scope and dependencies are clear; the checklist layout is not a mandatory execution sequence.
236
+
- Follow [test-first development](../Coding-Standards/Testing.md#test-first): define and run a behavior's test before implementing that behavior, regardless of how its checkboxes are organized.
236
237
237
238
For PBIs and Epics, Section 3 is **a list of links to child issues**, not inline tasks. See [Issue Hierarchy](Issue-Hierarchy.md).
238
239
@@ -243,17 +244,17 @@ For PBIs and Epics, Section 3 is **a list of links to child issues**, not inline
243
244
244
245
## Implementation plan
245
246
246
-
### Core changes
247
+
### Paged responses
247
248
249
+
-[ ] Add unit test for single-page response
250
+
-[ ] Add unit test for multi-page response
248
251
-[ ] Add a paged-request helper in `src/lib/`
249
252
-[ ] Update the `repo list` command to call the paged variant in `src/commands/repository/`
250
-
-[ ] Add a `--limit` option with integer type and validation
251
253
252
-
### Tests
254
+
### Result limiting
253
255
254
-
-[ ] Add unit test for single-page response
255
-
-[ ] Add unit test for multi-page response
256
256
-[ ] Add unit test for `--limit` option limiting results
257
+
-[ ] Add a `--limit` option with integer type and validation
257
258
258
259
### Documentation
259
260
@@ -375,17 +376,17 @@ multi-page, and `--limit` limiting.
375
376
376
377
## Implementation plan
377
378
378
-
### Core changes
379
+
### Paged responses
379
380
381
+
-[ ] Add unit test for single-page response
382
+
-[ ] Add unit test for multi-page response
380
383
-[ ] Add a paged-request helper in `src/lib/`
381
384
-[ ] Update the `repo list` command to call the paged variant in `src/commands/repository/`
382
-
-[ ] Add a `--limit` option with integer type and validation
383
385
384
-
### Tests
386
+
### Result limiting
385
387
386
-
-[ ] Add unit test for single-page response
387
-
-[ ] Add unit test for multi-page response
388
388
-[ ] Add unit test for `--limit` option limiting results
389
+
-[ ] Add a `--limit` option with integer type and validation
Copy file name to clipboardExpand all lines: src/docs/Ways-of-Working/Repository-Standard.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -110,7 +110,7 @@ Default title pattern:
110
110
<Icon> [<Change type>]: <User-facing outcome>
111
111
```
112
112
113
-
The description should lead with user-facing impact, then issue links when available, then user-facing change sections, with technical details at the bottom.
113
+
The description should lead with user-facing impact, continue with user-facing change sections, include optional technical details after those sections, and end with the related-issues block.
114
114
115
115
Repository templates may be simpler than the full PR Manager body, but they must gather enough information to reconstruct it.
0 commit comments