Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion .agents/skills/verify-template/features/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ One file per feature. `covers:` lists the source globs it owns, `docs:` the page
| [module](module.md) | Creates a module and builds it. | scaffold-shape, module-build |
| [playground](playground.md) | Runs the playground that calls the module's `Log`. | playground-dev |
| [tests](tests.md) | Runs `pnpm test`. | module-test, module-test-fails |
| [tooling](tooling.md) | Runs typecheck, lint, knip and `pnpm run checks`. | scaffold-lint, scaffold-lint-rejects, scaffold-checks |
| [tooling](tooling.md) | Runs typecheck, lint, knip and `pnpm run checks`. | scaffold-lint-rejects, scaffold-checks |
| [docs](docs.md) | Reads the README, CONTRIBUTING and the license. | scaffold-docs |
| [git](git.md) | Commits in a module whose `.gitignore` the template wrote. | scaffold-gitignore |
| [smoke](smoke.md) | The fixed journey every verdict runs: create, install, build. | module-build |
Expand Down
4 changes: 1 addition & 3 deletions .agents/skills/verify-template/features/tooling.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ docs:
- CONTRIBUTING.md
- AGENTS.md
journeys:
- scaffold-lint
- scaffold-lint-rejects
- scaffold-checks
---
Expand All @@ -24,9 +23,8 @@ The guardrail configuration the user inherits: TypeScript, lint, format, knip, t

## Sub-features

- `scaffold-lint`: `typecheck`, `lint` and `knip` pass in the new module.
- `scaffold-lint-rejects`: an unused local fails the typecheck and a `debugger` statement fails lint, so the configs are live.
- `scaffold-checks`: `pnpm run checks` passes after the first commit, whose hook formats the `package.json` that `ajs module init` rewrites (AGENTS.md documents the step).
- `scaffold-checks`: `pnpm run checks` passes after the first commit, whose hook formats the `package.json` that `ajs module init` rewrites (AGENTS.md documents the step). Its summary skips no step, and no `typecheck`, `lint` or `knip` failure appears in its output, so those three ran and passed.

## How to get to it (user POV)

Expand Down
20 changes: 7 additions & 13 deletions .agents/skills/verify-template/verify.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import {
has,
interrupted,
type JourneyContext,
lacks,
type VerifyConfig,
} from "@antelopejs/tooling-configs/verify";

Expand Down Expand Up @@ -139,17 +140,6 @@ const config: VerifyConfig = {
context.expect(test.folder, [equal("the run failed", test.exitCode !== 0, true), has("output", test.stdout + test.stderr, /verify-broken/), has("output", test.stdout, /1 failing/)]);
},
},
"scaffold-lint": {
title: "the created module passes its typecheck, lint and knip",
entryPoint: "`pnpm run typecheck`, `pnpm run lint` and `pnpm run knip`",
async run(context) {
const module = await scaffolded(context);
for (const script of ["typecheck", "lint", "knip"]) {
const done = await context.command(`pnpm run ${script}`, "pnpm", ["run", script], { cwd: module });
context.expect(done.folder, [exitIs(done, 0)]);
}
},
},
"scaffold-lint-rejects": {
title: "typecheck rejects an unused local, and lint rejects a debugger statement, so the configs are live",
entryPoint: "`pnpm run typecheck` and `pnpm run lint` after editing `src/`",
Expand All @@ -164,7 +154,7 @@ const config: VerifyConfig = {
},
},
"scaffold-checks": {
title: "the created module passes `pnpm run checks` after its first commit, as AGENTS.md tells the user to do before changing anything",
title: "the created module passes `pnpm run checks`, typecheck, lint and knip included, after its first commit, as AGENTS.md tells the user to do before changing anything",
entryPoint: "the first `git commit`, whose hook formats the `package.json` the CLI rewrote, then `pnpm run checks`",
async run(context) {
const module = await scaffolded(context);
Expand All @@ -173,7 +163,11 @@ const config: VerifyConfig = {
const commit = await context.command("first commit", "git", ["-c", "user.name=verify", "-c", "user.email=verify@example.com", "commit", "-m", "chore: initial commit"], { cwd: module });
context.expect(commit.folder, [exitIs(commit, 0)], { critical: true });
const checks = await context.command("pnpm run checks", "pnpm", ["run", "checks"], { cwd: module });
context.expect(checks.folder, [exitIs(checks, 0)]);
context.expect(checks.folder, [
exitIs(checks, 0),
has("no step was skipped", checks.stdout, /Checks: \d+ passed, \d+ failed\.\n/),
...["typecheck", "lint", "knip"].map((step) => lacks(`no ${step} failure`, checks.stdout, new RegExp(`^\\[${step}\\]`, "m"))),
]);
},
},
"scaffold-docs": {
Expand Down
Loading