Назад към всички

autoheal

// Add AI-powered error monitoring and auto-fix generation to any project

$ git log --oneline --stat
stars:1,933
forks:367
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
nameautoheal
version1.0.0
descriptionAdd AI-powered error monitoring and auto-fix generation to any project
requires[object Object]

AutoHeal AI Skill

AutoHeal captures production JavaScript/TypeScript errors, analyzes them with AI, and generates platform-specific fix prompts you can paste directly into your AI coding tool.

1. Setup AutoHeal in a Project

Browser Project (React, Next.js, Vue, Svelte, etc.)

Add this snippet to your app's entry point (e.g., main.tsx, layout.tsx, App.vue):

<script>
window.onerror = function(msg, source, line, col, err) {
  fetch("https://autohealai.com/api/errors/ingest", {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({
      key: process.env.AUTOHEAL_API_KEY || "YOUR_API_KEY",
      message: msg,
      stack: err?.stack || "",
      source_url: source,
      browser: navigator.userAgent
    })
  }).catch(() => {});
};

window.onunhandledrejection = function(e) {
  const err = e.reason;
  fetch("https://autohealai.com/api/errors/ingest", {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({
      key: process.env.AUTOHEAL_API_KEY || "YOUR_API_KEY",
      message: err?.message || String(err),
      stack: err?.stack || "",
      source_url: window.location.href,
      browser: navigator.userAgent
    })
  }).catch(() => {});
};
</script>

Node.js / Server Project

Add this to your server entry point:

process.on('uncaughtException', (err) => {
  fetch("https://autohealai.com/api/errors/ingest", {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({
      key: process.env.AUTOHEAL_API_KEY,
      message: err.message,
      stack: err.stack || ""
    })
  }).catch(() => {});
});

process.on('unhandledRejection', (reason) => {
  const err = reason instanceof Error ? reason : new Error(String(reason));
  fetch("https://autohealai.com/api/errors/ingest", {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({
      key: process.env.AUTOHEAL_API_KEY,
      message: err.message,
      stack: err.stack || ""
    })
  }).catch(() => {});
});

2. Check Error Status

After an error is ingested, check its analysis status:

curl -s "https://autohealai.com/api/errors/{ERROR_ID}/status" \
  -H "Authorization: Bearer $AUTOHEAL_API_KEY"

Response:

{
  "status": "analyzed",
  "message": "Cannot read properties of undefined",
  "has_fix": true,
  "fix_id": "uuid-here",
  "dashboard_url": "https://autohealai.com/dashboard/errors/{ERROR_ID}"
}

Possible statuses: new, analyzing, analyzed, fix_applied, ignored

View the full fix with AI-generated fix prompt at the dashboard_url.

3. Report an Error Manually

Send any error directly to AutoHeal:

curl -X POST "https://autohealai.com/api/errors/ingest" \
  -H "Content-Type: application/json" \
  -d '{
    "key": "'$AUTOHEAL_API_KEY'",
    "message": "TypeError: Cannot read properties of undefined (reading '\''map'\'')",
    "stack": "TypeError: Cannot read properties of undefined\n    at renderList (src/components/List.tsx:15:23)"
  }'

Response:

{
  "status": "queued",
  "error_id": "uuid-here"
}

The error will be analyzed by AI within seconds. Check status using the error_id from the response.