@turri-dev/cli 0.1.1 → 0.1.2-next.48dacfc

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.
@@ -72,7 +72,8 @@ function watch() {
72
72
  const script = [
73
73
  `while kill -0 ${process.pid} 2>/dev/null; do sleep 2; done`,
74
74
  `[ -f '${file}' ] || exit 0`,
75
- `while read -r group; do kill -KILL -- "-$group" 2>/dev/null; done < '${file}'`,
75
+ // No `--` after the signal: dash, /bin/sh on Debian and Ubuntu, reads it as a process id and kills nothing.
76
+ `while read -r group; do kill -KILL "-$group" 2>/dev/null; done < '${file}'`,
76
77
  `rm -f '${file}'`,
77
78
  ].join("\n");
78
79
  try {
@@ -29,6 +29,19 @@ in `src/` beside them. `npm pack` and `npm publish` run it first (`prepack`), an
29
29
  the launcher and extension beside itself, whichever they are. To try the package as users get it:
30
30
  `npm pack`, then `npm install -g ./turri-dev-cli-<version>.tgz`.
31
31
 
32
+ ## Publishing
33
+
34
+ `.github/workflows/publish.yml` publishes `@turri-dev/cli`, after the typecheck and the suite pass:
35
+
36
+ - every push or merge into `main` publishes a prerelease under the `next` dist-tag - the patch after the `latest` on
37
+ npm, with the commit's sha: `0.1.2-next.<sha>`. `latest` is not touched; `npm install -g @turri-dev/cli@next` gets it.
38
+ - a GitHub Release tagged `vX.Y.Z`, published by hand, publishes `X.Y.Z` as `latest` (or under `next`, if the release
39
+ is marked a pre-release). The tag is the version: it is set in the runner and never committed, so `package.json`'s
40
+ version on `main` is stale by design.
41
+
42
+ The workflow signs in to npm with npm's trusted publishing (OIDC), not a token: the package's settings on npmjs.com
43
+ trust `turri-oss/turri`, the workflow `publish.yml` and the environment `npm`. Renaming the workflow file breaks it.
44
+
32
45
  ## Layout
33
46
 
34
47
  | path | what it is |
@@ -22,14 +22,15 @@ turri # pi, with turri's tools, skills and themes loaded
22
22
  ```
23
23
 
24
24
  The package is `@turri-dev/cli` - npm keeps the name `turri` back, as too like another
25
- package's - and the command it puts on your PATH is `turri`.
25
+ package's - and the command it puts on your PATH is `turri`. `npm install -g @turri-dev/cli@next` gets the latest
26
+ prerelease instead, built from the last commit on `main`.
26
27
 
27
28
  ## From a clone
28
29
 
29
30
  To work on turri itself, put the clone on your PATH instead:
30
31
 
31
32
  ```bash
32
- git clone git@github.com:plainlang/turri.git && cd turri
33
+ git clone git@github.com:turri-oss/turri.git && cd turri
33
34
  npm install
34
35
  npm link # puts `turri` on your PATH, pointing at this clone
35
36
  ```
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@turri-dev/cli",
3
- "version": "0.1.1",
3
+ "version": "0.1.2-next.48dacfc",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "repository": {
7
7
  "type": "git",
8
- "url": "git+https://github.com/plainlang/turri.git"
8
+ "url": "git+https://github.com/turri-oss/turri.git"
9
9
  },
10
- "homepage": "https://github.com/plainlang/turri#readme",
11
- "bugs": "https://github.com/plainlang/turri/issues",
10
+ "homepage": "https://github.com/turri-oss/turri#readme",
11
+ "bugs": "https://github.com/turri-oss/turri/issues",
12
12
  "description": "An agent that builds code from ***plain specifications, with harness-enforced review and conformance gates.",
13
13
  "engines": {
14
14
  "node": ">=22.19"