diff --git a/changelog.mdx b/changelog.mdx index e4461ec..d421066 100644 --- a/changelog.mdx +++ b/changelog.mdx @@ -18,6 +18,24 @@ export const STAGE_RATE_M65 = "$0.10"; usezombie is in **stealth-mode testing** and pre-production. APIs and agent behavior may change between releases without long deprecation windows. Email [usezombie@agentmail.to](mailto:usezombie@agentmail.to) if you want a hand calibrating a zombie or to join as a design partner. + + ## Trigger panel multi-card + website OnboardingFlow + Hero CTA + + The dashboard's zombie-detail page now renders one card per declared trigger — a guided registration card with rendered `gh api` / `linear webhook create` / `jira webhook add` snippets for known providers (GitHub, Linear, Jira, Grafana, Slack, AgentMail), a copy-URL fallback for unknown sources, and a `CronCard` showing the schedule + next-fire computed client-side from the host's IANA timezone. The website Home page replaces the `FeatureFlow` evidence section with a 4-step `OnboardingFlow` pictorial (install → add skill → wire webhook → steer), and the Hero primary CTA becomes a terminal-style `$ npm install -g …` button that copies the install command, surfaces an inline `` toast, and smooth-scrolls to the `#onboarding-flow` anchor (honoring `prefers-reduced-motion`). + + - **`TriggerPanel.tsx` switches from Tabs to Radix Accordion.** One `AccordionItem` per `zombie.triggers[]` entry; the first trigger with no recorded delivery auto-expands on mount (set-up state takes precedence). Inner router dispatches `webhook` to `GuidedTriggerCard` (known provider) or `CopyUrlFallback` (unknown), `cron` to `CronCard`, `api` to `CopyUrlFallback` with the legacy bare webhook URL. + - **`provider-guidance.ts` ships six provider entries** — `github`, `linear`, `jira`, `grafana`, `slack`, `agentmail`. Each exposes a 3-arg `command(vars, webhookUrl, events)` template so per-provider snippets vary by `trigger.events`, a `webUiDeepLink(vars)` for the "Open ``" affordance, and a `variables` list driving the variable-input form. Snapshot-tested per provider. + - **`webhookUrlFor(zombieId, source?)`** — dashboard helper reconstructs the server's `webhook_urls: { : }` projection client-side. Called with a source, returns the per-trigger URL; called without, returns the legacy bare ingress at `/v1/webhooks/{zombie_id}`. + - **`OnboardingFlow.tsx` replaces `FeatureFlow.tsx`.** Four numbered cards with arrow connectors on `lg:` breakpoint; mobile stacks vertically. Each card carries a real shell snippet, not a screenshot. Anchored at `id="onboarding-flow"` for Hero's smooth-scroll target. + - **`Hero.tsx` primary CTA is now a `