A free, public, plain-language resource for citizens about citizen infrastructure — the tools, methods, and real-world experiments that help people act together: deliberation and citizens' assemblies, civic tech, the commons, and notable run reports of participation in practice.
Live site → citizen-infra.netlify.app
It's organised into sections you can browse from the sidebar: the idea behind citizen infrastructure, plain-language Concepts, a practical toolkit grouped by what you're trying to do, Run Reports on specific deliberations, Stories of grassroots action, the wider ecosystem of organisations, and a library of sources.
This resource is published and stewarded by the Citizen Infrastructure Builders Club (CIBC). It's a resource for citizens, not a members' handbook — anything about the club itself (membership, joining, governance) lives at cibc.notion.site.
Astro + Starlight, deployed on Netlify. Content is Markdown.
Requires Node ≥ 22.12.
npm install
npm run dev # local dev server at http://localhost:4321
npm run build # production build → dist/
npm run preview # preview the built siteSuggestions and corrections are welcome — anyone with repo access can add or edit pages, and a merged PR goes live automatically.
- Small fixes — use the "Edit page" link at the bottom of any page to propose a change directly on GitHub.
- New content — pages are written by decomposing external sources (talks, papers, articles) into the right sections, following this workflow:
- Pick a source. Take one from the backlog in
docs/source-queue.md(or add one), and claim it by opening an issue titledProcess: <title>labelledprocessingso two people don't do the same one. New here? Look forgood first source. - Process it. Verify every name and figure against a primary source (omit what you can't verify), route each item to its section via the content map, and write pages from
docs/templates/. Claude Code users can run the in-repo command/process-source <url>(in.claude/commands/), which walks the whole flow; by hand, follow the same sequence. Content lives insrc/content/docs/<section>/— register each new page's{ slug }in thesidebarinastro.config.mjsand on its section overview page (adding a file alone won't add it to navigation). - Ship it. Branch, run
npm run build(the gate — must pass), and open a PR. Once the build check is green, a maintainer reviews and merges it; Netlify deploysmainautomatically.
- Pick a source. Take one from the backlog in
Pages cite their sources, and figures trace to a public source. Full step-by-step guide → CONTRIBUTING.md; how changes are reviewed and who can merge → GOVERNANCE.md; routing map + editorial discipline → CLAUDE.md.
The content of this wiki is licensed under Creative Commons Attribution 4.0 International (CC BY 4.0) — you're free to share and adapt it, including commercially, as long as you give appropriate credit.
© 2026 Citizen Infrastructure Builders Club