@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 +14 -21
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
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
|
-
|
|
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
|
-
|
|
38
|
-
|
|
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
|
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@macula-io/martha",
|
|
3
|
-
"version": "1.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.
|
|
9
|
+
"version": "1.0.1",
|
|
10
10
|
"bundleDependencies": [
|
|
11
11
|
"sigstore"
|
|
12
12
|
],
|
package/package.json
CHANGED