biomejs/gritql

GritQL is a query language for searching, linting, and modifying code.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 57 minutes ago
Added to GitGenius on September 15th, 2026
Created on March 8th, 2024
Open Issues & Pull Requests: 144 (+0)
GitHub issues: Enabled
Number of forks: 126
Total Stargazers: 4,598 (+0)
Total Subscribers: 11 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 3.2 hours
Mean response time: 10.0 days
90th percentile: 12.5 days
Tracked items: 68

Most active contributors

Sign in to see contributor activity.

How this project is maintained

65% of open issues come from outside the core team, a mix of external reports and the maintainers' own roadmap. Three people close 89% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 52
New in 7 days: 1
Closed in 7 days: 0
Avg open age: 576 days
Stale 30+ days: 50
Stale 90+ days: 49

Recent activity

Opened in 7 days: 1
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • 💎 Bounty (10)
  • 💰 Rewarded (7)
  • bug (5)
  • language (4)
  • good first issue (2)
  • AST surprise (1)
  • Go (1)
  • Tusk (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

GritQL is a query language for searching, linting, and modifying source code.

GritQL addresses the friction in large-scale code refactoring and migration work. Rather than forcing developers to choose between simple grep searches and full codemod programs, it offers a declarative middle ground where any code snippet serves as a valid query. The tool uses Rust and query optimization to handle repositories with millions of lines efficiently. It works across multiple target languages including JavaScript, TypeScript, Python, Java, Terraform, Solidity, CSS, Markdown, YAML, Rust, Go, and SQL, eliminating the need to learn language-specific codemod frameworks.

GritQL suits teams conducting large refactors, migrations, or establishing custom linting rules across codebases. It works well for exploratory searches that evolve into complex transformations, since patterns can be saved to configuration files and combined progressively. The tool includes a module system with over two hundred standard patterns available for reuse, and developers can publish their own patterns for sharing. The approach avoids the mental overhead of translating between regex or AST representations and actual source code, since patterns are written in code-like syntax.

The project maintains active development with regular updates to its core language features and standard library. The codebase shows consistent refinement of query optimization and performance characteristics. Documentation and examples are actively maintained, including an interactive tutorial and comprehensive guides for configuration and pattern sharing. The project demonstrates responsiveness to user needs through expansion of supported target languages and the growth of its standard library patterns.