TypeScript 55.4%
Python 43.2%
SQL 1.2%
1# config/sources.d/10-open-source.yaml — open-source foundations, languages, frameworks, Linux/BSD2# distributions and developer tools (2026-09-08). Every sensor below was fetched and parsed by3# `apps/engine/src/validate.ts` before being written; GitHub release/tag Atom feeds are the backbone,4# with the project's own news/blog feed and status page when one exists. Sources whose release stream5# is a firehose (canaries, nightlies, per-package monorepo tags) carry `llm: false`.6sources:7 # ───────────────────────── Foundations ─────────────────────────8 - id: linux-foundation9 name: Linux Foundation10 domain: linuxfoundation.org11 homepage: https://www.linuxfoundation.org12 categories: [open-source, developer, ngo]13 tier: B14 weight: 1.215 aliases: [lf, the linux foundation]16 discover: { rss: true, sitemap: true }17 sensors:18 - { name: blog feed, url: "https://www.linuxfoundation.org/blog/rss.xml", type: RSS, connector: rss, tier: B }19 - id: cncf20 name: Cloud Native Computing Foundation21 domain: cncf.io22 homepage: https://www.cncf.io23 categories: [open-source, developer, cloud]24 tier: B25 weight: 1.226 aliases: [cncf, cloud native computing foundation]27 discover: { rss: true, sitemap: true }28 sensors:29 - { name: news feed, url: "https://www.cncf.io/feed/", type: RSS, connector: rss, tier: B }30 - id: apache31 name: Apache Software Foundation32 domain: apache.org33 homepage: https://www.apache.org34 categories: [open-source, developer]35 tier: B36 weight: 1.237 aliases: [asf, apache software foundation, apache foundation]38 discover: { rss: true, sitemap: false }39 sensors:40 - { name: news feed, url: "https://news.apache.org/feed/", type: RSS, connector: rss, tier: B }41 - id: eclipse42 name: Eclipse Foundation43 domain: eclipse.org44 homepage: https://www.eclipse.org45 categories: [open-source, developer]46 tier: B47 aliases: [eclipse foundation]48 products:49 - { name: Eclipse IDE, type: software, aliases: [eclipse ide] }50 - { name: Jakarta EE, type: software, aliases: [jakarta ee] }51 discover: { rss: true }52 sensors:53 - { name: newsroom feed, url: "https://newsroom.eclipse.org/rss.xml", type: RSS, connector: rss, tier: B }54 - { name: blog feed, url: "https://blogs.eclipse.org/blog/feed", type: RSS, connector: rss, tier: C }55 - id: openjs56 name: OpenJS Foundation57 domain: openjsf.org58 categories: [open-source, developer]59 tier: C60 aliases: [openjs foundation, openjsf]61 discover: { rss: true, sitemap: true, pages: true }62 notes: "No feed; blog is a Next.js shell. Sitemap is the only server-side signal."63 sensors:64 - { name: sitemap, url: "https://openjsf.org/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C, config: { maxUrls: 1000 } }65 - id: rust-foundation66 name: Rust Foundation67 domain: rustfoundation.org68 categories: [open-source, developer]69 tier: B70 aliases: [rust foundation]71 discover: { rss: true }72 sensors:73 - { name: news feed, url: "https://rustfoundation.org/feed/", type: RSS, connector: rss, tier: B }74 - id: openssf75 name: Open Source Security Foundation76 domain: openssf.org77 categories: [open-source, developer, cyber]78 tier: B79 aliases: [openssf, open source security foundation]80 products:81 - { name: Sigstore, type: software }82 - { name: OpenSSF Scorecard, type: software, aliases: [scorecard] }83 discover: { rss: true }84 sensors:85 - { name: blog feed, url: "https://openssf.org/feed/", type: RSS, connector: rss, tier: B }86 - id: python87 extend: true88 aliases: [python software foundation, psf]89 sensors:90 - { name: psf blog feed, url: "https://pyfound.blogspot.com/feeds/posts/default?max-results=25", type: ATOM, connector: rss, tier: B }9192 # ───────────────────────── BSD ─────────────────────────93 - id: freebsd94 name: FreeBSD95 domain: freebsd.org96 homepage: https://www.freebsd.org97 categories: [open-source, developer, infrastructure]98 tier: B99 weight: 1.1100 aliases: [freebsd project, freebsd foundation]101 discover: { rss: true }102 sensors:103 - { name: news feed, url: "https://www.freebsd.org/news/feed.xml", type: RSS, connector: rss, tier: B }104 - { name: security advisories feed, url: "https://www.freebsd.org/security/feed.xml", type: RSS, connector: rss, tier: A }105 - id: openbsd106 name: OpenBSD107 domain: openbsd.org108 homepage: https://www.openbsd.org109 categories: [open-source, developer, infrastructure, cyber]110 tier: B111 weight: 1.1112 aliases: [openbsd project]113 discover: { rss: false, pages: true }114 notes: "No official feed; the per-release errata page (7.9 as of 2026-09) is server-rendered — bump the number at each release. Undeadly is the community OpenBSD Journal."115 sensors:116 - { name: errata 7.9, url: "https://www.openbsd.org/errata79.html", type: HTML, connector: http, tier: B }117 - { name: openbsd journal feed, url: "https://undeadly.org/cgi?action=rss", type: RSS, connector: rss, tier: C }118 - id: netbsd119 name: NetBSD120 domain: netbsd.org121 homepage: https://www.netbsd.org122 categories: [open-source, developer, infrastructure]123 tier: C124 aliases: [netbsd project, netbsd foundation]125 discover: { rss: true }126 sensors:127 - { name: news feed, url: "https://www.netbsd.org/changes/rss-netbsd.xml", type: RSS, connector: rss, tier: C }128129 # ───────────────────────── Linux distributions ─────────────────────────130 - id: linux-kernel131 name: Linux Kernel132 domain: kernel.org133 homepage: https://www.kernel.org134 categories: [open-source, developer, infrastructure]135 tier: A136 weight: 1.4137 aliases: [linux, the linux kernel, kernel.org, linux kernel organization]138 discover: { rss: true }139 sensors:140 - { name: releases api, url: "https://www.kernel.org/releases.json", type: REST_API, connector: jsonlist, tier: A, config: { itemsPath: releases, keyField: version, titleTemplate: "Linux {version} ({moniker})", dateField: released.isodate, urlField: source, compareFields: [version, released.isodate, iseol] } }141 - { name: releases feed, url: "https://www.kernel.org/feeds/kdist.xml", type: RSS, connector: rss, tier: A }142 - id: debian143 name: Debian144 domain: debian.org145 homepage: https://www.debian.org146 categories: [open-source, developer, infrastructure]147 tier: A148 weight: 1.3149 aliases: [debian project, debian gnu/linux]150 discover: { rss: true }151 sensors:152 - { name: news feed, url: "https://www.debian.org/News/news", type: RSS, connector: rss, tier: A }153 - { name: security advisories feed, url: "https://www.debian.org/security/dsa-long", type: RSS, connector: rss, tier: S }154 - id: ubuntu155 name: Ubuntu / Canonical156 domain: ubuntu.com157 categories: [open-source, developer, infrastructure, cloud]158 tier: A159 weight: 1.3160 aliases: [canonical, ubuntu linux]161 products:162 - { name: Ubuntu, type: software }163 - { name: Snapcraft, type: software, aliases: [snap] }164 - { name: LXD, type: software }165 discover: { rss: true, status: true }166 sensors:167 - { name: blog feed, url: "https://ubuntu.com/blog/feed", type: RSS, connector: rss, tier: B }168 - { name: security notices feed, url: "https://ubuntu.com/security/notices/rss.xml", type: RSS, connector: rss, tier: S, config: { maxItems: 60 } }169 - { name: canonical blog feed, url: "https://canonical.com/blog/feed", type: RSS, connector: rss, tier: B }170 - id: fedora171 name: Fedora Project172 domain: fedoraproject.org173 categories: [open-source, developer]174 tier: B175 aliases: [fedora, fedora linux]176 discover: { rss: true }177 sensors:178 - { name: fedora magazine feed, url: "https://fedoramagazine.org/feed/", type: RSS, connector: rss, tier: B }179 - id: red-hat180 name: Red Hat181 domain: redhat.com182 homepage: https://www.redhat.com183 categories: [open-source, enterprise, cloud, infrastructure]184 tier: A185 weight: 1.3186 aliases: [redhat, rhel]187 products:188 - { name: Red Hat Enterprise Linux, type: software, aliases: [rhel] }189 - { name: OpenShift, type: software }190 - { name: Ansible Automation Platform, type: software }191 discover: { rss: true, status: true }192 sensors:193 - { name: status, url: "https://status.redhat.com/api/v2/summary.json", type: STATUSPAGE, connector: statuspage, tier: S }194 - { name: blog feed, url: "https://www.redhat.com/en/rss/blog", type: RSS, connector: rss, tier: B }195 - id: arch-linux196 name: Arch Linux197 domain: archlinux.org198 categories: [open-source, developer]199 tier: B200 aliases: [arch, archlinux]201 discover: { rss: true }202 sensors:203 - { name: news feed, url: "https://archlinux.org/feeds/news/", type: RSS, connector: rss, tier: B }204 - { name: security advisories feed, url: "https://security.archlinux.org/advisory/feed.atom", type: ATOM, connector: rss, tier: A }205 - id: alpine206 name: Alpine Linux207 domain: alpinelinux.org208 categories: [open-source, developer, infrastructure]209 tier: B210 aliases: [alpine, alpine linux]211 discover: { rss: true }212 sensors:213 - { name: news feed, url: "https://alpinelinux.org/atom.xml", type: ATOM, connector: rss, tier: B }214 - id: nixos215 name: NixOS216 domain: nixos.org217 categories: [open-source, developer, packages]218 tier: B219 aliases: [nix, nixpkgs, nixos foundation]220 products:221 - { name: Nix, type: software }222 - { name: Nixpkgs, type: software }223 discover: { rss: true }224 sensors:225 - { name: announcements feed, url: "https://nixos.org/blog/announcements-rss.xml", type: RSS, connector: rss, tier: B }226 - { name: discourse announcements feed, url: "https://discourse.nixos.org/c/announcements/8.rss", type: RSS, connector: rss, tier: B }227 - { name: nix releases, url: "https://github.com/NixOS/nix/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: NixOS/nix, kind: releases } }228 - id: opensuse229 name: openSUSE230 domain: opensuse.org231 homepage: https://www.opensuse.org232 categories: [open-source, developer]233 tier: B234 aliases: [opensuse project, tumbleweed, leap]235 discover: { rss: true }236 sensors:237 - { name: news feed, url: "https://news.opensuse.org/feed.xml", type: RSS, connector: rss, tier: B }238 - id: suse239 name: SUSE240 domain: suse.com241 homepage: https://www.suse.com242 categories: [open-source, enterprise, infrastructure]243 tier: B244 aliases: [suse linux, sles]245 products:246 - { name: SUSE Linux Enterprise Server, type: software, aliases: [sles] }247 - { name: Rancher, type: software }248 discover: { rss: true }249 sensors:250 - { name: blog feed, url: "https://www.suse.com/c/feed/", type: RSS, connector: rss, tier: B }251252 # ───────────────────────── Desktop environments ─────────────────────────253 - id: gnome254 name: GNOME255 domain: gnome.org256 homepage: https://www.gnome.org257 categories: [open-source, developer]258 tier: C259 aliases: [gnome foundation, gnome project]260 discover: { rss: true, sitemap: true }261 notes: "Foundation site has no feed; Planet GNOME aggregates developer blogs."262 sensors:263 - { name: planet gnome feed, url: "https://planet.gnome.org/rss20.xml", type: RSS, connector: rss, tier: C, config: { maxItems: 60 } }264 - id: kde265 name: KDE266 domain: kde.org267 categories: [open-source, developer]268 tier: B269 aliases: [kde community, kde e.v., plasma]270 products:271 - { name: KDE Plasma, type: software, aliases: [plasma] }272 discover: { rss: true }273 sensors:274 - { name: announcements feed, url: "https://kde.org/announcements/index.xml", type: RSS, connector: rss, tier: B }275 - { name: news feed, url: "https://kde.org/index.xml", type: RSS, connector: rss, tier: B }276277 # ───────────────────────── Core toolchain & libraries ─────────────────────────278 - id: git279 name: Git280 domain: git-scm.com281 categories: [open-source, developer]282 tier: B283 weight: 1.2284 aliases: [git scm]285 discover: { rss: true }286 sensors:287 - { name: tags, url: "https://github.com/git/git/tags.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: git/git, kind: tags } }288 - id: curl289 name: curl290 domain: curl.se291 categories: [open-source, developer, infrastructure, cyber]292 tier: B293 weight: 1.2294 aliases: [libcurl, curl project]295 discover: { rss: true }296 sensors:297 - { name: releases, url: "https://github.com/curl/curl/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: curl/curl, kind: releases } }298 - { name: vulnerabilities api, url: "https://curl.se/docs/vuln.json", type: REST_API, connector: jsonlist, tier: A, config: { keyField: id, titleTemplate: "{id}: {summary}", urlField: database_specific.www, dateField: published, summaryField: details, compareFields: [summary, database_specific.severity], maxItems: 100 } }299 - { name: daniel stenberg blog feed, url: "https://daniel.haxx.se/blog/feed/", type: RSS, connector: rss, tier: C }300 - id: openssl301 name: OpenSSL302 domain: openssl-library.org303 categories: [open-source, developer, infrastructure, cyber]304 tier: A305 weight: 1.3306 aliases: [openssl project, openssl library]307 discover: { rss: true }308 sensors:309 - { name: releases, url: "https://github.com/openssl/openssl/releases.atom", type: GITHUB_RELEASE, connector: github, tier: A, config: { repo: openssl/openssl, kind: releases } }310 - { name: news feed, url: "https://openssl-library.org/news/index.xml", type: RSS, connector: rss, tier: A, config: { maxItems: 50 } }311 - id: openssh312 name: OpenSSH313 domain: openssh.com314 homepage: https://www.openssh.com315 categories: [open-source, developer, infrastructure, cyber]316 tier: A317 weight: 1.2318 aliases: [openssh portable]319 discover: { rss: false, pages: true }320 sensors:321 - { name: portable tags, url: "https://github.com/openssh/openssh-portable/tags.atom", type: GITHUB_RELEASE, connector: github, tier: A, config: { repo: openssh/openssh-portable, kind: tags } }322 - { name: release notes, url: "https://www.openssh.org/releasenotes.html", type: HTML, connector: http, tier: B }323 - id: llvm324 name: LLVM Project325 domain: llvm.org326 categories: [open-source, developer]327 tier: B328 weight: 1.1329 aliases: [llvm, clang]330 products:331 - { name: Clang, type: software }332 - { name: LLDB, type: software }333 discover: { rss: true }334 sensors:335 - { name: releases, url: "https://github.com/llvm/llvm-project/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: llvm/llvm-project, kind: releases } }336 - { name: discourse announcements feed, url: "https://discourse.llvm.org/c/announce/46.rss", type: RSS, connector: rss, tier: B }337 - id: gcc338 name: GCC339 domain: gcc.gnu.org340 categories: [open-source, developer]341 tier: C342 aliases: [gnu compiler collection, gnu gcc]343 discover: { rss: false, pages: true }344 notes: "No feed; the gcc-mirror tags feed is dominated by basepoints. Releases page is server-rendered."345 sensors:346 - { name: releases page, url: "https://gcc.gnu.org/releases.html", type: HTML, connector: http, tier: C }347348 # ───────────────────────── Web frameworks ─────────────────────────349 - id: react350 name: React351 domain: react.dev352 categories: [open-source, developer]353 tier: A354 weight: 1.3355 aliases: [reactjs, react.js]356 discover: { rss: true }357 sensors:358 - { name: blog feed, url: "https://react.dev/rss.xml", type: RSS, connector: rss, tier: A }359 - { name: releases, url: "https://github.com/react/react/releases.atom", type: GITHUB_RELEASE, connector: github, tier: A, config: { repo: react/react, kind: releases } }360 - id: nextjs361 name: Next.js362 domain: nextjs.org363 categories: [open-source, developer]364 tier: A365 weight: 1.2366 aliases: [next.js, next js, nextjs]367 llm: false368 discover: { rss: true }369 notes: "Releases feed is dominated by daily canaries — heuristics only."370 sensors:371 - { name: blog feed, url: "https://nextjs.org/feed.xml", type: RSS, connector: rss, tier: A }372 - { name: releases, url: "https://github.com/vercel/next.js/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: vercel/next.js, kind: releases } }373 - id: vue374 name: Vue.js375 domain: vuejs.org376 categories: [open-source, developer]377 tier: B378 weight: 1.1379 aliases: [vue, vuejs]380 discover: { rss: true }381 sensors:382 - { name: blog feed, url: "https://blog.vuejs.org/feed.rss", type: RSS, connector: rss, tier: B }383 - { name: releases, url: "https://github.com/vuejs/core/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: vuejs/core, kind: releases } }384 - id: angular385 name: Angular386 domain: angular.dev387 categories: [open-source, developer]388 tier: B389 weight: 1.1390 aliases: [angularjs]391 discover: { rss: true }392 sensors:393 - { name: blog feed, url: "https://blog.angular.dev/feed", type: RSS, connector: rss, tier: B }394 - { name: releases, url: "https://github.com/angular/angular/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: angular/angular, kind: releases } }395 - id: svelte396 name: Svelte397 domain: svelte.dev398 categories: [open-source, developer]399 tier: B400 aliases: [sveltekit, svelte kit]401 llm: false402 discover: { rss: true }403 notes: "Monorepo releases feed mixes every package — heuristics only."404 sensors:405 - { name: blog feed, url: "https://svelte.dev/blog/rss.xml", type: RSS, connector: rss, tier: B, config: { maxItems: 40 } }406 - { name: releases, url: "https://github.com/sveltejs/svelte/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: sveltejs/svelte, kind: releases } }407 - id: astro408 name: Astro409 domain: astro.build410 categories: [open-source, developer]411 tier: B412 aliases: [astro build, withastro]413 llm: false414 discover: { rss: true }415 sensors:416 - { name: blog feed, url: "https://astro.build/rss.xml", type: RSS, connector: rss, tier: B }417 - { name: releases, url: "https://github.com/withastro/astro/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: withastro/astro, kind: releases } }418 - id: django419 name: Django420 domain: djangoproject.com421 homepage: https://www.djangoproject.com422 categories: [open-source, developer]423 tier: B424 weight: 1.1425 aliases: [django software foundation, dsf]426 discover: { rss: true }427 sensors:428 - { name: weblog feed, url: "https://www.djangoproject.com/rss/weblog/", type: RSS, connector: rss, tier: A }429 - { name: tags, url: "https://github.com/django/django/tags.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: django/django, kind: tags } }430 - id: flask431 name: Flask / Pallets432 domain: palletsprojects.com433 categories: [open-source, developer]434 tier: B435 aliases: [pallets, pallets projects, werkzeug, jinja]436 products:437 - { name: Werkzeug, type: software }438 - { name: Jinja, type: software }439 discover: { rss: true }440 sensors:441 - { name: blog feed, url: "https://palletsprojects.com/blog/feed.xml", type: ATOM, connector: rss, tier: B }442 - { name: releases, url: "https://github.com/pallets/flask/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: pallets/flask, kind: releases } }443 - id: fastapi444 name: FastAPI445 domain: fastapi.tiangolo.com446 categories: [open-source, developer]447 tier: B448 aliases: [fast api]449 discover: { rss: false }450 sensors:451 - { name: releases, url: "https://github.com/fastapi/fastapi/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: fastapi/fastapi, kind: releases } }452 - id: rails453 name: Ruby on Rails454 domain: rubyonrails.org455 categories: [open-source, developer]456 tier: B457 weight: 1.1458 aliases: [rails, ror]459 discover: { rss: true }460 sensors:461 - { name: blog feed, url: "https://rubyonrails.org/feed.xml", type: ATOM, connector: rss, tier: B }462 - { name: releases, url: "https://github.com/rails/rails/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: rails/rails, kind: releases } }463 - id: laravel464 name: Laravel465 domain: laravel.com466 categories: [open-source, developer]467 tier: B468 aliases: [laravel framework]469 discover: { rss: true }470 sensors:471 - { name: blog feed, url: "https://laravel.com/feed", type: RSS, connector: rss, tier: B }472 - { name: framework releases, url: "https://github.com/laravel/framework/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: laravel/framework, kind: releases } }473 - id: spring474 name: Spring475 domain: spring.io476 categories: [open-source, developer, enterprise]477 tier: B478 weight: 1.1479 aliases: [spring framework, spring boot, pivotal spring]480 products:481 - { name: Spring Boot, type: software }482 - { name: Spring Framework, type: software }483 discover: { rss: true }484 sensors:485 - { name: blog feed, url: "https://spring.io/blog.atom", type: RSS, connector: rss, tier: B }486 - { name: spring boot releases, url: "https://github.com/spring-projects/spring-boot/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: spring-projects/spring-boot, kind: releases } }487488 # ───────────────────────── Languages & runtimes ─────────────────────────489 - id: dotnet490 name: .NET491 domain: dotnet.microsoft.com492 categories: [open-source, developer, enterprise]493 tier: A494 weight: 1.2495 aliases: [dotnet, .net core, asp.net, c#]496 products:497 - { name: ASP.NET Core, type: software, aliases: [asp.net] }498 - { name: C#, type: software, aliases: [csharp] }499 discover: { rss: true }500 sensors:501 - { name: releases index api, url: "https://builds.dotnet.microsoft.com/dotnet/release-metadata/releases-index.json", type: REST_API, connector: jsonlist, tier: A, config: { itemsPath: releases-index, keyField: channel-version, titleTemplate: ".NET {channel-version} → {latest-release} ({support-phase})", dateField: latest-release-date, urlField: releases.json, compareFields: [latest-release, latest-release-date, support-phase, security] } }502 - { name: dotnet blog feed, url: "https://devblogs.microsoft.com/dotnet/feed/", type: RSS, connector: rss, tier: B }503 - { name: runtime releases, url: "https://github.com/dotnet/runtime/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: dotnet/runtime, kind: releases } }504 - id: typescript505 name: TypeScript506 domain: typescriptlang.org507 homepage: https://www.typescriptlang.org508 categories: [open-source, developer]509 tier: A510 weight: 1.2511 aliases: [ts, typescript language]512 discover: { rss: true }513 sensors:514 - { name: blog feed, url: "https://devblogs.microsoft.com/typescript/feed/", type: RSS, connector: rss, tier: A }515 - { name: releases, url: "https://github.com/microsoft/TypeScript/releases.atom", type: GITHUB_RELEASE, connector: github, tier: A, config: { repo: microsoft/TypeScript, kind: releases } }516 - id: kotlin517 name: Kotlin518 domain: kotlinlang.org519 categories: [open-source, developer]520 tier: B521 weight: 1.1522 aliases: [kotlin language, kotlin foundation]523 discover: { rss: true }524 notes: "The GitHub releases feed is dominated by dev builds; the Kotlin blog carries the real releases."525 sensors:526 - { name: blog feed, url: "https://blog.jetbrains.com/kotlin/feed/", type: RSS, connector: rss, tier: B }527 - id: jetbrains528 name: JetBrains529 domain: jetbrains.com530 homepage: https://www.jetbrains.com531 categories: [developer, technology]532 tier: B533 weight: 1.1534 aliases: [intellij, jetbrains ides]535 products:536 - { name: IntelliJ IDEA, type: software, aliases: [intellij] }537 - { name: PyCharm, type: software }538 - { name: WebStorm, type: software }539 - { name: JetBrains AI Assistant, type: product, aliases: [junie] }540 discover: { rss: true, status: true }541 sensors:542 - { name: blog feed, url: "https://blog.jetbrains.com/feed/", type: RSS, connector: rss, tier: B }543 - id: swift544 name: Swift.org545 domain: swift.org546 homepage: https://www.swift.org547 categories: [open-source, developer]548 tier: B549 weight: 1.1550 aliases: [swift language, swift programming language]551 discover: { rss: true }552 notes: "GitHub releases feed is flooded by nightly development snapshots; the swift.org feed announces releases."553 sensors:554 - { name: blog feed, url: "https://www.swift.org/atom.xml", type: ATOM, connector: rss, tier: B }555 - id: deno556 name: Deno557 domain: deno.com558 categories: [open-source, developer, cloud]559 tier: B560 aliases: [deno land, deno deploy]561 products:562 - { name: Deno Deploy, type: service }563 discover: { rss: true, status: true }564 sensors:565 - { name: blog feed, url: "https://deno.com/feed", type: ATOM, connector: rss, tier: B }566 - { name: releases, url: "https://github.com/denoland/deno/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: denoland/deno, kind: releases } }567 - id: bun568 name: Bun569 domain: bun.sh570 categories: [open-source, developer]571 tier: B572 aliases: [bun runtime, oven]573 discover: { rss: true }574 sensors:575 - { name: blog feed, url: "https://bun.sh/rss.xml", type: RSS, connector: rss, tier: B }576 - { name: releases, url: "https://github.com/oven-sh/bun/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: oven-sh/bun, kind: releases } }577 - id: zig578 name: Zig579 domain: ziglang.org580 categories: [open-source, developer]581 tier: C582 aliases: [zig language, zig software foundation]583 discover: { rss: true }584 sensors:585 - { name: news feed, url: "https://ziglang.org/news/index.xml", type: RSS, connector: rss, tier: C }586 - { name: tags, url: "https://github.com/ziglang/zig/tags.atom", type: GITHUB_RELEASE, connector: github, tier: C, config: { repo: ziglang/zig, kind: tags } }587 - id: julia588 name: Julia589 domain: julialang.org590 categories: [open-source, developer, science]591 tier: C592 aliases: [julia language, julialang]593 discover: { rss: true }594 sensors:595 - { name: blog feed, url: "https://julialang.org/feed.xml", type: RSS, connector: rss, tier: C }596 - { name: releases, url: "https://github.com/JuliaLang/julia/releases.atom", type: GITHUB_RELEASE, connector: github, tier: C, config: { repo: JuliaLang/julia, kind: releases } }597 - id: r-project598 name: R Project599 domain: r-project.org600 homepage: https://www.r-project.org601 categories: [open-source, developer, statistics, science]602 tier: C603 aliases: [r, r language, r foundation, cran]604 discover: { rss: true }605 sensors:606 - { name: blog feed, url: "https://blog.r-project.org/index.xml", type: RSS, connector: rss, tier: C }607608 # ───────────────────────── AI / ML / data science ─────────────────────────609 - id: jupyter610 name: Project Jupyter611 domain: jupyter.org612 categories: [open-source, developer, ai, science]613 tier: B614 aliases: [jupyter, jupyterlab, jupyter notebook]615 products:616 - { name: JupyterLab, type: software }617 discover: { rss: true }618 sensors:619 - { name: blog feed, url: "https://blog.jupyter.org/feed", type: RSS, connector: rss, tier: B }620 - { name: jupyterlab tags, url: "https://github.com/jupyterlab/jupyterlab/tags.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: jupyterlab/jupyterlab, kind: tags } }621 - { name: notebook releases, url: "https://github.com/jupyter/notebook/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: jupyter/notebook, kind: releases } }622 - id: pytorch623 name: PyTorch624 domain: pytorch.org625 categories: [open-source, developer, ai]626 tier: A627 weight: 1.3628 aliases: [pytorch foundation, torch]629 discover: { rss: true }630 notes: "GitHub releases feed is polluted by viable/strict CI tags; the blog announces releases."631 sensors:632 - { name: blog feed, url: "https://pytorch.org/blog/feed/", type: RSS, connector: rss, tier: A }633 - id: tensorflow634 name: TensorFlow635 domain: tensorflow.org636 homepage: https://www.tensorflow.org637 categories: [open-source, developer, ai]638 tier: B639 weight: 1.1640 aliases: [tf, keras]641 discover: { rss: true }642 sensors:643 - { name: blog feed, url: "https://blog.tensorflow.org/feeds/posts/default?max-results=25", type: ATOM, connector: rss, tier: B }644 - { name: releases, url: "https://github.com/tensorflow/tensorflow/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: tensorflow/tensorflow, kind: releases } }645 - id: jax646 name: JAX647 domain: jax.dev648 homepage: https://docs.jax.dev649 categories: [open-source, developer, ai]650 tier: B651 aliases: [jax ml, google jax]652 discover: { rss: false }653 sensors:654 - { name: releases, url: "https://github.com/jax-ml/jax/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: jax-ml/jax, kind: releases } }655 - { name: changelog, url: "https://docs.jax.dev/en/latest/changelog.html", type: HTML, connector: http, tier: B }656 - id: langchain657 name: LangChain658 domain: langchain.com659 homepage: https://www.langchain.com660 categories: [open-source, developer, ai]661 tier: B662 weight: 1.1663 aliases: [langgraph, langsmith]664 products:665 - { name: LangGraph, type: software }666 - { name: LangSmith, type: service }667 llm: false668 discover: { rss: true, status: true }669 notes: "Monorepo releases feed publishes every package tag — heuristics only."670 sensors:671 - { name: blog feed, url: "https://www.langchain.com/blog/rss.xml", type: RSS, connector: rss, tier: B, config: { maxItems: 40 } }672 - { name: releases, url: "https://github.com/langchain-ai/langchain/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: langchain-ai/langchain, kind: releases } }673 - { name: langsmith pricing, url: "https://www.langchain.com/pricing", type: HTML, connector: http, tier: C }674 - id: vllm675 name: vLLM676 domain: vllm.ai677 categories: [open-source, developer, ai]678 tier: B679 aliases: [vllm project]680 discover: { rss: true }681 notes: "Blog has no feed (Next.js)."682 sensors:683 - { name: releases, url: "https://github.com/vllm-project/vllm/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: vllm-project/vllm, kind: releases } }684 - id: ollama685 name: Ollama686 domain: ollama.com687 categories: [open-source, developer, ai]688 tier: B689 weight: 1.1690 discover: { rss: true, pages: true }691 notes: "Blog has no feed; the blog index is server-rendered."692 sensors:693 - { name: releases, url: "https://github.com/ollama/ollama/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: ollama/ollama, kind: releases } }694 - { name: blog index, url: "https://ollama.com/blog", type: HTML, connector: http, tier: B }695696 # ───────────────────────── Infrastructure, DevOps, cloud native ─────────────────────────697 - id: ansible698 name: Ansible699 domain: ansible.com700 homepage: https://www.ansible.com701 categories: [open-source, developer, infrastructure]702 tier: B703 weight: 1.1704 aliases: [ansible core, ansible community]705 discover: { rss: true }706 sensors:707 - { name: community news feed, url: "https://forum.ansible.com/c/news/5.rss", type: RSS, connector: rss, tier: B }708 - { name: releases, url: "https://github.com/ansible/ansible/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: ansible/ansible, kind: releases } }709 - id: opentofu710 name: OpenTofu711 domain: opentofu.org712 categories: [open-source, developer, infrastructure, cloud]713 tier: B714 aliases: [open tofu]715 discover: { rss: true }716 sensors:717 - { name: blog feed, url: "https://opentofu.org/blog/rss.xml", type: RSS, connector: rss, tier: B }718 - { name: releases, url: "https://github.com/opentofu/opentofu/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: opentofu/opentofu, kind: releases } }719 - id: pulumi720 name: Pulumi721 domain: pulumi.com722 homepage: https://www.pulumi.com723 categories: [open-source, developer, infrastructure, cloud]724 tier: B725 aliases: [pulumi cloud]726 llm: false727 discover: { rss: true, status: true }728 notes: "Releases feed mixes pkg/ and sdk/ tags several times a week — heuristics only."729 sensors:730 - { name: status, url: "https://status.pulumi.com/api/v2/summary.json", type: STATUSPAGE, connector: statuspage, tier: S }731 - { name: blog feed, url: "https://www.pulumi.com/blog/rss.xml", type: RSS, connector: rss, tier: B, config: { maxItems: 40 } }732 - { name: releases, url: "https://github.com/pulumi/pulumi/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: pulumi/pulumi, kind: releases } }733 - id: prometheus734 name: Prometheus735 domain: prometheus.io736 categories: [open-source, developer, infrastructure, cloud]737 tier: B738 weight: 1.1739 aliases: [prometheus monitoring]740 discover: { rss: true }741 sensors:742 - { name: blog feed, url: "https://prometheus.io/blog/feed.xml", type: ATOM, connector: rss, tier: B }743 - { name: releases, url: "https://github.com/prometheus/prometheus/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: prometheus/prometheus, kind: releases } }744 - id: istio745 name: Istio746 domain: istio.io747 categories: [open-source, developer, infrastructure, cloud]748 tier: B749 aliases: [istio service mesh]750 discover: { rss: true }751 sensors:752 - { name: news feed, url: "https://istio.io/latest/news/feed.xml", type: RSS, connector: rss, tier: B, config: { maxItems: 40 } }753 - { name: releases, url: "https://github.com/istio/istio/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: istio/istio, kind: releases } }754 - id: envoy755 name: Envoy Proxy756 domain: envoyproxy.io757 homepage: https://www.envoyproxy.io758 categories: [open-source, developer, infrastructure, cloud]759 tier: B760 aliases: [envoy, envoyproxy]761 discover: { rss: true }762 notes: "Medium blog (blog.envoyproxy.io) does not resolve from the engine."763 sensors:764 - { name: releases, url: "https://github.com/envoyproxy/envoy/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: envoyproxy/envoy, kind: releases } }765 - id: helm766 name: Helm767 domain: helm.sh768 categories: [open-source, developer, infrastructure, cloud, packages]769 tier: B770 aliases: [helm charts]771 discover: { rss: true }772 sensors:773 - { name: blog feed, url: "https://helm.sh/blog/index.xml", type: RSS, connector: rss, tier: B }774 - { name: releases, url: "https://github.com/helm/helm/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: helm/helm, kind: releases } }775 - id: argo776 name: Argo Project777 domain: argoproj.github.io778 categories: [open-source, developer, infrastructure, cloud]779 tier: B780 aliases: [argo, argo cd, argocd, argo workflows]781 products:782 - { name: Argo CD, type: software, aliases: [argocd] }783 - { name: Argo Workflows, type: software }784 discover: { rss: true }785 sensors:786 - { name: blog feed, url: "https://blog.argoproj.io/feed", type: RSS, connector: rss, tier: B }787 - { name: argo cd releases, url: "https://github.com/argoproj/argo-cd/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: argoproj/argo-cd, kind: releases } }788 - id: nginx789 name: NGINX790 domain: nginx.org791 categories: [open-source, developer, infrastructure]792 tier: A793 weight: 1.2794 aliases: [nginx open source, f5 nginx]795 discover: { rss: true }796 sensors:797 - { name: releases, url: "https://github.com/nginx/nginx/releases.atom", type: GITHUB_RELEASE, connector: github, tier: A, config: { repo: nginx/nginx, kind: releases } }798 - { name: blog feed, url: "https://blog.nginx.org/feed", type: RSS, connector: rss, tier: B }799 - id: apache-httpd800 name: Apache HTTP Server801 domain: httpd.apache.org802 categories: [open-source, developer, infrastructure, cyber]803 tier: A804 weight: 1.1805 aliases: [apache httpd, httpd, apache web server]806 discover: { rss: false, pages: true }807 sensors:808 - { name: tags, url: "https://github.com/apache/httpd/tags.atom", type: GITHUB_RELEASE, connector: github, tier: A, config: { repo: apache/httpd, kind: tags } }809 - { name: 2.4 vulnerabilities, url: "https://httpd.apache.org/security/vulnerabilities_24.html", type: HTML, connector: http, tier: A }810 - id: caddy811 name: Caddy812 domain: caddyserver.com813 categories: [open-source, developer, infrastructure]814 tier: B815 aliases: [caddy server, caddy web server]816 discover: { rss: true }817 sensors:818 - { name: releases, url: "https://github.com/caddyserver/caddy/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: caddyserver/caddy, kind: releases } }819 - id: haproxy820 name: HAProxy821 domain: haproxy.org822 homepage: https://www.haproxy.org823 categories: [open-source, developer, infrastructure]824 tier: B825 aliases: [haproxy technologies]826 discover: { rss: true }827 sensors:828 - { name: tags, url: "https://github.com/haproxy/haproxy/tags.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: haproxy/haproxy, kind: tags } }829 - { name: haproxy technologies blog feed, url: "https://www.haproxy.com/feed", type: RSS, connector: rss, tier: C }830831 # ───────────────────────── Databases & data platforms ─────────────────────────832 - id: sqlite833 name: SQLite834 domain: sqlite.org835 homepage: https://www.sqlite.org836 categories: [open-source, developer, infrastructure]837 tier: B838 weight: 1.2839 aliases: [sqlite3]840 discover: { rss: false, pages: true }841 notes: "No feed; GitHub mirror tags are dominated by bug-* branches. Server-rendered news/changes pages instead."842 sensors:843 - { name: news page, url: "https://www.sqlite.org/news.html", type: HTML, connector: http, tier: B }844 - { name: release history, url: "https://www.sqlite.org/changes.html", type: HTML, connector: http, tier: C }845 - id: mariadb846 name: MariaDB847 domain: mariadb.org848 categories: [open-source, developer, infrastructure]849 tier: B850 weight: 1.1851 aliases: [mariadb foundation, mariadb server]852 discover: { rss: true }853 sensors:854 - { name: foundation blog feed, url: "https://mariadb.org/feed/", type: RSS, connector: rss, tier: B }855 - { name: server tags, url: "https://github.com/MariaDB/server/tags.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: MariaDB/server, kind: tags } }856 - id: clickhouse857 name: ClickHouse858 domain: clickhouse.com859 categories: [open-source, developer, infrastructure, cloud]860 tier: B861 weight: 1.1862 aliases: [clickhouse cloud]863 discover: { rss: true, status: true }864 sensors:865 - { name: status, url: "https://status.clickhouse.com/api/v2/summary.json", type: STATUSPAGE, connector: statuspage, tier: S }866 - { name: blog feed, url: "https://clickhouse.com/rss.xml", type: RSS, connector: rss, tier: B, config: { maxItems: 40 } }867 - { name: releases, url: "https://github.com/ClickHouse/ClickHouse/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: ClickHouse/ClickHouse, kind: releases } }868 - id: duckdb869 name: DuckDB870 domain: duckdb.org871 categories: [open-source, developer, infrastructure]872 tier: B873 weight: 1.1874 aliases: [duckdb labs, duckdb foundation, motherduck]875 discover: { rss: true }876 sensors:877 - { name: blog feed, url: "https://duckdb.org/feed.xml", type: ATOM, connector: rss, tier: B }878 - { name: releases, url: "https://github.com/duckdb/duckdb/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: duckdb/duckdb, kind: releases } }879 - id: neo4j880 name: Neo4j881 domain: neo4j.com882 categories: [open-source, developer, infrastructure, enterprise]883 tier: B884 aliases: [neo4j aura, cypher]885 discover: { rss: true, status: true }886 sensors:887 - { name: blog feed, url: "https://neo4j.com/blog/feed/", type: RSS, connector: rss, tier: B, config: { maxItems: 40 } }888 - { name: tags, url: "https://github.com/neo4j/neo4j/tags.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: neo4j/neo4j, kind: tags } }889 - id: cassandra890 name: Apache Cassandra891 domain: cassandra.apache.org892 categories: [open-source, developer, infrastructure]893 tier: B894 aliases: [cassandra]895 discover: { rss: false, pages: true }896 sensors:897 - { name: tags, url: "https://github.com/apache/cassandra/tags.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: apache/cassandra, kind: tags } }898 - { name: blog index, url: "https://cassandra.apache.org/_/blog.html", type: HTML, connector: http, tier: C }899 - id: kafka900 name: Apache Kafka901 domain: kafka.apache.org902 categories: [open-source, developer, infrastructure]903 tier: B904 weight: 1.1905 aliases: [kafka]906 discover: { rss: false, pages: true }907 sensors:908 - { name: releases, url: "https://github.com/apache/kafka/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: apache/kafka, kind: releases } }909 - { name: blog index, url: "https://kafka.apache.org/blog", type: HTML, connector: http, tier: C }910 - id: rabbitmq911 name: RabbitMQ912 domain: rabbitmq.com913 homepage: https://www.rabbitmq.com914 categories: [open-source, developer, infrastructure]915 tier: B916 aliases: [rabbit mq]917 discover: { rss: true }918 sensors:919 - { name: blog feed, url: "https://www.rabbitmq.com/blog/rss.xml", type: RSS, connector: rss, tier: B }920 - { name: server releases, url: "https://github.com/rabbitmq/rabbitmq-server/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: rabbitmq/rabbitmq-server, kind: releases } }921 - id: airflow922 name: Apache Airflow923 domain: airflow.apache.org924 categories: [open-source, developer, infrastructure]925 tier: B926 aliases: [airflow]927 llm: false928 discover: { rss: false, pages: true }929 notes: "Releases feed is dominated by provider packages — heuristics only."930 sensors:931 - { name: releases, url: "https://github.com/apache/airflow/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: apache/airflow, kind: releases } }932 - { name: blog index, url: "https://airflow.apache.org/blog/", type: HTML, connector: http, tier: C }933 - id: dbt934 name: dbt Labs935 domain: getdbt.com936 homepage: https://www.getdbt.com937 categories: [open-source, developer, infrastructure, enterprise]938 tier: B939 aliases: [dbt, dbt core, dbt cloud]940 products:941 - { name: dbt Core, type: software }942 - { name: dbt Cloud, type: service }943 discover: { rss: true, status: true }944 sensors:945 - { name: status, url: "https://status.getdbt.com/api/v2/summary.json", type: STATUSPAGE, connector: statuspage, tier: S }946 - { name: blog feed, url: "https://www.getdbt.com/blog/feed.xml", type: RSS, connector: rss, tier: B }947 - { name: dbt core releases, url: "https://github.com/dbt-labs/dbt-core/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: dbt-labs/dbt-core, kind: releases } }948949 # ───────────────────────── Applications & CMS ─────────────────────────950 - id: blender951 name: Blender952 domain: blender.org953 homepage: https://www.blender.org954 categories: [open-source, developer, entertainment]955 tier: B956 aliases: [blender foundation]957 discover: { rss: true }958 sensors:959 - { name: news feed, url: "https://www.blender.org/feed/", type: RSS, connector: rss, tier: B }960 - { name: tags, url: "https://github.com/blender/blender/tags.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: blender/blender, kind: tags } }961 - id: vlc962 name: VideoLAN / VLC963 domain: videolan.org964 homepage: https://www.videolan.org965 categories: [open-source, developer, consumer-tech]966 tier: C967 aliases: [videolan, vlc media player]968 discover: { rss: false }969 notes: "videolan.org answers 418 to bots; releases are followed on the project GitLab tags feed."970 sensors:971 - { name: vlc tags, url: "https://code.videolan.org/videolan/vlc/-/tags?format=atom", type: ATOM, connector: rss, tier: C }972 - id: libreoffice973 name: LibreOffice / The Document Foundation974 domain: libreoffice.org975 homepage: https://www.libreoffice.org976 categories: [open-source, developer, consumer-tech]977 tier: B978 aliases: [the document foundation, tdf, libre office]979 discover: { rss: true }980 sensors:981 - { name: tdf blog feed, url: "https://blog.documentfoundation.org/feed/", type: RSS, connector: rss, tier: B }982 - { name: core tags, url: "https://github.com/LibreOffice/core/tags.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: LibreOffice/core, kind: tags } }983 - id: wordpress984 name: WordPress985 domain: wordpress.org986 categories: [open-source, developer, internet]987 tier: A988 weight: 1.3989 aliases: [wordpress.org, wp]990 discover: { rss: true }991 sensors:992 - { name: news feed, url: "https://wordpress.org/news/feed/", type: RSS, connector: rss, tier: A }993 - { name: releases feed, url: "https://wordpress.org/news/category/releases/feed/", type: RSS, connector: rss, tier: A }994 - { name: tags, url: "https://github.com/WordPress/WordPress/tags.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: WordPress/WordPress, kind: tags } }995 - id: drupal996 name: Drupal997 domain: drupal.org998 homepage: https://www.drupal.org999 categories: [open-source, developer, internet]1000 tier: B1001 weight: 1.11002 aliases: [drupal association]1003 discover: { rss: true }1004 sensors:1005 - { name: security advisories feed, url: "https://www.drupal.org/security/all/rss.xml", type: RSS, connector: rss, tier: A }1006 - { name: news feed, url: "https://www.drupal.org/rss.xml", type: RSS, connector: rss, tier: B }1007 - { name: tags, url: "https://github.com/drupal/drupal/tags.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: drupal/drupal, kind: tags } }1008 - id: joomla1009 name: Joomla1010 domain: joomla.org1011 homepage: https://www.joomla.org1012 categories: [open-source, developer, internet]1013 tier: B1014 aliases: [joomla!, open source matters]1015 discover: { rss: true }1016 sensors:1017 - { name: announcements feed, url: "https://www.joomla.org/announcements.feed?type=rss", type: RSS, connector: rss, tier: B }1018 - { name: security centre feed, url: "https://developer.joomla.org/security-centre.feed?type=rss", type: RSS, connector: rss, tier: A }1019 - { name: releases, url: "https://github.com/joomla/joomla-cms/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: joomla/joomla-cms, kind: releases } }1020 - id: ghost1021 name: Ghost1022 domain: ghost.org1023 categories: [open-source, developer, internet, media]1024 tier: B1025 aliases: [ghost cms, ghost foundation]1026 discover: { rss: true }1027 sensors:1028 - { name: changelog feed, url: "https://ghost.org/changelog/rss/", type: RSS, connector: rss, tier: B }1029 - { name: releases, url: "https://github.com/TryGhost/Ghost/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: TryGhost/Ghost, kind: releases } }1030 - id: matrix1031 name: Matrix.org1032 domain: matrix.org1033 categories: [open-source, developer, internet, standards]1034 tier: B1035 aliases: [matrix protocol, matrix.org foundation, element, synapse]1036 products:1037 - { name: Synapse, type: software }1038 - { name: Element, type: product }1039 discover: { rss: true }1040 sensors:1041 - { name: blog feed, url: "https://matrix.org/atom.xml", type: ATOM, connector: rss, tier: B, config: { maxItems: 40 } }1042 - { name: synapse releases, url: "https://github.com/element-hq/synapse/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: element-hq/synapse, kind: releases } }1043 - id: signal1044 name: Signal1045 domain: signal.org1046 categories: [open-source, consumer-tech, cyber]1047 tier: B1048 weight: 1.21049 aliases: [signal messenger, signal foundation]1050 discover: { rss: true }1051 sensors:1052 - { name: blog feed, url: "https://signal.org/blog/rss.xml", type: RSS, connector: rss, tier: B }1053 - { name: android releases, url: "https://github.com/signalapp/Signal-Android/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: signalapp/Signal-Android, kind: releases } }1054 - id: tor-project1055 name: Tor Project1056 domain: torproject.org1057 homepage: https://www.torproject.org1058 categories: [open-source, cyber, internet, ngo]1059 tier: B1060 weight: 1.21061 aliases: [tor, tor browser, the tor project]1062 products:1063 - { name: Tor Browser, type: software }1064 discover: { rss: true }1065 sensors:1066 - { name: blog feed, url: "https://blog.torproject.org/feed.xml", type: ATOM, connector: rss, tier: B }1067 - { name: tor tags, url: "https://gitlab.torproject.org/tpo/core/tor/-/tags?format=atom", type: ATOM, connector: rss, tier: B }1068 - id: wireshark1069 name: Wireshark1070 domain: wireshark.org1071 homepage: https://www.wireshark.org1072 categories: [open-source, developer, cyber]1073 tier: B1074 aliases: [wireshark foundation]1075 discover: { rss: false, pages: true }1076 notes: "Astro site without feeds; security advisories page is server-rendered."1077 sensors:1078 - { name: tags, url: "https://github.com/wireshark/wireshark/tags.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: wireshark/wireshark, kind: tags } }1079 - { name: security advisories, url: "https://www.wireshark.org/security/", type: HTML, connector: http, tier: A }1080 - id: qemu1081 name: QEMU1082 domain: qemu.org1083 homepage: https://www.qemu.org1084 categories: [open-source, developer, infrastructure]1085 tier: B1086 aliases: [qemu project]1087 discover: { rss: true }1088 sensors:1089 - { name: blog feed, url: "https://www.qemu.org/feed.xml", type: ATOM, connector: rss, tier: B }1090 - { name: tags, url: "https://github.com/qemu/qemu/tags.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: qemu/qemu, kind: tags } }1091 - id: proxmox1092 name: Proxmox1093 domain: proxmox.com1094 homepage: https://www.proxmox.com1095 categories: [open-source, developer, infrastructure, enterprise]1096 tier: B1097 aliases: [proxmox ve, pve, proxmox server solutions]1098 products:1099 - { name: Proxmox VE, type: software, aliases: [pve] }1100 - { name: Proxmox Backup Server, type: software, aliases: [pbs] }1101 discover: { rss: true }1102 sensors:1103 - { name: press releases feed, url: "https://www.proxmox.com/en/about/company-details/press-releases?format=feed&type=rss", type: RSS, connector: rss, tier: B }1104 - { name: pve roadmap, url: "https://pve.proxmox.com/wiki/Roadmap", type: HTML, connector: http, tier: C }1105 - id: home-assistant1106 name: Home Assistant1107 domain: home-assistant.io1108 homepage: https://www.home-assistant.io1109 categories: [open-source, consumer-tech, developer]1110 tier: B1111 weight: 1.11112 aliases: [hass, nabu casa, open home foundation]1113 discover: { rss: true, status: true }1114 sensors:1115 - { name: status, url: "https://status.home-assistant.io/api/v2/summary.json", type: STATUSPAGE, connector: statuspage, tier: S }1116 - { name: blog feed, url: "https://www.home-assistant.io/atom.xml", type: ATOM, connector: rss, tier: B }1117 - { name: core releases, url: "https://github.com/home-assistant/core/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: home-assistant/core, kind: releases } }1118 - id: obs-studio1119 name: OBS Studio1120 domain: obsproject.com1121 categories: [open-source, consumer-tech, media]1122 tier: B1123 aliases: [obs, obs project, open broadcaster software]1124 discover: { rss: true }1125 sensors:1126 - { name: blog feed, url: "https://obsproject.com/blog/rss", type: RSS, connector: rss, tier: B }1127 - { name: releases, url: "https://github.com/obsproject/obs-studio/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: obsproject/obs-studio, kind: releases } }11281129 # ───────────────────────── Developer tools & editors ─────────────────────────1130 - id: jenkins1131 name: Jenkins1132 domain: jenkins.io1133 homepage: https://www.jenkins.io1134 categories: [open-source, developer, infrastructure, cyber]1135 tier: B1136 weight: 1.11137 aliases: [jenkins ci]1138 discover: { rss: true }1139 sensors:1140 - { name: security advisories feed, url: "https://www.jenkins.io/security/advisories/rss.xml", type: RSS, connector: rss, tier: A }1141 - { name: changelog feed, url: "https://www.jenkins.io/changelog/rss.xml", type: RSS, connector: rss, tier: B }1142 - { name: blog feed, url: "https://www.jenkins.io/rss.xml", type: ATOM, connector: rss, tier: B }1143 - id: homebrew1144 name: Homebrew1145 domain: brew.sh1146 categories: [open-source, developer, packages]1147 tier: B1148 aliases: [brew]1149 discover: { rss: true }1150 sensors:1151 - { name: blog feed, url: "https://brew.sh/atom.xml", type: ATOM, connector: rss, tier: B }1152 - { name: releases, url: "https://github.com/Homebrew/brew/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: Homebrew/brew, kind: releases } }1153 - id: neovim1154 name: Neovim1155 domain: neovim.io1156 categories: [open-source, developer]1157 tier: B1158 aliases: [nvim]1159 discover: { rss: true }1160 sensors:1161 - { name: news feed, url: "https://neovim.io/news.xml", type: RSS, connector: rss, tier: B }1162 - { name: releases, url: "https://github.com/neovim/neovim/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: neovim/neovim, kind: releases } }1163 - id: vim1164 name: Vim1165 domain: vim.org1166 homepage: https://www.vim.org1167 categories: [open-source, developer]1168 tier: C1169 aliases: [vi improved]1170 llm: false1171 discover: { rss: false }1172 notes: "Patch tags land several times a day — heuristics only."1173 sensors:1174 - { name: tags, url: "https://github.com/vim/vim/tags.atom", type: GITHUB_RELEASE, connector: github, tier: C, config: { repo: vim/vim, kind: tags } }1175 - id: microsoft1176 extend: true1177 aliases: [vs code, visual studio code]1178 products:1179 - { name: Visual Studio Code, type: software, aliases: [vs code, vscode] }1180 sensors:1181 - { name: vs code releases, url: "https://github.com/microsoft/vscode/releases.atom", type: GITHUB_RELEASE, connector: github, tier: A, config: { repo: microsoft/vscode, kind: releases } }1182 - { name: vs code updates feed, url: "https://code.visualstudio.com/feed.xml", type: ATOM, connector: rss, tier: B }1183 - id: zed1184 name: Zed1185 domain: zed.dev1186 categories: [open-source, developer, ai]1187 tier: B1188 aliases: [zed editor, zed industries]1189 discover: { rss: true }1190 notes: "GitHub releases feed is flooded by nightlies; zed.dev publishes a stable-releases feed."1191 sensors:1192 - { name: stable releases feed, url: "https://zed.dev/stable-releases.rss", type: RSS, connector: rss, tier: B }1193 - { name: blog feed, url: "https://zed.dev/blog.rss", type: RSS, connector: rss, tier: B, config: { maxItems: 40 } }1194 - id: godot1195 name: Godot Engine1196 domain: godotengine.org1197 categories: [open-source, developer, gaming]1198 tier: B1199 weight: 1.11200 aliases: [godot, godot foundation]1201 discover: { rss: true }1202 sensors:1203 - { name: news feed, url: "https://godotengine.org/rss.xml", type: RSS, connector: rss, tier: B }1204 - { name: releases, url: "https://github.com/godotengine/godot/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: godotengine/godot, kind: releases } }1205 - id: electron1206 name: Electron1207 domain: electronjs.org1208 homepage: https://www.electronjs.org1209 categories: [open-source, developer]1210 tier: B1211 aliases: [electronjs]1212 llm: false1213 discover: { rss: true }1214 notes: "Releases feed publishes nightlies daily — heuristics only."1215 sensors:1216 - { name: blog feed, url: "https://www.electronjs.org/blog/rss.xml", type: RSS, connector: rss, tier: B }1217 - { name: releases, url: "https://github.com/electron/electron/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: electron/electron, kind: releases } }1218 - id: tauri1219 name: Tauri1220 domain: tauri.app1221 homepage: https://v2.tauri.app1222 categories: [open-source, developer]1223 tier: C1224 aliases: [tauri apps]1225 llm: false1226 discover: { rss: true }1227 notes: "Monorepo releases feed publishes every crate/package tag — heuristics only."1228 sensors:1229 - { name: blog feed, url: "https://v2.tauri.app/blog/rss.xml", type: RSS, connector: rss, tier: C }1230 - { name: releases, url: "https://github.com/tauri-apps/tauri/releases.atom", type: GITHUB_RELEASE, connector: github, tier: C, config: { repo: tauri-apps/tauri, kind: releases } }1231 - id: flutter1232 name: Flutter1233 domain: flutter.dev1234 categories: [open-source, developer]1235 tier: B1236 weight: 1.11237 aliases: [flutter sdk, dart]1238 products:1239 - { name: Dart, type: software }1240 llm: false1241 discover: { rss: true }1242 notes: "Releases feed publishes beta cherry-picks continuously — heuristics only."1243 sensors:1244 - { name: blog feed, url: "https://medium.com/feed/flutter", type: RSS, connector: rss, tier: B }1245 - { name: releases, url: "https://github.com/flutter/flutter/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: flutter/flutter, kind: releases } }1246 - id: react-native1247 name: React Native1248 domain: reactnative.dev1249 categories: [open-source, developer]1250 tier: B1251 weight: 1.11252 aliases: [rn]1253 discover: { rss: true }1254 sensors:1255 - { name: blog feed, url: "https://reactnative.dev/blog/rss.xml", type: RSS, connector: rss, tier: B, config: { maxItems: 40 } }1256 - { name: releases, url: "https://github.com/react/react-native/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: react/react-native, kind: releases } }1257 - id: expo1258 name: Expo1259 domain: expo.dev1260 categories: [open-source, developer, cloud]1261 tier: B1262 aliases: [expo go, eas]1263 products:1264 - { name: EAS, type: service, aliases: [expo application services] }1265 discover: { rss: true, status: true }1266 notes: "expo/expo has neither GitHub releases nor tags feeds; changelog + blog + status instead."1267 sensors:1268 - { name: status, url: "https://status.expo.dev/api/v2/summary.json", type: STATUSPAGE, connector: statuspage, tier: S }1269 - { name: changelog feed, url: "https://expo.dev/changelog/rss.xml", type: RSS, connector: rss, tier: B }1270 - { name: blog feed, url: "https://expo.dev/blog/rss.xml", type: RSS, connector: rss, tier: B }1271 - id: tailwind1272 name: Tailwind CSS1273 domain: tailwindcss.com1274 categories: [open-source, developer]1275 tier: B1276 aliases: [tailwind, tailwind labs]1277 discover: { rss: true }1278 sensors:1279 - { name: blog feed, url: "https://tailwindcss.com/feeds/feed.xml", type: RSS, connector: rss, tier: B }1280 - { name: releases, url: "https://github.com/tailwindlabs/tailwindcss/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: tailwindlabs/tailwindcss, kind: releases } }1281 - id: vite1282 name: Vite1283 domain: vite.dev1284 categories: [open-source, developer]1285 tier: B1286 aliases: [vitejs, void zero, rolldown]1287 llm: false1288 discover: { rss: true }1289 notes: "Monorepo releases feed mixes plugins and betas — heuristics only."1290 sensors:1291 - { name: blog feed, url: "https://vite.dev/blog.rss", type: RSS, connector: rss, tier: B }1292 - { name: releases, url: "https://github.com/vitejs/vite/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: vitejs/vite, kind: releases } }1293 - id: webpack1294 name: webpack1295 domain: webpack.js.org1296 categories: [open-source, developer]1297 tier: C1298 discover: { rss: true }1299 sensors:1300 - { name: blog feed, url: "https://medium.com/feed/webpack", type: RSS, connector: rss, tier: C }1301 - { name: releases, url: "https://github.com/webpack/webpack/releases.atom", type: GITHUB_RELEASE, connector: github, tier: C, config: { repo: webpack/webpack, kind: releases } }1302 - id: esbuild1303 name: esbuild1304 domain: esbuild.github.io1305 categories: [open-source, developer]1306 tier: C1307 discover: { rss: false }1308 sensors:1309 - { name: releases, url: "https://github.com/evanw/esbuild/releases.atom", type: GITHUB_RELEASE, connector: github, tier: C, config: { repo: evanw/esbuild, kind: releases } }1310 - id: rollup1311 name: Rollup1312 domain: rollupjs.org1313 categories: [open-source, developer]1314 tier: C1315 aliases: [rollup.js]1316 discover: { rss: false }1317 sensors:1318 - { name: releases, url: "https://github.com/rollup/rollup/releases.atom", type: GITHUB_RELEASE, connector: github, tier: C, config: { repo: rollup/rollup, kind: releases } }1319 - id: babel1320 name: Babel1321 domain: babeljs.io1322 categories: [open-source, developer]1323 tier: C1324 aliases: [babel js]1325 discover: { rss: true }1326 sensors:1327 - { name: blog feed, url: "https://babeljs.io/blog/rss.xml", type: RSS, connector: rss, tier: C, config: { maxItems: 30 } }1328 - { name: releases, url: "https://github.com/babel/babel/releases.atom", type: GITHUB_RELEASE, connector: github, tier: C, config: { repo: babel/babel, kind: releases } }1329 - id: eslint1330 name: ESLint1331 domain: eslint.org1332 categories: [open-source, developer]1333 tier: B1334 discover: { rss: true }1335 sensors:1336 - { name: blog feed, url: "https://eslint.org/feed.xml", type: ATOM, connector: rss, tier: B }1337 - { name: releases, url: "https://github.com/eslint/eslint/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: eslint/eslint, kind: releases } }1338 - id: prettier1339 name: Prettier1340 domain: prettier.io1341 categories: [open-source, developer]1342 tier: C1343 discover: { rss: true }1344 sensors:1345 - { name: blog feed, url: "https://prettier.io/blog/rss.xml", type: RSS, connector: rss, tier: C, config: { maxItems: 30 } }1346 - { name: releases, url: "https://github.com/prettier/prettier/releases.atom", type: GITHUB_RELEASE, connector: github, tier: C, config: { repo: prettier/prettier, kind: releases } }1347 - id: pnpm1348 name: pnpm1349 domain: pnpm.io1350 categories: [open-source, developer, packages]1351 tier: B1352 discover: { rss: true }1353 sensors:1354 - { name: blog feed, url: "https://pnpm.io/blog/rss.xml", type: RSS, connector: rss, tier: C }1355 - { name: releases, url: "https://github.com/pnpm/pnpm/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: pnpm/pnpm, kind: releases } }1356 - id: yarn1357 name: Yarn1358 domain: yarnpkg.com1359 categories: [open-source, developer, packages]1360 tier: C1361 aliases: [yarn berry, yarnpkg]1362 discover: { rss: false }1363 sensors:1364 - { name: releases, url: "https://github.com/yarnpkg/berry/releases.atom", type: GITHUB_RELEASE, connector: github, tier: C, config: { repo: yarnpkg/berry, kind: releases } }1365 - id: bazel1366 name: Bazel1367 domain: bazel.build1368 categories: [open-source, developer]1369 tier: C1370 aliases: [bazelbuild]1371 discover: { rss: true }1372 sensors:1373 - { name: blog feed, url: "https://blog.bazel.build/feed.xml", type: RSS, connector: rss, tier: C }1374 - { name: releases, url: "https://github.com/bazelbuild/bazel/releases.atom", type: GITHUB_RELEASE, connector: github, tier: C, config: { repo: bazelbuild/bazel, kind: releases } }1375 - id: cmake1376 name: CMake / Kitware1377 domain: cmake.org1378 categories: [open-source, developer]1379 tier: C1380 aliases: [kitware]1381 discover: { rss: true }1382 sensors:1383 - { name: releases, url: "https://github.com/Kitware/CMake/releases.atom", type: GITHUB_RELEASE, connector: github, tier: C, config: { repo: Kitware/CMake, kind: releases } }1384 - { name: kitware blog feed, url: "https://www.kitware.com/feed/", type: RSS, connector: rss, tier: C }1385 - id: gradle1386 name: Gradle1387 domain: gradle.org1388 categories: [open-source, developer]1389 tier: C1390 aliases: [gradle build tool, develocity]1391 discover: { rss: true }1392 notes: "blog.gradle.org has no feed in 2026."1393 sensors:1394 - { name: releases, url: "https://github.com/gradle/gradle/releases.atom", type: GITHUB_RELEASE, connector: github, tier: C, config: { repo: gradle/gradle, kind: releases } }1395 - id: maven1396 name: Apache Maven1397 domain: maven.apache.org1398 categories: [open-source, developer, packages]1399 tier: C1400 aliases: [maven]1401 discover: { rss: false, pages: true }1402 sensors:1403 - { name: releases, url: "https://github.com/apache/maven/releases.atom", type: GITHUB_RELEASE, connector: github, tier: C, config: { repo: apache/maven, kind: releases } }1404 - { name: release history, url: "https://maven.apache.org/docs/history.html", type: HTML, connector: http, tier: C }1405