Skip to content

Extract WEB UI and TUI into separate packages (in the spirit of tg_shared) #1720

Closed

Description

@axisrow

Goal

Extract WEB UI and TUI from the monolith into separate modules/packages following the packages/tg_shared pattern (wave A: #1690): the core stays automation-first, the human-facing surfaces become optional packages.

Motivation

  • The automation-first contract: web/TUI are not the primary consumption path, but their code lives in the core and pulls dependencies.
  • The tg_shared precedent: extracting application subsystems into packages/* already happened without losing tests or parity.
  • Independent evolution and installation: a core without FastAPI/templates and TUI dependencies when the surfaces are not needed.

Scope (a sketch — refine with an audit before implementing)

Acceptance

  • serve and the TUI work as before (a real run, not only unit tests).
  • Import contracts (.importlinter) updated and green.
  • Surface tests move with the code, the full suite is green.
  • The core imports and runs without the web/TUI packages installed.

Note: before starting, the implementer verifies actuality (not a duplicate, what really lives in src/web) and strikes out the stale parts.

Activity

  1. changed the title [-]Вынести WEB UI и TUI в отдельные пакеты (в духе tg_shared)[/-] [+]Extract WEB UI and TUI into separate packages (in the spirit of tg_shared)[/+] on Nov 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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