Cloud
Private beta · waitlist open

Catch the red build. Catch the crash.

Alchemy Cloud is CI insights and error tracking for PHP apps, from the team behind Leaf. Your pipelines, crash reports, and logs in one place, with the story that connects them.

From the team behind Leaf PHP · founding users get first access

cloud.alchemy.dev/leafsphp/dashboard

MD

Pipelines

18 runs · 2 need attention

api · main · a1f3c92 Failed Traced
leaf · v5.x Passed
billing · main Flaky

failure report #1284

2.1s duration

PaymentTest.php:87 · retry window 30s → 5s

cause a1f3c92 · last green 3h ago

verdict real failure (0/40 flake history)

fix → pin the mock clock past the retry window…

Open as PR Send to assistant

The problem

Red builds are scavenger hunts.

The pipeline says no — then the real work starts. Today that work is manual, repetitive, and completely undocumented. And it doesn't end at CI: production plays the same game with higher stakes.

The strategy

#4 retry

Re-running the suite and hoping. The default debugging strategy nobody writes down.

retrying

The haystack

2,400 lines

Of raw CI log trace between you and the one line that actually contains the failure context.

The verdict

? cause

Flaky test, bad diff, or a slow runner. By the time you trace it back to the commit, context is gone.

a1f3c92 (broken)
01

Pipelines

Connect your developer pipelines in one table.

Get a unified view across GitHub Actions, GitLab, and CircleCI. Realtime logs and status aggregates mapped to every repository.

02

Failures

Deep fail analytics with instant root cause triage.

Alchemy traces the stack, cross-references recent code commits, checks flake history, and outputs an actionable suggested patch.

03

Production

Watch how your release behaves post-deploy.

Observability shouldn't start from scratch. Crash reports arrive with the full user journey attached, tied back to the exact release that shipped the bug.

The platform

Your engineering control center

One dashboard that already knows your tests, your releases, and your crashes — because the same tool runs them. No stitching five tabs together.

01 — BUILD

Quality before the ship

Run local test environments and static analysis coverage tools before pushing upstream.

Pipelines health

02 — OBSERVE

Eyes on production

Leaf apps ship with the crash engine built in. Other stacks connect lightweight telemetry from servers, workers, and browsers.

Telemetry loop

03 — UNDERSTAND

The story behind it

We compile stack trace telemetry into human summaries, exposing root cause triggers.

AI compilation

04 — IMPROVE

Better every release

Detect regressions early and apply automated suggested patches with confidence.

Continuous patch

Improvement you can point at

Cloud keeps the history your tools discard — so "our test suite got faster" stops being a vague feeling and starts being a precise chart. Track flake rates, suite times, and release health metrics across months.

Suite execution time · api

last 12 weeks
65s 55s 45s 68s · wk 6 41s w1 w6 w12

Optimized parallel runner split in week 6

68s → 41s

Getting started

Up and running in a minute.

Alchemy already sets up your tests, lint, and CI locally with one install. Connect the repo on Cloud and the same runs start streaming in — crash reports arrive on their own if you're on Leaf 5.

1 Install alchemy — it wires tests, lint, and GitHub Actions from one alchemy.yml

2 Connect your repo on Cloud — no agents, no YAML safari

3 Ship. Runs, crashes, and logs land in one dashboard

~/your-app

$ leaf install alchemy

alchemy.yml created · tests, lint & CI wired

$ alchemy test

214 passed (0.9s)

$ alchemy ci

GitHub Actions workflow generated

# push — Cloud picks it up from here

Logs

Logs with context.

Standard log services give you isolated streams: a 500 here, a database timeout there, and a code crash somewhere else. A composite log stitches them into one coherent story: what the user did, every system layer they touched, and the release commit that initiated it.

the legacy approach:

500 exception • db query timeout • SQL failed

disconnected lines, zero story.

composite log · checkout failure

release v1.8.3

Checkout error · client hit "payment could not be processed"

server   • POST /checkout · 500 Server Error (5.2s duration)

client   • checkout.js uncaught stripe response exception

worker   • payment queue timed out after 3 retries

database • transactions lock timed out after 4.8s

stripe  • webhook received status code 408

→ suspected cause: a1f3c92 payment retry window cut 30s → 5s

Error tracking

Your app, open on the side.

Not a graveyard of stack traces you check once a week. Keep your project open next to your terminal and watch it live: requests as they land, jobs as they run, and every crash the second it happens, with the whole story attached.

live · api

p95 182ms · queue 3

request • GET /orders · 200 (12ms)

worker  • SendReceipt job completed (0.8s)

request • POST /webhooks/stripe · 200 (94ms)

request • POST /checkout · 500 (5.2s)

↳ TimeoutException · crash report #4821 filed

request • GET /orders · 200 (11ms)

crash report #4821

error · production

TimeoutException · webhook lock expired after 5s

payments/Webhook.php:87 · release v1.8.3

user journey

navigation • POST /checkout

auth      • user #8412 session restored

rescued    • CacheException: cache warm failed (warning)

query     • UPDATE transactions · 4.8s

✗ thrown   • TimeoutException

context redacted · dispatched after response · AI handoff ready

Already in your framework

Every Leaf 5 app ships with Leaf Crash: user journeys, checkpoints, and AI handoff on the crash screen. Pointing it at Cloud is one line of config.

Zero request overhead

Reports queue while your app responds and dispatch after the response is sent. Your users never wait on error reporting.

Secrets never leave home

Context passes through a redactor before dispatch, and attached values are size-bounded. What's sensitive stays on your server.

Release health records · api

latest
v1.8.1 Healthy 9 days live
v1.8.2 Healthy 4 days live
v1.8.3 Degraded 12m live

deploy event → error rate spike +2.1% • p95 latency +410ms

root cause: retry timeout threshold • commit a1f3c92

Releases

Every release gets a health record.

A deploy isn't done when it passes CI — it's complete when you understand how it behaves under load. Cloud watches error rates, queue run durations, and traffic anomalies post-deploy, pinpointing the culprit commit.

AI triage

The pipeline that explains itself.

Most CI suites just return flat error codes. Alchemy Cloud writes the paragraph you'd have written after an hour of digging — the exact trigger, backed by stack trace telemetry, with a drafted fix ready for validation.

standard runner output

Tests failed • exit code 1

Alchemy Cloud report

Suite failed after commit a1f3c92. Payment retry threshold was reduced from 30s to 5s, causing webhook lock failures.

No flaky history found in last 40 executions. This is a real regression.

Suggested fix patch attached and ready to apply →

integrated with your stack

GitHub GitHub Actions GitLab CI CircleCI Leaf Crash Sentry Laravel Nightwatch Slack Discord Linear Jira GitHub GitHub Actions GitLab CI CircleCI Leaf Crash Sentry Laravel Nightwatch Slack Discord Linear Jira

CI providers land first — the rest is the shape of where Cloud is going.

Roadmap

Built in stages,
shipped in the open.

Pipeline intelligence ships first. The rest rolls out to founding users as it's ready — in the order they push for.

Built in the open

From a team that ships in public.

"The open-source alchemy stays free, forever. Cloud is the layer on top — for everything that happens after: the pipeline, the release, and what production does next."

MD

Michael Darko

Creator, Leaf PHP & Alchemy

Leaf's first release

2019

Open-source packages

30+

The core library pricing

$0

Early access

Founding users get the good seats.

Invites go out in waitlist order while Cloud is still being shaped. Get in early, and it gets shaped around you.

  • Access First in line, in order
  • Pricing Founding rate, locked for good
  • Roadmap A direct line, not a form
Join waitlist

Common questions,
straight answers.

Have architectural questions? Discuss details directly with developers inside Leaf's community Discord.

Join Discord
No. Our core open-source framework configs, lint patterns, testing triggers, and static analyzer engines remain completely free and independent. Cloud is a decoupled workspace handling post-run outputs.
We are currently in private sandbox runs. Developer invites go out progressively to the waitlist.
It provides the smoothest onboarding experience. But the pipeline logs analyzer links cleanly with generic CI systems out of the box.
Founding rates will be offered to waitlist entries first. Open-source core tools remain free forever.
Traditional APM traces start after you deploy. Cloud knows your testing structure, quality baseline, and log traces beforehand, giving you context alongside alerts when a release goes live.
If you're on Leaf 5, no. The framework ships with Leaf Crash, the same engine behind its crash screen, with user journeys, checkpoints, and redaction built in. Pointing it at Cloud is a one-line reporter config. Other stacks start with CI connections, and standalone SDKs are on the roadmap.

Less manual debugging.
More actual shipping.

Stitch pipelines, triage failures, monitor release health, and improve production codebase loops in one workspace.