Getting Started
How It Works
Ribix has two operating modes that work together: Proactive mode, where Ribix acts like a real user to find bugs before they reach production, and Reactive mode, where it enriches issues your team files in under 60 seconds.
Proactive mode
Proactive mode is triggered by a code push or a manual ribix run. A browser agent navigates your staging environment like a real user, while API and code quality agents test in parallel.
Code push
or ribix run
Browser agent
navigates staging
Classify
P0–P3 severity
Test
failing test written
Fix
diff generated
Approve → PR
Steps in detail:
- Trigger. A push to your main branch (via the GitHub App webhook) or a manual
ribix runstarts the agent loop. - Navigate. The browser agent renders pages, fills forms, clicks buttons, and exercises API endpoints just as a user would. It builds a coverage map so it does not redundantly explore the same flows.
- Classify. Every anomaly (crash, broken UI, API error, performance regression) is classified by severity using P0–P3 conventions. P0 is a complete blocker (app down, data loss); P3 is cosmetic.
- Test. For each finding, Ribix writes a failing test against your existing test framework (Jest, Vitest, Pytest, or Go test).
- Fix. An LLM generates a minimal patch. Ribix runs your full suite against the patch - if tests still fail, it retries up to 3 rounds before flagging the finding as "needs human."
- Approve. You review the test + diff in the CLI or dashboard, then approve or reject. Approval opens the PR on GitHub.
Reactive mode
Reactive mode fires automatically when a new GitHub Issue is opened in a connected repository. Within 60 seconds Ribix posts an enrichment comment with a diagnosis, severity estimate, candidate files, blame-linked suspect changes, and a suggested owner.
Issue opened
on GitHub
Webhook
issues.opened
Enrich
blame + history
Enrichment comment
posted to issue
Enrichment happens silently in the background - your team's GitHub workflow does not change. The ribix-bot comment appears alongside normal issue notifications.
Reactive enrichment requires the GitHub App.
Install and configure the Ribix GitHub App to enable reactive enrichments. See Integrations for setup steps.
Agent types
Ribix runs several specialized agents in parallel during a proactive run. Each agent targets a different class of bug:
Drives a real Chromium browser against your staging URL. Navigates pages, submits forms, triggers JavaScript interactions, and watches for runtime errors, network failures, and visual regressions.
Calls your REST or GraphQL endpoints directly. Tests edge-case inputs, malformed payloads, and rate-limit behavior. Compares responses against your OpenAPI spec when one is present.
Analyzes the diff introduced by the latest push. Flags security vulnerabilities, type errors, and logical bugs before they are exercised at runtime.
Analyzes your staging UI using AI vision. Checks for accessibility violations, layout breakages, and visual anomalies across viewports. Flags issues in the current rendered state after the push.
Test frameworks
Ribix auto-detects your test framework by scanning package.json, pyproject.toml, and go.mod. Supported frameworks:
| Framework | Language | Config file | Detection signal |
|---|---|---|---|
| Jest | JavaScript / TypeScript | jest.config.* | jest in devDependencies |
| Vitest | JavaScript / TypeScript | vitest.config.* | vitest in devDependencies |
| Pytest | Python | pyproject.toml | pytest in dependencies |
| Go test | Go | go.mod | _test.go files in repo |
Ribix runs the detected framework with your existing configuration. It does not modify your test setup. If multiple frameworks are detected (e.g. Jest + Vitest in a monorepo), you can pin the framework with:
ribix connect https://staging.example.com --framework vitestNext steps
- CLI Reference - all commands, flags, and examples.
- Integrations - GitHub App permissions, staging requirements, test detection details.
- Security & Privacy - what data Ribix reads and stores.