@macula-io/martha 1.0.0 → 1.0.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.
package/README.md CHANGED
@@ -1,6 +1,17 @@
1
+ <p align="center">
2
+ <picture>
3
+ <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/macula-io/martha/main/assets/martha-full-dark.svg">
4
+ <img src="https://raw.githubusercontent.com/macula-io/martha/main/assets/martha-full-light.svg" alt="Macula Martha" width="320">
5
+ </picture>
6
+ </p>
7
+
1
8
  # @macula-io/martha
2
9
 
3
- Installs [Martha](https://github.com/macula-io/martha) from its signed public package, with nothing but Node.
10
+ **Goal:** one developer, or a whole team, runs a crew of coding agents that plans, builds, reviews and releases
11
+ software, with one method and one tool.
12
+
13
+ This is the installer for [Martha](https://github.com/macula-io/martha): it installs Martha from its signed public
14
+ package, with nothing but Node.
4
15
 
5
16
  ```sh
6
17
  npx -y --ignore-scripts @macula-io/martha@<exact version> [<martha version>]
@@ -34,26 +45,8 @@ martha-install [<version>] [--downgrade] [--digest sha256:<hex>]
34
45
 
35
46
  ## How a release is made
36
47
 
37
- 1. The release dry run (`release-dry-run.yml`, started by hand on a branch) pushes the packed tree into the release
38
- package under a `dry-run-<run>-<attempt>` tag, which is never a version, so no install ever takes it. It signs it
39
- through the same signing workflow, then checks that the signature verifies for that branch and is refused for
40
- `refs/tags/v<version>`, that an unsigned image is refused, and that the layer is exactly the committed tree.
41
- Its two tags are kept in the public package, not pruned: one pair per run, and runs are started by hand.
42
- Neither is ever installed: no tag of that shape is a version, and the signature is for a branch, so an install,
43
- which demands `refs/tags/v<version>`, refuses it. Pruning would need a workflow that can delete package versions,
44
- and none of Martha's workflows holds that power. A maintainer may delete old ones by hand in the package settings.
45
- 2. The first dry run is what makes the release package. The maintainers then link it to this repository and make it
46
- public, before any release tag: every install pulls anonymously, and a refused pull must never read as
47
- "unsigned".
48
- 3. `installer-v<version>` publishes this installer to npm, with provenance, through trusted publishing.
49
- 4. `v<version>` publishes a signed Martha release into the package, pinning that installer.
50
-
51
- Neither tag publishes while a dependency of Martha or of this installer carries a known published advisory
52
- (`advisories.yml`, which also runs on every pull request). An advisory is fixed or waived by a dated, named, expiring
53
- row in `.github/advisories-waivers.txt`; there is no baseline. The `overrides` in `package.json` are such fixes:
54
- sigstore 5.0.0 resolves glob 13 and minimatch 10, which carry GHSA-3g3m-2fjr-6pw4 and GHSA-g3hv-75wg-m249, so the
55
- installer pins their first patched releases. Its callers use only `glob(pattern, options)` and
56
- `minimatch(path, pattern)`, which both majors keep. Drop an override once sigstore resolves a patched release itself.
48
+ For maintainers: how a release is built, signed and published, and what stops one, is in
49
+ [the repository's docs](https://github.com/macula-io/martha/tree/main/docs), in `how-a-release-is-made.md`.
57
50
 
58
51
  ## License
59
52
 
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@macula-io/martha",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@macula-io/martha",
9
- "version": "1.0.0",
9
+ "version": "1.0.1",
10
10
  "bundleDependencies": [
11
11
  "sigstore"
12
12
  ],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@macula-io/martha",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Install Martha from its signed public package: verifies the release's sigstore signature, then installs it",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",