GitHub import
Point virta at a repo and it pulls in what it can: the project's description,
homepage, package name and version (from package.json), and every issue as
a task — title, body, labels as tags, open or closed, attributed to the
GitHub author and dated when it was opened. That is how a real repo is
onboarded, by UI or by the import verb.
Every event an import writes has a deterministic id (gh:owner/repo#12:created),
and the sync log is idempotent by id, so importing again — to pick up
new issues, or after a failed run — cannot duplicate anything. Once a repo is
imported, virta is the source of truth for its tasks; GitHub issues become a
place virta renders to (the outbound half of the adapter, not built yet).
The import uses GitHub's public API without a token (60 requests an hour per address); pass one for private repos or bigger backlogs.