github_analyzer 0.0.8
github_analyzer: ^0.0.8 copied to clipboard
Analyze GitHub repositories and generate AI context for LLMs with cross-platform support
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.0.8 - 2025-10-29 #
Added #
- Explicit cache control parameter: Added
useCacheparameter to all analysis functionsanalyze()function now acceptsuseCacheparameteranalyzeQuick()function now acceptsuseCacheparameteranalyzeForLLM()function now acceptsuseCacheparameteranalyzeAndGenerate()function now acceptsuseCacheparameterGithubAnalyzer.analyze()method now acceptsuseCacheparameterGithubAnalyzer.analyzeRemote()method now acceptsuseCacheparameter
Changed #
- Cache behavior can now be explicitly controlled at the function call level
- When
useCacheis not specified, the default value fromGithubAnalyzerConfig.enableCacheis used - When
useCacheis explicitly set tofalse, cache is bypassed regardless of config settings
Usage Example #
// Disable cache for a specific analysis
final result = await analyzeQuick(
'https://github.com/flutter/flutter',
useCache: false, // Always fetch fresh data
);
// Or with advanced API
final analyzer = await GithubAnalyzer.create();
final result = await analyzer.analyzeRemote(
repositoryUrl: 'https://github.com/your/repo',
useCache: false,
);
Benefits #
- Users can now force fresh data fetching when needed
- Useful for CI/CD pipelines that require latest repository state
- Provides flexibility without requiring config changes This changelog entry:
Follows Keep a Changelog format with Added/Changed sections
Uses semantic versioning 0.0.8
Includes today's date (2025-10-29)
Clearly describes the feature with bullet points
Provides usage examples showing how to use the new parameter
Explains the benefits of the new feature
Maintains consistency with the existing changelog style from version 0.0.7
You can place this entry at the top of your CHANGELOG.md file, right after the header and before the 0.0.7 entry.
0.0.7 - 2025-10-19 #
Fixed #
-
Fixed Critical Caching Logic: Resolved a major bug where analyzing a repository immediately after a new push could return stale data from the previous commit.
-
The analyzer now explicitly fetches the latest commit SHA for the target branch before checking the cache or downloading.
-
This exact commitSha is now used consistently as both the cache key and the download reference, eliminating race conditions and cache pollution caused by GitHub API replication delays.
-
Improved Authentication Compatibility: Standardized all GitHub API requests to use the Authorization: Bearer $token header. This ensures compatibility with both classic Personal Access Tokens (PATs) and new fine-grained PATs.
-
Fixed HTTP Retry Bug: Corrected a bug in the HttpClientManager's retry logic that was using an incorrect URI path for retrying timed-out requests, improving overall network resilience.
0.0.6 - 2025-10-15 #
Added #
- Automatic
.envfile loading: GitHub tokens are now automatically loaded from.envfiles - EnvLoader utility: New
EnvLoaderclass for seamless environment variable management - Private repository support: Enhanced ZIP downloader with GitHub API fallback for private repositories
- Async configuration factories: All
GithubAnalyzerConfigfactory methods now support async.envloading - GithubAnalyzer.create(): New factory method with automatic dependency injection and
.envloading
Changed #
- Breaking:
GithubAnalyzerConfig.quick()andGithubAnalyzerConfig.forLLM()are now async - Breaking: Removed synchronous config factories in favor of async versions
- Improved: ZIP downloader now tries GitHub API first for private repos, then falls back to public URL
- Enhanced: Token authentication now works seamlessly with Fine-grained Personal Access Tokens
Fixed #
- Fixed private repository access with Fine-grained GitHub tokens
- Fixed 403 errors when accessing private repositories
- Fixed token not being passed correctly to ZIP download endpoints
- Improved error messages for repository access issues
Documentation #
- Added comprehensive Fine-grained Token setup guide
- Updated README with
.envfile usage examples - Added troubleshooting section for private repository access
0.0.5 - 2025-10-14 #
Added #
- Web platform support with conditional compilation
universal_iopackage integration for cross-platform compatibility- Comprehensive file system abstraction layer
Changed #
- Migrated from
dart:iotouniversal_iofor web compatibility - Improved error handling for platform-specific features
Fixed #
- Web platform compilation errors
- File system access issues on web
0.0.4 - 2025-10-13 #
0.0.3 - 2025-10-12 #
Added #
- LLM-optimized output format
- File prioritization system
- Compact markdown generation