Declarative configuration for Gmail filters
2.2k
Stars
83
Forks
14
Open issues
30
Contributors
AI Analysis
gmailctl is a declarative configuration tool for managing Gmail filters using Jsonnet, enabling users to version-control, test, and automatically deploy email filtering rules without manual Gmail UI interaction. It serves users who maintain complex filter sets and want programmatic control over email organization; it is not a general email client and requires familiarity with configuration-as-code concepts.
Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.
AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.
Declarative Gmail filter management via Jsonnet configuration and API automation
gmailctl is a CLI tool that lets users define Gmail filters as code (using Jsonnet), test them locally, and apply them via the Gmail API without manual web UI interaction. Built for power users frustrated with Gmail's native filter interface, it solves filter maintainability, composition, and reproducibility. Adoption appears concentrated among technical email enthusiasts and power users; no evidence of enterprise or mass-market penetration.
Created August 2018 by mbrt as a response to Gmail's XML filter export/import workflow and poor manageability of large filter sets. Draws motivation from gmail-britta (2011) but improves upon it by automating the API step rather than requiring manual XML import.
Steady, modest growth over 8 years: reached ~2,183 stars with minimal acceleration. 83 forks and 1 star in last 7 days suggest stable but not expanding user base. Maintains presence in package managers (Homebrew, Fedora, snap) indicating some ecosystem integration, but growth rate does not suggest new wave of adoption.
Adoption not verified. No documented case studies, company testimonials, or quantified user base. README describes use case (power users with many filters) but provides no evidence of how many users actually deploy this. Package manager inclusion suggests some production use, but scale and distribution remain unknown.
Likely uses Jsonnet as a configuration language, generates Gmail API filter requests, and handles OAuth2 authentication. README indicates a query simplifier to keep filters under Gmail's 1500-char limit. Appears modular with separate commands for init, edit, diff, apply. Cannot verify internal architecture without source inspection.
Not documented in README. README mentions a 'Tests' section in configuration docs but does not detail test infrastructure for the tool itself.
Last push 2026-06-19 (14 days before analysis date) indicates recent activity. Presence in official Linux repositories and package managers suggests ongoing maintenance. However, minimal star growth and no evidence of active issue resolution or feature development velocity. Appears actively maintained at a baseline level but not undergoing rapid iteration.
ADOPT IF: you maintain 50+ Gmail filters, want to version-control them, need to test filter logic before deployment, and are comfortable with CLI tooling and Jsonnet syntax. AVOID IF: you are a casual Gmail user, prefer GUI-only configuration, or need support for email services other than Gmail. MONITOR IF: you use gmailctl today and want to evaluate whether the project remains actively maintained; current maintenance signals are positive but growth is flat.
Independent dimensions
Mainstream potential
2/10
Technical importance
6/10
Adoption evidence
3/10
- API deprecation: Gmail API changes could break this tool; no evidence of active monitoring for API drift.
- Adoption ceiling: narrow use case (power users + filter complexity) limits addressable market and sustainability incentive.
- Dependency on Jsonnet: users must learn an additional language; this raises barrier to entry beyond standard Gmail users.
- No quantified production telemetry: maintainer has no direct visibility into actual user base size or real-world failure modes.
- Single-maintainer risk: repository activity concentrated on one or few contributors; unclear succession plan if primary maintainer steps back.
gmailctl will likely remain a stable, niche tool for power Gmail users. Modest maintenance and slow growth suggest it has found its audience but will not expand significantly unless Gmail filters become more complex or a killer feature drives adoption. May eventually decline if Gmail simplifies its native filter interface or if API changes require substantial rewrites.
Newsletter
Get analyses like this every Monday
Free weekly digest of the most interesting open-source discoveries.
Languages
Information
- Language
- Go
- License
- MIT
- Last updated
- 3w ago
- Created
- 96mo ago
- Analyzed with
- anthropic/claude-haiku-4-5
Stars over time
Contributors over time
Top 100 contributors only — repos with more will plateau at 100.
Open issues
How would I filter for the nonexistence of a field?
Updated auth instructions for "Google Auth Platform" experience
Export the new rules instead of all the rules
Dependency Dashboard
Support `deliveredto` rule
Open pull requests
No open pull requests.
Top contributors
Similar repos
taylorwilsdon/google_workspace_mcp
This is a comprehensive MCP (Model Context Protocol) server that enables AI...
| Repository | Stars | Week Δ | Language | Score | Updated |
|---|---|---|---|---|---|
|
|
2.2k | — | Go | 7/10 | 3w ago |
|
|
8.1k | — | Go | 8/10 | 22h ago |
|
|
2.8k | — | Python | 8/10 | 3d ago |
|
|
1.4k | — | Go | 8/10 | 20h ago |
|
|
3.8k | — | JavaScript | 7/10 | 3w ago |
|
|
2.1k | — | Python | 7/10 | 3w ago |
Older (2011), generates XML for manual import. gmailctl improves by automating API deployment and using Jsonnet instead of Ruby DSL. Both serve the same narrow use case; gmailctl is more modern but has not displaced gmail-britta in popularity.
No-code, point-and-click, vendor-supported. gmailctl trades ease-of-use for power users who want version control, composition, and testing. Not a replacement for casual users.
3.7x more stars (8,087 vs 2,183). Different scope: gogcli appears to be a broader Gmail CLI tool; gmailctl is filter-specific. Direct feature comparison not determinable from metadata.
More recent, Python-based, broader Google Workspace scope. gmailctl is Go, Gmail-only, filter-focused. Complementary rather than directly competitive.
Competing with third-party services (e.g., Zapier, IFTTT) that automate email workflows. gmailctl is self-hosted, code-driven, and Gmail-API-native; those services are SaaS and UI-based. Different trade-offs.