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.
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/PKG-INFO +120 -19
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/README.md +119 -18
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/configuration/configuration.md +62 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/getting-started/installation.md +19 -1
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/guides/README.md +17 -5
- gitflow_analytics-3.9.2/docs/guides/pm-platform-setup.md +465 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/_version.py +1 -1
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/cli_wizards/install_wizard.py +389 -4
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics.egg-info/PKG-INFO +120 -19
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics.egg-info/SOURCES.txt +1 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/CHANGELOG.md +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/CLAUDE.md +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/LICENSE +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/MANIFEST.in +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/README.md +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/REFACTOR.md +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/SECURITY.md +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/STRUCTURE.md +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/_archive/temp-files/PROGRESS_TRACKING_FIXES.md +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/_archive/temp-files/SYNTAX_ERROR_FIX.md +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/architecture/README.md +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/architecture/branch-analysis-optimization.md +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/architecture/caching-strategy.md +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/architecture/llm-classifier-refactoring.md +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/architecture/ml-pipeline.md +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/deployment/README.md +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/design/README.md +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/design/circuit-breaker-implementation.md +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/design/commit-classification-design.md +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/design/git_pm_correlation_design.md +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/design/platform-agnostic-pm-framework.md +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/design/qualitative_data_extraction.md +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/developer/README.md +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/developer/contributing.md +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/developer/development-setup.md +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/developer/training-guide.md +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/examples/README.md +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/getting-started/README.md +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/getting-started/first-analysis.md +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/getting-started/quickstart.md +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/guides/chatgpt-setup.md +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/guides/identity-resolution-enhanced.md +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/guides/interactive-launcher.md +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/guides/managing-aliases.md +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/guides/ml-categorization.md +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/guides/troubleshooting.md +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/quick-reference/launcher-and-identity.md +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/reference/README.md +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/reference/cache-system.md +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/reference/cli-commands.md +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/reference/configuration-schema.md +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/docs/reference/json-export-schema.md +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/pyproject.toml +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/setup.cfg +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/__init__.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/classification/__init__.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/classification/batch_classifier.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/classification/classifier.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/classification/feature_extractor.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/classification/linguist_analyzer.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/classification/model.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/cli.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/cli_wizards/__init__.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/cli_wizards/run_launcher.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/config/__init__.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/config/aliases.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/config/errors.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/config/loader.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/config/profiles.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/config/repository.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/config/schema.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/config/validator.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/config.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/constants.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/core/__init__.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/core/analyzer.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/core/branch_mapper.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/core/cache.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/core/data_fetcher.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/core/git_auth.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/core/git_timeout_wrapper.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/core/identity.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/core/metrics_storage.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/core/progress.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/core/schema_version.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/core/subprocess_git.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/extractors/__init__.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/extractors/base.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/extractors/ml_tickets.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/extractors/story_points.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/extractors/tickets.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/identity_llm/__init__.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/identity_llm/analysis_pass.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/identity_llm/analyzer.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/identity_llm/models.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/integrations/__init__.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/integrations/github_integration.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/integrations/jira_integration.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/integrations/orchestrator.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/metrics/__init__.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/metrics/activity_scoring.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/metrics/branch_health.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/metrics/dora.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/models/__init__.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/models/database.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/pm_framework/__init__.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/pm_framework/adapters/__init__.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/pm_framework/adapters/jira_adapter.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/pm_framework/base.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/pm_framework/models.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/pm_framework/orchestrator.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/pm_framework/registry.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/__init__.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/chatgpt_analyzer.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/classifiers/__init__.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/classifiers/change_type.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/classifiers/domain_classifier.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/classifiers/intent_analyzer.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/classifiers/llm/__init__.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/classifiers/llm/base.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/classifiers/llm/batch_processor.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/classifiers/llm/cache.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/classifiers/llm/cost_tracker.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/classifiers/llm/openai_client.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/classifiers/llm/prompts.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/classifiers/llm/response_parser.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/classifiers/llm_commit_classifier.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/classifiers/risk_analyzer.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/core/__init__.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/core/llm_fallback.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/core/nlp_engine.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/core/pattern_cache.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/core/processor.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/enhanced_analyzer.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/example_enhanced_usage.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/models/__init__.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/models/schemas.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/utils/__init__.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/utils/batch_processor.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/utils/cost_tracker.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/utils/metrics.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/qualitative/utils/text_processing.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/reports/__init__.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/reports/analytics_writer.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/reports/base.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/reports/branch_health_writer.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/reports/classification_writer.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/reports/cli_integration.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/reports/csv_writer.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/reports/data_models.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/reports/database_report_generator.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/reports/example_usage.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/reports/factory.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/reports/formatters.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/reports/html_generator.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/reports/interfaces.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/reports/json_exporter.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/reports/narrative_writer.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/reports/story_point_correlation.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/reports/weekly_trends_writer.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/security/__init__.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/security/config.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/security/extractors/__init__.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/security/extractors/dependency_checker.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/security/extractors/secret_detector.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/security/extractors/vulnerability_scanner.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/security/llm_analyzer.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/security/security_analyzer.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/training/__init__.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/training/model_loader.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/training/pipeline.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/ui/__init__.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/ui/progress_display.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics/verify_activity.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics.egg-info/dependency_links.txt +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics.egg-info/entry_points.txt +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics.egg-info/requires.txt +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/src/gitflow_analytics.egg-info/top_level.txt +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/__init__.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/conftest.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/core/__init__.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/core/test_analyzer.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/core/test_cache.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/core/test_data_fetcher.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/core/test_identity.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/core/test_progress.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/extractors/__init__.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/integrations/__init__.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/metrics/__init__.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/models/__init__.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/qualitative/__init__.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/qualitative/test_basic_integration.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/reports/__init__.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/test_atomic_caching.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/test_classification_system.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/test_cli.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/test_config.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/test_config_extends.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/test_config_profiles.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/test_config_story_points.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/test_jira_connection.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/test_llm_commit_classification.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/test_march_2025_comparison.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/test_metrics.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/test_ml_accuracy.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/test_ml_components.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/test_ml_comprehensive.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/test_ml_integration.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/test_pm_env_resolution.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/test_report_abstraction.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/test_reports.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/test_story_points_analysis.py +0 -0
- {gitflow_analytics-3.8.0 → gitflow_analytics-3.9.2}/tests/test_training_pipeline.py +0 -0
- {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.
|
|
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
|
-
#
|
|
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
|
-
#
|
|
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
|
-
#
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
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
|
-
#
|
|
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
|
-
###
|
|
688
|
+
### Multi-Platform PM Integration
|
|
676
689
|
|
|
677
|
-
GitFlow Analytics can
|
|
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
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
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
|
-
#
|
|
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
|
-
#
|
|
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
|
-
#
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
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
|
-
#
|
|
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
|
-
###
|
|
630
|
+
### Multi-Platform PM Integration
|
|
618
631
|
|
|
619
|
-
GitFlow Analytics can
|
|
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
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
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
|
-
### [
|
|
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
|
|