chore: finalise composer metadata + lean packaging (#97 / #98) #477

Merged
manlycucumber merged 1 commit from feature/97-packaging into develop 2026-07-10 22:52:44 +00:00
manlycucumber commented 2026-07-10 22:50:55 +00:00 (Migrated from github.com)

What

Epic #97 — packaging & release (#98): complete, validated composer metadata and a lean distribution, so consumers can require directorium/core stably at 1.0.

  • composer.json — added homepage, entity authors, support links (issues/source/docs), and richer keywords (roman-rite, traditional-latin-mass, 1962). The >=7.4 requirement is the range CI tests on 7.4/8.1/8.2/8.3. Validates clean under composer validate --strict --no-check-publish (exactly what CI runs, before install — the local composer.lock warning is moot since a library doesn't commit one; it's gitignored).
  • .gitattributesexport-ignore so the Packagist archive ships only the runtime: src/ + the runtime data/corpus/ + README/licence/provenance. Verified via git archive: tests/tools/docs/bin and all CI/release config are excluded; src/, data/corpus/, composer.json, README.md are included.
  • docs/releasing.md — the release-please flow, the attached CC0 dataset artifact, and the one-time maintainer steps: Packagist submission (packagist.org/packages/submit + webhook), Zenodo, and cutting the 1.0.0 tag from the green pipeline.

Verification

  • composer validate --strict --no-check-publish (composer.json valid) · lint .
  • git archive dist contents confirmed lean (dev files excluded, runtime included).
  • Config/docs only — no PHP code changed.

The Packagist publication and the 1.0.0 tag are the documented maintainer steps (external account / release-PR merge); everything they need is in place.

Closes #98.

## What Epic **#97 — packaging & release** (#98): complete, validated composer metadata and a lean distribution, so consumers can `require directorium/core` stably at 1.0. - **`composer.json`** — added `homepage`, entity `authors`, `support` links (issues/source/docs), and richer keywords (`roman-rite`, `traditional-latin-mass`, `1962`). The `>=7.4` requirement is the range CI tests on **7.4/8.1/8.2/8.3**. Validates clean under `composer validate --strict --no-check-publish` (exactly what CI runs, before install — the local `composer.lock` warning is moot since a library doesn't commit one; it's gitignored). - **`.gitattributes`** — `export-ignore` so the Packagist archive ships only the runtime: `src/` + the runtime `data/corpus/` + README/licence/provenance. **Verified** via `git archive`: tests/tools/docs/bin and all CI/release config are excluded; `src/`, `data/corpus/`, `composer.json`, `README.md` are included. - **`docs/releasing.md`** — the release-please flow, the attached CC0 dataset artifact, and the one-time **maintainer** steps: Packagist submission (`packagist.org/packages/submit` + webhook), Zenodo, and cutting the `1.0.0` tag from the green pipeline. ## Verification - `composer validate --strict --no-check-publish` ✅ (composer.json valid) · `lint` ✅. - `git archive` dist contents confirmed lean (dev files excluded, runtime included). - Config/docs only — no PHP code changed. The Packagist publication and the `1.0.0` tag are the documented maintainer steps (external account / release-PR merge); everything they need is in place. Closes #98.
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Directorium/Core!477
No description provided.