@sienklogic/plan-build-run 2.38.0 → 2.38.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/package.json +1 -1
- package/plugins/copilot-pbr/plugin.json +1 -1
- package/plugins/copilot-pbr/references/plan-authoring.md +28 -0
- package/plugins/cursor-pbr/.cursor-plugin/plugin.json +1 -1
- package/plugins/cursor-pbr/references/plan-authoring.md +28 -0
- package/plugins/pbr/.claude-plugin/plugin.json +1 -1
- package/plugins/pbr/references/plan-authoring.md +28 -0
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,13 @@ All notable changes to Plan-Build-Run will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [2.38.1](https://github.com/SienkLogic/plan-build-run/compare/plan-build-run-v2.38.0...plan-build-run-v2.38.1) (2026-02-27)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Documentation
|
|
12
|
+
|
|
13
|
+
* **quick-018:** add TDD decision heuristic to plan-authoring reference ([b6744ab](https://github.com/SienkLogic/plan-build-run/commit/b6744abd33befddb0650f584fe8f8f3c6ebdf77f))
|
|
14
|
+
|
|
8
15
|
## [2.38.0](https://github.com/SienkLogic/plan-build-run/compare/plan-build-run-v2.37.0...plan-build-run-v2.38.0) (2026-02-27)
|
|
9
16
|
|
|
10
17
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pbr",
|
|
3
3
|
"displayName": "Plan-Build-Run",
|
|
4
|
-
"version": "2.38.
|
|
4
|
+
"version": "2.38.1",
|
|
5
5
|
"description": "Plan-Build-Run — Structured development workflow for GitHub Copilot CLI. Solves context rot through disciplined agent delegation, structured planning, atomic execution, and goal-backward verification.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "SienkLogic",
|
|
@@ -158,6 +158,34 @@ When a plan requires research before execution, set the `discovery` field in pla
|
|
|
158
158
|
|
|
159
159
|
---
|
|
160
160
|
|
|
161
|
+
## TDD Decision Heuristic
|
|
162
|
+
|
|
163
|
+
When assigning `tdd="true"` or `tdd="false"` on a task, apply this test:
|
|
164
|
+
|
|
165
|
+
> **Can you write `expect(fn(input)).toBe(output)` before writing `fn`?**
|
|
166
|
+
> Yes → `tdd="true"`. No → `tdd="false"`.
|
|
167
|
+
|
|
168
|
+
### When TDD Adds Value
|
|
169
|
+
|
|
170
|
+
- Pure functions and data transformations
|
|
171
|
+
- Business logic with defined inputs/outputs
|
|
172
|
+
- API response parsing and validation
|
|
173
|
+
- State machines and workflow transitions
|
|
174
|
+
- Utility functions and helpers
|
|
175
|
+
|
|
176
|
+
### When to Skip TDD
|
|
177
|
+
|
|
178
|
+
- UI rendering and layout (test after)
|
|
179
|
+
- Configuration and environment setup
|
|
180
|
+
- Glue code wiring modules together
|
|
181
|
+
- Simple CRUD with no business logic
|
|
182
|
+
- File system operations and I/O plumbing
|
|
183
|
+
- One-off scripts and migrations
|
|
184
|
+
|
|
185
|
+
When the global config `features.tdd_mode: true` is set, all tasks default to TDD. The planner should still set `tdd="false"` on tasks matching the skip list above — the global flag is a project preference, not a mandate for every task.
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
161
189
|
## Dependency Graph Rules
|
|
162
190
|
|
|
163
191
|
### File Conflict Detection
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pbr",
|
|
3
3
|
"displayName": "Plan-Build-Run",
|
|
4
|
-
"version": "2.38.
|
|
4
|
+
"version": "2.38.1",
|
|
5
5
|
"description": "Plan-Build-Run — Structured development workflow for Cursor. Solves context rot through disciplined subagent delegation, structured planning, atomic execution, and goal-backward verification.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "SienkLogic",
|
|
@@ -158,6 +158,34 @@ When a plan requires research before execution, set the `discovery` field in pla
|
|
|
158
158
|
|
|
159
159
|
---
|
|
160
160
|
|
|
161
|
+
## TDD Decision Heuristic
|
|
162
|
+
|
|
163
|
+
When assigning `tdd="true"` or `tdd="false"` on a task, apply this test:
|
|
164
|
+
|
|
165
|
+
> **Can you write `expect(fn(input)).toBe(output)` before writing `fn`?**
|
|
166
|
+
> Yes → `tdd="true"`. No → `tdd="false"`.
|
|
167
|
+
|
|
168
|
+
### When TDD Adds Value
|
|
169
|
+
|
|
170
|
+
- Pure functions and data transformations
|
|
171
|
+
- Business logic with defined inputs/outputs
|
|
172
|
+
- API response parsing and validation
|
|
173
|
+
- State machines and workflow transitions
|
|
174
|
+
- Utility functions and helpers
|
|
175
|
+
|
|
176
|
+
### When to Skip TDD
|
|
177
|
+
|
|
178
|
+
- UI rendering and layout (test after)
|
|
179
|
+
- Configuration and environment setup
|
|
180
|
+
- Glue code wiring modules together
|
|
181
|
+
- Simple CRUD with no business logic
|
|
182
|
+
- File system operations and I/O plumbing
|
|
183
|
+
- One-off scripts and migrations
|
|
184
|
+
|
|
185
|
+
When the global config `features.tdd_mode: true` is set, all tasks default to TDD. The planner should still set `tdd="false"` on tasks matching the skip list above — the global flag is a project preference, not a mandate for every task.
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
161
189
|
## Dependency Graph Rules
|
|
162
190
|
|
|
163
191
|
### File Conflict Detection
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pbr",
|
|
3
|
-
"version": "2.38.
|
|
3
|
+
"version": "2.38.1",
|
|
4
4
|
"description": "Plan-Build-Run — Structured development workflow for Claude Code. Solves context rot through disciplined subagent delegation, structured planning, atomic execution, and goal-backward verification.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "SienkLogic",
|
|
@@ -157,6 +157,34 @@ When a plan requires research before execution, set the `discovery` field in pla
|
|
|
157
157
|
|
|
158
158
|
---
|
|
159
159
|
|
|
160
|
+
## TDD Decision Heuristic
|
|
161
|
+
|
|
162
|
+
When assigning `tdd="true"` or `tdd="false"` on a task, apply this test:
|
|
163
|
+
|
|
164
|
+
> **Can you write `expect(fn(input)).toBe(output)` before writing `fn`?**
|
|
165
|
+
> Yes → `tdd="true"`. No → `tdd="false"`.
|
|
166
|
+
|
|
167
|
+
### When TDD Adds Value
|
|
168
|
+
|
|
169
|
+
- Pure functions and data transformations
|
|
170
|
+
- Business logic with defined inputs/outputs
|
|
171
|
+
- API response parsing and validation
|
|
172
|
+
- State machines and workflow transitions
|
|
173
|
+
- Utility functions and helpers
|
|
174
|
+
|
|
175
|
+
### When to Skip TDD
|
|
176
|
+
|
|
177
|
+
- UI rendering and layout (test after)
|
|
178
|
+
- Configuration and environment setup
|
|
179
|
+
- Glue code wiring modules together
|
|
180
|
+
- Simple CRUD with no business logic
|
|
181
|
+
- File system operations and I/O plumbing
|
|
182
|
+
- One-off scripts and migrations
|
|
183
|
+
|
|
184
|
+
When the global config `features.tdd_mode: true` is set, all tasks default to TDD. The planner should still set `tdd="false"` on tasks matching the skip list above — the global flag is a project preference, not a mandate for every task.
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
160
188
|
## Dependency Graph Rules
|
|
161
189
|
|
|
162
190
|
### File Conflict Detection
|