Command-line tool and TypeScript library
bundesrat
Follow Germany’s Bundesrat — the chamber of the sixteen Länder — from your terminal. bundesrat is a command-line tool over the Bundesrat’s public data feeds (the data behind the official Bundesrat app): the current plenary sitting’s agenda and its Drucksachen, the members, and committee dates — as clean JSON you can pipe straight into jq.
Install
Needs Node.js 20 or newer. Installs the bundesrat command:
npm i -g @maschinenlesbar.org/bundesrat-cliAccess
No account, no API key, no configuration — install and query.
Quick start
# The current plenary sitting: title + agenda items with their Drucksachen
bundesrat session | jq '{title, tops: [.tops[] | {toptitle, topdrucksache, topheader}]}'
# Every member from Bavaria
bundesrat members --state Bayern | jq -r '.[] | "\(.firstname) \(.name) — \(.party)"'
# All Green members across the Länder
bundesrat members --party grüne | jq length
# Committee appointments with their dates
bundesrat appointments | jq -r '.[] | "\(.startdate // "")\t\(.title)"'Commands
-
sessionCurrent plenary sitting: agenda items (TOPs) with their Drucksachen
-
appointmentsCommittee appointments and dates (Termine)
-
membersMembers of the Bundesrat (Länder ministers and plenipotentiaries)
Claude Code skills
The bundesrat plugin teaches Claude to use bundesrat. Install it from the maschinenlesbar.org marketplace:
/plugin marketplace add maschinenlesbar-org/plugins
/plugin install bundesrat@maschinenlesbar/bundesrat:bundesrat-agenda/bundesrat:bundesrat-members
What the skills answer, with real examples → Skill descriptions and requirements →
TypeScript library
@maschinenlesbar.org/bundesrat-cli is also a typed API client you can import in your own code, with no runtime HTTP dependencies.
The tool, not the data
The data comes from the provider behind the API, under its own terms — see DATA_LICENSE.md. The code is dual-licensed AGPL-3.0-or-later or commercial — see LICENSING.md.