---
name: investpilot-cli
description: "КодИнвест — единый терминальный CLI `investpilot` (analyze/scan/advise/portfolio/universe/lessons/kb/backtest); скилл investpilot-cli"
metadata:
  node_type: memory
  type: project
  originSessionId: 6f344612-b945-4107-b457-8ad2163cd988
---

**КодИнвест ([[investpilot-overview]]) — CLI `investpilot`, 2026-07-14.** По просьбе «сделать CLI как в Автеро». Тонкая обёртка `src/investpilot/cli.py` поверх боевого `build_app()` — те же методы, что у бота, без Telegram. Логика НЕ дублируется.

Команды: `analyze TICKER... [--raw]`, `scan [--morning]`, `advise "вопрос"`, `portfolio [СУММА]`, `universe`, `lessons [ТИКЕР]`, `kb list|status|add|run`, `backtest`. Entrypoint `[project.scripts] investpilot=investpilot.cli:main`; на mini `pip install -e .` (нужен env). Правил cli.py/pyproject → синк на mini + `pip install -e . --force-reinstall --no-deps`.

**Скилл [[investpilot-cli]]** — `tools/ip.sh` раннер с макбука (ssh+env-wrap как calibrate.sh). Отделён от [[investpilot-e2e]] (смоук бота) и investpilot-calibrate (стратегия/бэктест-гейт).

Прогнано вживую 7/8 команд на боевом env. **Побочно закрыт хвост про ОФЗ:** PaperBroker считает облигации в рублях верно (SU26242 ≈866.84 ₽/шт, портфель ≈flat) — фейкового «−90%» из старого ad-hoc скрипта нет. Грабля: `timeout` на macOS mini отсутствует.
