GI
GoodIssues v1.0.0
System Online

Track issues.
Watch everything.

Issues, errors, heartbeats, uptime checks, and telemetry — unified behind one REST API. When something breaks, GoodIssues opens the incident for you.

99.9%
Uptime
<50ms
API Latency
10k+
Issues Tracked
goodissues-cli — bash
$ goodissues issues create \
--project acme --type bug --title "Fix login bug"
Created issue: Fix login bug (a1b2c3d4...)
$ goodissues issues list --status new
ID TITLE TYPE STATUS PRIORITY
a1b2c3d4 Fix login bug bug new medium
e5f6g7h8 Add dark mode bug new low
$
LIVE
// Features

One platform. Issues to incidents.

Issue tracking, error capture, heartbeats, uptime, and telemetry — wired together so a failing signal opens the right incident automatically.

Issue Tracking

Bugs, feature requests, and incidents with status, priority, and type. Filter, paginate, and resolve with a clean envelope-shaped API.

/api/v1/issues →

Error Tracking

Capture exceptions with full stacktraces, search by module or message, and resolve from the dashboard. Paginated, filterable, fast.

/api/v1/errors/search →

Heartbeat Monitoring

Cron-style heartbeats with intervals, grace windows, and JSON alert rules. Miss a deadline or trip a rule — an incident opens automatically.

POST /ping/{token} →

Uptime Checks

Active HTTP probes scheduled by Oban, with a self-healing reaper that recovers orphaned schedules and stuck jobs so a check never silently dies.

CheckRunner →

Telemetry & Tracing

Ingest spans from Phoenix, LiveView, and Ecto with request and trace correlation. Batch-friendly, account-scoped, and queryable.

spans.batch_create →

Incident Lifecycle

Failures cross a threshold and an incident issue is opened by the bot user. A recovery ping archives it. Same flow across heartbeats and uptime.

auto open / auto resolve →

REST API

One OpenAPI 3.0 spec covers every surface. Bearer auth with read-only (pk_*) and read-write (sk_*) keys, paginated envelopes everywhere.

openapi.json →

CLI Tool

Manage issues, projects, and API keys from your terminal. Single Go binary, configured once, scriptable for CI.

$ goodissues issues list →

Real-time Dashboard

LiveView-powered account dashboard for issues, heartbeats, and uptime checks. Updates stream in over Phoenix PubSub — no refresh needed.

Phoenix PubSub →

AI Skill for Claude

New

Drop the GoodIssues skill into Claude Code or any agent that supports skills. File bugs, triage incidents, and manage projects from natural language — straight from your editor.

github.com/agoodway/GoodSkills →
// API

Simple, powerful REST API

Create, list, and manage issues programmatically. Full OpenAPI documentation included.

Create an Issue POST /api/v1/issues
curl -X POST https://goodissues.dev/api/v1/issues \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{"title": "Fix bug", "type": "bug"}'
List Issues GET /api/v1/issues
curl https://goodissues.dev/api/v1/issues \
-H "Authorization: Bearer pk_live_..." \
-H "Accept: application/json"

Ready to track bugs better?

Get started for free. No credit card required.