Errors, logs, performance and uptime land in the same tool. The AI follows the thread that ties them together, suggests the cause and prepares the work. You check it and decide.
Free and open source0 paid featuresAI optional
$ curl -fsSL https://get.closeyour.it | sudo bash
Docker, a domain and 4 GB of memory. HTTPS and nightly backups are on from the start.
Errors, logs, tickets, ideas and pages live in the same place. That is why the AI writes with the facts at hand: it cites its sources and prepares the work. You decide.
It puts together error, logs and release. It suggests category, severity, cause and what to do, and says how sure it is.
Assistantto confirm
error ERR-1284 · 47 timeslogs 14 lines, same requestrelease v2.4.1, 2 hours ago
✦Analysis · to confirm
Category
Missing dataMissing data
Severity
High: blocks paymentHigh: blocks payment
Likely cause
discount_for receives nil when the cart has no currency. It appeared with v2.4.1.discount_for receives nil when the cart has no currency. It appeared with v2.4.1.
What to do
Use the store currency as the default and add a test for a cart without currency.Use the store currency as the default and add a test for a cart without currency.
Confidence82%
Create the ticketNot this
Ideasdraft
Warn about expiring certificates
7 votes · 5 comments
"It happened to us twice, the site was down and nobody knew why."
"Knowing two weeks earlier would be enough."
✦ Draft written by the AI
Warn when an HTTPS certificate is about to expireWarn when an HTTPS certificate is about to expire
WhyWhyThree customers found the site unreachable because of an expired certificate. The uptime check only notices afterwards.Three customers found the site unreachable because of an expired certificate. The uptime check only notices afterwards.What to doWhat to do–Read the expiry date on every uptime checkRead the expiry date on every uptime check–Warn 14 days before, then every dayWarn 14 days before, then every day–Show the date on the monitor pageShow the date on the monitor page
How do I renew the push notification key?How do I renew the push notification key?
✦Answer from your pages
Create a new .p8 key in the Apple portal, upload it to the vault in place of apns_key.p8 and restart the workers 1. The old key stays valid until you revoke it, so there is no interruption 2.Create a new .p8 key in the Apple portal, upload it to the vault in place of apns_key.p8 and restart the workers 1. The old key stays valid until you revoke it, so there is no interruption 2.
1Push notifications on iOS updated 3 days ago2Renewing keys updated 2 months ago
New pagein review
✦proposed by an agentIn review
Checkout error with an expired couponCheckout error with an expired coupon
Symptom
Checkout answers with an error when the coupon has expired and the cart has no currency.Checkout answers with an error when the coupon has expired and the cart has no currency.
Cause
Since v2.4.1 discount_for receives a cart without currency and stops.Since v2.4.1 discount_for receives a cart without currency and stops.
Fix
v2.4.2 uses the store currency as the default. If the error comes back, the ticket reopens by itself.v2.4.2 uses the store currency as the default. If the error comes back, the ticket reopens by itself.
Sources ERR-1284DRRA-321v2.4.2
Accept and publishAsk for changes
New ideaShop project
Title
The discount disappears when I change currencyThe discount disappears when I change currency
✦Same meaning, different words
Possible duplicate
The cart loses the discount on currency change
Became ticket DRRA-327, in progress · Shop project
Add your caseIt is something else
Optional: everything works without itA CloseYourIt AI key or your own provider, even self-hostedThe AI suggests, a person confirms
yours to run, read and change
€0and no paid features. Only the AI service is optional.
AGPL-3.0
The server: install it, read every line, change it.
MIT
SDKs and the cyi CLI: they fit inside any application.
1 command
Installs app, worker, database and HTTPS.
Every night
Backups, and updates that roll back if something goes wrong.
Start from the instrumentation you already have
Use the Ruby, Dart, JavaScript and Python SDKs, the cyi CLI, or keep your Sentry SDK and change the DSN for supported error events.
# keep your SDK, change the DSN
SENTRY_DSN=https://<key>@<your-host>/<project-id>
AI is built in, and you choose where it comes from
CloseYourIt works without AI. When you turn it on there are two ways: a CloseYourIt AI key, where everything is ready, or your own OpenAI-compatible services, including a model you host.