Add token-bucket rate limiter per API key and a simple usage dashboard.
I'll add rate limiting middleware and wire it to Redis. I'll create a new middleware file that implements token-bucket per API key, then update the API routes to use it. I'll also add a simple usage dashboard so you can see request counts per key.
Create file
Middleware file is in place. Now I need to check the existing API structure and apply the middleware to the v1 items routes. I'll look at how other middleware is applied in this codebase so the pattern is consistent.
Update file
Routes are updated. I'll add the retry-after header to the 429 response so clients know when to retry, and double-check that the Redis key TTL is set correctly for the sliding window.
Update file
Summary of what was done:
New middleware (api/src/middleware/rate-limit.ts): Token-bucket rate limiter keyed by API key. Uses Redis in production and in-memory in dev. Default 100 requests per minute per key; 429 responses include a Retry-After header.
API integration (app/api/v1/items/route.ts): The v1 items routes (GET, POST, DELETE) now run through the rate limit middleware. Unauthenticated or missing-key requests skip limiting.
Dashboard: A minimal usage view was added so you can see request counts per key over the last 24h. You can expand this later with charts or export.
If you want to tweak limits, Redis key prefix, or add more routes, say what you’d like changed.
Skim their Changes view—files touched, summaries, and +/− counts—so you stay in the loop without jumping into their IDE or branch.
Add token-bucket rate limiter per API key and a simple usage dashboard.
Introduces token-bucket limits per API key, Redis-backed counters, and 429 responses with Retry-After.
Routes GET, POST, and DELETE for v1 items through the shared rate-limit middleware.
Adds a small GET endpoint that returns per-key usage snapshots for the dashboard.
Add token-bucket rate limiter per API key and a simple usage dashboard.
Introduces token-bucket limits per API key, Redis-backed counters, and 429 responses with Retry-After.
Routes GET, POST, and DELETE for v1 items through the shared rate-limit middleware.
Adds a small GET endpoint that returns per-key usage snapshots for the dashboard.
Add token-bucket rate limiter per API key and a simple usage dashboard.
Introduces token-bucket limits per API key, Redis-backed counters, and 429 responses with Retry-After.
Routes GET, POST, and DELETE for v1 items through the shared rate-limit middleware.
Adds a small GET endpoint that returns per-key usage snapshots for the dashboard.
Pick your agent—each teammate can use their own
Each engineer keeps their preferred local agent; the team still shares one session, preview, and Changes surface—ACP and bridges make that possible. Supported agents.
Shared sessions let everyone follow Changes, follow-ups, and proxied previews in one thread—fewer recap meetings.
npx @buildautomaton/cli (or install the CLI globally). The bridge stays connected until you stop the CLI. See our Getting started guide for full steps.