Skip to content

release: publish afm library crates to crates.io (deferred post-v0.1) #80

@P4suta

Description

@P4suta

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)

  1. Decide which crates form the public library surface to publish
    (afm-markdown at minimum; afm-cli is the binary).
  2. 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.
  3. Settle the afm-markdown-test-support dev-dependency boundary and
    metadata (license, description, repository, categories/keywords).
  4. 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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    deferredIntentionally postponed / not-yet-done; backlogenhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions