Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
474 commits
Select commit Hold shift + click to select a range
9b20198
chore(deps): update dependency vitest to v4.0.10
renovate[bot] Nov 20, 2025
ceba8e7
Merge pull request #2186 from form8ion/renovate/beta-vitest-monorepo
renovate[bot] Nov 20, 2025
5f82719
chore(action): update actions/checkout action to v6
renovate[bot] Nov 20, 2025
9bddef0
Merge pull request #2185 from form8ion/renovate/beta-actions-checkout…
renovate[bot] Nov 21, 2025
d87acb4
chore(deps): update dependency rollup to v4.53.3
renovate[bot] Nov 22, 2025
2fdfb89
Merge pull request #2188 from form8ion/renovate/beta-rollup-4.x
renovate[bot] Nov 22, 2025
e4c41e9
chore(deps): update dependency rimraf to v6.1.2
renovate[bot] Nov 22, 2025
4af17fa
Merge pull request #2191 from form8ion/renovate/beta-rimraf-6.x
renovate[bot] Nov 22, 2025
e0fd13c
chore(deps): update npm to v11.6.3
renovate[bot] Nov 23, 2025
6032e1c
Merge pull request #2193 from form8ion/renovate/beta-npm-11.x
renovate[bot] Nov 23, 2025
947ae43
chore(deps): update dependency vitest to v4.0.12
renovate[bot] Nov 23, 2025
54b5657
Merge pull request #2195 from form8ion/renovate/beta-vitest-monorepo
renovate[bot] Nov 23, 2025
571cefc
chore(action): update github/codeql-action action to v4.31.5
renovate[bot] Nov 24, 2025
79e7c07
Merge pull request #2197 from form8ion/renovate/beta-github-codeql-ac…
renovate[bot] Nov 24, 2025
f9e43ef
chore(deps): update dependency vitest to v4.0.13
renovate[bot] Nov 24, 2025
396b91e
Merge pull request #2199 from form8ion/renovate/beta-vitest-monorepo
renovate[bot] Nov 25, 2025
365b611
chore(deps): update dependency vitest to v4.0.14
renovate[bot] Nov 28, 2025
fe7afe8
Merge pull request #2201 from form8ion/renovate/beta-vitest-monorepo
renovate[bot] Nov 28, 2025
95190fc
chore(deps): update npm to v11.6.4
renovate[bot] Nov 28, 2025
4c65e7e
Merge pull request #2203 from form8ion/renovate/beta-npm-11.x
renovate[bot] Nov 29, 2025
0dd16e3
chore(action): update github/codeql-action action to v4.31.6
renovate[bot] Dec 1, 2025
eee11e2
Merge pull request #2205 from form8ion/renovate/beta-github-codeql-ac…
renovate[bot] Dec 1, 2025
39bd78d
chore(action): update actions/checkout action to v6.0.1
renovate[bot] Dec 2, 2025
7f37ea1
Merge pull request #2208 from form8ion/renovate/beta-actions-checkout…
renovate[bot] Dec 2, 2025
4db3d38
chore(action): update actions/setup-node action to v6.1.0
renovate[bot] Dec 3, 2025
60c3df2
Merge pull request #2210 from form8ion/renovate/beta-actions-setup-no…
renovate[bot] Dec 3, 2025
cb2fbba
chore(deps): update dependency @cucumber/cucumber to v12.3.0
renovate[bot] Dec 4, 2025
5c33501
Merge pull request #2213 from form8ion/renovate/beta-cucumber-cucumbe…
renovate[bot] Dec 4, 2025
8624861
chore(deps): lock file maintenance
renovate[bot] Dec 4, 2025
6b7c169
Merge pull request #2212 from form8ion/renovate/beta-lock-file-mainte…
renovate[bot] Dec 5, 2025
6e665b1
chore(action): update github/codeql-action action to v4.31.7
renovate[bot] Dec 5, 2025
78e1874
Merge pull request #2216 from form8ion/renovate/beta-github-codeql-ac…
renovate[bot] Dec 5, 2025
d0f67d1
chore(deps): update dependency vitest to v4.0.15
renovate[bot] Dec 5, 2025
54536bb
Merge pull request #2217 from form8ion/renovate/beta-vitest-monorepo
renovate[bot] Dec 6, 2025
adae68d
chore(deps): lock file maintenance
renovate[bot] Dec 8, 2025
44b6dd9
chore(action): update codecov/codecov-action action to v5.5.2
renovate[bot] Dec 12, 2025
128261c
Merge pull request #2219 from form8ion/renovate/beta-codecov-codecov-…
renovate[bot] Dec 12, 2025
bf5a7df
chore(action): update github/codeql-action action to v4.31.8
renovate[bot] Dec 12, 2025
af5b646
Merge pull request #2221 from form8ion/renovate/beta-github-codeql-ac…
renovate[bot] Dec 12, 2025
0a31ad5
chore(deps): update npm to v11.7.0
renovate[bot] Dec 13, 2025
1b5babe
Merge pull request #2224 from form8ion/renovate/beta-npm-11.x
renovate[bot] Dec 13, 2025
ed2e8c6
chore(deps): update dependency publint to v0.3.16
renovate[bot] Dec 14, 2025
9e6cea6
Merge pull request #2227 from form8ion/renovate/beta-publint-0.x
renovate[bot] Dec 14, 2025
6ec9875
chore(action): update actions/upload-artifact action to v6
renovate[bot] Dec 14, 2025
c8f2c3f
Merge pull request #2225 from form8ion/renovate/beta-major-github-art…
renovate[bot] Dec 14, 2025
592ec39
chore(deps): lock file maintenance
renovate[bot] Dec 15, 2025
99f0946
chore(deps): update dependency @cucumber/cucumber to v12.4.0
renovate[bot] Dec 16, 2025
8808dfa
Merge pull request #2228 from form8ion/renovate/beta-cucumber-cucumbe…
renovate[bot] Dec 16, 2025
124ea74
chore(action): update github/codeql-action action to v4.31.9
renovate[bot] Dec 17, 2025
8540ff6
Merge pull request #2230 from form8ion/renovate/beta-github-codeql-ac…
renovate[bot] Dec 17, 2025
abb6c86
chore(deps): update dependency rollup to v4.53.4
renovate[bot] Dec 18, 2025
ee009fb
Merge pull request #2232 from form8ion/renovate/beta-rollup-4.x
renovate[bot] Dec 18, 2025
978e0f8
chore(deps): update dependency rollup to v4.53.5
renovate[bot] Dec 19, 2025
33bcbf4
Merge pull request #2234 from form8ion/renovate/beta-rollup-4.x
renovate[bot] Dec 19, 2025
c5cb280
chore(deps): update dependency vitest to v4.0.16
renovate[bot] Dec 19, 2025
8c90847
Merge pull request #2236 from form8ion/renovate/beta-vitest-monorepo
renovate[bot] Dec 19, 2025
6a44696
chore(deps): update dependency ls-engines to v0.9.4
renovate[bot] Dec 20, 2025
7acbd0e
Merge pull request #2238 from form8ion/renovate/beta-ls-engines-0.x
renovate[bot] Dec 20, 2025
7d5161a
chore(deps): lock file maintenance
renovate[bot] Dec 22, 2025
389a074
chore(deps): update dependency sinon to v21.0.1
renovate[bot] Dec 22, 2025
acdf891
Merge pull request #2240 from form8ion/renovate/beta-sinon-21.x
renovate[bot] Dec 22, 2025
3a51302
chore(deps): update dependency rollup to v4.54.0
renovate[bot] Dec 23, 2025
27d5f09
Merge pull request #2242 from form8ion/renovate/beta-rollup-4.x
renovate[bot] Dec 23, 2025
a14e096
chore(deps): update dependency chai to v6.2.2
renovate[bot] Dec 26, 2025
4b99e30
Merge pull request #2244 from form8ion/renovate/beta-chai-6.x
renovate[bot] Dec 26, 2025
d5c11d1
chore(deps): lock file maintenance
renovate[bot] Dec 29, 2025
36ae4a0
chore(deps): update dependency @cucumber/cucumber to v12.5.0
renovate[bot] Dec 29, 2025
d281b72
Merge pull request #2247 from form8ion/renovate/beta-cucumber-cucumbe…
renovate[bot] Dec 29, 2025
7fd81ae
chore(deps): update dependency rollup to v4.59.0 [security]
renovate[bot] Mar 4, 2026
8bd909e
Merge pull request #2253 from form8ion/renovate/beta-npm-rollup-vulne…
renovate[bot] Mar 4, 2026
3f23671
chore(action): update actions/checkout action to v6.0.2
renovate[bot] Mar 8, 2026
5a5eee6
Merge pull request #2267 from form8ion/renovate/beta-actions-checkout…
renovate[bot] Mar 8, 2026
418898e
chore(deps): update dependency mdast-util-from-markdown to v2.0.3
renovate[bot] Mar 8, 2026
b0a9d27
Merge pull request #2268 from form8ion/renovate/beta-mdast-util-from-…
renovate[bot] Mar 8, 2026
6ed02c2
Merge branch 'master' of github.com:form8ion/project into beta
travi Mar 8, 2026
f72ce64
feat(scaffold): return results rather than reporting as terminal output
travi Mar 8, 2026
5ae6f07
chore(deps): update dependency @cucumber/cucumber to v12.7.0
renovate[bot] Mar 8, 2026
f7a45a0
Merge pull request #2272 from form8ion/renovate/beta-cucumber-cucumbe…
renovate[bot] Mar 9, 2026
a5a654c
feat(logger): expect logger to be provided as a dependency by caller
travi Mar 9, 2026
b38e1f6
chore(deps): update dependency @form8ion/commitlint-config to v2.0.9
renovate[bot] Mar 9, 2026
eca1178
Merge pull request #2275 from form8ion/renovate/beta-form8ion-commitl…
renovate[bot] Mar 9, 2026
7ecb2f1
chore(deps): update dependency @form8ion/eslint-config to v7.0.14
renovate[bot] Mar 9, 2026
0c8fe60
Merge pull request #2276 from form8ion/renovate/beta-form8ion-eslint-…
renovate[bot] Mar 9, 2026
9e396d4
chore(deps): update dependency ls-engines to v0.10.0
renovate[bot] Mar 9, 2026
bec5e46
feat(node-versions): drop support for node v20
travi Mar 10, 2026
427b445
Merge pull request #2246 from form8ion/renovate/beta-ls-engines-0.x
travi Mar 10, 2026
395ee60
chore(deps): update dependency simple-git to v3.32.3 [security]
renovate[bot] Mar 11, 2026
ad2a7ef
chore(deps): update npm to v11.11.1
renovate[bot] Mar 15, 2026
3e8d641
Merge pull request #2279 from form8ion/renovate/beta-npm-11.x
renovate[bot] Mar 15, 2026
4314dcb
chore(deps): update dependency @form8ion/commitlint-config to v2.0.10
renovate[bot] Mar 15, 2026
1e1cfbe
Merge pull request #2282 from form8ion/renovate/beta-form8ion-commitl…
renovate[bot] Mar 16, 2026
8d00346
chore(deps): update dependency vitest to v4.1.0
renovate[bot] Mar 16, 2026
279fa9c
Merge pull request #2283 from form8ion/renovate/beta-vitest-monorepo
renovate[bot] Mar 16, 2026
ceac115
chore(deps): lock file maintenance
renovate[bot] Mar 16, 2026
644dd1f
chore(action): update github/codeql-action action to v4.33.0
renovate[bot] Mar 16, 2026
c8ba546
Merge pull request #2285 from form8ion/renovate/beta-github-codeql-ac…
renovate[bot] Mar 16, 2026
cba4989
chore(action): update codecov/codecov-action action to v5.5.3
renovate[bot] Mar 19, 2026
5c05f81
Merge pull request #2288 from form8ion/renovate/beta-codecov-codecov-…
renovate[bot] Mar 19, 2026
636ad78
chore(deps): update dependency @form8ion/commitlint-config to v2.0.11
renovate[bot] Mar 19, 2026
563f788
Merge pull request #2289 from form8ion/renovate/beta-form8ion-commitl…
renovate[bot] Mar 19, 2026
f0308a1
chore(deps): update dependency sinon to v21.0.3
renovate[bot] Mar 19, 2026
c6ecd3d
Merge pull request #2291 from form8ion/renovate/beta-sinon-21.x
renovate[bot] Mar 19, 2026
d44cc23
chore(action): update github/codeql-action action to v4.34.0
renovate[bot] Mar 20, 2026
2f1da05
Merge pull request #2293 from form8ion/renovate/beta-github-codeql-ac…
renovate[bot] Mar 20, 2026
bc01c0f
chore(action): update github/codeql-action action to v4.34.1
renovate[bot] Mar 20, 2026
eea959b
Merge pull request #2295 from form8ion/renovate/beta-github-codeql-ac…
renovate[bot] Mar 21, 2026
db778d2
chore(deps): update npm to v11.12.0
renovate[bot] Mar 21, 2026
611d0b1
Merge pull request #2297 from form8ion/renovate/beta-npm-11.x
renovate[bot] Mar 22, 2026
3b9faf6
chore(deps): lock file maintenance
renovate[bot] Mar 23, 2026
266354e
chore(deps): update dependency rollup to v4.59.1
renovate[bot] Mar 24, 2026
5ba2c27
Merge pull request #2300 from form8ion/renovate/beta-rollup-4.x
renovate[bot] Mar 24, 2026
4562f99
chore(deps): update dependency rollup to v4.60.0
renovate[bot] Mar 25, 2026
9a857ab
Merge pull request #2302 from form8ion/renovate/beta-rollup-4.x
renovate[bot] Mar 25, 2026
e2206d5
chore(action): pin form8ion/.github action to 114c02f
renovate[bot] Mar 27, 2026
e8e0451
Merge pull request #2307 from form8ion/renovate/beta-pin-dependencies
renovate[bot] Mar 27, 2026
3359471
chore(action): update codecov/codecov-action action to v5.5.4
renovate[bot] Mar 27, 2026
1113763
Merge pull request #2308 from form8ion/renovate/beta-codecov-codecov-…
renovate[bot] Mar 27, 2026
6c705b0
chore(deps): update dependency vitest to v4.1.1
renovate[bot] Mar 27, 2026
363e420
Merge pull request #2309 from form8ion/renovate/beta-vitest-monorepo
renovate[bot] Mar 27, 2026
8f4b78e
chore(action): update codecov/codecov-action action to v6
renovate[bot] Mar 27, 2026
bd0024e
Merge pull request #2310 from form8ion/renovate/beta-codecov-codecov-…
renovate[bot] Mar 27, 2026
734786a
chore(action): update github/codeql-action action to v4.35.1
renovate[bot] Mar 27, 2026
e6ad1d4
Merge pull request #2312 from form8ion/renovate/beta-github-codeql-ac…
renovate[bot] Mar 27, 2026
30e478f
chore(deps): update dependency vitest to v4.1.2
renovate[bot] Mar 29, 2026
c9e38fb
Merge pull request #2315 from form8ion/renovate/beta-vitest-monorepo
renovate[bot] Mar 29, 2026
ee0f89c
chore(deps): update npm to v11.12.1
renovate[bot] Mar 29, 2026
54885ca
Merge pull request #2317 from form8ion/renovate/beta-npm-11.x
renovate[bot] Mar 30, 2026
ed01130
chore(deps): lock file maintenance
renovate[bot] Mar 30, 2026
b16f380
chore(action): update form8ion/.github digest to e5f1191
renovate[bot] Mar 31, 2026
68f80ce
Merge pull request #2320 from form8ion/renovate/beta-form8ion-.github…
renovate[bot] Mar 31, 2026
eafecff
chore(deps): update dependency rollup to v4.60.1
renovate[bot] Apr 2, 2026
b5b6224
Merge pull request #2322 from form8ion/renovate/beta-rollup-4.x
renovate[bot] Apr 2, 2026
9e5dac8
chore(deps): lock file maintenance
renovate[bot] Apr 6, 2026
16d1cd1
chore(action): update form8ion/.github digest to 5028d2c
renovate[bot] Apr 7, 2026
e967a90
Merge pull request #2324 from form8ion/renovate/beta-form8ion-.github…
renovate[bot] Apr 7, 2026
2ce1590
chore(deps): update dependency vitest to v4.1.3
renovate[bot] Apr 10, 2026
96397a6
Merge pull request #2326 from form8ion/renovate/beta-vitest-monorepo
renovate[bot] Apr 10, 2026
9d181a8
chore(action): update actions/upload-artifact action to v7.0.1
renovate[bot] Apr 10, 2026
cc4ad5d
Merge pull request #2328 from form8ion/renovate/beta-actions-upload-a…
renovate[bot] Apr 10, 2026
7ed76ad
chore(deps): update dependency vitest to v4.1.4
renovate[bot] Apr 12, 2026
499d6b9
Merge pull request #2330 from form8ion/renovate/beta-vitest-monorepo
renovate[bot] Apr 12, 2026
de90b20
chore(deps): update dependency sinon to v21.1.0
renovate[bot] Apr 12, 2026
9ce0c17
Merge pull request #2332 from form8ion/renovate/beta-sinon-21.x
renovate[bot] Apr 12, 2026
0b955a9
chore(deps): lock file maintenance
renovate[bot] Mar 9, 2026
25f17fc
chore(deps): update dependency @form8ion/eslint-config to v7.0.14
renovate[bot] Mar 9, 2026
e24e8e5
chore(deps): update dependency @form8ion/commitlint-config to v2.0.9
renovate[bot] Mar 9, 2026
a622db5
chore(deps): update dependency @form8ion/commitlint-config to v2.0.10
renovate[bot] Mar 15, 2026
5fe04a1
chore(deps): update dependency vitest to v4.1.0
renovate[bot] Mar 15, 2026
be10d87
chore(deps): update dependency @form8ion/commitlint-config to v2.0.11
renovate[bot] Mar 18, 2026
9ec6ada
chore(deps): update dependency sinon to v21.0.3
renovate[bot] Mar 19, 2026
edd3ec4
chore(deps): update dependency rollup to v4.59.1
renovate[bot] Mar 24, 2026
8c00029
chore(deps): update dependency rollup to v4.60.0
renovate[bot] Mar 25, 2026
d194222
chore(deps): update dependency vitest to v4.1.1
renovate[bot] Mar 26, 2026
04f8364
chore(deps): update dependency vitest to v4.1.2
renovate[bot] Mar 29, 2026
4747150
chore(deps): lock file maintenance
renovate[bot] Mar 29, 2026
eff6237
chore(deps): update dependency rollup to v4.60.1
renovate[bot] Apr 2, 2026
96adb32
wip(editorconfig): add predicate to detect whether already in use
travi Apr 7, 2026
d7533a3
feat(editorconfig): scaffold editorconfig when lifting if not already…
travi Apr 8, 2026
1d6f38d
feat(ci-providers): enable passing ci-provider plugins
travi Apr 13, 2026
c5bfe3d
chore(deps): fix lockfile
travi Apr 13, 2026
15304db
test(lint): upgrade to the beta of the eslint config
travi Apr 13, 2026
016babd
chore(deps): update dependency @travi/any to v3.3.0
renovate[bot] Apr 13, 2026
4751631
Merge pull request #2334 from form8ion/renovate/beta-travi-any-3.x
renovate[bot] Apr 13, 2026
7c35ab6
chore(deps): lock file maintenance
renovate[bot] Apr 13, 2026
cb882e4
chore(deps): update dependency sinon to v21.1.1
renovate[bot] Apr 13, 2026
3a94ae7
Merge pull request #2336 from form8ion/renovate/beta-sinon-21.x
renovate[bot] Apr 14, 2026
e556d89
chore(action): update form8ion/.github digest to 85b3f43
renovate[bot] Apr 14, 2026
c251def
Merge pull request #2338 from form8ion/renovate/beta-form8ion-.github…
renovate[bot] Apr 14, 2026
939f165
chore(deps): update dependency sinon to v21.1.2
renovate[bot] Apr 14, 2026
182f4e7
Merge pull request #2340 from form8ion/renovate/beta-sinon-21.x
renovate[bot] Apr 15, 2026
3fac736
chore(action): update github/codeql-action action to v4.35.2
renovate[bot] Apr 16, 2026
0b1e0db
Merge pull request #2342 from form8ion/renovate/beta-github-codeql-ac…
renovate[bot] Apr 16, 2026
975254d
chore(deps): update dependency @cucumber/cucumber to v12.8.0
renovate[bot] Apr 16, 2026
51bab80
Merge pull request #2343 from form8ion/renovate/beta-cucumber-cucumbe…
renovate[bot] Apr 16, 2026
c3dacf4
chore(deps): update dependency @cucumber/cucumber to v12.8.1
renovate[bot] Apr 17, 2026
3ae91ed
Merge pull request #2344 from form8ion/renovate/beta-cucumber-cucumbe…
renovate[bot] Apr 17, 2026
d59e85b
chore(deps): lock file maintenance
renovate[bot] Apr 20, 2026
8884866
chore(action): update actions/setup-node action to v6.4.0
renovate[bot] Apr 20, 2026
a471fd0
Merge pull request #2348 from form8ion/renovate/beta-actions-setup-no…
renovate[bot] Apr 20, 2026
92224f4
chore(action): update form8ion/.github digest to 378b50c
renovate[bot] Apr 20, 2026
d2d98c8
Merge pull request #2350 from form8ion/renovate/beta-form8ion-.github…
renovate[bot] Apr 20, 2026
a1e4e9b
chore(deps): update dependency rollup to v4.60.2
renovate[bot] Apr 21, 2026
eaee6ec
Merge pull request #2352 from form8ion/renovate/beta-rollup-4.x
renovate[bot] Apr 21, 2026
30fbb0b
test(lint): upgrade to the beta of the eslint config
travi Apr 22, 2026
2acc338
chore(action): update form8ion/.github digest to 2af37e6
renovate[bot] Apr 22, 2026
8150c2d
Merge pull request #2354 from form8ion/renovate/beta-form8ion-.github…
renovate[bot] Apr 22, 2026
8f554c2
chore(deps): update dependency vitest to v4.1.5
renovate[bot] Apr 24, 2026
edfac9a
Merge pull request #2358 from form8ion/renovate/beta-vitest-monorepo
renovate[bot] Apr 24, 2026
906a1d4
chore(action): update form8ion/.github digest to 455dc19
renovate[bot] Apr 30, 2026
b3d21c3
Merge pull request #2363 from form8ion/renovate/beta-form8ion-.github…
renovate[bot] Apr 30, 2026
5adc77b
chore(deps): update dependency @cucumber/cucumber to v12.8.2
renovate[bot] Apr 30, 2026
3327263
Merge pull request #2364 from form8ion/renovate/beta-cucumber-cucumbe…
renovate[bot] Apr 30, 2026
199d884
chore(deps): update dependency @form8ion/commitlint-config to v2.0.12
renovate[bot] Apr 30, 2026
c453d1a
Merge pull request #2365 from form8ion/renovate/beta-form8ion-commitl…
renovate[bot] Apr 30, 2026
9bbe850
chore(deps): update npm to v11.13.0
renovate[bot] Apr 30, 2026
a601a67
Merge pull request #2366 from form8ion/renovate/beta-npm-11.x
renovate[bot] May 1, 2026
9b37694
chore(action): update github/codeql-action action to v4.35.3
renovate[bot] May 1, 2026
f808a9f
Merge pull request #2368 from form8ion/renovate/beta-github-codeql-ac…
renovate[bot] May 1, 2026
e9c9608
docs(instructions): add initial iteration of copilot instructions
travi May 3, 2026
eb8503d
chore(deps): update dependency @form8ion/commitlint-config to v2.0.13
renovate[bot] May 3, 2026
5c120a3
Merge pull request #2371 from form8ion/renovate/beta-form8ion-commitl…
renovate[bot] May 3, 2026
9948239
feat(prompts): adjust prompt field constants to be nested under each …
travi May 3, 2026
b9125c8
docs(copilot-instructions): define an initial pass of commit conventions
travi May 3, 2026
a2b1203
docs(copilot-instructions): define commit workflow
travi May 3, 2026
8ffef82
docs(copilot-instructions): define implementation workflow, driven by…
travi May 3, 2026
125061d
docs(copilot-instructions): define expectations for minimal plugin im…
travi May 3, 2026
c55fb21
test(ci-provider): define `@wip` integration scenarios for ci-provide…
travi May 4, 2026
85533fa
docs(copilot): note that bare @-prefixed tokens in commit messages ta…
travi May 4, 2026
e29ad58
docs(copilot-instructions): define expectations for minimal plugin im…
travi May 4, 2026
bde07f1
Merge branch 'master' of github.com:form8ion/project into beta
travi May 4, 2026
e25f2cf
chore(action): update form8ion/.github digest to 86ca85f
renovate[bot] May 4, 2026
70f28ad
Merge pull request #2373 from form8ion/renovate/beta-form8ion-.github…
renovate[bot] May 4, 2026
b70767e
test(integration): define scenario for handling ci-provider plugin w/…
travi May 5, 2026
3193ff3
feat(ci-provider): treat plugins without `qualify` method as always q…
travi May 5, 2026
5902839
chore(action): update form8ion/.github digest to f7daac6
renovate[bot] May 5, 2026
d1a476f
Merge pull request #2376 from form8ion/renovate/beta-form8ion-.github…
renovate[bot] May 5, 2026
bfc20f3
chore(deps): update dependency simple-git to v3.36.0 [security]
renovate[bot] May 6, 2026
b7728b7
Merge pull request #2378 from form8ion/renovate/beta-npm-simple-git-v…
renovate[bot] May 6, 2026
dcd72ee
chore(action): update github/codeql-action action to v4.35.4
renovate[bot] May 8, 2026
c17ec43
Merge pull request #2381 from form8ion/renovate/beta-github-codeql-ac…
renovate[bot] May 8, 2026
1aeeba0
chore(deps): update dependency rollup to v4.60.3
renovate[bot] May 8, 2026
1e9609d
Merge pull request #2382 from form8ion/renovate/beta-rollup-4.x
renovate[bot] May 8, 2026
3cd54da
chore(deps): update dependency publint to v0.3.19
renovate[bot] May 8, 2026
0e9ad79
Merge pull request #2384 from form8ion/renovate/beta-publint-0.x
renovate[bot] May 9, 2026
06a3c39
chore(deps): update dependency sinon to v22
renovate[bot] May 9, 2026
bf4790d
Merge pull request #2386 from form8ion/renovate/beta-sinon-22.x
renovate[bot] May 9, 2026
46269ad
chore(deps): update npm to v11.14.0
renovate[bot] May 10, 2026
b99bb42
Merge pull request #2388 from form8ion/renovate/beta-npm-11.x
renovate[bot] May 10, 2026
269ba90
chore(deps): lock file maintenance
renovate[bot] May 11, 2026
d426a15
chore(deps): update dependency publint to v0.3.20
renovate[bot] May 11, 2026
b881608
Merge pull request #2390 from form8ion/renovate/beta-publint-0.x
renovate[bot] May 11, 2026
61037e4
chore(deps): update npm to v11.14.1
renovate[bot] May 11, 2026
855a2f8
Merge pull request #2392 from form8ion/renovate/beta-npm-11.x
renovate[bot] May 12, 2026
1133698
chore(deps): update dependency @form8ion/commitlint-config to v2.0.14
renovate[bot] May 12, 2026
98a2085
Merge pull request #2394 from form8ion/renovate/beta-form8ion-commitl…
renovate[bot] May 12, 2026
bece478
chore(action): update form8ion/.github digest to 6ac6505
renovate[bot] May 12, 2026
ac29d6f
Merge pull request #2396 from form8ion/renovate/beta-form8ion-.github…
renovate[bot] May 12, 2026
62c5c77
chore(deps): update dependency @cucumber/cucumber to v12.8.3
renovate[bot] May 12, 2026
57ef583
Merge pull request #2397 from form8ion/renovate/beta-cucumber-cucumbe…
renovate[bot] May 13, 2026
5b842da
chore(action): update form8ion/.github digest to b4e96a0
renovate[bot] May 13, 2026
82853cf
Merge pull request #2399 from form8ion/renovate/beta-form8ion-.github…
renovate[bot] May 14, 2026
d74cb43
chore(deps): update dependency vitest to v4.1.6
renovate[bot] May 14, 2026
12e3294
Merge pull request #2401 from form8ion/renovate/beta-vitest-monorepo
renovate[bot] May 15, 2026
6b0883e
fix(visibility): upgrade to the latest core package to handle visibil…
travi May 15, 2026
d649e6d
chore(action): update github/codeql-action action to v4.35.5
renovate[bot] May 15, 2026
50c27e4
Merge pull request #2403 from form8ion/renovate/beta-github-codeql-ac…
renovate[bot] May 15, 2026
4fd07af
chore(action): update form8ion/.github digest to 121ff4c
renovate[bot] May 16, 2026
475361c
Merge pull request #2407 from form8ion/renovate/beta-form8ion-.github…
renovate[bot] May 16, 2026
462a6fa
chore(deps): update dependency @form8ion/commitlint-config to v2.0.15
renovate[bot] May 16, 2026
032bdb4
Merge pull request #2408 from form8ion/renovate/beta-form8ion-commitl…
renovate[bot] May 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
163 changes: 163 additions & 0 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,163 @@
# Copilot Instructions for `form8ion/project` (Strict)

## Primary Rule

Follow existing repository patterns exactly.
Do not introduce new architecture, naming conventions, or directory structure.
Only do that when explicitly requested.

## Scope and Safety

* Make the smallest possible change to satisfy the request.
* Do not perform unrelated cleanup, refactors, or file moves.
* Preserve existing public exports and contracts unless a break is required.
* If required behavior is ambiguous, ask for clarification.

## Repository Conventions (Mandatory)

* Use ESM syntax only (`import` / `export`) in `src/**/*.js`.
* Feature implementation files usually default-export their primary function.
* Re-export plugin convention (protocol contract) names from each directory
`index.js`.
* Valid plugin convention names include `scaffold`, `lift`, `test`,
`remove`, and `qualify`.
* Keep feature logic in existing role files.
* `prompt.js`
* `schema.js`
* `scaffolder.js`
* `lifter.js`
* `tester.js`
* `index.js`
* Keep tests colocated with implementation as `*.test.js`.

## Naming Rules (Mandatory)

* File names use `kebab-case` and are noun-based.
* Function names are verb-based.
* Default export functions must be named, not anonymous.
* Prompt ID constants must use `*_PROMPT_ID`.
* Shared question maps must use `questionNames`.
* Prompt ID aggregators must use `ids`.
* Aggregator keys stay `CONSTANT_CASE`.
* Reuse existing identifiers where possible.

## Prompt Wiring Rules (Mandatory)

When adding or modifying prompt flow:

1. Define and export the prompt ID constant in the feature module.
1. Wire the prompt ID into `src/prompts/index.js` if it is in core flow.
1. Add or update keys in `src/prompts/question-names.js` when needed.
1. Merge through existing `questionNames` composition patterns.
1. Do not remove or rename existing IDs or keys unless requested.

### Prompt Consumer Pattern (Mandatory)

Consumers of the prompt handler must dispatch by `id` and resolve question key
names through `promptConstants`:

* Accept the prompt payload and destructure only the properties the handler
uses, including `id`.
* Destructure `{questionNames, ids}` from `promptConstants`.
* Alias each prompt ID from `ids` into a local `*PromptId` variable.
* Use a `switch (id)` with one `case` per prompt ID.
* Within each `case`, destructure question key names from
`questionNames[promptId]`.
* Throw an error with the unknown prompt ID in the `default` case.
* Reference `example.js` and `form8ion/github` `example.js` for the canonical
shape.

## Testing Rules (Mandatory)

* Any behavior change requires test updates.
* Follow TDD and the three laws with Red-Green-Refactor iteration.
* Unit test rules live in
`.github/instructions/unit-testing.instructions.md`.
* Integration rules live in
`.github/instructions/integration-testing.instructions.md`.
* Do not leave new logic untested.

## Workflow: Outside-First, Inside-Out Delivery Required

Use integration and unit tests together to drive new functionality.
Define behavior from the outside first.
Then build implementation layers from the inside out.

Follow this sequence for new behavior:

1. Define or update the integration scenario first in
`test/integration/features/**`.
1. Commit that scenario before implementation as its own commit when it is the
first statement of the new behavior.
1. Tag incomplete new integration scenarios with `@wip` so they can be pushed
to remote before the implementation is complete.
1. Use `@focus` locally while iterating on a specific `@wip` scenario.
1. Do not commit `@focus`.
1. Add or update unit tests in `src/**/*.test.js` to drive the next internal
implementation layer.
1. Implement the minimum code needed to satisfy the unit test.
1. Commit partial production-quality implementation progress as `wip` while the
full integration scenario is still incomplete.
1. Repeat unit-test-driven layer delivery until all required layers are
implemented.
1. Complete the integration scenario from the outside perspective and remove
`@wip` when it passes in the normal integration flow.
1. Commit the consumer-visible completion as `feat` or `fix`.

Treat the scenario-definition commit, intermediate `wip` implementation
commits, and final `feat`/`fix` completion commit as separate steps.

## Code Style Rules

* Match import ordering and formatting in the edited file.
* Prefix Node built-in imports with `node:`.
* Use two separated import groups in most files.
* Put package imports first and relative imports second.
* Keep exactly one blank line between package and relative groups.
* Within package imports, order by distance as built-ins, third-party,
`@travi`, then `@form8ion`.
* In relative imports, more parent traversals come first and same-folder
imports come last.
* For test files, use three groups: other packages,
testing dependencies, then relative imports.
* Prefer simple, explicit logic over abstractions.
* Prefer existing popular packages over complex local logic.
* Do not add dependencies for things easily done inline.
* Avoid comments; write code that reads clearly without them.
* In markdown documentation, use at most one sentence per line.
* In markdown tables, use spaces around cells for readability.

## README and Documentation

* Do not hand-edit the `## Example` section of `README.md`.
* Run `npm run generate:md` to regenerate it from `example.js` via remark.
* The script runs `remark . --output` after a build, so a build must be current.

## Commit Message Conventions

When making commits, follow the guidelines in
`.github/instructions/commit-conventions.md`.

For commit approval, history shaping, fixup commits, and rebase preferences,
follow `.github/instructions/commit-workflow.md`.

Key principle: use the commit type that accurately describes what changed.

semantic-release determines release impact from the commit type and any
`BREAKING CHANGE:` footer.

## Prohibited Without Explicit Request

* Cross-feature refactors.
* Renaming files or symbols for style only.
* Reorganizing folder structure.
* Changing module boundaries.
* Altering behavior outside task scope.

## Completion Checklist

* Change is minimal and task-focused.
* Naming follows repository conventions.
* Prompt and question wiring is consistent with `src/prompts/index.js`.
* Tests are added or updated for behavior changes.
* No unrelated modifications were introduced.
158 changes: 158 additions & 0 deletions .github/instructions/commit-conventions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
---
---

# Commit Message Conventions

This project uses [semantic-release](https://github.com/semantic-release/semantic-release)
with the default Angular commit convention to automate versioning and releases.

## Rule Sources

Effective commit rules come from the repo config chain.

* `.commitlintrc.json` extends `@form8ion`
* `@form8ion/commitlint-config` extends
`@commitlint/config-conventional`

Use these rules as the source of truth when writing commits.

## Core Principle

Write commit messages from the **consumer perspective**, not from an
implementation perspective.

This means:

* Use the commit type that accurately describes what the commit does
* The commit type makes clear whether the change affects consumers:
* `feat`, `fix`, `perf`, and `BREAKING CHANGE:` affect consumers
* `test`, `docs`, `chore`, `refactor` do not affect consumers
* semantic-release uses this to determine whether to create a release
* Always include clear motivation for why the change was made

## Format

Follow Angular convention:

```
<type>(<scope>): <summary>

<body>

<footer>
```

## Type

Allowed commit types include conventional types plus `wip`.

* Release-triggering types: `feat`, `fix`, `perf`
* Non-release types: `build`, `chore`, `ci`, `docs`, `refactor`,
`revert`, `style`, `test`, `wip`

Type should describe the primary intent of the commit:

* `feat`: new user-facing capability
* `fix`: user-facing bug fix
* `perf`: user-facing performance improvement
* `refactor`: structural/internal change with no user-facing behavior or API
impact
* `test`: tests only
* `docs`: documentation only
* `chore`/`build`/`ci`/`style`: maintenance and tooling

`refactor` is valid only when there is no user-facing behavior or API change.
If the public interface changes, use `feat` or `fix` and add
`BREAKING CHANGE:` when required.

### `wip` Type

`wip` is for incremental work toward another type, usually a future `feat` or
`fix`, when there is no user-facing behavior change yet.

A `wip` commit should still be production-quality and releasable.
It is distinct from other non-release types because it communicates
in-progress product work, not just maintenance or documentation updates.

When any `@word` token appears in a commit message summary or body, wrap it in
backticks to prevent GitHub from interpreting it as a user mention.
Cucumber tags (such as `@wip` or `@skip`) are a common source of this.

## Scope

`scope` should be kebab-case.
Choose a scope that reflects the package area, for example `prompts`,
`scaffolder`, `api`, `vcs`, or `language`.

## Line Length and Lint Constraints

commitlint enforces these limits:

* Header max length: `100`
* Body line max length: `100`
* Footer line max length: `100`

It also enforces lowercase `type` and kebab-case `scope`.

## Summary

The summary line should:

* State the purpose of the change
* Be imperative
* Match the selected type and scope

Good examples:

* `feat(prompts): define prompt constants for prompt-specific expectations`
* `test(language): cover scaffolder fallback behavior`
* `wip(prompts): split prompt-id mapping before feat completion`

Poor examples:

* `refactor(api): remove questionNames from public exports`
* `update copilot instructions`

## Breaking Changes

A breaking change is **only** when the public API or consumer-facing contract
changes.

Examples of breaking changes:

* Removing a public export
* Changing required function signatures
* Modifying the structure of returned values
* Changing behavior consumers depend on

Examples of changes that are usually not breaking by themselves:

* Moving internal code between files
* Updating internal documentation or instructions
* Changing test structure or test files
* Updating how internal constants are wired

## BREAKING CHANGE Footer

When introducing a breaking change:

* Include a `BREAKING CHANGE:` footer
* State what changed for consumers
* Include migration instructions

Example:

```
BREAKING CHANGE: `questionNames` is no longer exported from @form8ion/project

Use `promptConstants.questionNames` instead of importing `questionNames`
directly from `@form8ion/project`.
```

## Body

In the body, explain:

* Why the change was made
* What changes for users when consumer-facing
* Technical context needed for reviewers
65 changes: 65 additions & 0 deletions .github/instructions/commit-workflow.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
---
---

# Commit Workflow

## Core Principle

Treat commit history as part of the product story for a branch.
Each commit should be production-quality, releasable, and contribute to a clean,
intentional history.

## Current Approval Rules

* Do not create commits automatically.
* Always show the full proposed commit message before creating a commit.
* Show the subject, body, and any footers in the proposal.
* Wait for explicit user approval before running `git commit`.
* For breaking changes, include the proposed `BREAKING CHANGE:` footer and
migration instructions before asking for approval.

## Commit Story Rules

* Prefer a commit history that tells a coherent story of the feature or fix.
* Do not rely on squash merging to clean up history.
* Assume branch commits should be meaningful on their own.
* Keep commits focused and avoid mixing unrelated concerns.

## Fixup and Rebase Preferences

* When revising earlier work on a feature branch, prefer fixup commits over
noisy follow-up commits that clutter the story.
* Prefer interactive rebase to fold fixup commits into the appropriate earlier
commits before merge.
* Use fixup commits to improve an existing commit without changing the intended
story of the branch.
* Preserve a clean progression of intent across the branch history.

## `wip` Commits

* `wip` commits are allowed for incremental work toward a later `feat` or
`fix`.
* A `wip` commit must still be production-quality and releasable.
* Use `wip` only when the work is intentionally incomplete from a product
perspective and there is no user-facing behavior change yet.
* Preserve `wip` commits in history to keep the progress story intact.

## Future Automation Guidance

If commit automation is enabled later:

* Continue to show the proposed commit message before creating commits unless
explicitly instructed otherwise.
* Prefer creating fixup commits when adjusting previous commits on a branch.
* Prefer interactive rebase to clean up history before merge.
* Do not assume squash merge is the preferred cleanup strategy.
* Optimize for a branch history that communicates the right story to reviewers
and future readers.

## Relationship to Commit Conventions

Use `.github/instructions/commit-conventions.md` for commit message format,
commit type selection, commitlint rules, and semantic-release behavior.
Use this file for approval, history, and workflow expectations.


Loading