Reference
Integrations
Ribix integrates with GitHub for issue enrichment and PR creation, and connects directly to your staging environment for proactive bug discovery. This page covers setup for both.
GitHub App setup
The Ribix GitHub App is required for reactive enrichment (enriching issues you file) and for creating PRs from approved findings. Install it once per GitHub organization or personal account.
Create a Ribix account
Go to www.ribix.dev/dashboard/register and sign up with GitHub OAuth or email/password.
Install the GitHub App
During onboarding, click Connect GitHub. You will be redirected to GitHub to install the Ribix App. Choose the organization or personal account, then select which repositories to grant access to. You can restrict to specific repos or grant org-wide access.
Select repositories
Back in the Ribix dashboard, go to Repositories and toggle on auto-enrichment for each repo where you want Ribix active. Enrichment is opt-in per repository, so adding the App does not automatically enable every repo.
Set a routing default
In Settings, choose a fallback routing rule for cases where ownership cannot be determined from git history. Options: on-call owner, support triage, or repo maintainers.
Verify with a test issue
Open a new GitHub Issue in a connected repository. The ribix-bot enrichment comment should appear within 60 seconds. If it does not appear, check the troubleshooting steps in FAQ.
GitHub App permissions
The Ribix GitHub App requests a minimal permission set:
| Permission | Access level | Why it's needed |
|---|---|---|
| Issues | Read & write | Read issue content to trigger enrichment; write the enrichment comment. |
| Contents | Read-only | Access commit history, blame signals, and repository context for enrichments and fixes. |
| Pull requests | Read & write | Open PRs from approved findings. |
| Metadata | Read-only | Required by GitHub for all Apps; provides repo name and description. |
Staging environment requirements
The proactive agent needs to reach your staging environment over the network. Requirements:
HTTPS required
The staging URL must use HTTPS. Plain HTTP endpoints are not supported.
Publicly reachable or allow-listed
Your staging environment must be reachable from Ribix infrastructure. If you use IP allow-listing, contact us for the Ribix egress IP range.
Auth methods supported
Bearer token, session cookie, or no auth. You supply the credentials once; Ribix stores them encrypted (AES-256-GCM) in your workspace.
Production environments
Ribix must never point to a production URL. The agent performs real actions - form submissions, clicks, API calls - against the target.
Environments behind a VPN
Not currently supported. Environments must be accessible over the public internet (with optional IP allow-listing).
Auth types
| Type | How it works | CLI flag |
|---|---|---|
| Bearer token | Ribix sends Authorization: Bearer <token> on every request. | --auth bearer --token <value> |
| Session cookie | Ribix sets a named cookie on every request (useful for session-based auth). | --auth cookie --cookie <name>=<value> |
| Basic | Ribix sends HTTP Basic Auth (Base64-encoded username:password) on every request. Credentials appear in shell history - prefer environment variables. | --auth basic --username <user> --password <pass> |
| None | No authentication header or cookie. For public or IP-restricted environments. | --auth none |
Test framework detection
Ribix auto-detects your test framework during ribix connect by scanning key configuration files in your repository. Detection runs in this order:
- Check for a pinned framework - if you passed
--framework <name>toribix connect, that value is used and detection is skipped. - Scan package.json - looks for
jestorvitestindevDependenciesordependencies. If both are present, Vitest wins (you can override with--framework jest). - Scan pyproject.toml / requirements.txt - looks for
pytestas a dependency. - Scan go.mod and repo root - looks for
_test.gofiles to confirm Go test is in use. - Fallback - if no framework is detected, Ribix prompts you to specify one manually.
To inspect what was detected and override:
# See current detection result
ribix status
# Override for this workspace
ribix connect https://staging.example.com --framework pytestMonorepos with multiple frameworks
In a monorepo with both a JavaScript frontend and a Python backend, Ribix will detect both but default to the one with the most test files. Use --framework to pin explicitly. Multi-framework support within a single run is on the roadmap.
See also: Quick Start · Security & Privacy