Architecture

cursor-automation.com is a single Phoenix LiveView application backed by SQLite and Oban. All workflow advancement that lives in .cursor/issue-workflow/workflow.exs (the open-source spec) is ported into CursorAutomation.Workflow.Engine and a small set of Oban workers.

Components

Browser/LiveView ──┬──► Phoenix 1.8 LiveView (Ecto + SQLite)
                   ├──► Stripe Checkout/Portal (webhooks back)
                   └──► GitHub App (webhooks back, REST/GraphQL via Req)
                          ▲
                          │
                  Oban workers ──► GitHub REST  ──► Cursor Cloud Agents API
                                  ──► Swoosh Mailer (transition emails)

Data caching

GitHub data is cached locally in the main Ecto.Repo (sqlite). LiveView reads from the cache and Phoenix.PubSub (repo:#{id}) pushes incremental updates when sync workers / webhooks land.

Background jobs (Oban queues)

← All docs