gitflow-analytics 3.8.0__tar.gz → 3.9.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (214) hide show
  1. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/PKG-INFO +120 -19
  2. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/README.md +119 -18
  3. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/configuration/configuration.md +62 -0
  4. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/getting-started/installation.md +19 -1
  5. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/guides/README.md +17 -5
  6. gitflow_analytics-3.9.2/docs/guides/pm-platform-setup.md +465 -0
  7. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/_version.py +1 -1
  8. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/cli_wizards/install_wizard.py +389 -4
  9. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics.egg-info/PKG-INFO +120 -19
  10. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics.egg-info/SOURCES.txt +1 -0
  11. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/CHANGELOG.md +0 -0
  12. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/CLAUDE.md +0 -0
  13. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/LICENSE +0 -0
  14. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/MANIFEST.in +0 -0
  15. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/README.md +0 -0
  16. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/REFACTOR.md +0 -0
  17. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/SECURITY.md +0 -0
  18. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/STRUCTURE.md +0 -0
  19. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/_archive/temp-files/PROGRESS_TRACKING_FIXES.md +0 -0
  20. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/_archive/temp-files/SYNTAX_ERROR_FIX.md +0 -0
  21. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/architecture/README.md +0 -0
  22. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/architecture/branch-analysis-optimization.md +0 -0
  23. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/architecture/caching-strategy.md +0 -0
  24. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/architecture/llm-classifier-refactoring.md +0 -0
  25. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/architecture/ml-pipeline.md +0 -0
  26. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/deployment/README.md +0 -0
  27. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/design/README.md +0 -0
  28. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/design/circuit-breaker-implementation.md +0 -0
  29. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/design/commit-classification-design.md +0 -0
  30. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/design/git_pm_correlation_design.md +0 -0
  31. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/design/platform-agnostic-pm-framework.md +0 -0
  32. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/design/qualitative_data_extraction.md +0 -0
  33. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/developer/README.md +0 -0
  34. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/developer/contributing.md +0 -0
  35. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/developer/development-setup.md +0 -0
  36. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/developer/training-guide.md +0 -0
  37. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/examples/README.md +0 -0
  38. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/getting-started/README.md +0 -0
  39. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/getting-started/first-analysis.md +0 -0
  40. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/getting-started/quickstart.md +0 -0
  41. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/guides/chatgpt-setup.md +0 -0
  42. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/guides/identity-resolution-enhanced.md +0 -0
  43. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/guides/interactive-launcher.md +0 -0
  44. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/guides/managing-aliases.md +0 -0
  45. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/guides/ml-categorization.md +0 -0
  46. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/guides/troubleshooting.md +0 -0
  47. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/quick-reference/launcher-and-identity.md +0 -0
  48. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/reference/README.md +0 -0
  49. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/reference/cache-system.md +0 -0
  50. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/reference/cli-commands.md +0 -0
  51. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/reference/configuration-schema.md +0 -0
  52. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/reference/json-export-schema.md +0 -0
  53. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/pyproject.toml +0 -0
  54. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/setup.cfg +0 -0
  55. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/__init__.py +0 -0
  56. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/classification/__init__.py +0 -0
  57. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/classification/batch_classifier.py +0 -0
  58. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/classification/classifier.py +0 -0
  59. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/classification/feature_extractor.py +0 -0
  60. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/classification/linguist_analyzer.py +0 -0
  61. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/classification/model.py +0 -0
  62. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/cli.py +0 -0
  63. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/cli_wizards/__init__.py +0 -0
  64. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/cli_wizards/run_launcher.py +0 -0
  65. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/config/__init__.py +0 -0
  66. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/config/aliases.py +0 -0
  67. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/config/errors.py +0 -0
  68. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/config/loader.py +0 -0
  69. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/config/profiles.py +0 -0
  70. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/config/repository.py +0 -0
  71. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/config/schema.py +0 -0
  72. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/config/validator.py +0 -0
  73. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/config.py +0 -0
  74. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/constants.py +0 -0
  75. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/core/__init__.py +0 -0
  76. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/core/analyzer.py +0 -0
  77. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/core/branch_mapper.py +0 -0
  78. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/core/cache.py +0 -0
  79. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/core/data_fetcher.py +0 -0
  80. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/core/git_auth.py +0 -0
  81. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/core/git_timeout_wrapper.py +0 -0
  82. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/core/identity.py +0 -0
  83. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/core/metrics_storage.py +0 -0
  84. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/core/progress.py +0 -0
  85. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/core/schema_version.py +0 -0
  86. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/core/subprocess_git.py +0 -0
  87. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/extractors/__init__.py +0 -0
  88. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/extractors/base.py +0 -0
  89. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/extractors/ml_tickets.py +0 -0
  90. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/extractors/story_points.py +0 -0
  91. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/extractors/tickets.py +0 -0
  92. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/identity_llm/__init__.py +0 -0
  93. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/identity_llm/analysis_pass.py +0 -0
  94. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/identity_llm/analyzer.py +0 -0
  95. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/identity_llm/models.py +0 -0
  96. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/integrations/__init__.py +0 -0
  97. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/integrations/github_integration.py +0 -0
  98. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/integrations/jira_integration.py +0 -0
  99. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/integrations/orchestrator.py +0 -0
  100. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/metrics/__init__.py +0 -0
  101. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/metrics/activity_scoring.py +0 -0
  102. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/metrics/branch_health.py +0 -0
  103. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/metrics/dora.py +0 -0
  104. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/models/__init__.py +0 -0
  105. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/models/database.py +0 -0
  106. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/pm_framework/__init__.py +0 -0
  107. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/pm_framework/adapters/__init__.py +0 -0
  108. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/pm_framework/adapters/jira_adapter.py +0 -0
  109. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/pm_framework/base.py +0 -0
  110. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/pm_framework/models.py +0 -0
  111. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/pm_framework/orchestrator.py +0 -0
  112. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/pm_framework/registry.py +0 -0
  113. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/__init__.py +0 -0
  114. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/chatgpt_analyzer.py +0 -0
  115. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/classifiers/__init__.py +0 -0
  116. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/classifiers/change_type.py +0 -0
  117. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/classifiers/domain_classifier.py +0 -0
  118. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/classifiers/intent_analyzer.py +0 -0
  119. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/classifiers/llm/__init__.py +0 -0
  120. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/classifiers/llm/base.py +0 -0
  121. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/classifiers/llm/batch_processor.py +0 -0
  122. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/classifiers/llm/cache.py +0 -0
  123. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/classifiers/llm/cost_tracker.py +0 -0
  124. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/classifiers/llm/openai_client.py +0 -0
  125. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/classifiers/llm/prompts.py +0 -0
  126. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/classifiers/llm/response_parser.py +0 -0
  127. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/classifiers/llm_commit_classifier.py +0 -0
  128. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/classifiers/risk_analyzer.py +0 -0
  129. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/core/__init__.py +0 -0
  130. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/core/llm_fallback.py +0 -0
  131. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/core/nlp_engine.py +0 -0
  132. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/core/pattern_cache.py +0 -0
  133. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/core/processor.py +0 -0
  134. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/enhanced_analyzer.py +0 -0
  135. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/example_enhanced_usage.py +0 -0
  136. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/models/__init__.py +0 -0
  137. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/models/schemas.py +0 -0
  138. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/utils/__init__.py +0 -0
  139. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/utils/batch_processor.py +0 -0
  140. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/utils/cost_tracker.py +0 -0
  141. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/utils/metrics.py +0 -0
  142. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/utils/text_processing.py +0 -0
  143. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/reports/__init__.py +0 -0
  144. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/reports/analytics_writer.py +0 -0
  145. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/reports/base.py +0 -0
  146. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/reports/branch_health_writer.py +0 -0
  147. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/reports/classification_writer.py +0 -0
  148. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/reports/cli_integration.py +0 -0
  149. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/reports/csv_writer.py +0 -0
  150. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/reports/data_models.py +0 -0
  151. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/reports/database_report_generator.py +0 -0
  152. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/reports/example_usage.py +0 -0
  153. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/reports/factory.py +0 -0
  154. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/reports/formatters.py +0 -0
  155. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/reports/html_generator.py +0 -0
  156. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/reports/interfaces.py +0 -0
  157. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/reports/json_exporter.py +0 -0
  158. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/reports/narrative_writer.py +0 -0
  159. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/reports/story_point_correlation.py +0 -0
  160. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/reports/weekly_trends_writer.py +0 -0
  161. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/security/__init__.py +0 -0
  162. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/security/config.py +0 -0
  163. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/security/extractors/__init__.py +0 -0
  164. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/security/extractors/dependency_checker.py +0 -0
  165. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/security/extractors/secret_detector.py +0 -0
  166. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/security/extractors/vulnerability_scanner.py +0 -0
  167. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/security/llm_analyzer.py +0 -0
  168. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/security/security_analyzer.py +0 -0
  169. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/training/__init__.py +0 -0
  170. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/training/model_loader.py +0 -0
  171. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/training/pipeline.py +0 -0
  172. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/ui/__init__.py +0 -0
  173. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/ui/progress_display.py +0 -0
  174. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/verify_activity.py +0 -0
  175. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics.egg-info/dependency_links.txt +0 -0
  176. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics.egg-info/entry_points.txt +0 -0
  177. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics.egg-info/requires.txt +0 -0
  178. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics.egg-info/top_level.txt +0 -0
  179. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/__init__.py +0 -0
  180. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/conftest.py +0 -0
  181. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/core/__init__.py +0 -0
  182. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/core/test_analyzer.py +0 -0
  183. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/core/test_cache.py +0 -0
  184. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/core/test_data_fetcher.py +0 -0
  185. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/core/test_identity.py +0 -0
  186. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/core/test_progress.py +0 -0
  187. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/extractors/__init__.py +0 -0
  188. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/integrations/__init__.py +0 -0
  189. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/metrics/__init__.py +0 -0
  190. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/models/__init__.py +0 -0
  191. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/qualitative/__init__.py +0 -0
  192. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/qualitative/test_basic_integration.py +0 -0
  193. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/reports/__init__.py +0 -0
  194. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/test_atomic_caching.py +0 -0
  195. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/test_classification_system.py +0 -0
  196. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/test_cli.py +0 -0
  197. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/test_config.py +0 -0
  198. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/test_config_extends.py +0 -0
  199. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/test_config_profiles.py +0 -0
  200. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/test_config_story_points.py +0 -0
  201. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/test_jira_connection.py +0 -0
  202. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/test_llm_commit_classification.py +0 -0
  203. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/test_march_2025_comparison.py +0 -0
  204. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/test_metrics.py +0 -0
  205. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/test_ml_accuracy.py +0 -0
  206. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/test_ml_components.py +0 -0
  207. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/test_ml_comprehensive.py +0 -0
  208. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/test_ml_integration.py +0 -0
  209. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/test_pm_env_resolution.py +0 -0
  210. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/test_report_abstraction.py +0 -0
  211. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/test_reports.py +0 -0
  212. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/test_story_points_analysis.py +0 -0
  213. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/test_training_pipeline.py +0 -0
  214. {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/test_two_step_process.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gitflow-analytics
3
- Version: 3.8.0
3
+ Version: 3.9.2
4
4
  Summary: Analyze Git repositories for developer productivity insights
5
5
  Author-email: Bob Matyas <bobmatnyc@gmail.com>
6
6
  License: MIT
@@ -338,13 +338,13 @@ Here's a complete example showing `.env` file and corresponding YAML configurati
338
338
  GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxx
339
339
  GITHUB_ORG=your-organization
340
340
 
341
- # JIRA Configuration
341
+ # PM Platform Configuration
342
342
  JIRA_ACCESS_USER=developer@company.com
343
343
  JIRA_ACCESS_TOKEN=ATATT3xxxxxxxxxxx
344
+ LINEAR_API_KEY=lin_api_xxxxxxxxxxxx
345
+ CLICKUP_API_TOKEN=pk_xxxxxxxxxxxx
344
346
 
345
- # Optional: Other integrations
346
- # CLICKUP_TOKEN=pk_xxxxxxxxxxxx
347
- # LINEAR_TOKEN=lin_api_xxxxxxxxxxxx
347
+ # Note: GitHub Issues uses GITHUB_TOKEN automatically
348
348
  ```
349
349
 
350
350
  ### `config.yaml` file
@@ -356,12 +356,22 @@ github:
356
356
  token: "${GITHUB_TOKEN}"
357
357
  organization: "${GITHUB_ORG}"
358
358
 
359
- # JIRA integration for story points
360
- jira:
361
- access_user: "${JIRA_ACCESS_USER}"
362
- access_token: "${JIRA_ACCESS_TOKEN}"
363
- base_url: "https://company.atlassian.net"
359
+ # Multi-platform PM integration
360
+ pm:
361
+ jira:
362
+ access_user: "${JIRA_ACCESS_USER}"
363
+ access_token: "${JIRA_ACCESS_TOKEN}"
364
+ base_url: "https://company.atlassian.net"
364
365
 
366
+ linear:
367
+ api_key: "${LINEAR_API_KEY}"
368
+ team_ids: ["team_123abc"] # Optional: filter by specific teams
369
+
370
+ clickup:
371
+ api_token: "${CLICKUP_API_TOKEN}"
372
+ workspace_url: "https://app.clickup.com/12345/v/"
373
+
374
+ # JIRA story point integration (optional)
365
375
  jira_integration:
366
376
  enabled: true
367
377
  fetch_story_points: true
@@ -371,9 +381,12 @@ jira_integration:
371
381
 
372
382
  # Analysis configuration
373
383
  analysis:
374
- # Only track JIRA tickets (ignore GitHub issues, etc.)
384
+ # Track tickets from all configured platforms
375
385
  ticket_platforms:
376
386
  - jira
387
+ - linear
388
+ - clickup
389
+ - github # GitHub Issues (uses GITHUB_TOKEN)
377
390
 
378
391
  # Exclude bot commits and boilerplate files
379
392
  exclude:
@@ -666,24 +679,97 @@ story_point_patterns:
666
679
 
667
680
  ## Ticket Platform Support
668
681
 
669
- Automatically detects and tracks tickets from:
682
+ Automatically detects and tracks tickets from multiple PM platforms:
670
683
  - **JIRA**: `PROJ-123`
671
- - **GitHub**: `#123`, `GH-123`
684
+ - **GitHub Issues**: `#123`, `GH-123`
672
685
  - **ClickUp**: `CU-abc123`
673
686
  - **Linear**: `ENG-123`
674
687
 
675
- ### JIRA Integration
688
+ ### Multi-Platform PM Integration
676
689
 
677
- GitFlow Analytics can fetch story points directly from JIRA tickets. Configure your JIRA instance:
690
+ GitFlow Analytics supports multiple project management platforms simultaneously. You can configure one or more platforms based on your team's workflow:
678
691
 
679
692
  ```yaml
680
- jira:
681
- access_user: "${JIRA_ACCESS_USER}"
682
- access_token: "${JIRA_ACCESS_TOKEN}"
683
- base_url: "https://your-company.atlassian.net"
693
+ # Configure which platforms to track
694
+ analysis:
695
+ ticket_platforms:
696
+ - jira
697
+ - linear
698
+ - clickup
699
+ - github # GitHub Issues
700
+
701
+ # Platform-specific configuration
702
+ pm:
703
+ jira:
704
+ access_user: "${JIRA_ACCESS_USER}"
705
+ access_token: "${JIRA_ACCESS_TOKEN}"
706
+ base_url: "https://your-company.atlassian.net"
707
+
708
+ linear:
709
+ api_key: "${LINEAR_API_KEY}"
710
+ team_ids: # Optional: filter by team
711
+ - "team_123abc"
712
+
713
+ clickup:
714
+ api_token: "${CLICKUP_API_TOKEN}"
715
+ workspace_url: "https://app.clickup.com/12345/v/"
716
+
717
+ # GitHub Issues uses existing GitHub token automatically
718
+ github:
719
+ token: "${GITHUB_TOKEN}"
720
+ ```
684
721
 
722
+ ### Platform Setup Guides
723
+
724
+ #### JIRA Setup
725
+ 1. **Get API Token**: Go to [Atlassian API Tokens](https://id.atlassian.com/manage-profile/security/api-tokens)
726
+ 2. **Required Permissions**: Read access to projects and issues
727
+ 3. **Configuration**:
728
+ ```yaml
729
+ pm:
730
+ jira:
731
+ access_user: "${JIRA_ACCESS_USER}" # Your Atlassian email
732
+ access_token: "${JIRA_ACCESS_TOKEN}"
733
+ base_url: "https://your-company.atlassian.net"
734
+ ```
735
+
736
+ #### Linear Setup
737
+ 1. **Get API Key**: Go to [Linear Settings → API](https://linear.app/settings/api)
738
+ 2. **Required Permissions**: Read access to issues
739
+ 3. **Configuration**:
740
+ ```yaml
741
+ pm:
742
+ linear:
743
+ api_key: "${LINEAR_API_KEY}"
744
+ team_ids: ["team_123abc"] # Optional: specify team IDs
745
+ ```
746
+
747
+ #### ClickUp Setup
748
+ 1. **Get API Token**: Go to [ClickUp Settings → Apps](https://app.clickup.com/settings/apps)
749
+ 2. **Get Workspace URL**: Copy from browser when viewing your workspace
750
+ 3. **Configuration**:
751
+ ```yaml
752
+ pm:
753
+ clickup:
754
+ api_token: "${CLICKUP_API_TOKEN}"
755
+ workspace_url: "https://app.clickup.com/12345/v/"
756
+ ```
757
+
758
+ #### GitHub Issues Setup
759
+ GitHub Issues is automatically enabled when GitHub integration is configured. No additional setup required:
760
+ ```yaml
761
+ github:
762
+ token: "${GITHUB_TOKEN}" # Same token for repo access and issues
763
+ ```
764
+
765
+ ### JIRA Story Point Integration
766
+
767
+ GitFlow Analytics can fetch story points directly from JIRA tickets:
768
+
769
+ ```yaml
685
770
  jira_integration:
686
771
  enabled: true
772
+ fetch_story_points: true
687
773
  story_point_fields:
688
774
  - "Story point estimate" # Your custom field name
689
775
  - "customfield_10016" # Or use field ID
@@ -694,6 +780,21 @@ To discover your JIRA story point fields:
694
780
  gitflow-analytics discover-storypoint-fields -c config.yaml
695
781
  ```
696
782
 
783
+ ### Environment Variables for Credentials
784
+
785
+ Store credentials securely in a `.env` file:
786
+
787
+ ```bash
788
+ # .env file (keep this secure and don't commit to git!)
789
+ GITHUB_TOKEN=ghp_your_token_here
790
+
791
+ # PM Platform Credentials
792
+ JIRA_ACCESS_USER=your.email@company.com
793
+ JIRA_ACCESS_TOKEN=ATATT3xxxxxxxxxxx
794
+ LINEAR_API_KEY=lin_api_xxxxxxxxxxxx
795
+ CLICKUP_API_TOKEN=pk_xxxxxxxxxxxx
796
+ ```
797
+
697
798
  ## Caching
698
799
 
699
800
  The tool uses SQLite for intelligent caching:
@@ -280,13 +280,13 @@ Here's a complete example showing `.env` file and corresponding YAML configurati
280
280
  GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxx
281
281
  GITHUB_ORG=your-organization
282
282
 
283
- # JIRA Configuration
283
+ # PM Platform Configuration
284
284
  JIRA_ACCESS_USER=developer@company.com
285
285
  JIRA_ACCESS_TOKEN=ATATT3xxxxxxxxxxx
286
+ LINEAR_API_KEY=lin_api_xxxxxxxxxxxx
287
+ CLICKUP_API_TOKEN=pk_xxxxxxxxxxxx
286
288
 
287
- # Optional: Other integrations
288
- # CLICKUP_TOKEN=pk_xxxxxxxxxxxx
289
- # LINEAR_TOKEN=lin_api_xxxxxxxxxxxx
289
+ # Note: GitHub Issues uses GITHUB_TOKEN automatically
290
290
  ```
291
291
 
292
292
  ### `config.yaml` file
@@ -298,12 +298,22 @@ github:
298
298
  token: "${GITHUB_TOKEN}"
299
299
  organization: "${GITHUB_ORG}"
300
300
 
301
- # JIRA integration for story points
302
- jira:
303
- access_user: "${JIRA_ACCESS_USER}"
304
- access_token: "${JIRA_ACCESS_TOKEN}"
305
- base_url: "https://company.atlassian.net"
301
+ # Multi-platform PM integration
302
+ pm:
303
+ jira:
304
+ access_user: "${JIRA_ACCESS_USER}"
305
+ access_token: "${JIRA_ACCESS_TOKEN}"
306
+ base_url: "https://company.atlassian.net"
306
307
 
308
+ linear:
309
+ api_key: "${LINEAR_API_KEY}"
310
+ team_ids: ["team_123abc"] # Optional: filter by specific teams
311
+
312
+ clickup:
313
+ api_token: "${CLICKUP_API_TOKEN}"
314
+ workspace_url: "https://app.clickup.com/12345/v/"
315
+
316
+ # JIRA story point integration (optional)
307
317
  jira_integration:
308
318
  enabled: true
309
319
  fetch_story_points: true
@@ -313,9 +323,12 @@ jira_integration:
313
323
 
314
324
  # Analysis configuration
315
325
  analysis:
316
- # Only track JIRA tickets (ignore GitHub issues, etc.)
326
+ # Track tickets from all configured platforms
317
327
  ticket_platforms:
318
328
  - jira
329
+ - linear
330
+ - clickup
331
+ - github # GitHub Issues (uses GITHUB_TOKEN)
319
332
 
320
333
  # Exclude bot commits and boilerplate files
321
334
  exclude:
@@ -608,24 +621,97 @@ story_point_patterns:
608
621
 
609
622
  ## Ticket Platform Support
610
623
 
611
- Automatically detects and tracks tickets from:
624
+ Automatically detects and tracks tickets from multiple PM platforms:
612
625
  - **JIRA**: `PROJ-123`
613
- - **GitHub**: `#123`, `GH-123`
626
+ - **GitHub Issues**: `#123`, `GH-123`
614
627
  - **ClickUp**: `CU-abc123`
615
628
  - **Linear**: `ENG-123`
616
629
 
617
- ### JIRA Integration
630
+ ### Multi-Platform PM Integration
618
631
 
619
- GitFlow Analytics can fetch story points directly from JIRA tickets. Configure your JIRA instance:
632
+ GitFlow Analytics supports multiple project management platforms simultaneously. You can configure one or more platforms based on your team's workflow:
620
633
 
621
634
  ```yaml
622
- jira:
623
- access_user: "${JIRA_ACCESS_USER}"
624
- access_token: "${JIRA_ACCESS_TOKEN}"
625
- base_url: "https://your-company.atlassian.net"
635
+ # Configure which platforms to track
636
+ analysis:
637
+ ticket_platforms:
638
+ - jira
639
+ - linear
640
+ - clickup
641
+ - github # GitHub Issues
642
+
643
+ # Platform-specific configuration
644
+ pm:
645
+ jira:
646
+ access_user: "${JIRA_ACCESS_USER}"
647
+ access_token: "${JIRA_ACCESS_TOKEN}"
648
+ base_url: "https://your-company.atlassian.net"
649
+
650
+ linear:
651
+ api_key: "${LINEAR_API_KEY}"
652
+ team_ids: # Optional: filter by team
653
+ - "team_123abc"
654
+
655
+ clickup:
656
+ api_token: "${CLICKUP_API_TOKEN}"
657
+ workspace_url: "https://app.clickup.com/12345/v/"
658
+
659
+ # GitHub Issues uses existing GitHub token automatically
660
+ github:
661
+ token: "${GITHUB_TOKEN}"
662
+ ```
626
663
 
664
+ ### Platform Setup Guides
665
+
666
+ #### JIRA Setup
667
+ 1. **Get API Token**: Go to [Atlassian API Tokens](https://id.atlassian.com/manage-profile/security/api-tokens)
668
+ 2. **Required Permissions**: Read access to projects and issues
669
+ 3. **Configuration**:
670
+ ```yaml
671
+ pm:
672
+ jira:
673
+ access_user: "${JIRA_ACCESS_USER}" # Your Atlassian email
674
+ access_token: "${JIRA_ACCESS_TOKEN}"
675
+ base_url: "https://your-company.atlassian.net"
676
+ ```
677
+
678
+ #### Linear Setup
679
+ 1. **Get API Key**: Go to [Linear Settings → API](https://linear.app/settings/api)
680
+ 2. **Required Permissions**: Read access to issues
681
+ 3. **Configuration**:
682
+ ```yaml
683
+ pm:
684
+ linear:
685
+ api_key: "${LINEAR_API_KEY}"
686
+ team_ids: ["team_123abc"] # Optional: specify team IDs
687
+ ```
688
+
689
+ #### ClickUp Setup
690
+ 1. **Get API Token**: Go to [ClickUp Settings → Apps](https://app.clickup.com/settings/apps)
691
+ 2. **Get Workspace URL**: Copy from browser when viewing your workspace
692
+ 3. **Configuration**:
693
+ ```yaml
694
+ pm:
695
+ clickup:
696
+ api_token: "${CLICKUP_API_TOKEN}"
697
+ workspace_url: "https://app.clickup.com/12345/v/"
698
+ ```
699
+
700
+ #### GitHub Issues Setup
701
+ GitHub Issues is automatically enabled when GitHub integration is configured. No additional setup required:
702
+ ```yaml
703
+ github:
704
+ token: "${GITHUB_TOKEN}" # Same token for repo access and issues
705
+ ```
706
+
707
+ ### JIRA Story Point Integration
708
+
709
+ GitFlow Analytics can fetch story points directly from JIRA tickets:
710
+
711
+ ```yaml
627
712
  jira_integration:
628
713
  enabled: true
714
+ fetch_story_points: true
629
715
  story_point_fields:
630
716
  - "Story point estimate" # Your custom field name
631
717
  - "customfield_10016" # Or use field ID
@@ -636,6 +722,21 @@ To discover your JIRA story point fields:
636
722
  gitflow-analytics discover-storypoint-fields -c config.yaml
637
723
  ```
638
724
 
725
+ ### Environment Variables for Credentials
726
+
727
+ Store credentials securely in a `.env` file:
728
+
729
+ ```bash
730
+ # .env file (keep this secure and don't commit to git!)
731
+ GITHUB_TOKEN=ghp_your_token_here
732
+
733
+ # PM Platform Credentials
734
+ JIRA_ACCESS_USER=your.email@company.com
735
+ JIRA_ACCESS_TOKEN=ATATT3xxxxxxxxxxx
736
+ LINEAR_API_KEY=lin_api_xxxxxxxxxxxx
737
+ CLICKUP_API_TOKEN=pk_xxxxxxxxxxxx
738
+ ```
739
+
639
740
  ## Caching
640
741
 
641
742
  The tool uses SQLite for intelligent caching:
@@ -98,6 +98,50 @@ reports:
98
98
  anonymize: false # Anonymize developer names
99
99
  ```
100
100
 
101
+ ### PM Platform Configuration
102
+
103
+ GitFlow Analytics supports multiple project management platforms for ticket tracking:
104
+
105
+ ```yaml
106
+ # Configure which platforms to track
107
+ analysis:
108
+ ticket_platforms:
109
+ - jira # Track JIRA tickets (PROJ-123)
110
+ - linear # Track Linear issues (ENG-123)
111
+ - clickup # Track ClickUp tasks (CU-abc123)
112
+ - github # Track GitHub Issues (#123, GH-123)
113
+
114
+ # Platform-specific configuration
115
+ pm:
116
+ jira:
117
+ access_user: "${JIRA_ACCESS_USER}"
118
+ access_token: "${JIRA_ACCESS_TOKEN}"
119
+ base_url: "https://company.atlassian.net"
120
+
121
+ linear:
122
+ api_key: "${LINEAR_API_KEY}"
123
+ team_ids: # Optional: filter by team
124
+ - "team_123abc"
125
+
126
+ clickup:
127
+ api_token: "${CLICKUP_API_TOKEN}"
128
+ workspace_url: "https://app.clickup.com/12345/v/"
129
+
130
+ # GitHub Issues uses github.token automatically - no separate config needed
131
+ github:
132
+ token: "${GITHUB_TOKEN}"
133
+
134
+ # Optional: JIRA story point integration
135
+ jira_integration:
136
+ enabled: true
137
+ fetch_story_points: true
138
+ story_point_fields:
139
+ - "Story point estimate"
140
+ - "customfield_10016"
141
+ ```
142
+
143
+ See the [PM Platform Setup Guide](../guides/pm-platform-setup.md) for detailed setup instructions for each platform.
144
+
101
145
  ## Configuration Profiles
102
146
 
103
147
  Configuration profiles provide pre-configured settings optimized for specific use cases. This allows you to quickly set up GitFlow Analytics for different scenarios without manually configuring every setting.
@@ -317,9 +361,27 @@ For teams, create a shared base configuration:
317
361
  version: "1.0"
318
362
  github:
319
363
  organization: "our-company"
364
+
365
+ # Multi-platform PM configuration
366
+ pm:
367
+ jira:
368
+ access_user: "${JIRA_ACCESS_USER}"
369
+ access_token: "${JIRA_ACCESS_TOKEN}"
370
+ base_url: "https://company.atlassian.net"
371
+
372
+ linear:
373
+ api_key: "${LINEAR_API_KEY}"
374
+ team_ids: ["team_123"]
375
+
320
376
  analysis:
377
+ ticket_platforms:
378
+ - jira
379
+ - linear
380
+ - github
381
+
321
382
  exclude:
322
383
  authors: ["bot-accounts"]
384
+
323
385
  identity:
324
386
  manual_mappings:
325
387
  - name: "John Smith"
@@ -68,7 +68,7 @@ GitFlow Analytics will automatically install required dependencies:
68
68
  ```bash
69
69
  # Option 1: Set in your shell profile (.bashrc, .zshrc, etc.)
70
70
  export GITHUB_TOKEN="ghp_your_token_here"
71
-
71
+
72
72
  # Option 2: Create a .env file (recommended)
73
73
  echo "GITHUB_TOKEN=ghp_your_token_here" > .env
74
74
  ```
@@ -79,6 +79,24 @@ GitFlow Analytics will automatically install required dependencies:
79
79
  curl -H "Authorization: token $GITHUB_TOKEN" https://api.github.com/user
80
80
  ```
81
81
 
82
+ ### PM Platform Setup (Optional)
83
+
84
+ GitFlow Analytics supports multiple project management platforms for enhanced ticket tracking:
85
+
86
+ - **JIRA** - Enterprise project management
87
+ - **Linear** - Modern issue tracking
88
+ - **ClickUp** - All-in-one productivity
89
+ - **GitHub Issues** - Native GitHub integration (auto-configured with GitHub token)
90
+
91
+ **Quick Setup**: Use the interactive launcher:
92
+ ```bash
93
+ gitflow-analytics launcher
94
+ ```
95
+
96
+ Select **Profile 1 (Standard)** and choose which PM platforms to configure.
97
+
98
+ **Manual Setup**: See the [PM Platform Setup Guide](../guides/pm-platform-setup.md) for detailed instructions on obtaining and configuring credentials for each platform.
99
+
82
100
  ## 🧪 Verify Installation
83
101
 
84
102
  ### Basic Verification
@@ -12,11 +12,20 @@ Master the YAML configuration format with detailed examples covering:
12
12
  - Advanced analysis options and filters
13
13
  - Report customization and output formats
14
14
 
15
- ### [ML Categorization Setup](ml-categorization.md)
15
+ ### [PM Platform Setup](pm-platform-setup.md)
16
+ Configure multiple project management platforms for ticket tracking:
17
+ - **JIRA** - Enterprise project management integration
18
+ - **Linear** - Modern issue tracking setup
19
+ - **ClickUp** - All-in-one productivity platform
20
+ - **GitHub Issues** - Native GitHub integration
21
+ - Multi-platform configuration and credential management
22
+ - Story point extraction and ticket coverage analysis
23
+
24
+ ### [ML Categorization Setup](ml-categorization.md)
16
25
  Enable machine learning features for intelligent commit classification:
17
26
  - Install and configure spaCy language models
18
27
  - Set up ML-powered commit categorization (85-95% accuracy)
19
- - Customize classification categories and thresholds
28
+ - Customize classification categories and thresholds
20
29
  - Monitor and improve model performance
21
30
 
22
31
  ### [Organization-Wide Setup](organization-setup.md)
@@ -59,9 +68,12 @@ Solutions to common issues and problems:
59
68
  **Analyze a single repository**
60
69
  → [Configuration Guide](configuration.md) → [Repository Setup Section](configuration.md#repository-configuration)
61
70
 
62
- **Analyze my entire organization**
71
+ **Analyze my entire organization**
63
72
  → [Organization Setup](organization-setup.md) → [Organization Discovery](organization-setup.md#automatic-discovery)
64
73
 
74
+ **Track tickets from JIRA, Linear, or ClickUp**
75
+ → [PM Platform Setup](pm-platform-setup.md) → [Platform Configuration](pm-platform-setup.md#platform-configuration)
76
+
65
77
  **Get better commit categorization**
66
78
  → [ML Categorization](ml-categorization.md) → [Model Setup](ml-categorization.md#installation)
67
79
 
@@ -71,7 +83,7 @@ Solutions to common issues and problems:
71
83
  **Fix configuration issues**
72
84
  → [Troubleshooting](troubleshooting.md) → [Configuration Errors](troubleshooting.md#configuration-issues)
73
85
 
74
- **Add AI insights**
86
+ **Add AI insights**
75
87
  → [ChatGPT Setup](chatgpt-setup.md) → [API Configuration](chatgpt-setup.md#setup)
76
88
 
77
89
  **Solve authentication problems**
@@ -82,7 +94,7 @@ Solutions to common issues and problems:
82
94
 
83
95
  ## 📚 Guide Difficulty Levels
84
96
 
85
- - 🟢 **Beginner**: Configuration Guide, Troubleshooting
97
+ - 🟢 **Beginner**: Configuration Guide, PM Platform Setup, Troubleshooting
86
98
  - 🟡 **Intermediate**: Organization Setup, Report Customization
87
99
  - 🔴 **Advanced**: ML Categorization, ChatGPT Integration
88
100