Sync a GitHub repository
Connect a GitHub repository and refresh the collections derived from its remote branch. Link your GitHub account in Elva first and grant access to the repository.
Preview: this workflow requires a compatible CLI build and Elva service support. Check elva --version and the command's --help output before using these examples. An older installed release may not include these commands.
elva repo list
elva --yes repo connect acme/payments --branch main --wait
elva --yes repo sync acme/payments --wait
elva repo status JOB_ID --wait
Replace acme/payments with your repository and JOB_ID with the returned scan job. A new connection uses static scanning unless you explicitly enable AI scanning with --ai. Reconnecting or syncing an existing source uses its saved settings; use repo connect to change the branch or scanning options.
Without --wait, a successful submission means the scan was accepted. Save the job ID and use repo status to check completion. --wait-timeout sets how long the CLI waits; its default is 900 seconds. A timeout or interrupted terminal does not cancel the server-side scan.
elva --yes --json repo sync acme/payments --wait --wait-timeout 600
Repository sync reads the remote branch, not uncommitted local files. Source reconciliation can reorganize or remove generated collections and associated MCP resources when routes disappear. Review the results. Syncing collections does not automatically publish changed MCP tool definitions.
If GitHub access fails, reconnect the account or grant repository access. If a job is still running after a timeout, inspect the existing job before starting another scan. Confirm its completed result and the expected collection endpoints before publishing.
On this page
- Sync a GitHub repository