agelgil/filament-ethiopic-calendar
Adds Ethiopic (Ge'ez) calendar support to Filament forms, tables, and date pickers, so Ethiopian dates can be entered, displayed, and converted alongside Gregorian ones. A lightweight integration that brings localized dates to admin panels and forms.
Verdict: conditional spike, not a default adopt. This is a narrow presentation-layer plugin (Ethiopic/Ge'ez calendar rendering for Filament table columns) with a small but real value proposition for Ethiopian-market admin panels. Its technical footprint is tiny; its vendor footprint is the problem.
Architecture fit
Integration feasibility
PanelProvider — a half-day including tests. The hard part is not installation, it is verification.Plugin object or just a column/macro; the description ("Add Ethiopic datetime to your filament tables") implies table columns only, which means no form/DatePicker support — users will still enter Gregorian dates. Confirm before promising anything to stakeholders.Technical risk
| Risk | Severity | Notes |
|---|---|---|
| Calendar conversion correctness | High | 13-month calendar, Pagume (13th month) with 5/6 days, leap-year rule offset from Gregorian, New Year on Sep 11/12. Silent off-by-one-day errors are the worst failure mode — they look correct to a reviewer who isn't Ethiopian-calendar literate. |
| Vendor/bus factor | High | 1 maintainer, 2 stars, 0 dependents, no community validation. |
| Filament major-version drift | Medium-High | Likely targets one major; Filament 4 compatibility unverified. |
| Timezone handling | Medium | Conversion must happen after timezone normalization; a date can jump a day near midnight. |
| Metadata hygiene | Medium | Repo slug in the brief is misspelled (ethipic), and the release date is future-dated relative to assessment — both are signals to verify Packagist↔GitHub provenance before allowing it through a dependency firewall. |
| Security/supply chain | Low-Medium | MIT, small surface, but 0 dependents means no one else is watching advisories. |
Key questions to answer before approval
composer.json. Does a ^4.0 path exist?andegna/calender, a vendored implementation, or hand-rolled arithmetic? Is it tested against known fixtures?->timezone() resolution on the column?null, CarbonImmutable, string dates, and custom casts without throwing?Stack fit — Laravel 10/11/12 + Filament 3/4 + PHP 8.1+, MIT-licensed, no infrastructure requirements. Fits cleanly for any team already running Filament; there is no realistic scenario where adopting this changes our architecture.
Migration path — There is nothing to migrate. Adopt and revert are both single-commit operations if we isolate the dependency behind an internal wrapper. The real migration question is the inverse: if we later add Ethiopic date input or Ethiopic-native reporting, this package will not carry us there, and we will need a broader calendar-conversion layer. Treat this as a display-only stopgap, not the foundation of an Ethiopian localization strategy.
Compatibility
composer why-not against our actual lockfile rather than trusting the README's constraints.Sequencing
App\Filament\Columns\EthiopicDateColumn so the vendor class never appears in resource files. This is the mitigation for both the bus-factor risk and Filament API drift.Total realistic cost: 2–3 engineer-days including the verification harness — roughly 3–4× the naive install estimate, and justified entirely by the correctness risk.
Maintenance — The dominant cost. Plan for de facto fork ownership within 12 months: expect to carry the package, bump Filament constraints ourselves, and fix conversion bugs directly. With 2 stars and 0 dependents, upstream responsiveness is a hope, not a plan. Assign a named owner. Budget a few hours per Filament major upgrade.
Support — No SLA, GitHub issues only, single maintainer. We need an internal runbook covering "how to verify a reported wrong date" — otherwise the first support ticket about a date discrepancy becomes an unbounded investigation. Given the domain (Ethiopian users, likely finance/HR/government-adjacent data), date correctness tickets will be treated as high severity by stakeholders regardless of actual impact.
Scaling — Effectively non-existent as a concern. Calendar conversion is integer arithmetic; cost is O(rows rendered) and negligible against Filament's existing hydration and query cost. No caching layer, no queue, no external calls. The only scaling-adjacent note: if the package pulls a heavier transitive dependency than expected, it adds autoload weight to every request — check composer show --tree once.
Failure modes
Ramp-up — Low for engineers. Any Filament-competent developer is productive in under an hour. The genuine ramp-up cost is domain knowledge: the team must learn enough Ethiopian calendar mechanics to review the fixture set credibly. Without at least one person who can independently validate a conversion, we cannot distinguish "the package is right" from "the package is consistently wrong." Staff or contract that expertise before the pilot, not after.
Recommendation to the steering group: approve the spike and the correctness harness; do not approve broad rollout until (a) Filament constraint compatibility is confirmed against our lockfile, (b) fixtures pass, and (c) the adapter wrapper is in place. The package itself is fine engineering in a small package — the assessment's low composite and opportunity scores are an accurate read on ecosystem durability, and our mitigation should be ownership transfer (fork + wrap), not avoidance.
How can I help you explore Laravel packages today?