{"adoption": {"forks": 330, "observed_at": "2026-08-28T04:07:39.086907+00:00", "stars": 3035}, "canonical_url": "https://ross.abutalabs.com/products/grunt-email-workflow", "card": {"archived": false, "artifact_type": "cli-tool", "description": "A Grunt workflow for designing and testing responsive HTML email templates with SCSS.", "domain": ["email", "web-development", "frontend", "developer-tools"], "enriched": true, "function": ["build-tool", "email", "templating"], "health_score": 20, "homepage": null, "language": "SCSS", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["leemunroe/grunt-email-workflow"], "name": "leemunroe/grunt-email-workflow", "platform": ["cli", "cross-platform"], "pushed_at": "2024-05-02T16:46:22+00:00", "repo": "leemunroe/grunt-email-workflow", "stars": 3035, "tags": ["grunt", "scss", "html-email", "css-inlining", "email-templates", "responsive-email", "transactional-emails", "mailgun", "litmus", "live-reload", "nodejs"], "topics": ["litmus", "grunt", "css", "transactional-emails", "email", "template", "mailgun", "responsive"], "urls": [], "use_cases": ["build responsive html email templates", "inline css for email newsletters", "compile scss into email-ready html", "test transactional email designs across clients", "workflow for designing html emails with tables", "send test emails via mailgun from a build step", "preview email templates with live reload"], "what_it_is": "A Grunt-based build workflow for designing and testing responsive HTML email templates using SCSS. It compiles SCSS to CSS, builds HTML email files, inlines CSS for email client compatibility, and supports sending test emails via Mailgun and hosting assets on Amazon S3.", "when_to_avoid": ["You are not building HTML email templates", "You prefer modern build tools (Gulp, Vite) or email frameworks like MJML", "You need an actively developed tool rather than one in maintenance mode"], "when_to_choose": ["You design HTML emails that need CSS inlining and table-based layouts for broad client support", "You want an automated SCSS-to-inline-CSS pipeline with live reload preview", "Your team already uses Grunt and Node.js for front-end builds"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/grunt-email-workflow", "repo": "leemunroe/grunt-email-workflow", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:39.086907+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:29:37.309437+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "da86dcda050392daa4f5df33687cb4a5c3b6d0b285678a0ad16f6222fcb3985b", "fetched_at": "2026-08-28T04:07:39.086907+00:00", "kind": "readme", "missing": false, "url": "https://github.com/leemunroe/grunt-email-workflow"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:39.086907+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:29:37.309437+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "da86dcda050392daa4f5df33687cb4a5c3b6d0b285678a0ad16f6222fcb3985b", "fetched_at": "2026-08-28T04:07:39.086907+00:00", "kind": "readme", "missing": false, "url": "https://github.com/leemunroe/grunt-email-workflow"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:29:37.309437+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "da86dcda050392daa4f5df33687cb4a5c3b6d0b285678a0ad16f6222fcb3985b", "fetched_at": "2026-08-28T04:07:39.086907+00:00", "kind": "readme", "missing": false, "url": "https://github.com/leemunroe/grunt-email-workflow"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:07:39.086907+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:39.086907+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:39.086907+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:29:37.309437+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "da86dcda050392daa4f5df33687cb4a5c3b6d0b285678a0ad16f6222fcb3985b", "fetched_at": "2026-08-28T04:07:39.086907+00:00", "kind": "readme", "missing": false, "url": "https://github.com/leemunroe/grunt-email-workflow"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:39.086907+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:39.086907+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:29:37.309437+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "da86dcda050392daa4f5df33687cb4a5c3b6d0b285678a0ad16f6222fcb3985b", "fetched_at": "2026-08-28T04:07:39.086907+00:00", "kind": "readme", "missing": false, "url": "https://github.com/leemunroe/grunt-email-workflow"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:39.086907+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:39.086907+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:39.086907+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:29:37.309437+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "da86dcda050392daa4f5df33687cb4a5c3b6d0b285678a0ad16f6222fcb3985b", "fetched_at": "2026-08-28T04:07:39.086907+00:00", "kind": "readme", "missing": false, "url": "https://github.com/leemunroe/grunt-email-workflow"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:39.086907+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:39.086907+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:29:37.309437+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "da86dcda050392daa4f5df33687cb4a5c3b6d0b285678a0ad16f6222fcb3985b", "fetched_at": "2026-08-28T04:07:39.086907+00:00", "kind": "readme", "missing": false, "url": "https://github.com/leemunroe/grunt-email-workflow"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:29:37.309437+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "da86dcda050392daa4f5df33687cb4a5c3b6d0b285678a0ad16f6222fcb3985b", "fetched_at": "2026-08-28T04:07:39.086907+00:00", "kind": "readme", "missing": false, "url": "https://github.com/leemunroe/grunt-email-workflow"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:29:37.309437+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "da86dcda050392daa4f5df33687cb4a5c3b6d0b285678a0ad16f6222fcb3985b", "fetched_at": "2026-08-28T04:07:39.086907+00:00", "kind": "readme", "missing": false, "url": "https://github.com/leemunroe/grunt-email-workflow"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:29:37.309437+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "da86dcda050392daa4f5df33687cb4a5c3b6d0b285678a0ad16f6222fcb3985b", "fetched_at": "2026-08-28T04:07:39.086907+00:00", "kind": "readme", "missing": false, "url": "https://github.com/leemunroe/grunt-email-workflow"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4524, "days_push": 853, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}