Skip to content

feat: slim core install — move unused ML stack to optional extras #35

@rosspeili

Description

@rosspeili

Problem Statement

requirements.txt pins chromadb, sentence-transformers, and torch, but no module under rooms/ or cli.py imports them. Every pip install -r requirements.txt downloads a large ML stack before a user can run a single CLI session.

That hurts first-time onboarding, slows CI, and conflicts with the project's local-first, lightweight CLI story—especially when vector memory (#13) is not implemented yet.

Proposed Solution

  • Split dependencies into a core set (what Rooms uses today: litellm, rich, pydantic, pyyaml, prompt_toolkit, etc.) and an optional extra for future memory/RAG work (chromadb, sentence-transformers, torch).
  • Prefer one clear install path, e.g. pip install -r requirements.txt for core only, plus requirements-memory.txt or pip install -e ".[memory]" if using pyproject.toml.
  • Update README Quick Start and CI (/.github/workflows/ci.yml) to install core only.
  • Document when and why to install the memory extra (link to feat: long-term agent memory across sessions (sidecar storage) #13 when relevant).

Alternatives Considered

Priority

High 🔴

Additional Context

Complements the settings work in #28. Independent of #31, #29, and #8. Good first issue if scoped to requirements + README + CI only.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions