-
Notifications
You must be signed in to change notification settings - Fork 24
chore: Consolidate GitHub analysis scripts and update gitignore #140
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Consolidated analyze_github_org.py and analyze_github_org_rest.py into a single script with automatic fallback from GraphQL to REST API. Added supporting utility scripts for filtering and querying cached data. Updated .gitignore to exclude generated cache files and temporary repo lists. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
🤖 AgentReady Assessment ReportRepository: agentready 📊 Summary
Languages Detected
Repository Stats
🎖️ Certification Ladder
📋 Detailed FindingsAPI Documentation
Build & Development
Code Organization
Code Quality
❌ Type AnnotationsMeasured: 32.6% (Threshold: ≥80%) Evidence:
📝 Remediation StepsAdd type annotations to function signatures
Commands: # Python
pip install mypy
mypy --strict src/
# TypeScript
npm install --save-dev typescript
echo '{"compilerOptions": {"strict": true}}' > tsconfig.jsonExamples: ❌ Structured LoggingMeasured: not configured (Threshold: structured logging library) Evidence:
📝 Remediation StepsAdd structured logging library for machine-parseable logs
Commands: # Install structlog
pip install structlog
# Configure structlog
# See examples for configurationExamples: Context Window Optimization
Dependency Management
❌ Lock Files for ReproducibilityMeasured: none (Threshold: at least one lock file) Evidence:
📝 Remediation StepsAdd lock file for dependency reproducibility
Commands: npm install # generates package-lock.jsonDocumentation
❌ Concise DocumentationMeasured: 276 lines, 40 headings, 38 bullets (Threshold: <500 lines, structured format) Evidence:
📝 Remediation StepsMake documentation more concise and structured
Commands: # Check README length
wc -l README.md
# Count headings
grep -c '^#' README.mdExamples: Features
DocumentationSee docs/ for detailed guides. Bad: Verbose proseThis project is a tool that helps you assess your repository [Many more paragraphs of prose...] Examples: Performance
Repository Structure
Security
Testing & CI/CD
🎯 Next StepsPriority Improvements (highest impact first):
📝 Assessment Metadata
🤖 Generated with Claude Code |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Codex Review
Here are some automated review suggestions for this pull request.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| return [ | ||
| r for r in repos if r.get("primaryLanguageName", "").lower() == language.lower() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Guard language filter against missing values
The language filter assumes every repo has a primaryLanguageName string and calls .lower() on it. Cached data from analyze_github_org.py sets this field to None for repos without a detected language, so running query_github_cache.py --language … will raise AttributeError as soon as such a repo is encountered, preventing any filtered output. Use a safe default (e.g., (value or '').lower()) before comparing to avoid crashing when repos lack a primary language.
Useful? React with 👍 / 👎.
Configure CodeRabbit with aggressive noise reduction: - Disable checks already handled locally (black, ruff, isort) - Set confidence threshold to 0.75 (only comment when certain) - Focus on security, bugs, breaking changes, performance - Ignore style preferences and trivial suggestions - Path-specific instructions for different code areas - Teach CodeRabbit about AgentReady patterns and conventions 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
🤖 AgentReady Assessment ReportRepository: agentready 📊 Summary
Languages Detected
Repository Stats
🎖️ Certification Ladder
📋 Detailed FindingsAPI Documentation
Build & Development
Code Organization
Code Quality
❌ Type AnnotationsMeasured: 32.6% (Threshold: ≥80%) Evidence:
📝 Remediation StepsAdd type annotations to function signatures
Commands: # Python
pip install mypy
mypy --strict src/
# TypeScript
npm install --save-dev typescript
echo '{"compilerOptions": {"strict": true}}' > tsconfig.jsonExamples: ❌ Structured LoggingMeasured: not configured (Threshold: structured logging library) Evidence:
📝 Remediation StepsAdd structured logging library for machine-parseable logs
Commands: # Install structlog
pip install structlog
# Configure structlog
# See examples for configurationExamples: Context Window Optimization
Dependency Management
❌ Lock Files for ReproducibilityMeasured: none (Threshold: at least one lock file) Evidence:
📝 Remediation StepsAdd lock file for dependency reproducibility
Commands: npm install # generates package-lock.jsonDocumentation
❌ Concise DocumentationMeasured: 276 lines, 40 headings, 38 bullets (Threshold: <500 lines, structured format) Evidence:
📝 Remediation StepsMake documentation more concise and structured
Commands: # Check README length
wc -l README.md
# Count headings
grep -c '^#' README.mdExamples: Features
DocumentationSee docs/ for detailed guides. Bad: Verbose proseThis project is a tool that helps you assess your repository [Many more paragraphs of prose...] Examples: Performance
Repository Structure
Security
Testing & CI/CD
🎯 Next StepsPriority Improvements (highest impact first):
📝 Assessment Metadata
🤖 Generated with Claude Code |
|
🎉 This PR is included in version 2.8.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
Summary
analyze_github_org.pyandanalyze_github_org_rest.pyinto a single unified script.gitignoreto exclude generated cache files and temporary repository listsChanges
Consolidated Script Features
ghCLI with automatic REST API fallback.cache/github-org-analysis/for efficient queryingNew Utility Scripts
filter_active_originals.py: Filter to original (non-fork) repos with recent activityquery_github_cache.py: Query cached data by language, activity, stars, etc.Gitignore Updates
.cache/directory (generated analysis data)*-repos.txt,test-repos.txt, etc.)Test plan
black,isort,ruffon all modified scripts🤖 Generated with Claude Code