Background
ADR-0009 ("authoring tools live in sibling repositories") sets afm's
distribution policy: the afm binary ships via GitHub Releases only,
and publishing the library crates to crates.io is explicitly out of
scope for the v0.1 cycle. From the ADR:
Rejected for now: inconsistent with the v0.1.0 GitHub-Releases-only
distribution plan.
Library consumers (e.g. the sibling tools) depend via git tag pins rather
than crates.io. Note the sibling aozora crates have since gone the other
way — they are published to crates.io / npm / PyPI (see aozora#86) — so
afm is now the asymmetric one.
Trigger to act
A concrete external consumer of the afm-markdown library (not the
binary), or a decision to align afm's distribution with aozora's
published-crate model.
What to do (when triggered)
- Decide which crates form the public library surface to publish
(afm-markdown at minimum; afm-cli is the binary).
- Audit the
[workspace.dependencies] git-pinned aozora dependency —
crates.io rejects git deps, so this requires aozora to be published
(now true per aozora#86) and afm to switch to a version requirement.
- Settle the
afm-markdown-test-support dev-dependency boundary and
metadata (license, description, repository, categories/keywords).
- Supersede the relevant part of ADR-0009 with a publish decision.
References
- ADR-0009 → "Distribution" / "Rejected for now"
Cargo.toml [workspace.dependencies] (git-pinned aozora)
- aozora#86 (upstream is already published to crates.io/npm/PyPI)
Background
ADR-0009 ("authoring tools live in sibling repositories") sets afm's
distribution policy: the
afmbinary ships via GitHub Releases only,and publishing the library crates to crates.io is explicitly out of
scope for the v0.1 cycle. From the ADR:
Library consumers (e.g. the sibling tools) depend via git tag pins rather
than crates.io. Note the sibling
aozoracrates have since gone the otherway — they are published to crates.io / npm / PyPI (see aozora#86) — so
afm is now the asymmetric one.
Trigger to act
A concrete external consumer of the
afm-markdownlibrary (not thebinary), or a decision to align afm's distribution with aozora's
published-crate model.
What to do (when triggered)
(
afm-markdownat minimum;afm-cliis the binary).[workspace.dependencies]git-pinnedaozoradependency —crates.io rejects git deps, so this requires aozora to be published
(now true per aozora#86) and afm to switch to a version requirement.
afm-markdown-test-supportdev-dependency boundary andmetadata (license, description, repository, categories/keywords).
References
Cargo.toml[workspace.dependencies](git-pinnedaozora)