mbrt

mbrt/gmailctl

Go MIT Productivity

Declarative configuration for Gmail filters

2.2k stars
83 forks
recent
GitHub

2.2k

Stars

83

Forks

14

Open issues

30

Contributors

v0.12.0 19 May 2026

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.

Productivity CLI Tool Discovery value: 6/10
Documentation 8/10
Activity 8/10
Community 7/10
Code quality 7/10

Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.

Overall score 7/10

AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.

gmail-automation configuration-management jsonnet email-filtering go-cli
Actively maintained Well documented MIT licensed Niche/specialized use case Production ready
Deep Analysis · Based on README and public signals
7d ago

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.

Origin

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.

Growth

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.

In production

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.

Code analysis
Architecture

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.

Tests

Not documented in README. README mentions a 'Tests' section in configuration docs but does not detail test infrastructure for the tool itself.

Maintenance

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.

Honest verdict

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

Risks
  • 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.
Prediction

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.

0 found this helpful

Newsletter

Get analyses like this every Monday

Free weekly digest of the most interesting open-source discoveries.

Languages

Go
97.4%
Jsonnet
2%
Shell
0.6%

Information

Language
Go
License
MIT
Last updated
3w ago
Created
96mo ago
Analyzed with
anthropic/claude-haiku-4-5

Stars over time

Loading…

Contributors over time

Top 100 contributors only — repos with more will plateau at 100.

Loading…

Similar repos

openclaw

openclaw/gogcli

gog is a CLI tool that unifies access to Google Workspace services (Gmail,...

8.1k Go Dev Tools
taylorwilsdon

taylorwilsdon/google_workspace_mcp

This is a comprehensive MCP (Model Context Protocol) server that enables AI...

2.8k Python AI & ML
wneessen

wneessen/go-mail

go-mail is a feature-rich Go library for composing and sending emails with...

1.4k Go Dev Tools
KartikTalwar

KartikTalwar/gmail.js

Gmail.js is a JavaScript library that provides an API for building browser...

3.8k JavaScript Dev Tools
oliver006

oliver006/elasticsearch-gmail

A Python-based tutorial project that demonstrates how to index Gmail inboxes...

2.1k Python
vs. alternatives
gmail-britta (antifuchs/gmail-britta)

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.

Gmail native filters

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.

gogcli (openclaw/gogcli)

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.

google_workspace_mcp (taylorwilsdon/google_workspace_mcp)

More recent, Python-based, broader Google Workspace scope. gmailctl is Go, Gmail-only, filter-focused. Complementary rather than directly competitive.

Rules-based email automation (general category)

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.