# CYA-WP-0004: Developer Installation from Git and Release Distribution Packaging
## Goal
Enable two important installation and distribution experiences for `can-you-assist` (`cya`):
1.**Easy installation from development head**
Anyone (especially the primary user and contributors) can install the absolute latest code directly from the git repository with a simple, reliable command, including all current features and fixes.
2.**Repeatable release packaging**
Provide a clear, low-friction process to cut versions and produce installable distribution packages (sdist + wheel) that others can use via `pip install` without needing to clone the repository or understand the development setup.
This workplan addresses the current gap where only `pip install -e .` (editable development install) is supported, and there is no documented or automated path for either "bleeding edge" installs or proper releases.
## Background & References
- Current packaging is minimal (`pyproject.toml` using setuptools with a static `version = "0.1.0"`).
- Editable development install (`pip install -e .`) works and is documented in README and AGENTS.md.
- No support yet for `pip install git+https://...` in a robust way.
- No versioning strategy, no release process, no `build` frontend usage, and no distribution artifacts.
- The project has matured through CYA-WP-0001 (MVP), 0002 (Memory), and 0003 (Contextual Activation + Retrospection), making proper distribution increasingly important.
- AGENTS.md and README currently only document the editable development path.
## Non-Goals (for this slice)
- Publishing packages to PyPI (the output of this workplan should be usable with a future PyPI publication step).
- Complex multi-platform CI matrix or release automation beyond a solid local + basic CI foundation.
- Supporting ancient Python versions or exotic packaging backends.
- Creating a full "release engineering" platform (this is scoped to getting reliable dev-head + released packages working).
## Task Breakdown
### T01 — Audit current packaging state and define requirements
**Status: active** — activated for ralph-workplan loop execution (HEUREKA promise, max 20 iterations). This workplan addresses the practical gap where only editable development installs were supported, by enabling reliable installation from the development head and creating a repeatable process for versioning and building distribution packages.
**Status note**: This workplan closes an important practical gap. It makes `cya` usable from the latest code for the primary user and creates the foundation for proper releases.