Connect GitHub
Install the app, pick repositories, and read the honest empty scorecard.
Checklist step
connect_github of the onboarding checklist the product shows you, told API-first.Reviews are driven by GitHub, so the GitHub App installation is the one piece of setup with no API substitute. Install it, choose the repositories IonWarp may read, and each becomes a project.
Bootstrap seeds an honestly empty scorecard. The ai-readiness scorecard appears immediately, in its PENDING shape — nothing has been scanned yet, because the scan is on demand. A scorecard that showed a score before anything was measured would be a number with no evidence behind it, which is worse than a blank one.
List scorecards — GET /api/v1/scorecards
curl "https://ionwarp.com/api/v1/scorecards?status=not_started" \
-H "Authorization: Bearer $DASH_API_KEY" \
-H "Project-ID: pr_acme"How do our scorecards look right now?data_query {
"collection": "scorecards",
"where": {
"status": "not_started"
}
}{
"object": "list",
"data": [
{
"object": "scorecard",
"id": "obj_123",
"name": "Agentic Readiness",
"status": "ready",
"lifespan": "persistent",
"trigger": "repo_connected",
"summary": "IonWarp scanned acme/api and found 9 readiness actions.",
"created_at": "2026-07-25T12:00:00.000Z",
"updated_at": "2026-07-25T12:00:00.000Z"
}
],
"has_more": false,
"next_cursor": null
}Discover what the installation can see with github_installations_list and
github_repos_list, then pass the chosen repository into projects_create.
This is the one home of that call — everything else links here.
{
"name": "projects_create",
"arguments": {
"name": "dash",
"url": "https://github.com/winding-labs/dash",
"agent_config": {
"github": {
"installationId": 123,
"repository": "winding-labs/dash",
"defaultBranch": "main"
}
},
"setup": { "preset": "ionwarp.github_repo" }
}
}Repository, installation, and default-branch identity live in the project's
agentConfig.github — never in a prompt.
Next: Your First Review.