{ lib, python3Packages, fetchFromGitHub, }: python3Packages.buildPythonApplication rec { pname = "desloppify"; version = "0.9.15"; pyproject = true; src = fetchFromGitHub { owner = "peteromallet"; repo = "desloppify"; rev = "v${version}"; hash = "sha256-KVCt9loGSzsOaYSLNzpyUCi/TpCDQ4b6BxEydQTRNcA="; }; build-system = with python3Packages; [ setuptools ]; # Include all [full] optional dependencies for complete functionality. # Upstream has no base dependencies - all features are behind optional extras. dependencies = with python3Packages; [ tree-sitter tree-sitter-language-pack defusedxml bandit pillow pyyaml ]; doCheck = false; pythonImportsCheck = [ "desloppify" ]; passthru = { category = "AI Coding Agents"; updateScript = [ "nix-update" "--flake" ".#desloppify" ]; }; meta = { description = "Multi-language codebase health scanner and technical debt tracker for AI agents"; homepage = "https://github.com/peteromallet/desloppify"; changelog = "https://github.com/peteromallet/desloppify/releases/tag/v${version}"; license = lib.licenses.unfreeRedistributable; mainProgram = "desloppify"; platforms = lib.platforms.all; }; }