Skip to content

Phase 6 — Packaging, CI, Tests, and Documentation #6

@Swiftburn

Description

@Swiftburn

Phase 6 — Packaging, CI, Tests, and Documentation

Purpose

Add reproducible environment, automated tests, CI, packaging instructions, and user documentation so the project is buildable and testable by collaborators.

Tasks

  • 6.1 Pin dependencies and extras

    • Files: requirements.txt, optional pyproject.toml
    • Work: List core and optional dependencies (mss, opencv-python, numpy, fugashi, pykakasi, websockets/aiohttp, pytest). Add [gpu] extras for model runners.
    • DoD: pip install -r requirements.txt sets up testable env.
  • 6.2 GitHub Actions CI

    • File: .github/workflows/ci.yml
    • Work: Workflow runs pytest, lints (ruff/flake8), and caches venv. Runs tests in matrix for Python 3.11 (and 3.10 optional).
    • DoD: CI runs on PRs and main; unit tests pass in CI.
  • 6.3 Add unit tests for all modules added so far

    • Folder: tests/
    • Work: Ensure tests exist for capture, OCR interfaces, translator stubs, overlay ws, voice parser, DB.
    • DoD: pytest locally passes.
  • 6.4 Packaging instructions & PyInstaller spec

    • Files: packaging/pyinstaller.spec, packaging/README.md
    • Work: Add a PyInstaller spec and written steps to build for Windows/mac with notes on bundled models and large file handling.
    • DoD: documented packaging steps; sample spec present.
  • 6.5 Comprehensive user manual

    • File: docs/USER_MANUAL.md
    • Work: Quickstart, install steps, voice command reference, overlay setup with OBS, troubleshooting common errors.
    • DoD: manual covers start-to-run for MVP features.
  • 6.6 End-to-end smoke test

    • File: tests/e2e/smoke_test.py
    • Work: Integration test wiring capture->OCR pipeline->translator->overlay broadcast using mocks to validate flow.
    • DoD: smoke test runs successfully in CI as a non-GPU job.

Notes

  • Keep packaging notes explicit about models (paths, environment variables) so users can reproduce runs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions