@julioborges/gantry 0.1.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.
Files changed (2) hide show
  1. package/README.md +28 -26
  2. package/package.json +2 -2
package/README.md CHANGED
@@ -3,6 +3,10 @@
3
3
  **Turn an approved Spec into verified software deliveries inside your coding
4
4
  harness.**
5
5
 
6
+ [![CI](https://github.com/JulioBorges/gantry/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/JulioBorges/gantry/actions/workflows/ci.yml)
7
+ [![Release](https://github.com/JulioBorges/gantry/actions/workflows/release.yml/badge.svg)](https://github.com/JulioBorges/gantry/actions/workflows/release.yml)
8
+ [![npm version](https://img.shields.io/npm/v/%40julioborges%2Fgantry)](https://www.npmjs.com/package/@julioborges/gantry)
9
+ [![GitHub release](https://img.shields.io/github/v/release/JulioBorges/gantry)](https://github.com/JulioBorges/gantry/releases)
6
10
  [![License: Apache 2.0](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE)
7
11
  [![Python: 3.10+](https://img.shields.io/badge/python-3.10%2B-blue.svg)](#requirements)
8
12
  [![Agent Skills](https://img.shields.io/badge/Agent-Skills-orange.svg)](#installation)
@@ -46,9 +50,8 @@ claiming support for a particular integration. See [PRD §13](PRD.md#13-harness-
46
50
  for harness support and fixture requirements. A declared tier does not prove every harness version
47
51
  has been exercised.
48
52
 
49
- The npm installer is configured locally as `@julioborges/gantry` version `0.1.0`;
50
- publication is a separate release step. Use the GitHub installation below until
51
- an npm release is available.
53
+ The npm installer is published as `@julioborges/gantry`. The npm badge above
54
+ shows the published version; new releases require maintainer authorization.
52
55
 
53
56
  ## Requirements
54
57
 
@@ -83,7 +86,7 @@ Select all three skills and your harness in the installer:
83
86
  You can also copy or symlink the three directories into
84
87
  `<repo>/.agents/skills/` or `~/.agents/skills/`. The repository copy wins.
85
88
 
86
- Once the npm package is published, its bundled installer supports:
89
+ The npm package includes a bundled installer:
87
90
 
88
91
  ```bash
89
92
  npx @julioborges/gantry add
@@ -385,6 +388,11 @@ Use [GitHub Issues](https://github.com/JulioBorges/gantry/issues) to describe a
385
388
  reproducible problem or propose a change. Delivery Issues used by Gantry itself
386
389
  remain local Markdown artifacts.
387
390
 
391
+ All changes go through a PR; `main` requires passing CI and maintainer review.
392
+ Only [JulioBorges](https://github.com/JulioBorges) reviews and merges contributions.
393
+ See [CONTRIBUTING.md](CONTRIBUTING.md) for the fork workflow, required gates,
394
+ and the documented self-review exception for maintainer PRs.
395
+
388
396
  Before changing the pack, read `PRD.md`, `CONTEXT.md`, `docs/adr/`, and `AGENTS.md`.
389
397
  Keep documentation and generated artifacts in English. Explain behavior changes
390
398
  and include validation evidence in your pull request.
@@ -392,6 +400,9 @@ and include validation evidence in your pull request.
392
400
  Run the Python suite from the repository root:
393
401
 
394
402
  ```bash
403
+ python3 -m venv .venv
404
+ source .venv/bin/activate
405
+ python3 -m pip install -r requirements-dev.txt
395
406
  make test
396
407
  ```
397
408
 
@@ -409,28 +420,19 @@ verify with `roadmap.py check`.
409
420
 
410
421
  ### Publishing to npm
411
422
 
412
- The package is configured for public publication as `@julioborges/gantry`, initially version `0.1.0`.
413
- Only the installer, three skill directories, README and license are included; Python caches,
414
- project Issues, fixtures, local configuration and runtime state are excluded.
415
-
416
- ```bash
417
- npm ci
418
- npm run test:package
419
- npm pack --dry-run
420
- # After approving the release and authenticating with an account allowed to publish the scope:
421
- make release
422
- ```
423
-
424
- `make release` verifies the npm account before installing locked dependencies with `npm ci` and publishing the current version from
425
- `package.json` to npm. Update that version before publishing a subsequent release.
426
- `prepublishOnly` first checks `npm whoami` against npmjs.org and refuses publication unless the
427
- authenticated account is exactly `julioborges`. Authentication and network failures block publication.
428
- This applies to both `make release` and direct `npm publish`; npm's registry permissions remain the
429
- authority, and lifecycle hooks can be bypassed with npm options.
430
- After authorization, it runs the repository test suite and the tarball installation test once before publication.
431
- The tarball test executes `npx` and installs all three skills in a temporary project using the packed
432
- artifact. See [npm's package metadata documentation](https://docs.npmjs.com/cli/v11/configuring-npm/package-json/)
433
- for the `bin`, `files` and `publishConfig` settings. No automatic publication is configured.
423
+ Releases use the manually authorized [Release workflow](.github/workflows/release.yml).
424
+ A version bump goes through a PR, then JulioBorges pushes a tag such as `v0.1.1`
425
+ for the merged commit and approves the `npm-release` environment. The workflow
426
+ derives the version from the tag and requires matching package and lockfile versions.
427
+ The workflow reruns gates, publishes the verified tarball using npm OIDC with
428
+ provenance, verifies registry integrity, and creates the GitHub Release for the immutable tag. Merging a PR does not automatically publish.
429
+
430
+ See the [maintainer release runbook](docs/maintainers/releases.md) for versioning,
431
+ authorization, npm trusted publisher setup, and recovery after partial failures.
432
+ The package includes only the installer, three skill directories, README and
433
+ license; project Issues, fixtures, caches, local configuration and runtime state
434
+ are excluded. Local `make release` retains its npm account check, but GitHub
435
+ Actions is the normal publication path.
434
436
 
435
437
  ## License
436
438
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@julioborges/gantry",
3
- "version": "0.1.0",
3
+ "version": "1.0.1",
4
4
  "description": "Install the Gantry harness-neutral agentic SDLC skill pack.",
5
5
  "type": "commonjs",
6
6
  "license": "Apache-2.0",
@@ -27,7 +27,7 @@
27
27
  ],
28
28
  "scripts": {
29
29
  "test": "make test",
30
- "test:package": "node --test tests/npm-package.test.mjs tests/npm-author.test.mjs",
30
+ "test:package": "node --test tests/npm-package.test.mjs tests/npm-author.test.mjs tests/github-release.test.mjs",
31
31
  "pack:check": "npm run test:package",
32
32
  "prepublishOnly": "node scripts/ensure-npm-author.mjs && npm test && npm run test:package"
33
33
  },