Skip to main content

F-009 Packaging & Distribution

Design status: This page includes earlier planning assumptions. The current CLI contract and ADR-011 govern the CLI-first agent integration; MCP, SQLite preview handles, and server-side confirmation described below are not shipped.

AttributeValue
ProjectDevWorkWire
Version0.1
StatusClarified
ReadinessClarified
OwnerProduct Owner

Context​

  • Problem: Without a proper packaging and release story, developers can't easily install or trust DevWorkWire updates — the stated goal of broad, frictionless distribution depends on this.
  • Primary Persona: Maya, Solo/Small-Team Developer (installs via pip/pipx); also Idris (installs to run the MCP server).
  • In Scope: A PyPI package (devworkwire) installable via pip install devworkwire; pipx documented as the recommended install path; a self-maintained Homebrew tap (alonsovndev/devworkwire); Semantic Versioning; a changelog following Keep a Changelog conventions.
  • Out of Scope: Homebrew core submission; standalone binaries — both explicitly deferred per Out of Scope for MVP.

Open Questions​

None currently blocking this feature.

Functional Requirements​

IDRequirementSourcePriorityOwner (DRI)Acceptance CriteriaStatus
FR-009-01The system is published as an installable PyPI package named devworkwire.OverviewMustProduct OwnerGiven pip install devworkwire (or pipx install devworkwire) on a supported Python version, the dwire CLI command becomes available.Clarified
FR-009-02The project documents pipx as the recommended installation method, with pip as a supported alternative.OverviewShouldProduct OwnerGiven the project's installation documentation, pipx is presented as the recommended path, with pip documented as a supported alternative.Clarified
FR-009-03The system is distributed via a self-maintained Homebrew tap (alonsovndev/devworkwire).OverviewShouldProduct OwnerGiven the documented tap command, dwire becomes available and runnable on a supported macOS/Homebrew environment.Clarified
FR-009-04Each release follows Semantic Versioning and records its changes in a changelog following Keep a Changelog conventions.User clarification (F-009 release conventions); OverviewMustProduct OwnerGiven a new release, its version number follows SemVer relative to the prior release, and the changelog gains a new entry categorized per Keep a Changelog before the release is published.Clarified

Feature-Scoped Non-Functional Requirements​

IDRequirementMetric / TargetPriorityOwner (DRI)Status
NFR-009-01The package installs cleanly on a clean environment for each supported distribution channel (PyPI/pipx, Homebrew tap).A fresh install (clean venv or container) succeeds with no manual dependency fixes, verified before each release.MustTech LeadClarified

Dependencies and Risks​

  • Dependencies: pyproject.toml packaging setup and build-backend choice — an infrastructure decision to be captured as an ADR in 04-decisions, not detailed further here.
  • Risks: Maintaining a Homebrew tap in parallel with PyPI adds release overhead — mitigated by scripting/automating the release process as future CI work, not a blocking requirement for this feature.

Traceability​


Last Updated: 2026-08-28