This repo houses operations tooling for the GoodParty products.
To set up the project for running scripts, just do the following:
npm install
cp .env.example .env
# Now, fill in real values in .envSee scripts for all of the supported scripts.
To run a script, use the script command:
npm run script <script-name>For example, to run the poll-problem script, you can run:
npm run script poll-problem <arg>The delegate system runs AI agents (powered by Claude Agent SDK) on-demand in response to webhooks. When someone @-mentions the bot in Slack, a Lambda receives the webhook, dispatches an ECS Fargate task, and the agent investigates/responds in the thread.
Slack @mention
→ Lambda Function URL (signature verification, routing)
→ ECS Fargate task (ephemeral, 1 vCPU / 4GB RAM)
→ Claude Agent SDK with MCP servers + CLI tools
→ Posts result back to Slack thread
| Directory | Purpose |
|---|---|
delegate/framework/ |
Agent registry, execution engine, callback delivery, MCP config |
delegate/agents/ |
Agent definitions (currently: slack-responder) |
delegate/lambdas/ |
Lambda webhook handler, ECS dispatch, secrets, Slack verification |
delegate/worker/ |
Fargate entrypoint, GitHub App auth, Dockerfile |
delegate/tools/ |
CLI tools available to agents (Databricks Genie) |
deploy/ |
Pulumi infrastructure (ECS cluster, Lambda, IAM, CloudWatch) |
Deployed automatically on push to develop via GitHub Actions. The workflow builds a Docker image, pushes to ECR, and runs Pulumi to update infrastructure. See deploy/ for the Pulumi code.
See docs/runbooks.md for the runbooks.