feat(law-libraries): plugin registry for jurisdiction-specific law integrations

↗ view on GitHub · Amal · 2026-05-24 · c0dfd7ec

Adds a self-contained plugin system so teams can wire in Danish law,
EU law, Australian law - or any jurisdiction - without touching chatTools.ts
or any route file. One file + one registerLawLibrary() call activates the
plugin; its system prompt fragment and tools are picked up automatically.

- lib/lawLibraries/registry.ts: LawLibraryPlugin interface, registerLawLibrary(),
  buildLawLibrarySystemPrompt(), getAllLawLibraryTools()
- lib/lawLibraries/index.ts: clean public re-export surface
- lib/lawLibraries/examples/danishLaw.ts: full working example (Retsinformation.dk
  citation conventions, danish_law_search tool schema)
- chatTools.ts: two-line integration - system prompt and tool list now include
  all registered law library plugins automatically

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Repository amal66/mike
Author Amal <mamalanand3@gmail.com>
Authored
Parents f98c2092
Stats 4 files changed , +222 , -3
Part of Law-library plugin registry for jurisdiction integrations

Capture this commit into my fork

Download a Markdown prompt that tells Claude how to port this exact commit into your working tree. Run it via claude -p < capture-commit-c0dfd7ec.md from inside the repo you want the change in.

⬇ Download capture-commit-c0dfd7ec.md