Contributions are welcome — bug fixes, new platform integrations, notification channels, prompt improvements, and documentation all count. Here's how to get started.
- Fork the repo and clone it locally
- Run
npm install - Copy the env var block from the README setup section into a new
.env.localfile and fill in your credentials - Create a branch:
git checkout -b your-feature-name - Make your changes, test locally, then open a pull request
Run the webhook server locally:
npm run dev # starts vercel dev on http://localhost:3000Use a tool like ngrok or smee.io to forward GitHub or GitLab webhook events to your local server for end-to-end testing.
Test the monthly pipeline scripts directly:
set -a && source .env.local && set +a
# Seed the release log
node scripts/backfill-log.js <github-owner> <github-repo> --days 30
# Draft a blog post
node scripts/draft-blog.js "March 2026" --days 30
# Publish a changelog entry
node scripts/publish-changelog.js "March 2026"api/ Vercel serverless webhook handlers (GitHub + GitLab)
lib/ Shared modules: API clients, Claude prompts, notifications, tracing
scripts/ CLI scripts for the optional monthly content pipelines
.github/ GitHub Actions workflows for the monthly pipelines
- ES modules (
import/export) throughout — no CommonJS - Native
fetchandnode:crypto— avoid adding new runtime dependencies - Keep functions focused and named for what they do
- Console output uses the
Louisa:prefix for log lines
- New notification channel — mirror the Slack/Teams pattern in
lib/slack.js - New platform — follow the
lib/github.js+api/webhook.jspattern for a new VCS - Prompt improvements — edit
lib/claude.js(GitHub) orlib/claude-platform.js(GitLab) - Bug fixes — include a description of how to reproduce the issue in the PR
- Documentation — README fixes and clarifications are always welcome
- One logical change per PR
- Write a clear PR description explaining the why, not just the what
- If your change affects behavior, describe how you tested it
Open a Discussion or file an Issue.