Files
030-password-manager/docs/milestones/mil-001-project-foundation.md
T
Tirsvad 53f56eeb14 docs: baseline plan (business case, stakeholders, plan, milestones, reviews)
Business Case, Stakeholder Analysis, Domain Dictionary, Project Plan,
three milestones, review records RC-001 to RC-006 and the traceability
matrix. PO language en, domain it.
2026-10-14 21:17:30 +08:00

76 lines
3.7 KiB
Markdown

# Project Foundation
## Metadata
| Key | Value |
| --- | --- |
| ID | MIL-001 |
| CrossReference | [BC-001] |
| Language | en |
| Domain | it |
## Version History
| Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- |
| 2026-10-14 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending |
---
# Project Foundation
## Purpose
Decide whether the repository has the configuration, conventions and entry documentation every later phase builds on, so that feature work starts on a runnable, testable skeleton.
## Deliverable
A repository with `pyproject.toml` (Python 3.13 or newer, pytest as a development dependency, no runtime dependency), a Python `.gitignore` that excludes `.env` and `.venv`, `src/password_manager/constants.py`, a smoke test under `tests/`, a `Doxyfile`, a `README.md` built from the framework template with `.venv` instructions, and a repository description and topics on the git host.
## Go / No-Go Criteria
| # | Criterion (objectively checkable) | Go | No-Go |
| --- | --- | --- | --- |
| 1 | `python -m pytest` passes in a fresh `.venv` | 0 failures | Any failure |
| 2 | `pyproject.toml` has `requires-python >= 3.13` and an empty runtime `dependencies` list | Both present | Missing or non-empty |
| 3 | `.gitignore` contains `.env` and `.venv` | Both present | Either missing |
| 4 | `bash framework/scripts/check-readme.sh` exits 0 | Exit 0 | Any finding |
| 5 | The git host shows a description and at least 5 topics for the repository | Both set | Either missing |
## Dependencies
| Depends on | Reason |
| --- | --- |
| (none) | The baseline documents are in the repository |
## Traceability
| Business Case objective / KPI / user story | Reference |
| --- | --- |
| BC-001 O4; Success criteria 4, 5 and 7 | [BC-001] |
## Ownership
| Role | Stakeholder ID (SA) |
| --- | --- |
| Owner | S01 |
| Approving reviewer | S01 (AI as stand-in, autonomous mode) |
## Target Date
2026-10-15 — the Business Case sets no deadline; the plan's first phase is one to two days.
## Tasks
| # | Task | Summary | Needs its own Use Case/User Story? | Reference |
| --- | --- | --- | --- | --- |
| 1 | Create pyproject.toml and the package skeleton | Add `pyproject.toml` with Python 3.13 or newer, the setuptools build backend, a `src/password_manager` package, pytest as an optional `dev` dependency and pytest paths. Needed so the project installs with `python -m pip install -e .[dev]` and tests find the package. | No | |
| 2 | Add the Python .gitignore | Add a Python `.gitignore` that also excludes `.env`, `.venv` and Doxygen output, so a token or an environment is never committed. | No | |
| 3 | Add constants.py | Create `src/password_manager/constants.py` holding the data file name, window title, padding, default e-mail and password-length values, because the requirement is that constants live in one module. | No | |
| 4 | Add the Doxyfile | Add a `Doxyfile` that documents `src/` into `docs/doxygen/` so the Doxygen comments in the source can be built into HTML. | No | |
| 5 | Write the README from the framework template | Create `README.md` from the framework template with requirements, the `.venv` creation and `python -m pip install --upgrade pip` commands, run and test instructions and a Security note. | No | |
| 6 | Set the repository description and topics | Use the git host API with the token from `.env` (never printed, never imported by the project) to set a description and topics for the repository so viewers (S03) can find it. | No | |
| 7 | Add the smoke test | Add a first pytest test that imports the package and its constants so the test command is proven from the first milestone. | No | |
---
[BC-001]: ../business-case.md