cabal-version: 3.0 name: pr-tools version: 0.1.0.0 synopsis: Decentralized git pull request and code review flows description: A set of command-line tools for managing descentralized git pull requests and code review workflows. These tools help with creating PR snapshots, sending notifications to Slack, tracking approvals, merging PRs, reviewing changes, and viewing annotated diffs. - pr-snapshot: Generate a Markdown snapshot of the PR including commits and diff summary. - pr-send: Send the PR snapshot to a Slack channel for review. - pr-track: Track PR approvals, status, and commit history. - pr-merge: Merge approved PRs with various strategies and update changelog. - pr-review: Interactive code review tool with comment management. - pr-view: View annotated diffs with review comments. - pr-fix: Fix comments received in a review. - pr-init: Interactively generate configuration file for pr-tools. license: BSD-3-Clause license-file: LICENSE author: Mihai Giurgeanu copyright: (c) 2025 Mihai Giurgeanu maintainer: mihai.giurgeanu@gmail.com homepage: https://github.com/mihaigiurgeanu/pr-tools build-type: Simple extra-doc-files: README.md, CHANGELOG.md category: Git, Development stability: beta bug-reports: https://github.com/mihaigiurgeanu/pr-tools/issues source-repository head type: git location: https://github.com/mihaigiurgeanu/pr-tools.git source-repository this type: git location: https://github.com/mihaigiurgeanu/pr-tools.git tag: 0.1.0.0 common commons default-language: Haskell2010 build-depends: base >=4.14 && <5 library import: commons exposed-modules: PRTools.Config , PRTools.PRState , PRTools.ReviewState , PRTools.CommentRenderer , PRTools.CommentFormatter , PRTools.Slack build-depends: aeson >= 2.2.3 && < 2.3 , containers >= 0.6.7 && < 0.7 , directory >= 1.3.8 && < 1.4 , process >= 1.6.19 && < 1.7 , yaml >= 0.11.11 && < 0.12 , Diff >= 1.0.2 && < 1.1 , time >= 1.12.2 && < 1.13 , extra >= 1.8 && < 1.9 , uuid >= 1.3.16 && < 1.4 , bytestring >= 0.11.5 && < 0.12 , http-client >= 0.7.19 && < 0.8 , http-client-tls >= 0.3.6 && < 0.4 , http-types >= 0.12.4 && < 0.13 , text >= 2.0.2 && < 2.1 , case-insensitive >= 1.2.1 && < 1.3 , split >= 0.2.5 && < 0.3 hs-source-dirs: src executable pr-snapshot import: commons main-is: pr-snapshot.hs build-depends: pr-tools , directory >= 1.3.8 && < 1.4 , filepath >= 1.4.301 && < 1.5 , optparse-applicative >= 0.19.0 && < 0.20 , process >= 1.6.19 && < 1.7 hs-source-dirs: app executable pr-send import: commons main-is: pr-send.hs build-depends: aeson >= 2.2.3 && < 2.3 , bytestring >= 0.11.5 && < 0.12 , case-insensitive >= 1.2.1 && < 1.3 , directory >= 1.3.8 && < 1.4 , filepath >= 1.4.301 && < 1.5 , http-client >= 0.7.19 && < 0.8 , http-client-tls >= 0.3.6 && < 0.4 , http-types >= 0.12.4 && < 0.13 , process >= 1.6.19 && < 1.7 , pr-tools hs-source-dirs: app executable pr-track import: commons main-is: pr-track.hs build-depends: pr-tools , containers >= 0.6.7 && < 0.7 , optparse-applicative >= 0.19.0 && < 0.20 , process >= 1.6.19 && < 1.7 , time >= 1.12.2 && < 1.13 hs-source-dirs: app executable pr-merge import: commons main-is: pr-merge.hs build-depends: pr-tools , aeson >= 2.2.3 && < 2.3 , bytestring >= 0.11.5 && < 0.12 , case-insensitive >= 1.2.1 && < 1.3 , containers >= 0.6.7 && < 0.7 , filepath >= 1.4.301 && < 1.5 , http-client >= 0.7.19 && < 0.8 , http-client-tls >= 0.3.6 && < 0.4 , http-types >= 0.12.4 && < 0.13 , optparse-applicative >= 0.19.0 && < 0.20 , process >= 1.6.19 && < 1.7 , time >= 1.12.2 && < 1.13 hs-source-dirs: app executable pr-review import: commons main-is: pr-review.hs build-depends: pr-tools , aeson >= 2.2.3 && < 2.3 , bytestring >= 0.11.5 && < 0.12 , Diff >= 1.0.2 && < 1.1 , directory >= 1.3.8 && < 1.4 , filepath >= 1.4.301 && < 1.5 , Glob >= 0.10.2 && < 0.11 , http-client >= 0.7.19 && < 0.8 , http-client-tls >= 0.3.6 && < 0.4 , http-types >= 0.12.4 && < 0.13 , optparse-applicative >= 0.19.0 && < 0.20 , process >= 1.6.19 && < 1.7 , temporary >= 1.3 && < 1.4 , uuid >= 1.3.16 && < 1.4 , split >= 0.2.5 && < 0.3 hs-source-dirs: app executable pr-view import: commons main-is: pr-view.hs build-depends: pr-tools , containers >= 0.6.7 && < 0.7 , filepath >= 1.4.301 && < 1.5 , Glob >= 0.10.2 && < 0.11 , optparse-applicative >= 0.19.0 && < 0.20 , process >= 1.6.19 && < 1.7 , yaml >= 0.11.11 && < 0.12 hs-source-dirs: app executable pr-fix import: commons main-is: pr-fix.hs build-depends: pr-tools , aeson >= 2.2.3 && < 2.3 , bytestring >= 0.11.5 && < 0.12 , containers >= 0.6.7 && < 0.7 , directory >= 1.3.8 && < 1.4 , filepath >= 1.4.301 && < 1.5 , http-client >= 0.7.19 && < 0.8 , http-client-tls >= 0.3.6 && < 0.4 , http-types >= 0.12.4 && < 0.13 , optparse-applicative >= 0.19.0 && < 0.20 , process >= 1.6.19 && < 1.7 , split >= 0.2.5 && < 0.3 , temporary >= 1.3 && < 1.4 , uuid >= 1.3.16 && < 1.4 , yaml >= 0.11.11 && < 0.12 hs-source-dirs: app executable pr-init import: commons main-is: pr-init.hs build-depends: pr-tools , directory >= 1.3.8 && < 1.4 , process >= 1.6.19 && < 1.7 hs-source-dirs: app