@afokapu/atdd-bun 0.3.0 → 0.3.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/README.md +66 -17
- package/integrity.json +2 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -5,8 +5,8 @@ that keep their plan, acceptance evidence, tests, and implementation in the
|
|
|
5
5
|
same Git history. It gives developers and coding agents fast local feedback,
|
|
6
6
|
then runs the same checks in GitHub Actions.
|
|
7
7
|
|
|
8
|
-
It
|
|
9
|
-
|
|
8
|
+
It runs entirely on Bun from the repository's own `node_modules`: no global
|
|
9
|
+
installation and no network access while enforcing a repository.
|
|
10
10
|
|
|
11
11
|
## What it protects
|
|
12
12
|
|
|
@@ -42,13 +42,25 @@ not the only thing standing between an invalid branch and `main`.
|
|
|
42
42
|
|
|
43
43
|
## Install and first use
|
|
44
44
|
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
Add the package from npm as a development dependency, then bootstrap the
|
|
46
|
+
repository once:
|
|
47
47
|
|
|
48
48
|
```sh
|
|
49
49
|
bun add -d @afokapu/atdd-bun
|
|
50
|
+
bun run atdd-bun init
|
|
50
51
|
```
|
|
51
52
|
|
|
53
|
+
`init` installs the local surfaces described below: Git
|
|
54
|
+
[hooks](#hooks-fast-feedback-not-merge-authority), the
|
|
55
|
+
[CI workflow](#ci-the-merge-gate), the
|
|
56
|
+
[agent skill](#agent-skill-the-lifecycle-in-the-agents-context), and the
|
|
57
|
+
[integrity test](#integrity-files-agents-must-not-change). Commit what it
|
|
58
|
+
generates (`.githooks/`, `.github/workflows/atdd-bun.yml`, `.agents/`, `.claude/`,
|
|
59
|
+
`AGENTS.md`, `atdd-bun.integrity.test.ts`) so every clone and every agent session
|
|
60
|
+
gets them. To keep the
|
|
61
|
+
package and the skill current automatically, see
|
|
62
|
+
[Staying up to date](#staying-up-to-date).
|
|
63
|
+
|
|
52
64
|
Run the complete installed policy from the repository root:
|
|
53
65
|
|
|
54
66
|
```sh
|
|
@@ -163,8 +175,9 @@ bun run atdd-bun init
|
|
|
163
175
|
It creates `.githooks/` dispatchers, sets a worktree-local `core.hooksPath`,
|
|
164
176
|
generates `.github/workflows/atdd-bun.yml`, and installs the coding-agent skill
|
|
165
177
|
when they are absent. It never overwrites another hook path, an existing
|
|
166
|
-
generated workflow, or an existing skill unless you explicitly pass `--replace`.
|
|
167
|
-
|
|
178
|
+
generated workflow, or an existing skill unless you explicitly pass `--replace`.
|
|
179
|
+
The package itself has no install script: adding the dependency never changes
|
|
180
|
+
the repository until you run `init`.
|
|
168
181
|
|
|
169
182
|
Use `hooks install`, `ci init`, `agent init`, or `integrity init` when only one surface is wanted:
|
|
170
183
|
|
|
@@ -228,8 +241,9 @@ The skill names the lifecycle PLAN → RED → GREEN → SMOKE → REFACTOR →
|
|
|
228
241
|
conventions each stage follows, and the `atdd-bun` profile that gates it. It
|
|
229
242
|
points at the conventions shipped in this package instead of restating them, so
|
|
230
243
|
it stays correct as they change; after upgrading, refresh it with
|
|
231
|
-
`bun run atdd-bun agent init --replace
|
|
232
|
-
|
|
244
|
+
`bun run atdd-bun agent init --replace`, or let the repository's own
|
|
245
|
+
`postinstall` do it (see [Staying up to date](#staying-up-to-date)). The skill
|
|
246
|
+
steers the agent; the profiles, hooks, and CI remain the enforcement.
|
|
233
247
|
|
|
234
248
|
## Integrity: files agents must not change
|
|
235
249
|
|
|
@@ -274,6 +288,47 @@ After generating it, configure the GitHub branch ruleset to require the workflow
|
|
|
274
288
|
job before merging. `merge_group` is included so the same protection works with
|
|
275
289
|
GitHub Merge Queue.
|
|
276
290
|
|
|
291
|
+
## Staying up to date
|
|
292
|
+
|
|
293
|
+
Every change merged into this package's `main` is published to npm
|
|
294
|
+
automatically as the next patch version, with provenance, and tagged `vX.Y.Z`.
|
|
295
|
+
|
|
296
|
+
The hooks and the CI workflow run the package installed in `node_modules`, so
|
|
297
|
+
conventions, validators, and hook policy change as soon as a repository
|
|
298
|
+
upgrades the dependency; nothing needs reinstalling. The generated files are
|
|
299
|
+
copies: when an upgrade changes them, the integrity check reports them until you
|
|
300
|
+
run `bun run atdd-bun init --replace` and commit the result. The agent skill is
|
|
301
|
+
the one refreshed automatically. To refresh it on every install, add a script to the
|
|
302
|
+
repository's own `package.json` (Bun runs a project's own lifecycle scripts, not
|
|
303
|
+
a dependency's):
|
|
304
|
+
|
|
305
|
+
```json
|
|
306
|
+
"scripts": {
|
|
307
|
+
"postinstall": "atdd-bun agent init --replace"
|
|
308
|
+
}
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
To receive each release as a pull request, add `.github/dependabot.yml` on the
|
|
312
|
+
default branch:
|
|
313
|
+
|
|
314
|
+
```yaml
|
|
315
|
+
version: 2
|
|
316
|
+
updates:
|
|
317
|
+
- package-ecosystem: "bun"
|
|
318
|
+
directory: "/"
|
|
319
|
+
schedule:
|
|
320
|
+
interval: "daily"
|
|
321
|
+
allow:
|
|
322
|
+
- dependency-name: "@afokapu/atdd-bun"
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
Merging that pull request installs the new version and, through `postinstall`,
|
|
326
|
+
rewrites the skill. Without Dependabot, upgrade with
|
|
327
|
+
`bun update @afokapu/atdd-bun`. The lockfile pins the installed version, so
|
|
328
|
+
nothing changes until one of these runs. While the package is `0.x`, a `^0.1.x`
|
|
329
|
+
range accepts only `0.1.*`; move to a new minor with
|
|
330
|
+
`bun add -d @afokapu/atdd-bun@latest`.
|
|
331
|
+
|
|
277
332
|
## Linked worktrees for agent work
|
|
278
333
|
|
|
279
334
|
An optional policy reserves one primary checkout for `main` and requires feature
|
|
@@ -340,12 +395,6 @@ publish using its own credentials and registry configuration.
|
|
|
340
395
|
|
|
341
396
|
`bun test` runs the package’s real-Git fixtures and detector clean/dirty corpora.
|
|
342
397
|
The suite proves that every declared convention output has a matching convention
|
|
343
|
-
and a deliberate failing case; it also covers hook isolation,
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
## Boundaries
|
|
347
|
-
|
|
348
|
-
This package intentionally excludes ATdd’s Python runtime orchestration,
|
|
349
|
-
registry/state reconciliation, GitHub API integration, cluster access, and
|
|
350
|
-
deployment execution. Those capabilities may be configured around the package,
|
|
351
|
-
but repository enforcement remains deterministic and locally runnable.
|
|
398
|
+
and a deliberate failing case; it also covers hook isolation, the declarative
|
|
399
|
+
registry policy, CI generation, agent-skill installation, planner scope, release
|
|
400
|
+
validation, and linked-worktree policy.
|
package/integrity.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.3.
|
|
2
|
+
"version": "0.3.1",
|
|
3
3
|
"files": {
|
|
4
4
|
"HOOK_AUDIT.md": "5329d840db37671b1918f688ead26865473b87db73dbc75f7c8b2a8bbe8d6d43",
|
|
5
5
|
"PLANNER_PORT.md": "54ba452eb39cb5afb7c225363fddfd1bf9272ca1c12e7cbf6815a1dd464ff2b3",
|
|
6
|
-
"README.md": "
|
|
6
|
+
"README.md": "506272551a4ad748537a2ade2a66219429eebba6e38fcd74c88e602bd94e0dbd",
|
|
7
7
|
"bunfig.toml": "b9fc65eca9014c5179380259d70e76385a6a80788fa9a2df5fb3eaa5554fd2fe",
|
|
8
8
|
"conventions/coder.bun/coder.bun.boundaries-http-client.convention.yaml": "b846bb6ced2c4c967466520d52b00ff1ca802dafcdbb2ec2adbd0ce19e752a28",
|
|
9
9
|
"conventions/coder.bun/coder.bun.commons-application-no-integration.convention.yaml": "f63e7f6442bcdf5cf79f58a091547a1a990d0ee7c006b797fd5187d6f8bf8712",
|