{"id":47699365,"url":"https://github.com/hiall-fyi/pulse-card","last_synced_at":"2026-04-05T13:01:22.605Z","repository":{"id":345599294,"uuid":"1185623096","full_name":"hiall-fyi/pulse-card","owner":"hiall-fyi","description":"The bar chart card that bar-card should have been — minimal, fast, and just works.","archived":false,"fork":false,"pushed_at":"2026-04-02T19:03:08.000Z","size":7534,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-03T03:30:01.952Z","etag":null,"topics":["bar-chart","custom-card","hacs","home-assistant","lovelace"],"latest_commit_sha":null,"homepage":"https://github.com/hiall-fyi/pulse-card","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hiall-fyi.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-18T19:24:00.000Z","updated_at":"2026-04-02T20:18:12.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/hiall-fyi/pulse-card","commit_stats":null,"previous_names":["hiall-fyi/pulse-card"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/hiall-fyi/pulse-card","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hiall-fyi%2Fpulse-card","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hiall-fyi%2Fpulse-card/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hiall-fyi%2Fpulse-card/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hiall-fyi%2Fpulse-card/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hiall-fyi","download_url":"https://codeload.github.com/hiall-fyi/pulse-card/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hiall-fyi%2Fpulse-card/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31436301,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T08:13:15.228Z","status":"ssl_error","status_checked_at":"2026-04-05T08:13:11.839Z","response_time":75,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bar-chart","custom-card","hacs","home-assistant","lovelace"],"created_at":"2026-04-02T17:02:22.313Z","updated_at":"2026-04-05T13:01:22.560Z","avatar_url":"https://github.com/hiall-fyi.png","language":"JavaScript","funding_links":["https://buymeacoffee.com/hiallfyi"],"categories":[],"sub_categories":[],"readme":"# Pulse Card\n\n\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"brand/logo@2x.png\" alt=\"Pulse Card\" width=\"400\"\u003e\n\n\u003c!-- Platform Badges --\u003e\n![Home Assistant](https://img.shields.io/badge/Home%20Assistant-2024.1%2B-blue?style=for-the-badge\u0026logo=home-assistant)\n![JavaScript](https://img.shields.io/badge/JavaScript-ES2022%2B-F7DF1E?style=for-the-badge\u0026logo=javascript\u0026logoColor=black)\n![HACS](https://img.shields.io/badge/HACS-Custom-orange.svg?style=for-the-badge)\n\n\u003c!-- Status Badges --\u003e\n![Version](https://img.shields.io/badge/Version-0.1.7-purple?style=for-the-badge)\n![License](https://img.shields.io/badge/License-AGPL--3.0-blue?style=for-the-badge)\n![Maintained](https://img.shields.io/badge/Maintained-Yes-green.svg?style=for-the-badge)\n![Bundle Size](https://img.shields.io/badge/Bundle-%3C50KB-brightgreen?style=for-the-badge)\n\n\u003c!-- Community Badges --\u003e\n![GitHub stars](https://img.shields.io/github/stars/hiall-fyi/pulse-card?style=for-the-badge\u0026logo=github)\n![GitHub issues](https://img.shields.io/github/issues/hiall-fyi/pulse-card?style=for-the-badge\u0026logo=github)\n![GitHub Release Date](https://img.shields.io/github/release-date/hiall-fyi/pulse-card?style=for-the-badge\u0026logo=github)\n\n\u003c!-- Support --\u003e\n[![Buy Me A Coffee](https://img.shields.io/badge/Support-Buy%20Me%20A%20Coffee-FFDD00?style=for-the-badge\u0026logo=buy-me-a-coffee\u0026logoColor=black)](https://buymeacoffee.com/hiallfyi)\n\n**Compact horizontal bar chart card for Home Assistant sensor data visualization.**\n\n**A modern replacement for bar-card — minimal, fast, single-file bundle.**\n\n[Quick Start](#quick-start) • [Configuration](#configuration-reference) • [Migration](#bar-card-migration) • [Contributing](CONTRIBUTING.md) • [Discussions](https://github.com/hiall-fyi/pulse-card/discussions)\n\n\u003c/div\u003e\n\n---\n\n## Why Pulse Card?\n\nThe original `bar-card` was delisted from HACS in 2025 after years without maintenance. Community alternatives are either too complex or too limited. Pulse Card fills that gap — a clean, opinionated bar chart card that works out of the box.\n\n- **Install and go** — sensible defaults, no YAML wizardry needed\n- **Visual editor** — configure via GUI in 5 seconds\n- **bar-card compatible** — just change `type` to migrate\n- **Lightweight** — single bundled file, \u003c50KB, only runtime dep is Lit (for the editor)\n- **Sections view ready** — proper grid sizing support\n\n\u003cimg src=\"images/pulse-card-light.png\" alt=\"Pulse Card — Light Theme\" width=\"500\"\u003e\n\u003cimg src=\"images/pulse-card-dark.png\" alt=\"Pulse Card — Dark Theme\" width=\"500\"\u003e\n\u003cimg src=\"images/pulse-card-editor.png\" alt=\"Pulse Card — Visual Editor\" width=\"500\"\u003e\n\n---\n\n## Features\n\n- 📊 Horizontal bar for any numeric sensor — temperature, battery, CPU, anything with a number\n- 📋 Multiple sensors in one card with individual settings per sensor\n- 🔀 Reorder entities in the visual editor — move bars up and down without touching YAML\n- 🎨 Auto-color by value range (severity) with smooth gradient option\n- 🖱️ Visual editor — most settings configurable without touching YAML\n- 🎯 Target marker — show a goal line on the bar\n- 📈 Trend arrow — see if a value is going up or down compared to earlier\n- 👆 Tap actions — tap, hold, or double-tap to open details, navigate, or trigger services\n- ⚡ Charge animation effect\n- 📐 Multi-column grid layout\n- 🔲 Works in Sections view, Masonry view, and inside entities cards\n\n---\n\n## Quick Start\n\n### Installation via HACS (Recommended)\n\n[![Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.](https://my.home-assistant.io/badges/hacs_repository.svg)](https://my.home-assistant.io/redirect/hacs_repository/?owner=hiall-fyi\u0026repository=pulse-card\u0026category=plugin)\n\n1. Click the button above (or search for **Pulse Card** in HACS → **Frontend**)\n2. Click **Download**\n3. Restart Home Assistant\n\n\u003cdetails\u003e\n\u003csummary\u003eManual Installation\u003c/summary\u003e\n\n1. Download `pulse-card.js` from the [latest release](https://github.com/hiall-fyi/pulse-card/releases)\n2. Copy to `config/www/pulse-card.js`\n3. Add resource in **Settings → Dashboards → Resources**:\n   - URL: `/local/pulse-card.js`\n   - Type: JavaScript Module\n\n\u003c/details\u003e\n\n### Minimal Config\n\n```yaml\ntype: custom:pulse-card\nentity: sensor.battery_level\n```\n\n### Multiple Entities\n\n```yaml\ntype: custom:pulse-card\ntitle: Room Sensors\nentities:\n  - sensor.temperature\n  - entity: sensor.humidity\n    name: Humidity\n    color: \"#2196F3\"\n  - entity: sensor.battery\n    severity:\n      - from: 0\n        to: 20\n        color: \"#F44336\"\n      - from: 21\n        to: 50\n        color: \"#FF9800\"\n      - from: 51\n        to: 100\n        color: \"#4CAF50\"\n```\n\n### Classic Mode (bar-card style)\n\n```yaml\ntype: custom:pulse-card\nentity: sensor.battery\nheight: \"40px\"\npositions:\n  icon: outside\n  name: inside\n  value: inside\n```\n\n---\n\n## Configuration Reference\n\n### Basic\n\n| Option | Type | Default | Description |\n|---|---|---|---|\n| `entity` | string | **required** | The sensor to display (e.g. `sensor.battery_level`) |\n| `entities` | list | — | Show multiple sensors in one card (see [examples above](#multiple-entities)) |\n| `name` | string | auto | Custom label — defaults to the entity's friendly name |\n| `icon` | string | auto | Custom icon (e.g. `mdi:battery`) — defaults to the entity's icon |\n| `title` | string | — | Card title shown above the bars |\n\n### Bar Appearance\n\n| Option | Type | Default | Description |\n|---|---|---|---|\n| `color` | string | theme color | Bar color (e.g. `red`, `#4CAF50`, `rgb(0,150,0)`) |\n| `height` | string | `8px` | How tall the bar is (e.g. `40px` for a chunky bar) |\n| `border_radius` | string | `4px` | Corner rounding (e.g. `0px` for sharp corners, `20px` for pill shape) |\n| `decimal` | number | auto | How many decimal places to show (e.g. `1` → \"23.5°C\"). When not set, the card uses Home Assistant's display precision for the sensor. If HA has no precision configured either, the raw value is shown as-is |\n| `unit_of_measurement` | string | auto | Override the unit shown after the value |\n\n### Value Range\n\n| Option | Type | Default | Description |\n|---|---|---|---|\n| `min` | number | `0` | The value where the bar is empty |\n| `max` | number | `100` | The value where the bar is full |\n| `complementary` | boolean | `false` | Flip the bar — show what's left instead of what's used. Useful for \"remaining\" displays (e.g. disk space free) |\n| `limit_value` | boolean | `false` | If the value goes beyond min/max, cap the displayed number. Without this, a value of 120 with max 100 still shows \"120\" |\n| `attribute` | string | — | Read a specific attribute instead of the main state (e.g. `brightness` from a light entity) |\n\n### Layout\n\n| Option | Type | Default | Description |\n|---|---|---|---|\n| `columns` | number | `1` | Arrange bars in a grid — e.g. `2` for two bars side by side |\n| `gap` | string/number | — | Space between bars (e.g. `8` or `8px`) |\n| `bar_width` | number | `100` | How much of the bar track the fill can use (1–100). Set to `70` to keep the fill from overlapping inside labels at high values |\n| `entity_row` | boolean | `false` | Embed mode — removes the card border so the bar can sit inside an `entities` card as a row |\n\n### Target Marker\n\nA vertical line on the bar showing a goal or reference value.\n\n| Option | Type | Default | Description |\n|---|---|---|---|\n| `target` | number/string/object | — | A fixed number (e.g. `80`), an entity ID (e.g. `input_number.goal`), or an object (see below) |\n\nObject format for more control:\n\n```yaml\ntarget:\n  value: 80              # fixed number or entity ID\n  show_label: true       # show the target value as a label above the line\n```\n\n### Trend Indicator\n\nShows an arrow (▲ up / ▼ down) by comparing the current value to what it was some time ago. Requires the HA recorder to be enabled.\n\n| Option | Type | Default | Description |\n|---|---|---|---|\n| `indicator.show` | boolean | `false` | Turn on the trend arrow |\n| `indicator.period` | number | `60` | How many minutes to look back (e.g. `30` = compare to 30 min ago) |\n| `indicator.show_delta` | boolean | `false` | Show the actual change next to the arrow (e.g. ▲ +5) |\n\n```yaml\nindicator:\n  show: true\n  period: 60\n  show_delta: true\n```\n\nDon't forget to set the indicator position so it's visible:\n\n```yaml\npositions:\n  indicator: outside    # or \"inside\"\n```\n\n### Positions\n\nControl where the name, value, icon, and trend arrow appear relative to the bar.\n\n| Position | Options | Default | What it controls |\n|---|---|---|---|\n| `positions.name` | `outside` / `inside` / `off` | `outside` | The sensor name label |\n| `positions.value` | `outside` / `inside` / `off` | `outside` | The current value (e.g. \"75%\") |\n| `positions.icon` | `outside` / `inside` / `off` | `off` | The sensor icon |\n| `positions.indicator` | `outside` / `inside` / `off` | `off` | The trend arrow (▲/▼) |\n\n- `outside` = above the bar\n- `inside` = overlaid on the bar (works best with taller bars, e.g. `height: 40px`)\n- `off` = hidden\n\n### Animation\n\n| Option | Type | Default | Description |\n|---|---|---|---|\n| `animation.state` | string | `on` | `on` = smooth transitions, `off` = instant updates |\n| `animation.speed` | number | `0.8` | Transition speed in seconds |\n| `animation.effect` | string | `none` | `charge` = pulsing glow effect on the bar fill |\n\n### Severity (Color by Value)\n\nAutomatically change the bar color (and optionally the icon) based on the current value.\n\n```yaml\nseverity:\n  - from: 0\n    to: 20\n    color: \"#F44336\"           # red\n    icon: \"mdi:battery-alert\"  # optional: change icon too\n  - from: 21\n    to: 50\n    color: \"#FF9800\"           # orange\n  - from: 51\n    to: 100\n    color: \"#4CAF50\"           # green\n```\n\nFor smooth color blending between ranges, add `mode: gradient` to each entry.\n\n### Tap Actions\n\nWhat happens when you interact with a bar.\n\n| Option | Default | Description |\n|---|---|---|\n| `tap_action` | `more-info` | Single tap — opens the entity detail popup by default |\n| `hold_action` | `none` | Long press |\n| `double_tap_action` | `none` | Double tap |\n\nAvailable actions: `more-info`, `navigate`, `call-service`, `url`, `none`\n\nEach entity in a multi-entity card can have its own tap actions.\n\n---\n\n## Style Presets\n\nPulse Card ships with a minimal default (8px thin bar, labels outside). Here are ready-to-use presets for common styles.\n\n### Default — Minimal Thin Bar\n\n```yaml\ntype: custom:pulse-card\nentity: sensor.battery_level\n```\n\n```\n  Battery                              75%\n  ┌████████████████████████████░░░░░░░░░░┐   ← 8px bar\n```\n\n### Classic — bar-card Style\n\nMatches the original bar-card look with a chunky bar and labels inside.\n\n```yaml\ntype: custom:pulse-card\nentity: sensor.battery_level\nheight: \"40px\"\npositions:\n  icon: outside\n  name: inside\n  value: inside\n```\n\n```\n  🔋 ┌─────────────────────────────────────┐\n     │ Battery                        75%  │   ← 40px bar, text inside\n     └─────────────────────────────────────┘\n```\n\n### Compact — Dashboard Overview\n\nIdeal for packing many sensors into a small card.\n\n```yaml\ntype: custom:pulse-card\ntitle: System\ncolumns: 2\nentities:\n  - sensor.cpu_usage\n  - sensor.memory_usage\n  - sensor.disk_usage\n  - sensor.swap_usage\n```\n\n### Severity Colors\n\nColor-coded ranges that change automatically based on value.\n\n```yaml\ntype: custom:pulse-card\nentity: sensor.battery_level\nseverity:\n  - from: 0\n    to: 20\n    color: \"#F44336\"\n    icon: \"mdi:battery-alert\"\n  - from: 21\n    to: 50\n    color: \"#FF9800\"\n    icon: \"mdi:battery-50\"\n  - from: 51\n    to: 100\n    color: \"#4CAF50\"\n    icon: \"mdi:battery\"\npositions:\n  icon: outside\n```\n\n### Gradient Mode\n\nSmooth color interpolation between severity stops.\n\n```yaml\ntype: custom:pulse-card\nentity: sensor.temperature\nmin: 15\nmax: 35\nseverity:\n  - from: 15\n    to: 20\n    color: \"#2196F3\"\n    mode: gradient\n  - from: 20\n    to: 25\n    color: \"#4CAF50\"\n    mode: gradient\n  - from: 25\n    to: 35\n    color: \"#F44336\"\n    mode: gradient\n```\n\n### With Target Marker\n\nShows a reference line on the bar (e.g. target temperature).\n\n```yaml\ntype: custom:pulse-card\nentity: sensor.temperature\nmin: 15\nmax: 35\ntarget:\n  value: 22\n  show_label: true\n```\n\n### Embed Mode (Entity Row)\n\nUse inside an `entities` card — renders the bar without a card wrapper so it blends in as a row.\n\n```yaml\ntype: entities\nentities:\n  - entity: light.living_room\n  - type: custom:pulse-card\n    entity: sensor.living_room_temperature\n    entity_row: true\n  - entity: switch.fan\n```\n\n### With Change Indicator\n\nShows trend arrow (▲/▼) comparing current value to a previous period.\n\n```yaml\ntype: custom:pulse-card\nentity: sensor.temperature\nindicator:\n  show: true\n  period: 60\n  show_delta: true\npositions:\n  indicator: outside\n```\n\n### Show Remaining (Complementary)\n\nFlips the bar to show what's left instead of what's used. Great for \"free space\" or \"remaining capacity\" displays.\n\n```yaml\ntype: custom:pulse-card\ntitle: Disk Free\nentity: sensor.disk_usage\ncomplementary: true\nseverity:\n  - from: 0\n    to: 30\n    color: \"#F44336\"\n  - from: 30\n    to: 60\n    color: \"#FF9800\"\n  - from: 60\n    to: 100\n    color: \"#4CAF50\"\n```\n\nIf disk usage is 80%, the bar shows 20% (the free space) — and severity colors apply to the remaining value.\n\n### Severity with Icon Override\n\nDifferent value ranges can show different icons — useful for battery levels or signal strength.\n\n```yaml\ntype: custom:pulse-card\nentity: sensor.battery_level\npositions:\n  icon: outside\nseverity:\n  - from: 0\n    to: 20\n    color: \"#F44336\"\n    icon: \"mdi:battery-alert\"\n  - from: 21\n    to: 50\n    color: \"#FF9800\"\n    icon: \"mdi:battery-50\"\n  - from: 51\n    to: 80\n    color: \"#8BC34A\"\n    icon: \"mdi:battery-70\"\n  - from: 81\n    to: 100\n    color: \"#4CAF50\"\n    icon: \"mdi:battery\"\n```\n\n### Target from Another Entity\n\nUse a dynamic target that follows another sensor or input number — the target line moves as the reference value changes.\n\n```yaml\ntype: custom:pulse-card\nentity: sensor.living_room_temperature\nmin: 15\nmax: 35\ntarget:\n  value: input_number.target_temperature\n  show_label: true\n```\n\n### Compact 2-Column with Custom Gap\n\nPack more data into less space with a multi-column grid and custom spacing.\n\n```yaml\ntype: custom:pulse-card\ntitle: System Overview\ncolumns: 2\ngap: 12\nentities:\n  - entity: sensor.cpu_usage\n    name: CPU\n    color: \"#2196F3\"\n  - entity: sensor.memory_usage\n    name: Memory\n    color: \"#9C27B0\"\n  - entity: sensor.disk_usage\n    name: Disk\n    color: \"#FF5722\"\n  - entity: sensor.swap_usage\n    name: Swap\n    color: \"#009688\"\n```\n\n### Mixed — Severity + Target + Indicator\n\nCombine multiple features for a full-featured monitoring bar.\n\n```yaml\ntype: custom:pulse-card\ntitle: Server Health\nentities:\n  - entity: sensor.cpu_usage\n    name: CPU\n  - entity: sensor.memory_usage\n    name: Memory\n  - entity: sensor.disk_usage\n    name: Disk\ntarget:\n  value: 75\n  show_label: true\nseverity:\n  - from: 0\n    to: 50\n    color: \"#4CAF50\"\n    mode: gradient\n  - from: 50\n    to: 80\n    color: \"#FF9800\"\n    mode: gradient\n  - from: 80\n    to: 100\n    color: \"#F44336\"\n    mode: gradient\nindicator:\n  show: true\n  show_delta: true\n  period: 30\npositions:\n  indicator: outside\n```\n\n---\n\n## bar-card Migration\n\nPulse Card accepts bar-card's core config keys. To migrate, change `type` to `custom:pulse-card`:\n\n```yaml\n# Before (bar-card)\ntype: custom:bar-card\nentity: sensor.battery\nseverity:\n  - from: 0\n    to: 20\n    color: red\n\n# After (Pulse Card)\ntype: custom:pulse-card\nentity: sensor.battery\nseverity:\n  - from: 0\n    to: 20\n    color: red\n```\n\n**Key differences from bar-card:**\n- Default bar height is `8px` (bar-card was `40px`)\n- Default positions: name/value `outside`, icon `off`\n- `rounding` is renamed to `border_radius`\n- `width`, `saturation`, `hue`, `entity_config` are not supported\n\n---\n\n## Known Limitations\n\n- Per-entity severity ranges are YAML-only — the visual editor supports per-entity name and color, but severity still needs YAML\n- `width`, `saturation`, `hue`, and `entity_config` from bar-card are not supported\n- The trend indicator needs the HA recorder component to be enabled (it is by default)\n\n---\n\n## Development\n\n```bash\nnpm install\nnpm run build      # Build dist/pulse-card.js\nnpm run dev        # Watch mode\nnpm test           # Run tests\nnpm run lint       # Lint source\nnpm run typecheck  # JSDoc type checking via tsc\n```\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for full development guidelines.\n\n---\n\n## License\n\n**GNU Affero General Public License v3.0 (AGPL-3.0)**\n\nFree to use, modify, and distribute. Modifications must be open source under AGPL-3.0 with attribution.\n\n**Author:** Joe Yiu ([@hiall-fyi](https://github.com/hiall-fyi))\n\nSee [LICENSE](LICENSE) for full details.\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**Built with ❤️ for the Home Assistant community.**\n\n[Report Bug](https://github.com/hiall-fyi/pulse-card/issues) • [Request Feature](https://github.com/hiall-fyi/pulse-card/discussions)\n\n[![Star History Chart](https://api.star-history.com/svg?repos=hiall-fyi/pulse-card\u0026type=Date)](https://star-history.com/#hiall-fyi/pulse-card\u0026Date)\n\n\u003c/div\u003e\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eDisclaimer\u003c/strong\u003e\u003c/summary\u003e\n\nThis project is not affiliated with, endorsed by, or connected to Home Assistant or Nabu Casa, Inc. Home Assistant is a trademark of Nabu Casa, Inc.\nThis card is provided \"as is\" without warranty. Use at your own risk.\n\n\u003c/details\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhiall-fyi%2Fpulse-card","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhiall-fyi%2Fpulse-card","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhiall-fyi%2Fpulse-card/lists"}