# config/sources.d/10-open-source.yaml — open-source foundations, languages, frameworks, Linux/BSD # distributions and developer tools (2026-09-08). Every sensor below was fetched and parsed by # `apps/engine/src/validate.ts` before being written; GitHub release/tag Atom feeds are the backbone, # with the project's own news/blog feed and status page when one exists. Sources whose release stream # is a firehose (canaries, nightlies, per-package monorepo tags) carry `llm: false`. sources: # ───────────────────────── Foundations ───────────────────────── - id: linux-foundation name: Linux Foundation domain: linuxfoundation.org homepage: https://www.linuxfoundation.org categories: [open-source, developer, ngo] tier: B weight: 1.2 aliases: [lf, the linux foundation] discover: { rss: true, sitemap: true } sensors: - { name: blog feed, url: "https://www.linuxfoundation.org/blog/rss.xml", type: RSS, connector: rss, tier: B } - id: cncf name: Cloud Native Computing Foundation domain: cncf.io homepage: https://www.cncf.io categories: [open-source, developer, cloud] tier: B weight: 1.2 aliases: [cncf, cloud native computing foundation] discover: { rss: true, sitemap: true } sensors: - { name: news feed, url: "https://www.cncf.io/feed/", type: RSS, connector: rss, tier: B } - id: apache name: Apache Software Foundation domain: apache.org homepage: https://www.apache.org categories: [open-source, developer] tier: B weight: 1.2 aliases: [asf, apache software foundation, apache foundation] discover: { rss: true, sitemap: false } sensors: - { name: news feed, url: "https://news.apache.org/feed/", type: RSS, connector: rss, tier: B } - id: eclipse name: Eclipse Foundation domain: eclipse.org homepage: https://www.eclipse.org categories: [open-source, developer] tier: B aliases: [eclipse foundation] products: - { name: Eclipse IDE, type: software, aliases: [eclipse ide] } - { name: Jakarta EE, type: software, aliases: [jakarta ee] } discover: { rss: true } sensors: - { name: newsroom feed, url: "https://newsroom.eclipse.org/rss.xml", type: RSS, connector: rss, tier: B } - { name: blog feed, url: "https://blogs.eclipse.org/blog/feed", type: RSS, connector: rss, tier: C } - id: openjs name: OpenJS Foundation domain: openjsf.org categories: [open-source, developer] tier: C aliases: [openjs foundation, openjsf] discover: { rss: true, sitemap: true, pages: true } notes: "No feed; blog is a Next.js shell. Sitemap is the only server-side signal." sensors: - { name: sitemap, url: "https://openjsf.org/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C, config: { maxUrls: 1000 } } - id: rust-foundation name: Rust Foundation domain: rustfoundation.org categories: [open-source, developer] tier: B aliases: [rust foundation] discover: { rss: true } sensors: - { name: news feed, url: "https://rustfoundation.org/feed/", type: RSS, connector: rss, tier: B } - id: openssf name: Open Source Security Foundation domain: openssf.org categories: [open-source, developer, cyber] tier: B aliases: [openssf, open source security foundation] products: - { name: Sigstore, type: software } - { name: OpenSSF Scorecard, type: software, aliases: [scorecard] } discover: { rss: true } sensors: - { name: blog feed, url: "https://openssf.org/feed/", type: RSS, connector: rss, tier: B } - id: python extend: true aliases: [python software foundation, psf] sensors: - { name: psf blog feed, url: "https://pyfound.blogspot.com/feeds/posts/default?max-results=25", type: ATOM, connector: rss, tier: B } # ───────────────────────── BSD ───────────────────────── - id: freebsd name: FreeBSD domain: freebsd.org homepage: https://www.freebsd.org categories: [open-source, developer, infrastructure] tier: B weight: 1.1 aliases: [freebsd project, freebsd foundation] discover: { rss: true } sensors: - { name: news feed, url: "https://www.freebsd.org/news/feed.xml", type: RSS, connector: rss, tier: B } - { name: security advisories feed, url: "https://www.freebsd.org/security/feed.xml", type: RSS, connector: rss, tier: A } - id: openbsd name: OpenBSD domain: openbsd.org homepage: https://www.openbsd.org categories: [open-source, developer, infrastructure, cyber] tier: B weight: 1.1 aliases: [openbsd project] discover: { rss: false, pages: true } 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." sensors: - { name: errata 7.9, url: "https://www.openbsd.org/errata79.html", type: HTML, connector: http, tier: B } - { name: openbsd journal feed, url: "https://undeadly.org/cgi?action=rss", type: RSS, connector: rss, tier: C } - id: netbsd name: NetBSD domain: netbsd.org homepage: https://www.netbsd.org categories: [open-source, developer, infrastructure] tier: C aliases: [netbsd project, netbsd foundation] discover: { rss: true } sensors: - { name: news feed, url: "https://www.netbsd.org/changes/rss-netbsd.xml", type: RSS, connector: rss, tier: C } # ───────────────────────── Linux distributions ───────────────────────── - id: linux-kernel name: Linux Kernel domain: kernel.org homepage: https://www.kernel.org categories: [open-source, developer, infrastructure] tier: A weight: 1.4 aliases: [linux, the linux kernel, kernel.org, linux kernel organization] discover: { rss: true } sensors: - { 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] } } - { name: releases feed, url: "https://www.kernel.org/feeds/kdist.xml", type: RSS, connector: rss, tier: A } - id: debian name: Debian domain: debian.org homepage: https://www.debian.org categories: [open-source, developer, infrastructure] tier: A weight: 1.3 aliases: [debian project, debian gnu/linux] discover: { rss: true } sensors: - { name: news feed, url: "https://www.debian.org/News/news", type: RSS, connector: rss, tier: A } - { name: security advisories feed, url: "https://www.debian.org/security/dsa-long", type: RSS, connector: rss, tier: S } - id: ubuntu name: Ubuntu / Canonical domain: ubuntu.com categories: [open-source, developer, infrastructure, cloud] tier: A weight: 1.3 aliases: [canonical, ubuntu linux] products: - { name: Ubuntu, type: software } - { name: Snapcraft, type: software, aliases: [snap] } - { name: LXD, type: software } discover: { rss: true, status: true } sensors: - { name: blog feed, url: "https://ubuntu.com/blog/feed", type: RSS, connector: rss, tier: B } - { name: security notices feed, url: "https://ubuntu.com/security/notices/rss.xml", type: RSS, connector: rss, tier: S, config: { maxItems: 60 } } - { name: canonical blog feed, url: "https://canonical.com/blog/feed", type: RSS, connector: rss, tier: B } - id: fedora name: Fedora Project domain: fedoraproject.org categories: [open-source, developer] tier: B aliases: [fedora, fedora linux] discover: { rss: true } sensors: - { name: fedora magazine feed, url: "https://fedoramagazine.org/feed/", type: RSS, connector: rss, tier: B } - id: red-hat name: Red Hat domain: redhat.com homepage: https://www.redhat.com categories: [open-source, enterprise, cloud, infrastructure] tier: A weight: 1.3 aliases: [redhat, rhel] products: - { name: Red Hat Enterprise Linux, type: software, aliases: [rhel] } - { name: OpenShift, type: software } - { name: Ansible Automation Platform, type: software } discover: { rss: true, status: true } sensors: - { name: status, url: "https://status.redhat.com/api/v2/summary.json", type: STATUSPAGE, connector: statuspage, tier: S } - { name: blog feed, url: "https://www.redhat.com/en/rss/blog", type: RSS, connector: rss, tier: B } - id: arch-linux name: Arch Linux domain: archlinux.org categories: [open-source, developer] tier: B aliases: [arch, archlinux] discover: { rss: true } sensors: - { name: news feed, url: "https://archlinux.org/feeds/news/", type: RSS, connector: rss, tier: B } - { name: security advisories feed, url: "https://security.archlinux.org/advisory/feed.atom", type: ATOM, connector: rss, tier: A } - id: alpine name: Alpine Linux domain: alpinelinux.org categories: [open-source, developer, infrastructure] tier: B aliases: [alpine, alpine linux] discover: { rss: true } sensors: - { name: news feed, url: "https://alpinelinux.org/atom.xml", type: ATOM, connector: rss, tier: B } - id: nixos name: NixOS domain: nixos.org categories: [open-source, developer, packages] tier: B aliases: [nix, nixpkgs, nixos foundation] products: - { name: Nix, type: software } - { name: Nixpkgs, type: software } discover: { rss: true } sensors: - { name: announcements feed, url: "https://nixos.org/blog/announcements-rss.xml", type: RSS, connector: rss, tier: B } - { name: discourse announcements feed, url: "https://discourse.nixos.org/c/announcements/8.rss", type: RSS, connector: rss, tier: B } - { name: nix releases, url: "https://github.com/NixOS/nix/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: NixOS/nix, kind: releases } } - id: opensuse name: openSUSE domain: opensuse.org homepage: https://www.opensuse.org categories: [open-source, developer] tier: B aliases: [opensuse project, tumbleweed, leap] discover: { rss: true } sensors: - { name: news feed, url: "https://news.opensuse.org/feed.xml", type: RSS, connector: rss, tier: B } - id: suse name: SUSE domain: suse.com homepage: https://www.suse.com categories: [open-source, enterprise, infrastructure] tier: B aliases: [suse linux, sles] products: - { name: SUSE Linux Enterprise Server, type: software, aliases: [sles] } - { name: Rancher, type: software } discover: { rss: true } sensors: - { name: blog feed, url: "https://www.suse.com/c/feed/", type: RSS, connector: rss, tier: B } # ───────────────────────── Desktop environments ───────────────────────── - id: gnome name: GNOME domain: gnome.org homepage: https://www.gnome.org categories: [open-source, developer] tier: C aliases: [gnome foundation, gnome project] discover: { rss: true, sitemap: true } notes: "Foundation site has no feed; Planet GNOME aggregates developer blogs." sensors: - { name: planet gnome feed, url: "https://planet.gnome.org/rss20.xml", type: RSS, connector: rss, tier: C, config: { maxItems: 60 } } - id: kde name: KDE domain: kde.org categories: [open-source, developer] tier: B aliases: [kde community, kde e.v., plasma] products: - { name: KDE Plasma, type: software, aliases: [plasma] } discover: { rss: true } sensors: - { name: announcements feed, url: "https://kde.org/announcements/index.xml", type: RSS, connector: rss, tier: B } - { name: news feed, url: "https://kde.org/index.xml", type: RSS, connector: rss, tier: B } # ───────────────────────── Core toolchain & libraries ───────────────────────── - id: git name: Git domain: git-scm.com categories: [open-source, developer] tier: B weight: 1.2 aliases: [git scm] discover: { rss: true } sensors: - { name: tags, url: "https://github.com/git/git/tags.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: git/git, kind: tags } } - id: curl name: curl domain: curl.se categories: [open-source, developer, infrastructure, cyber] tier: B weight: 1.2 aliases: [libcurl, curl project] discover: { rss: true } sensors: - { name: releases, url: "https://github.com/curl/curl/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: curl/curl, kind: releases } } - { 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 } } - { name: daniel stenberg blog feed, url: "https://daniel.haxx.se/blog/feed/", type: RSS, connector: rss, tier: C } - id: openssl name: OpenSSL domain: openssl-library.org categories: [open-source, developer, infrastructure, cyber] tier: A weight: 1.3 aliases: [openssl project, openssl library] discover: { rss: true } sensors: - { name: releases, url: "https://github.com/openssl/openssl/releases.atom", type: GITHUB_RELEASE, connector: github, tier: A, config: { repo: openssl/openssl, kind: releases } } - { name: news feed, url: "https://openssl-library.org/news/index.xml", type: RSS, connector: rss, tier: A, config: { maxItems: 50 } } - id: openssh name: OpenSSH domain: openssh.com homepage: https://www.openssh.com categories: [open-source, developer, infrastructure, cyber] tier: A weight: 1.2 aliases: [openssh portable] discover: { rss: false, pages: true } sensors: - { 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 } } - { name: release notes, url: "https://www.openssh.org/releasenotes.html", type: HTML, connector: http, tier: B } - id: llvm name: LLVM Project domain: llvm.org categories: [open-source, developer] tier: B weight: 1.1 aliases: [llvm, clang] products: - { name: Clang, type: software } - { name: LLDB, type: software } discover: { rss: true } sensors: - { 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 } } - { name: discourse announcements feed, url: "https://discourse.llvm.org/c/announce/46.rss", type: RSS, connector: rss, tier: B } - id: gcc name: GCC domain: gcc.gnu.org categories: [open-source, developer] tier: C aliases: [gnu compiler collection, gnu gcc] discover: { rss: false, pages: true } notes: "No feed; the gcc-mirror tags feed is dominated by basepoints. Releases page is server-rendered." sensors: - { name: releases page, url: "https://gcc.gnu.org/releases.html", type: HTML, connector: http, tier: C } # ───────────────────────── Web frameworks ───────────────────────── - id: react name: React domain: react.dev categories: [open-source, developer] tier: A weight: 1.3 aliases: [reactjs, react.js] discover: { rss: true } sensors: - { name: blog feed, url: "https://react.dev/rss.xml", type: RSS, connector: rss, tier: A } - { name: releases, url: "https://github.com/react/react/releases.atom", type: GITHUB_RELEASE, connector: github, tier: A, config: { repo: react/react, kind: releases } } - id: nextjs name: Next.js domain: nextjs.org categories: [open-source, developer] tier: A weight: 1.2 aliases: [next.js, next js, nextjs] llm: false discover: { rss: true } notes: "Releases feed is dominated by daily canaries — heuristics only." sensors: - { name: blog feed, url: "https://nextjs.org/feed.xml", type: RSS, connector: rss, tier: A } - { 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 } } - id: vue name: Vue.js domain: vuejs.org categories: [open-source, developer] tier: B weight: 1.1 aliases: [vue, vuejs] discover: { rss: true } sensors: - { name: blog feed, url: "https://blog.vuejs.org/feed.rss", type: RSS, connector: rss, tier: B } - { name: releases, url: "https://github.com/vuejs/core/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: vuejs/core, kind: releases } } - id: angular name: Angular domain: angular.dev categories: [open-source, developer] tier: B weight: 1.1 aliases: [angularjs] discover: { rss: true } sensors: - { name: blog feed, url: "https://blog.angular.dev/feed", type: RSS, connector: rss, tier: B } - { name: releases, url: "https://github.com/angular/angular/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: angular/angular, kind: releases } } - id: svelte name: Svelte domain: svelte.dev categories: [open-source, developer] tier: B aliases: [sveltekit, svelte kit] llm: false discover: { rss: true } notes: "Monorepo releases feed mixes every package — heuristics only." sensors: - { name: blog feed, url: "https://svelte.dev/blog/rss.xml", type: RSS, connector: rss, tier: B, config: { maxItems: 40 } } - { name: releases, url: "https://github.com/sveltejs/svelte/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: sveltejs/svelte, kind: releases } } - id: astro name: Astro domain: astro.build categories: [open-source, developer] tier: B aliases: [astro build, withastro] llm: false discover: { rss: true } sensors: - { name: blog feed, url: "https://astro.build/rss.xml", type: RSS, connector: rss, tier: B } - { name: releases, url: "https://github.com/withastro/astro/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: withastro/astro, kind: releases } } - id: django name: Django domain: djangoproject.com homepage: https://www.djangoproject.com categories: [open-source, developer] tier: B weight: 1.1 aliases: [django software foundation, dsf] discover: { rss: true } sensors: - { name: weblog feed, url: "https://www.djangoproject.com/rss/weblog/", type: RSS, connector: rss, tier: A } - { name: tags, url: "https://github.com/django/django/tags.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: django/django, kind: tags } } - id: flask name: Flask / Pallets domain: palletsprojects.com categories: [open-source, developer] tier: B aliases: [pallets, pallets projects, werkzeug, jinja] products: - { name: Werkzeug, type: software } - { name: Jinja, type: software } discover: { rss: true } sensors: - { name: blog feed, url: "https://palletsprojects.com/blog/feed.xml", type: ATOM, connector: rss, tier: B } - { name: releases, url: "https://github.com/pallets/flask/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: pallets/flask, kind: releases } } - id: fastapi name: FastAPI domain: fastapi.tiangolo.com categories: [open-source, developer] tier: B aliases: [fast api] discover: { rss: false } sensors: - { name: releases, url: "https://github.com/fastapi/fastapi/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: fastapi/fastapi, kind: releases } } - id: rails name: Ruby on Rails domain: rubyonrails.org categories: [open-source, developer] tier: B weight: 1.1 aliases: [rails, ror] discover: { rss: true } sensors: - { name: blog feed, url: "https://rubyonrails.org/feed.xml", type: ATOM, connector: rss, tier: B } - { name: releases, url: "https://github.com/rails/rails/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: rails/rails, kind: releases } } - id: laravel name: Laravel domain: laravel.com categories: [open-source, developer] tier: B aliases: [laravel framework] discover: { rss: true } sensors: - { name: blog feed, url: "https://laravel.com/feed", type: RSS, connector: rss, tier: B } - { name: framework releases, url: "https://github.com/laravel/framework/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: laravel/framework, kind: releases } } - id: spring name: Spring domain: spring.io categories: [open-source, developer, enterprise] tier: B weight: 1.1 aliases: [spring framework, spring boot, pivotal spring] products: - { name: Spring Boot, type: software } - { name: Spring Framework, type: software } discover: { rss: true } sensors: - { name: blog feed, url: "https://spring.io/blog.atom", type: RSS, connector: rss, tier: B } - { 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 } } # ───────────────────────── Languages & runtimes ───────────────────────── - id: dotnet name: .NET domain: dotnet.microsoft.com categories: [open-source, developer, enterprise] tier: A weight: 1.2 aliases: [dotnet, .net core, asp.net, c#] products: - { name: ASP.NET Core, type: software, aliases: [asp.net] } - { name: C#, type: software, aliases: [csharp] } discover: { rss: true } sensors: - { 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] } } - { name: dotnet blog feed, url: "https://devblogs.microsoft.com/dotnet/feed/", type: RSS, connector: rss, tier: B } - { name: runtime releases, url: "https://github.com/dotnet/runtime/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: dotnet/runtime, kind: releases } } - id: typescript name: TypeScript domain: typescriptlang.org homepage: https://www.typescriptlang.org categories: [open-source, developer] tier: A weight: 1.2 aliases: [ts, typescript language] discover: { rss: true } sensors: - { name: blog feed, url: "https://devblogs.microsoft.com/typescript/feed/", type: RSS, connector: rss, tier: A } - { name: releases, url: "https://github.com/microsoft/TypeScript/releases.atom", type: GITHUB_RELEASE, connector: github, tier: A, config: { repo: microsoft/TypeScript, kind: releases } } - id: kotlin name: Kotlin domain: kotlinlang.org categories: [open-source, developer] tier: B weight: 1.1 aliases: [kotlin language, kotlin foundation] discover: { rss: true } notes: "The GitHub releases feed is dominated by dev builds; the Kotlin blog carries the real releases." sensors: - { name: blog feed, url: "https://blog.jetbrains.com/kotlin/feed/", type: RSS, connector: rss, tier: B } - id: jetbrains name: JetBrains domain: jetbrains.com homepage: https://www.jetbrains.com categories: [developer, technology] tier: B weight: 1.1 aliases: [intellij, jetbrains ides] products: - { name: IntelliJ IDEA, type: software, aliases: [intellij] } - { name: PyCharm, type: software } - { name: WebStorm, type: software } - { name: JetBrains AI Assistant, type: product, aliases: [junie] } discover: { rss: true, status: true } sensors: - { name: blog feed, url: "https://blog.jetbrains.com/feed/", type: RSS, connector: rss, tier: B } - id: swift name: Swift.org domain: swift.org homepage: https://www.swift.org categories: [open-source, developer] tier: B weight: 1.1 aliases: [swift language, swift programming language] discover: { rss: true } notes: "GitHub releases feed is flooded by nightly development snapshots; the swift.org feed announces releases." sensors: - { name: blog feed, url: "https://www.swift.org/atom.xml", type: ATOM, connector: rss, tier: B } - id: deno name: Deno domain: deno.com categories: [open-source, developer, cloud] tier: B aliases: [deno land, deno deploy] products: - { name: Deno Deploy, type: service } discover: { rss: true, status: true } sensors: - { name: blog feed, url: "https://deno.com/feed", type: ATOM, connector: rss, tier: B } - { name: releases, url: "https://github.com/denoland/deno/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: denoland/deno, kind: releases } } - id: bun name: Bun domain: bun.sh categories: [open-source, developer] tier: B aliases: [bun runtime, oven] discover: { rss: true } sensors: - { name: blog feed, url: "https://bun.sh/rss.xml", type: RSS, connector: rss, tier: B } - { 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 } } - id: zig name: Zig domain: ziglang.org categories: [open-source, developer] tier: C aliases: [zig language, zig software foundation] discover: { rss: true } sensors: - { name: news feed, url: "https://ziglang.org/news/index.xml", type: RSS, connector: rss, tier: C } - { name: tags, url: "https://github.com/ziglang/zig/tags.atom", type: GITHUB_RELEASE, connector: github, tier: C, config: { repo: ziglang/zig, kind: tags } } - id: julia name: Julia domain: julialang.org categories: [open-source, developer, science] tier: C aliases: [julia language, julialang] discover: { rss: true } sensors: - { name: blog feed, url: "https://julialang.org/feed.xml", type: RSS, connector: rss, tier: C } - { name: releases, url: "https://github.com/JuliaLang/julia/releases.atom", type: GITHUB_RELEASE, connector: github, tier: C, config: { repo: JuliaLang/julia, kind: releases } } - id: r-project name: R Project domain: r-project.org homepage: https://www.r-project.org categories: [open-source, developer, statistics, science] tier: C aliases: [r, r language, r foundation, cran] discover: { rss: true } sensors: - { name: blog feed, url: "https://blog.r-project.org/index.xml", type: RSS, connector: rss, tier: C } # ───────────────────────── AI / ML / data science ───────────────────────── - id: jupyter name: Project Jupyter domain: jupyter.org categories: [open-source, developer, ai, science] tier: B aliases: [jupyter, jupyterlab, jupyter notebook] products: - { name: JupyterLab, type: software } discover: { rss: true } sensors: - { name: blog feed, url: "https://blog.jupyter.org/feed", type: RSS, connector: rss, tier: B } - { name: jupyterlab tags, url: "https://github.com/jupyterlab/jupyterlab/tags.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: jupyterlab/jupyterlab, kind: tags } } - { name: notebook releases, url: "https://github.com/jupyter/notebook/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: jupyter/notebook, kind: releases } } - id: pytorch name: PyTorch domain: pytorch.org categories: [open-source, developer, ai] tier: A weight: 1.3 aliases: [pytorch foundation, torch] discover: { rss: true } notes: "GitHub releases feed is polluted by viable/strict CI tags; the blog announces releases." sensors: - { name: blog feed, url: "https://pytorch.org/blog/feed/", type: RSS, connector: rss, tier: A } - id: tensorflow name: TensorFlow domain: tensorflow.org homepage: https://www.tensorflow.org categories: [open-source, developer, ai] tier: B weight: 1.1 aliases: [tf, keras] discover: { rss: true } sensors: - { name: blog feed, url: "https://blog.tensorflow.org/feeds/posts/default?max-results=25", type: ATOM, connector: rss, tier: B } - { name: releases, url: "https://github.com/tensorflow/tensorflow/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: tensorflow/tensorflow, kind: releases } } - id: jax name: JAX domain: jax.dev homepage: https://docs.jax.dev categories: [open-source, developer, ai] tier: B aliases: [jax ml, google jax] discover: { rss: false } sensors: - { 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 } } - { name: changelog, url: "https://docs.jax.dev/en/latest/changelog.html", type: HTML, connector: http, tier: B } - id: langchain name: LangChain domain: langchain.com homepage: https://www.langchain.com categories: [open-source, developer, ai] tier: B weight: 1.1 aliases: [langgraph, langsmith] products: - { name: LangGraph, type: software } - { name: LangSmith, type: service } llm: false discover: { rss: true, status: true } notes: "Monorepo releases feed publishes every package tag — heuristics only." sensors: - { name: blog feed, url: "https://www.langchain.com/blog/rss.xml", type: RSS, connector: rss, tier: B, config: { maxItems: 40 } } - { 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 } } - { name: langsmith pricing, url: "https://www.langchain.com/pricing", type: HTML, connector: http, tier: C } - id: vllm name: vLLM domain: vllm.ai categories: [open-source, developer, ai] tier: B aliases: [vllm project] discover: { rss: true } notes: "Blog has no feed (Next.js)." sensors: - { 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 } } - id: ollama name: Ollama domain: ollama.com categories: [open-source, developer, ai] tier: B weight: 1.1 discover: { rss: true, pages: true } notes: "Blog has no feed; the blog index is server-rendered." sensors: - { name: releases, url: "https://github.com/ollama/ollama/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: ollama/ollama, kind: releases } } - { name: blog index, url: "https://ollama.com/blog", type: HTML, connector: http, tier: B } # ───────────────────────── Infrastructure, DevOps, cloud native ───────────────────────── - id: ansible name: Ansible domain: ansible.com homepage: https://www.ansible.com categories: [open-source, developer, infrastructure] tier: B weight: 1.1 aliases: [ansible core, ansible community] discover: { rss: true } sensors: - { name: community news feed, url: "https://forum.ansible.com/c/news/5.rss", type: RSS, connector: rss, tier: B } - { name: releases, url: "https://github.com/ansible/ansible/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: ansible/ansible, kind: releases } } - id: opentofu name: OpenTofu domain: opentofu.org categories: [open-source, developer, infrastructure, cloud] tier: B aliases: [open tofu] discover: { rss: true } sensors: - { name: blog feed, url: "https://opentofu.org/blog/rss.xml", type: RSS, connector: rss, tier: B } - { name: releases, url: "https://github.com/opentofu/opentofu/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: opentofu/opentofu, kind: releases } } - id: pulumi name: Pulumi domain: pulumi.com homepage: https://www.pulumi.com categories: [open-source, developer, infrastructure, cloud] tier: B aliases: [pulumi cloud] llm: false discover: { rss: true, status: true } notes: "Releases feed mixes pkg/ and sdk/ tags several times a week — heuristics only." sensors: - { name: status, url: "https://status.pulumi.com/api/v2/summary.json", type: STATUSPAGE, connector: statuspage, tier: S } - { name: blog feed, url: "https://www.pulumi.com/blog/rss.xml", type: RSS, connector: rss, tier: B, config: { maxItems: 40 } } - { name: releases, url: "https://github.com/pulumi/pulumi/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: pulumi/pulumi, kind: releases } } - id: prometheus name: Prometheus domain: prometheus.io categories: [open-source, developer, infrastructure, cloud] tier: B weight: 1.1 aliases: [prometheus monitoring] discover: { rss: true } sensors: - { name: blog feed, url: "https://prometheus.io/blog/feed.xml", type: ATOM, connector: rss, tier: B } - { name: releases, url: "https://github.com/prometheus/prometheus/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: prometheus/prometheus, kind: releases } } - id: istio name: Istio domain: istio.io categories: [open-source, developer, infrastructure, cloud] tier: B aliases: [istio service mesh] discover: { rss: true } sensors: - { name: news feed, url: "https://istio.io/latest/news/feed.xml", type: RSS, connector: rss, tier: B, config: { maxItems: 40 } } - { name: releases, url: "https://github.com/istio/istio/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: istio/istio, kind: releases } } - id: envoy name: Envoy Proxy domain: envoyproxy.io homepage: https://www.envoyproxy.io categories: [open-source, developer, infrastructure, cloud] tier: B aliases: [envoy, envoyproxy] discover: { rss: true } notes: "Medium blog (blog.envoyproxy.io) does not resolve from the engine." sensors: - { name: releases, url: "https://github.com/envoyproxy/envoy/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: envoyproxy/envoy, kind: releases } } - id: helm name: Helm domain: helm.sh categories: [open-source, developer, infrastructure, cloud, packages] tier: B aliases: [helm charts] discover: { rss: true } sensors: - { name: blog feed, url: "https://helm.sh/blog/index.xml", type: RSS, connector: rss, tier: B } - { name: releases, url: "https://github.com/helm/helm/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: helm/helm, kind: releases } } - id: argo name: Argo Project domain: argoproj.github.io categories: [open-source, developer, infrastructure, cloud] tier: B aliases: [argo, argo cd, argocd, argo workflows] products: - { name: Argo CD, type: software, aliases: [argocd] } - { name: Argo Workflows, type: software } discover: { rss: true } sensors: - { name: blog feed, url: "https://blog.argoproj.io/feed", type: RSS, connector: rss, tier: B } - { 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 } } - id: nginx name: NGINX domain: nginx.org categories: [open-source, developer, infrastructure] tier: A weight: 1.2 aliases: [nginx open source, f5 nginx] discover: { rss: true } sensors: - { name: releases, url: "https://github.com/nginx/nginx/releases.atom", type: GITHUB_RELEASE, connector: github, tier: A, config: { repo: nginx/nginx, kind: releases } } - { name: blog feed, url: "https://blog.nginx.org/feed", type: RSS, connector: rss, tier: B } - id: apache-httpd name: Apache HTTP Server domain: httpd.apache.org categories: [open-source, developer, infrastructure, cyber] tier: A weight: 1.1 aliases: [apache httpd, httpd, apache web server] discover: { rss: false, pages: true } sensors: - { name: tags, url: "https://github.com/apache/httpd/tags.atom", type: GITHUB_RELEASE, connector: github, tier: A, config: { repo: apache/httpd, kind: tags } } - { name: 2.4 vulnerabilities, url: "https://httpd.apache.org/security/vulnerabilities_24.html", type: HTML, connector: http, tier: A } - id: caddy name: Caddy domain: caddyserver.com categories: [open-source, developer, infrastructure] tier: B aliases: [caddy server, caddy web server] discover: { rss: true } sensors: - { name: releases, url: "https://github.com/caddyserver/caddy/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: caddyserver/caddy, kind: releases } } - id: haproxy name: HAProxy domain: haproxy.org homepage: https://www.haproxy.org categories: [open-source, developer, infrastructure] tier: B aliases: [haproxy technologies] discover: { rss: true } sensors: - { name: tags, url: "https://github.com/haproxy/haproxy/tags.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: haproxy/haproxy, kind: tags } } - { name: haproxy technologies blog feed, url: "https://www.haproxy.com/feed", type: RSS, connector: rss, tier: C } # ───────────────────────── Databases & data platforms ───────────────────────── - id: sqlite name: SQLite domain: sqlite.org homepage: https://www.sqlite.org categories: [open-source, developer, infrastructure] tier: B weight: 1.2 aliases: [sqlite3] discover: { rss: false, pages: true } notes: "No feed; GitHub mirror tags are dominated by bug-* branches. Server-rendered news/changes pages instead." sensors: - { name: news page, url: "https://www.sqlite.org/news.html", type: HTML, connector: http, tier: B } - { name: release history, url: "https://www.sqlite.org/changes.html", type: HTML, connector: http, tier: C } - id: mariadb name: MariaDB domain: mariadb.org categories: [open-source, developer, infrastructure] tier: B weight: 1.1 aliases: [mariadb foundation, mariadb server] discover: { rss: true } sensors: - { name: foundation blog feed, url: "https://mariadb.org/feed/", type: RSS, connector: rss, tier: B } - { name: server tags, url: "https://github.com/MariaDB/server/tags.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: MariaDB/server, kind: tags } } - id: clickhouse name: ClickHouse domain: clickhouse.com categories: [open-source, developer, infrastructure, cloud] tier: B weight: 1.1 aliases: [clickhouse cloud] discover: { rss: true, status: true } sensors: - { name: status, url: "https://status.clickhouse.com/api/v2/summary.json", type: STATUSPAGE, connector: statuspage, tier: S } - { name: blog feed, url: "https://clickhouse.com/rss.xml", type: RSS, connector: rss, tier: B, config: { maxItems: 40 } } - { name: releases, url: "https://github.com/ClickHouse/ClickHouse/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: ClickHouse/ClickHouse, kind: releases } } - id: duckdb name: DuckDB domain: duckdb.org categories: [open-source, developer, infrastructure] tier: B weight: 1.1 aliases: [duckdb labs, duckdb foundation, motherduck] discover: { rss: true } sensors: - { name: blog feed, url: "https://duckdb.org/feed.xml", type: ATOM, connector: rss, tier: B } - { name: releases, url: "https://github.com/duckdb/duckdb/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: duckdb/duckdb, kind: releases } } - id: neo4j name: Neo4j domain: neo4j.com categories: [open-source, developer, infrastructure, enterprise] tier: B aliases: [neo4j aura, cypher] discover: { rss: true, status: true } sensors: - { name: blog feed, url: "https://neo4j.com/blog/feed/", type: RSS, connector: rss, tier: B, config: { maxItems: 40 } } - { name: tags, url: "https://github.com/neo4j/neo4j/tags.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: neo4j/neo4j, kind: tags } } - id: cassandra name: Apache Cassandra domain: cassandra.apache.org categories: [open-source, developer, infrastructure] tier: B aliases: [cassandra] discover: { rss: false, pages: true } sensors: - { name: tags, url: "https://github.com/apache/cassandra/tags.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: apache/cassandra, kind: tags } } - { name: blog index, url: "https://cassandra.apache.org/_/blog.html", type: HTML, connector: http, tier: C } - id: kafka name: Apache Kafka domain: kafka.apache.org categories: [open-source, developer, infrastructure] tier: B weight: 1.1 aliases: [kafka] discover: { rss: false, pages: true } sensors: - { name: releases, url: "https://github.com/apache/kafka/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: apache/kafka, kind: releases } } - { name: blog index, url: "https://kafka.apache.org/blog", type: HTML, connector: http, tier: C } - id: rabbitmq name: RabbitMQ domain: rabbitmq.com homepage: https://www.rabbitmq.com categories: [open-source, developer, infrastructure] tier: B aliases: [rabbit mq] discover: { rss: true } sensors: - { name: blog feed, url: "https://www.rabbitmq.com/blog/rss.xml", type: RSS, connector: rss, tier: B } - { 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 } } - id: airflow name: Apache Airflow domain: airflow.apache.org categories: [open-source, developer, infrastructure] tier: B aliases: [airflow] llm: false discover: { rss: false, pages: true } notes: "Releases feed is dominated by provider packages — heuristics only." sensors: - { name: releases, url: "https://github.com/apache/airflow/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: apache/airflow, kind: releases } } - { name: blog index, url: "https://airflow.apache.org/blog/", type: HTML, connector: http, tier: C } - id: dbt name: dbt Labs domain: getdbt.com homepage: https://www.getdbt.com categories: [open-source, developer, infrastructure, enterprise] tier: B aliases: [dbt, dbt core, dbt cloud] products: - { name: dbt Core, type: software } - { name: dbt Cloud, type: service } discover: { rss: true, status: true } sensors: - { name: status, url: "https://status.getdbt.com/api/v2/summary.json", type: STATUSPAGE, connector: statuspage, tier: S } - { name: blog feed, url: "https://www.getdbt.com/blog/feed.xml", type: RSS, connector: rss, tier: B } - { 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 } } # ───────────────────────── Applications & CMS ───────────────────────── - id: blender name: Blender domain: blender.org homepage: https://www.blender.org categories: [open-source, developer, entertainment] tier: B aliases: [blender foundation] discover: { rss: true } sensors: - { name: news feed, url: "https://www.blender.org/feed/", type: RSS, connector: rss, tier: B } - { name: tags, url: "https://github.com/blender/blender/tags.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: blender/blender, kind: tags } } - id: vlc name: VideoLAN / VLC domain: videolan.org homepage: https://www.videolan.org categories: [open-source, developer, consumer-tech] tier: C aliases: [videolan, vlc media player] discover: { rss: false } notes: "videolan.org answers 418 to bots; releases are followed on the project GitLab tags feed." sensors: - { name: vlc tags, url: "https://code.videolan.org/videolan/vlc/-/tags?format=atom", type: ATOM, connector: rss, tier: C } - id: libreoffice name: LibreOffice / The Document Foundation domain: libreoffice.org homepage: https://www.libreoffice.org categories: [open-source, developer, consumer-tech] tier: B aliases: [the document foundation, tdf, libre office] discover: { rss: true } sensors: - { name: tdf blog feed, url: "https://blog.documentfoundation.org/feed/", type: RSS, connector: rss, tier: B } - { name: core tags, url: "https://github.com/LibreOffice/core/tags.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: LibreOffice/core, kind: tags } } - id: wordpress name: WordPress domain: wordpress.org categories: [open-source, developer, internet] tier: A weight: 1.3 aliases: [wordpress.org, wp] discover: { rss: true } sensors: - { name: news feed, url: "https://wordpress.org/news/feed/", type: RSS, connector: rss, tier: A } - { name: releases feed, url: "https://wordpress.org/news/category/releases/feed/", type: RSS, connector: rss, tier: A } - { name: tags, url: "https://github.com/WordPress/WordPress/tags.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: WordPress/WordPress, kind: tags } } - id: drupal name: Drupal domain: drupal.org homepage: https://www.drupal.org categories: [open-source, developer, internet] tier: B weight: 1.1 aliases: [drupal association] discover: { rss: true } sensors: - { name: security advisories feed, url: "https://www.drupal.org/security/all/rss.xml", type: RSS, connector: rss, tier: A } - { name: news feed, url: "https://www.drupal.org/rss.xml", type: RSS, connector: rss, tier: B } - { name: tags, url: "https://github.com/drupal/drupal/tags.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: drupal/drupal, kind: tags } } - id: joomla name: Joomla domain: joomla.org homepage: https://www.joomla.org categories: [open-source, developer, internet] tier: B aliases: [joomla!, open source matters] discover: { rss: true } sensors: - { name: announcements feed, url: "https://www.joomla.org/announcements.feed?type=rss", type: RSS, connector: rss, tier: B } - { name: security centre feed, url: "https://developer.joomla.org/security-centre.feed?type=rss", type: RSS, connector: rss, tier: A } - { 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 } } - id: ghost name: Ghost domain: ghost.org categories: [open-source, developer, internet, media] tier: B aliases: [ghost cms, ghost foundation] discover: { rss: true } sensors: - { name: changelog feed, url: "https://ghost.org/changelog/rss/", type: RSS, connector: rss, tier: B } - { name: releases, url: "https://github.com/TryGhost/Ghost/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: TryGhost/Ghost, kind: releases } } - id: matrix name: Matrix.org domain: matrix.org categories: [open-source, developer, internet, standards] tier: B aliases: [matrix protocol, matrix.org foundation, element, synapse] products: - { name: Synapse, type: software } - { name: Element, type: product } discover: { rss: true } sensors: - { name: blog feed, url: "https://matrix.org/atom.xml", type: ATOM, connector: rss, tier: B, config: { maxItems: 40 } } - { 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 } } - id: signal name: Signal domain: signal.org categories: [open-source, consumer-tech, cyber] tier: B weight: 1.2 aliases: [signal messenger, signal foundation] discover: { rss: true } sensors: - { name: blog feed, url: "https://signal.org/blog/rss.xml", type: RSS, connector: rss, tier: B } - { 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 } } - id: tor-project name: Tor Project domain: torproject.org homepage: https://www.torproject.org categories: [open-source, cyber, internet, ngo] tier: B weight: 1.2 aliases: [tor, tor browser, the tor project] products: - { name: Tor Browser, type: software } discover: { rss: true } sensors: - { name: blog feed, url: "https://blog.torproject.org/feed.xml", type: ATOM, connector: rss, tier: B } - { name: tor tags, url: "https://gitlab.torproject.org/tpo/core/tor/-/tags?format=atom", type: ATOM, connector: rss, tier: B } - id: wireshark name: Wireshark domain: wireshark.org homepage: https://www.wireshark.org categories: [open-source, developer, cyber] tier: B aliases: [wireshark foundation] discover: { rss: false, pages: true } notes: "Astro site without feeds; security advisories page is server-rendered." sensors: - { name: tags, url: "https://github.com/wireshark/wireshark/tags.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: wireshark/wireshark, kind: tags } } - { name: security advisories, url: "https://www.wireshark.org/security/", type: HTML, connector: http, tier: A } - id: qemu name: QEMU domain: qemu.org homepage: https://www.qemu.org categories: [open-source, developer, infrastructure] tier: B aliases: [qemu project] discover: { rss: true } sensors: - { name: blog feed, url: "https://www.qemu.org/feed.xml", type: ATOM, connector: rss, tier: B } - { name: tags, url: "https://github.com/qemu/qemu/tags.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: qemu/qemu, kind: tags } } - id: proxmox name: Proxmox domain: proxmox.com homepage: https://www.proxmox.com categories: [open-source, developer, infrastructure, enterprise] tier: B aliases: [proxmox ve, pve, proxmox server solutions] products: - { name: Proxmox VE, type: software, aliases: [pve] } - { name: Proxmox Backup Server, type: software, aliases: [pbs] } discover: { rss: true } sensors: - { 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 } - { name: pve roadmap, url: "https://pve.proxmox.com/wiki/Roadmap", type: HTML, connector: http, tier: C } - id: home-assistant name: Home Assistant domain: home-assistant.io homepage: https://www.home-assistant.io categories: [open-source, consumer-tech, developer] tier: B weight: 1.1 aliases: [hass, nabu casa, open home foundation] discover: { rss: true, status: true } sensors: - { name: status, url: "https://status.home-assistant.io/api/v2/summary.json", type: STATUSPAGE, connector: statuspage, tier: S } - { name: blog feed, url: "https://www.home-assistant.io/atom.xml", type: ATOM, connector: rss, tier: B } - { 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 } } - id: obs-studio name: OBS Studio domain: obsproject.com categories: [open-source, consumer-tech, media] tier: B aliases: [obs, obs project, open broadcaster software] discover: { rss: true } sensors: - { name: blog feed, url: "https://obsproject.com/blog/rss", type: RSS, connector: rss, tier: B } - { 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 } } # ───────────────────────── Developer tools & editors ───────────────────────── - id: jenkins name: Jenkins domain: jenkins.io homepage: https://www.jenkins.io categories: [open-source, developer, infrastructure, cyber] tier: B weight: 1.1 aliases: [jenkins ci] discover: { rss: true } sensors: - { name: security advisories feed, url: "https://www.jenkins.io/security/advisories/rss.xml", type: RSS, connector: rss, tier: A } - { name: changelog feed, url: "https://www.jenkins.io/changelog/rss.xml", type: RSS, connector: rss, tier: B } - { name: blog feed, url: "https://www.jenkins.io/rss.xml", type: ATOM, connector: rss, tier: B } - id: homebrew name: Homebrew domain: brew.sh categories: [open-source, developer, packages] tier: B aliases: [brew] discover: { rss: true } sensors: - { name: blog feed, url: "https://brew.sh/atom.xml", type: ATOM, connector: rss, tier: B } - { name: releases, url: "https://github.com/Homebrew/brew/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: Homebrew/brew, kind: releases } } - id: neovim name: Neovim domain: neovim.io categories: [open-source, developer] tier: B aliases: [nvim] discover: { rss: true } sensors: - { name: news feed, url: "https://neovim.io/news.xml", type: RSS, connector: rss, tier: B } - { name: releases, url: "https://github.com/neovim/neovim/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: neovim/neovim, kind: releases } } - id: vim name: Vim domain: vim.org homepage: https://www.vim.org categories: [open-source, developer] tier: C aliases: [vi improved] llm: false discover: { rss: false } notes: "Patch tags land several times a day — heuristics only." sensors: - { name: tags, url: "https://github.com/vim/vim/tags.atom", type: GITHUB_RELEASE, connector: github, tier: C, config: { repo: vim/vim, kind: tags } } - id: microsoft extend: true aliases: [vs code, visual studio code] products: - { name: Visual Studio Code, type: software, aliases: [vs code, vscode] } sensors: - { 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 } } - { name: vs code updates feed, url: "https://code.visualstudio.com/feed.xml", type: ATOM, connector: rss, tier: B } - id: zed name: Zed domain: zed.dev categories: [open-source, developer, ai] tier: B aliases: [zed editor, zed industries] discover: { rss: true } notes: "GitHub releases feed is flooded by nightlies; zed.dev publishes a stable-releases feed." sensors: - { name: stable releases feed, url: "https://zed.dev/stable-releases.rss", type: RSS, connector: rss, tier: B } - { name: blog feed, url: "https://zed.dev/blog.rss", type: RSS, connector: rss, tier: B, config: { maxItems: 40 } } - id: godot name: Godot Engine domain: godotengine.org categories: [open-source, developer, gaming] tier: B weight: 1.1 aliases: [godot, godot foundation] discover: { rss: true } sensors: - { name: news feed, url: "https://godotengine.org/rss.xml", type: RSS, connector: rss, tier: B } - { name: releases, url: "https://github.com/godotengine/godot/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: godotengine/godot, kind: releases } } - id: electron name: Electron domain: electronjs.org homepage: https://www.electronjs.org categories: [open-source, developer] tier: B aliases: [electronjs] llm: false discover: { rss: true } notes: "Releases feed publishes nightlies daily — heuristics only." sensors: - { name: blog feed, url: "https://www.electronjs.org/blog/rss.xml", type: RSS, connector: rss, tier: B } - { name: releases, url: "https://github.com/electron/electron/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: electron/electron, kind: releases } } - id: tauri name: Tauri domain: tauri.app homepage: https://v2.tauri.app categories: [open-source, developer] tier: C aliases: [tauri apps] llm: false discover: { rss: true } notes: "Monorepo releases feed publishes every crate/package tag — heuristics only." sensors: - { name: blog feed, url: "https://v2.tauri.app/blog/rss.xml", type: RSS, connector: rss, tier: C } - { 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 } } - id: flutter name: Flutter domain: flutter.dev categories: [open-source, developer] tier: B weight: 1.1 aliases: [flutter sdk, dart] products: - { name: Dart, type: software } llm: false discover: { rss: true } notes: "Releases feed publishes beta cherry-picks continuously — heuristics only." sensors: - { name: blog feed, url: "https://medium.com/feed/flutter", type: RSS, connector: rss, tier: B } - { name: releases, url: "https://github.com/flutter/flutter/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: flutter/flutter, kind: releases } } - id: react-native name: React Native domain: reactnative.dev categories: [open-source, developer] tier: B weight: 1.1 aliases: [rn] discover: { rss: true } sensors: - { name: blog feed, url: "https://reactnative.dev/blog/rss.xml", type: RSS, connector: rss, tier: B, config: { maxItems: 40 } } - { 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 } } - id: expo name: Expo domain: expo.dev categories: [open-source, developer, cloud] tier: B aliases: [expo go, eas] products: - { name: EAS, type: service, aliases: [expo application services] } discover: { rss: true, status: true } notes: "expo/expo has neither GitHub releases nor tags feeds; changelog + blog + status instead." sensors: - { name: status, url: "https://status.expo.dev/api/v2/summary.json", type: STATUSPAGE, connector: statuspage, tier: S } - { name: changelog feed, url: "https://expo.dev/changelog/rss.xml", type: RSS, connector: rss, tier: B } - { name: blog feed, url: "https://expo.dev/blog/rss.xml", type: RSS, connector: rss, tier: B } - id: tailwind name: Tailwind CSS domain: tailwindcss.com categories: [open-source, developer] tier: B aliases: [tailwind, tailwind labs] discover: { rss: true } sensors: - { name: blog feed, url: "https://tailwindcss.com/feeds/feed.xml", type: RSS, connector: rss, tier: B } - { name: releases, url: "https://github.com/tailwindlabs/tailwindcss/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: tailwindlabs/tailwindcss, kind: releases } } - id: vite name: Vite domain: vite.dev categories: [open-source, developer] tier: B aliases: [vitejs, void zero, rolldown] llm: false discover: { rss: true } notes: "Monorepo releases feed mixes plugins and betas — heuristics only." sensors: - { name: blog feed, url: "https://vite.dev/blog.rss", type: RSS, connector: rss, tier: B } - { name: releases, url: "https://github.com/vitejs/vite/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: vitejs/vite, kind: releases } } - id: webpack name: webpack domain: webpack.js.org categories: [open-source, developer] tier: C discover: { rss: true } sensors: - { name: blog feed, url: "https://medium.com/feed/webpack", type: RSS, connector: rss, tier: C } - { name: releases, url: "https://github.com/webpack/webpack/releases.atom", type: GITHUB_RELEASE, connector: github, tier: C, config: { repo: webpack/webpack, kind: releases } } - id: esbuild name: esbuild domain: esbuild.github.io categories: [open-source, developer] tier: C discover: { rss: false } sensors: - { name: releases, url: "https://github.com/evanw/esbuild/releases.atom", type: GITHUB_RELEASE, connector: github, tier: C, config: { repo: evanw/esbuild, kind: releases } } - id: rollup name: Rollup domain: rollupjs.org categories: [open-source, developer] tier: C aliases: [rollup.js] discover: { rss: false } sensors: - { name: releases, url: "https://github.com/rollup/rollup/releases.atom", type: GITHUB_RELEASE, connector: github, tier: C, config: { repo: rollup/rollup, kind: releases } } - id: babel name: Babel domain: babeljs.io categories: [open-source, developer] tier: C aliases: [babel js] discover: { rss: true } sensors: - { name: blog feed, url: "https://babeljs.io/blog/rss.xml", type: RSS, connector: rss, tier: C, config: { maxItems: 30 } } - { name: releases, url: "https://github.com/babel/babel/releases.atom", type: GITHUB_RELEASE, connector: github, tier: C, config: { repo: babel/babel, kind: releases } } - id: eslint name: ESLint domain: eslint.org categories: [open-source, developer] tier: B discover: { rss: true } sensors: - { name: blog feed, url: "https://eslint.org/feed.xml", type: ATOM, connector: rss, tier: B } - { name: releases, url: "https://github.com/eslint/eslint/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: eslint/eslint, kind: releases } } - id: prettier name: Prettier domain: prettier.io categories: [open-source, developer] tier: C discover: { rss: true } sensors: - { name: blog feed, url: "https://prettier.io/blog/rss.xml", type: RSS, connector: rss, tier: C, config: { maxItems: 30 } } - { name: releases, url: "https://github.com/prettier/prettier/releases.atom", type: GITHUB_RELEASE, connector: github, tier: C, config: { repo: prettier/prettier, kind: releases } } - id: pnpm name: pnpm domain: pnpm.io categories: [open-source, developer, packages] tier: B discover: { rss: true } sensors: - { name: blog feed, url: "https://pnpm.io/blog/rss.xml", type: RSS, connector: rss, tier: C } - { name: releases, url: "https://github.com/pnpm/pnpm/releases.atom", type: GITHUB_RELEASE, connector: github, tier: B, config: { repo: pnpm/pnpm, kind: releases } } - id: yarn name: Yarn domain: yarnpkg.com categories: [open-source, developer, packages] tier: C aliases: [yarn berry, yarnpkg] discover: { rss: false } sensors: - { name: releases, url: "https://github.com/yarnpkg/berry/releases.atom", type: GITHUB_RELEASE, connector: github, tier: C, config: { repo: yarnpkg/berry, kind: releases } } - id: bazel name: Bazel domain: bazel.build categories: [open-source, developer] tier: C aliases: [bazelbuild] discover: { rss: true } sensors: - { name: blog feed, url: "https://blog.bazel.build/feed.xml", type: RSS, connector: rss, tier: C } - { name: releases, url: "https://github.com/bazelbuild/bazel/releases.atom", type: GITHUB_RELEASE, connector: github, tier: C, config: { repo: bazelbuild/bazel, kind: releases } } - id: cmake name: CMake / Kitware domain: cmake.org categories: [open-source, developer] tier: C aliases: [kitware] discover: { rss: true } sensors: - { name: releases, url: "https://github.com/Kitware/CMake/releases.atom", type: GITHUB_RELEASE, connector: github, tier: C, config: { repo: Kitware/CMake, kind: releases } } - { name: kitware blog feed, url: "https://www.kitware.com/feed/", type: RSS, connector: rss, tier: C } - id: gradle name: Gradle domain: gradle.org categories: [open-source, developer] tier: C aliases: [gradle build tool, develocity] discover: { rss: true } notes: "blog.gradle.org has no feed in 2026." sensors: - { name: releases, url: "https://github.com/gradle/gradle/releases.atom", type: GITHUB_RELEASE, connector: github, tier: C, config: { repo: gradle/gradle, kind: releases } } - id: maven name: Apache Maven domain: maven.apache.org categories: [open-source, developer, packages] tier: C aliases: [maven] discover: { rss: false, pages: true } sensors: - { name: releases, url: "https://github.com/apache/maven/releases.atom", type: GITHUB_RELEASE, connector: github, tier: C, config: { repo: apache/maven, kind: releases } } - { name: release history, url: "https://maven.apache.org/docs/history.html", type: HTML, connector: http, tier: C }