Skip to content

Contributing

This workshop belongs to the community. Fixes, translations, new attacks and new modules are all welcome.

The site is built with Astro Starlight. You need Node.js 22 or newer.

Terminal window
npm install
npm run dev

Open the address it prints. Pages update as you save.

src/content/docs/ the pages of this site (Markdown and MDX)
workshop/ the modules attendees follow
organizers/ the organizer kit
reference/ providers, troubleshooting, glossary
astro.config.mjs site settings and the sidebar
src/styles/custom.css brand colors
code/ the Python workshop code
agentlab/ shared helpers, tools and event data
tests/ offline tests (no model needed)

To add a page, create a Markdown file under src/content/docs/ and add it to the sidebar in astro.config.mjs.

From the code folder:

Terminal window
pip install -e ".[dev]"
pytest -q

The tests replace the model with scripted replies, so they’re fast and need no model. They run automatically on every pull request.

If you change a solution file, update the matching starter file and the module page too, so all three stay in step.

  • Write for someone with some Python experience and no AI background.
  • Short sentences. Explain why, not only what.
  • Keep it vendor neutral. Name a provider only next to its alternatives.
  • Every new feature should come with a way to test it, and every new attack with an eval case.

Starlight has built-in support for multiple languages. If you’d like to translate the workshop, open an issue first so we can set up the language folder and avoid duplicate work.

You’re welcome to change the example data (the Lumen AI Summit lives in code/agentlab/data/) to match a local event or a topic your community cares about. If you change the data, update the eval cases in code/04-evaluate/dataset.jsonl to match.