hushrun 0.10.1 → 0.11.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hushrun",
3
- "version": "0.10.1",
3
+ "version": "0.11.0",
4
4
  "description": "Skip tests, lint and typecheck when this exact code already passed them, on laptops, in CI and in coding agents' sandboxes.",
5
5
  "keywords": [
6
6
  "ci",
@@ -36,6 +36,7 @@
36
36
  },
37
37
  "files": [
38
38
  "bin/",
39
+ "skills/",
39
40
  "vendor/",
40
41
  "LICENSE.md",
41
42
  "THIRD-PARTY-NOTICES.md"
@@ -44,11 +45,11 @@
44
45
  "node": ">=18"
45
46
  },
46
47
  "optionalDependencies": {
47
- "@hushrun/cli-darwin-arm64": "0.10.1",
48
- "@hushrun/cli-darwin-x64": "0.10.1",
49
- "@hushrun/cli-linux-arm64": "0.10.1",
50
- "@hushrun/cli-linux-x64": "0.10.1",
51
- "@hushrun/cli-win32-arm64": "0.10.1",
52
- "@hushrun/cli-win32-x64": "0.10.1"
48
+ "@hushrun/cli-darwin-arm64": "0.11.0",
49
+ "@hushrun/cli-darwin-x64": "0.11.0",
50
+ "@hushrun/cli-linux-arm64": "0.11.0",
51
+ "@hushrun/cli-linux-x64": "0.11.0",
52
+ "@hushrun/cli-win32-arm64": "0.11.0",
53
+ "@hushrun/cli-win32-x64": "0.11.0"
53
54
  }
54
55
  }
@@ -0,0 +1,82 @@
1
+ ---
2
+ name: hushrun
3
+ description: Use before every git push in a repository that uses hushrun, when hushrun's pre-push hook refuses a push, when a line starts with "hushrun:", and when asked to set hushrun up. hushrun skips CI checks that this exact code already passed, so running them here first means CI doesn't run them again.
4
+ compatibility: hushrun 0.11.0 or newer for `hushrun guide`; everything else here works with any hushrun.
5
+ metadata:
6
+ hushrun-skill: "1"
7
+ ---
8
+
9
+ # hushrun
10
+
11
+ hushrun remembers which checks passed on which files. A pass here skips the same check in CI, on
12
+ any branch or commit with the same files.
13
+
14
+ This skill holds what every hushrun does the same way. **Run `hushrun guide` once per session.**
15
+ It prints the rest for the hushrun installed here, such as what each of its lines means, and says
16
+ whether hushrun and this skill are current. If `guide` is an unknown command, this hushrun is
17
+ older than 0.11.0: follow this skill, and tell the person, who updates it.
18
+
19
+ In these commands, `hushrun` is `npx hushrun` where hushrun is a dev dependency (it is in
20
+ `package.json`'s `devDependencies`).
21
+
22
+ ## Is hushrun here?
23
+
24
+ A repository uses hushrun when its `package.json` has scripts that start with `hushrun run`, or a
25
+ `"hushrun"` key that names a backend; in another language, when it has a `hushrun.yaml` that
26
+ names a `backend`.
27
+
28
+ ## Before you push
29
+
30
+ 1. Commit your work.
31
+ 2. Run `hushrun ready`. It lists what CI would still run on this exact code, and the commands that
32
+ run it here, each in full, with the directory it runs in.
33
+ 3. Run those commands as printed, each on its own, so that each is the check CI looks for. If a
34
+ check fails, fix the code, not the check.
35
+ 4. Run `hushrun ready` again until it says the code is ready, then push.
36
+
37
+ `hushrun ready --format json` gives the same answer as data: `next` holds the commands to run, and
38
+ exit code 10 means they are still to run. A check in state `ci` is one nothing here changes: CI or
39
+ another machine runs it, and `why` says what it needs.
40
+
41
+ ## When a push is refused
42
+
43
+ hushrun's pre-push hook refuses a coding agent's push while a check that can run here hasn't
44
+ passed on the code being pushed. It prints the same list and the same commands as `hushrun
45
+ ready`: run them, then push again. Don't push with `--no-verify` unless the person asks you to.
46
+ If a check can't run on this machine, tell the person what it needs, and don't work around it.
47
+
48
+ ## When something is out of date
49
+
50
+ hushrun says so in a line that starts with `hushrun:`, or in `hushrun ready`'s notes:
51
+
52
+ - a newer release of hushrun is out;
53
+ - this repository's copy of this skill is older than this hushrun's, and `hushrun skill update`
54
+ updates it;
55
+ - a newer hushrun wrote this repository's copy, so this hushrun is the one to update.
56
+
57
+ Finish the task first. Then tell the person what hushrun said, with the command it gave. Don't
58
+ update hushrun, or rewrite this skill, in the middle of a task unless the person asks: the package
59
+ is the repository's, the binary is theirs, and an update changes the tool you are using.
60
+
61
+ ## Reporting back
62
+
63
+ Say which checks hushrun skipped because this code passed them before, which `hushrun ready` left
64
+ to CI (`ci`), and anything hushrun said is out of date.
65
+
66
+ ## Setting hushrun up
67
+
68
+ When a person asks you to add hushrun to a repository, run `npx hushrun init --yes` at its root.
69
+ It prints a sign-in link and a code: show both to the person and wait, since only they can approve
70
+ it. Then show them the diff. `hushrun guide` covers the rest, such as a person in several
71
+ organizations, and sandboxes with no browser.
72
+
73
+ ## Never
74
+
75
+ - Commit a token (`hra_…`, `hru_…`), a `HUSHRUN_AGENT` string (`hushrun_agent_…`) or a machine key,
76
+ or print one in a log or a pull request.
77
+ - Remove `hushrun run --` from a script to make a check run.
78
+ - Edit the `"hushrun"` key in `package.json`, `hushrun.yaml`, a `HUSHRUN_*` variable, or
79
+ `id-token: write` or a `hushrun run` in a CI file, unless the person asks.
80
+ - Run `hushrun login`, `hushrun logout` or `hushrun token` without being asked.
81
+
82
+ More: https://hushrun.com/docs/for-agents.md