@trajectonomics/tooling 0.1.0-alpha.0 → 0.1.0-alpha.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.
Files changed (2) hide show
  1. package/README.md +37 -5
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -55,8 +55,26 @@ jobs:
55
55
  uses: trajectonomics/cicd/.github/workflows/pr-title.yml@v1
56
56
  ```
57
57
 
58
+ ```yaml
59
+ # .github/workflows/release.yml (keep this filename: npm trusted publishing validates it)
60
+ name: Release
61
+ on:
62
+ push:
63
+ branches: [main]
64
+ paths-ignore: ["**/*.md", ".agents/**", ".claude/**", ".github/**"]
65
+ release:
66
+ types: [published]
67
+ permissions:
68
+ contents: write
69
+ id-token: write
70
+ jobs:
71
+ publish:
72
+ uses: trajectonomics/cicd/.github/workflows/publish.yml@v1
73
+ ```
74
+
58
75
  `check.yml` installs Bun, runs `bun install --frozen-lockfile`, then `bun run check`. It takes
59
76
  optional `bun-version` and `script` inputs. `pr-title.yml` requires a conventional-commit PR title.
77
+ `publish.yml` is described under Releasing.
60
78
 
61
79
  ## Development
62
80
 
@@ -71,11 +89,25 @@ against it, so they exercise the same resolution path a consuming repo uses.
71
89
 
72
90
  ## Releasing
73
91
 
74
- PR titles are conventional commits because they pick the next version (`feat:` minor, `feat!:`
75
- major, anything else patch). Merges to `main` that change package files publish an alpha
76
- (dist-tag `alpha`). Running the **Release** workflow by hand on `main` publishes a stable version
77
- (dist-tag `latest`), creates the `vX.Y.Z` tag and GitHub release, and moves the floating `vX` tag
78
- that consumers pin to. To cut `1.0.0`, run it with `bump` set to `major`.
92
+ Every package uses the shared `publish.yml`, so releasing works the same everywhere:
93
+
94
+ | You do | Result |
95
+ | --- | --- |
96
+ | Merge to `main` (package files changed) | Publishes an **alpha**, e.g. `1.2.0-alpha.3`, dist-tag `alpha` |
97
+ | Publish a **GitHub Release** with a new tag `vX.Y.Z` on `main` | Publishes **stable** `X.Y.Z`, dist-tag `latest` |
98
+
99
+ The release tag is the version; `package.json` `version` is never edited by hand. Alphas count up
100
+ from the last stable tag, and PR titles are conventional commits because they pick the alpha's base
101
+ (`feat:` minor, `feat!:` major, anything else patch). A release tag must look like `v1.2.3` and be on
102
+ `main`, or the run fails before publishing.
103
+
104
+ In this repo a stable release also moves the floating `vX` tag that consumers pin to.
105
+
106
+ **New package, one time:** publish the first version by hand (`npm version 0.1.0-alpha.0
107
+ --no-git-tag-version`, then `npm publish --access public --tag alpha --provenance=false`, then
108
+ `git checkout package.json`). Then add a Trusted Publisher on npmjs.com: GitHub Actions, your
109
+ repository, workflow `release.yml`, **allow publish directly**, no environment. It must be validated by
110
+ one successful CI publish within two days.
79
111
 
80
112
  ## Documentation
81
113
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trajectonomics/tooling",
3
- "version": "0.1.0-alpha.0",
3
+ "version": "0.1.0-alpha.1",
4
4
  "description": "Shared Biome and TypeScript presets, GritQL plugins, and reusable GitHub Actions workflows for Trajectonomics",
5
5
  "license": "MIT",
6
6
  "repository": {