Wrinkle analyzes every keystroke, providing immediate in-IDE feeback — reducing debug time, review churn, and production outages.
function applyDiscount(cart: Cart) {
const name: string = cart.coupon.name
const items: LineItem[] = cart.items
const total: number = items
.reduce((s, i) => s + i.price * i.quantity, 0)
return total * (1 - rates[name])
}
Don't wait until the PR for AI-powered code review.
function orderTotal(items: LineItem[]): number {
const subtotal = items.reduce(
(acc, item) => acc + item.price,
0,
)
const tax = subtotal * TAX_RATE
return Math.round((subtotal + tax) * 100) / 100
}
Wrinkle performs deep, incremental analysis to catch bugs that slip past type checkers and linters. Utilizing static analysis and low-latency LLMs, it was engineered from the ground up for instant, in-IDE diagnostics, providing frictionless feedback for engineers and agents alike.
Wrinkle uses rich context to determine the intent and correctness of your code. If intended logic is flagged as incorrect, add a comment explaining why and the diagnostic will disappear as fast as it appeared, thoughtfully staying out of your way.
async function checkout(cart: Cart) {
const order = await createOrder(cart)
// fire-and-forget — must not block checkout
void track('purchase', order.total)
await sendReceipt(order)
return redirect('/orders/' + order.id)
}