2.9 KiB
2.9 KiB
Analysis Report
Session
- Session ID:
metaagent-002 - Target repo:
S:\Git\nifodea - Date: 2026-07-12
- Project type:
existing
1. Общая информация
- README: CashFlow Forecast — личная финансовая модель с прогнозом денежных потоков, сценарным анализом и AI-ассистентом
- Лицензия: не указана
- CI/CD: отсутствует
- Точка входа:
cli/main.py:app(командаcf) - Система сборки:
pyproject.toml(setuptools)
2. Стек технологий
| Компонент | Значение |
|---|---|
| Язык | Python 3.11+ (фактически 3.13) |
| Фреймворк | Typer (CLI), openpyxl (Excel) |
| База данных | JSON-файлы |
| Тестовый раннер | pytest |
| Пакетный менеджер | pip + venv |
| Линтер | ruff |
3. Архитектура
Паттерн: Модульный монолит (Layered)
cli/ → sync/ ⇒ cashflow_model/ ⇔ engine/ → ai/
(Excel) (Entity Model) (Forecast) (Prompts)
Модули:
cashflow_model/— сущности dataclass + JSON сериализация (Account, Transaction, RecurringCashflow, Asset, Liability, ForecastScenario, FinancialModel)engine/— ForecastService (прогноз), ScenarioService (сценарии + what-if)sync/— ExcelSync (импорт/экспорт .xlsx через openpyxl)ai/— AssistantService (промпты, заглушка), PromptsTemplatecli/— Typer CLI (init, forecast, scenario, whatif, compare, import, export, analyze)tests/— pytest тесты (26 tests)
Внешние зависимости: openpyxl, typer, rich
4. Конвенции кода
- Стиль: ruff (E, F, I, N, W), line-length=100
- Именование: snake_case для функций/переменных, PascalCase для классов
- Типизация: аннотации типов
- Обработка ошибок: кастомные исключения (ModelError, SyncError, ForecastError)
- Логирование: не используется
5. Тесты
- Типы: unit-тесты
- Расположение:
tests/ - Запуск:
pytest - Текущее состояние: 26/26 passed (100%)
- Покрытие: не измеряется
6. Базовая проверка
- Сборка: pip install -e . — success
- Импорты: все модули импортируются без ошибок
- Линтер: ruff check — All checks passed
- Git status: clean
7. Примечания
- Проект полностью реализован (MVP)
- AI-ассистент — заглушка, промпты готовы
- Лицензия не выбрана — требуется решение