Quickstart
Prove one source-linked update loop in local development.
The first useful Amend setup is deliberately small: one workspace, one customer request, one source event, one reviewed public update. Prove that loop before adding more channels.
1. Run the local stack
Install dependencies once:
bun installCreate or refresh a local/dev Convex deployment and sync the web env:
bun run dev:setupThen run the monorepo dev command:
bun run devExpected local routes:
| Surface | URL |
|---|---|
| Web app | http://amend.localhost:1355 |
| Docs | http://docs.amend.localhost:1355/docs |
| Convex client | http://127.0.0.1:3210 |
| Convex HTTP actions | http://127.0.0.1:3211 |
The app should read those values from env files. If a link only works on your machine because a port is hardcoded in source, fix the env value instead.
2. Open setup
Open the dashboard setup view. It should show the local portal URL, SDK shape, API base URL, production needs, and launch gates. Treat setup as the workspace checklist; if a value is wrong there, fix the environment or connection record instead of patching snippets by hand.
3. Create one request
A useful request has enough identity and context to close the loop later:
import { Amend } from "@amend/sdk";
const amend = new Amend({
project: "amend-labs",
apiBaseUrl: "http://127.0.0.1:3211/api/v1",
});
await amend.identify({
externalUserId: "user_123",
accountId: "acct_enterprise",
email: "maya@example.com",
name: "Maya",
traits: { plan: "enterprise" },
});
await amend.submitRequest({
title: "Notify me when export audit logs ship",
body: "Our compliance team needs a changelog entry tied to the PR.",
authorEmail: "maya@example.com",
labels: ["audit", "enterprise"],
});4. Link source evidence
Import or ingest source evidence. externalId is the idempotency key, so replaying the same event
updates the stored source record instead of creating duplicates:
await amend.importSourceEvent({
provider: "github",
kind: "pull_request",
externalId: "github:acme/web:pr:42",
title: "Add export audit log notifications",
url: "https://github.com/acme/web/pull/42",
owner: "acme",
repo: "web",
number: 42,
state: "merged",
labels: ["audit", "enterprise"],
});5. Review before publishing
Amend can draft changelog copy, roadmap status, and customer notifications. Review those drafts before they become public. The first launch should be reviewable by default, then automation can be added by rule once the team trusts the evidence.
6. Verify the loop
Run the checks that match the current state:
bun run readiness
bun run --cwd apps/web check-types
bun run --cwd apps/fumadocs check-typesUse bun run smoke only while the dev stack is already running.
When you need the full local gate:
bun run check