Skip to main content

AI-анализатор хаоса проекта и web-интерфейс для просмотра отчётов.

Project description

🧠 project-diagnose

AI-анализатор состояния проекта: хаос-индекс, техническая карма, прогноз страданий и web-интерфейс.

project-diagnose — это утилита, которая смотрит на ваш проект так, как на кафедре смотрят на историю болезни: внимательно, придирчиво и с долей профессиональной боли.

Инструмент предназначен для разработчиков, которые хотят:

  • понимать состояние своего проекта в любой момент времени
  • отслеживать рост технического долга
  • получать честные AI-вердикты
  • иметь web-панель для просмотра структуры и отчётов
  • подключить диагностику в git-hooks, CI или PyPI-workflow

🚀 Установка

После публикации на PyPI:

pip install project-diagnose

Либо локально из репозитория:

pip install -e .


🧩 Возможности

📊 Аналитика проекта

Полный анализ вашего репозитория:

  • суммарный вес файлов
  • количество строк по расширениям
  • топ тяжёлых файлов
  • топ длинных файлов
  • подозрительно маленькие файлы
  • структура проекта с датами, размерами и количеством строк

🤖 AI-оценка структуры

Инструмент вычисляет:

  • Chaos Index — индекс хаоса
  • Technical Karma — карма технического долга
  • AI Verdict — честное мнение алгоритма
  • Suspicious Files Score — уровень бесполезности мелких файлов
  • ASCII-диаграммы, визуализация и выводы

🔮 Прогноз страданий разработчика

Метрика FRI (Future Regret Index):

  • предсказывает, насколько больно будет работать с проектом через 6 месяцев
  • анализирует разброс строк, мелкие файлы, длину кода

Плюс:

  • граф зависимостей мусорных файлов
  • выявление токсичных импортов

🌐 Web-интерфейс

Команда:

project-diagnose web

Даёт вам локальный сайт:

  • красивый тёмный/светлый режим
  • панель инструментов
  • текстовый отчёт
  • структура проекта
  • поиск «депрессивного» кода (todo, fixme, temp, hack…)
  • кнопка «рефакторинг» (которая говорит правду)
  • скачивание отчёта

⚙️ Команды

Команда Описание
project-diagnose analyze Быстрый анализ проекта
project-diagnose report Полный текстовый отчёт
project-diagnose report --html HTML-версия отчёта
project-diagnose tree Структура проекта
project-diagnose full Полный вывод (структура + отчёт)
project-diagnose web Запуск web-интерфейса

🛠 Интеграция с Git

Вы можете подключить DIAGNOSE в:

  • pre-commit (блокировка коммитов при высоком хаосе)
  • post-commit (автоматическая генерация отчёта)
  • Telegram-уведомления
  • CI/CD pipelines

Пример pre-commit:

report=$(project-diagnose report | grep "Индекс хаоса")
chaos=$(echo "$report" | grep -oE '[0-9]+\.[0-9]+')
if (( $(echo "$chaos > 35" | bc -l) )); then
    echo "Коммит запрещён. Хаос выше нормы."
    exit 1
fi

📦 Структура проекта project_diagnose/ cli.py analyzer.py rendering.py web.py init.py

📝 Лицензия MIT License — делайте, что хотите, только сохраняйте уважение к автору.

🌟 Автор

Разработка: Razmakh Вдохновение: проекты, которые плачут о помощи.

💬 Обратная связь

Если вам понравился инструмент — ставьте ⭐ на GitHub. Если не понравился — значит, индекс хаоса был слишком высоким.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

project_diagnose-0.1.10.tar.gz (17.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

project_diagnose-0.1.10-py3-none-any.whl (18.3 kB view details)

Uploaded Python 3

File details

Details for the file project_diagnose-0.1.10.tar.gz.

File metadata

  • Download URL: project_diagnose-0.1.10.tar.gz
  • Upload date:
  • Size: 17.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for project_diagnose-0.1.10.tar.gz
Algorithm Hash digest
SHA256 2ddcc488c7a054bddf91c0c2b8b1f6eb8cbb00db1a38fe33627407fc62dc5e42
MD5 1d8eb225f609abe45caef1873790f72a
BLAKE2b-256 aeb68b1bfbb21c27b3a14165bcf1dc5c9227a9819a1f300a2b3f4d9899575c37

See more details on using hashes here.

File details

Details for the file project_diagnose-0.1.10-py3-none-any.whl.

File metadata

File hashes

Hashes for project_diagnose-0.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 94022502f29cef46238b08b1b23db18df8d344652868896f43e1168f323853fd
MD5 70d3eb190e2ed78d5e1db8d9304d6fa3
BLAKE2b-256 abda75afe45b13c8acd761f96d99c0a6f1f97be17953ade0b95bb815eee2bc32

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page