# Configure site URL and repository settings

Repository settings control how TestVibe generates tests, runs workflows, and connects results back to the selected repository.

Open repository settings after creating or connecting a project, and revisit them whenever your target environment, AI provider, runner, or secrets change.

## Common Repository Settings

| Setting                   | What it controls                                                                    |
| ------------------------- | ----------------------------------------------------------------------------------- |
| Default Test URL          | The site URL used when generating or running tests unless a run overrides it.       |
| Website framework         | The framework context TestVibe gives to AI generation.                              |
| AI agent                  | The provider TestVibe uses for generation.                                          |
| API key                   | The provider key saved as a repository secret when the selected agent requires one. |
| Runner                    | The GitHub Actions runner labels used for TestVibe workflows.                       |
| Secrets                   | Sensitive values used by workflows, such as provider keys or login credentials.     |
| Variables                 | Non-secret values used by workflows, such as environment names or public config.    |
| Playwright configurations | Browser, viewport, reporting, and execution presets for runs.                       |

Runner settings control which GitHub Actions machine executes TestVibe workflows. For details, see [Runners](/runners.md).

## Default Test URL

The Default Test URL is the application address your tests open.

Use a URL that the selected runner can reach:

| Good choice        | Why                                                            |
| ------------------ | -------------------------------------------------------------- |
| Shared staging URL | Stable and reachable by hosted or self-hosted runners.         |
| QA environment URL | Usually safe for repeat test data and automation.              |
| Public preview URL | Useful for short-lived validation if the runner can access it. |

Avoid local-only URLs such as `localhost` unless the application runs on the same machine as the runner.

## Website Framework

The website framework helps TestVibe generate better test instructions and Playwright code. Choose the framework that best matches the application being tested.

If you are not sure, pick the closest available option and refine later after reviewing generated output.

## AI Agent And API Key

The AI agent is the provider TestVibe uses for generation. Some agents require a repository secret, such as:

| Agent family        | Typical secret      |
| ------------------- | ------------------- |
| OpenAI or Codex     | `OPENAI_API_KEY`    |
| Anthropic or Claude | `ANTHROPIC_API_KEY` |

When you enter an API key in TestVibe, it is stored as a GitHub Actions repository secret. The key is not shown back in plain text after it is saved.

For more detail, see [Add API keys and secrets](/workspace/add-api-keys-and-secrets.md).

## Runner

The default runner determines where GitHub Actions executes generation and test workflows. Start with `ubuntu-latest` for simple public or staging environments. Use a self-hosted runner when the target site is private or requires internal network access.

See [Set the default runner](/runners/set-default-runner.md).

## Secrets And Variables

Use secrets for sensitive values. Use variables for values that are safe to store in plain text.

| Type     | Examples                                                                  |
| -------- | ------------------------------------------------------------------------- |
| Secret   | API keys, passwords, access tokens, private credentials.                  |
| Variable | Environment name, public base path, feature flags that are not sensitive. |

If a value would be a problem in a screenshot, log, or repository view, store it as a secret.

## After Saving Settings

Run a small test or generate a simple feature to confirm:

* the selected agent can generate output
* the runner starts workflows
* the target site opens from the runner
* TestVibe receives progress and result updates

If something fails, start with [Missing secrets](/troubleshooting/missing-secrets.md), [Troubleshoot runners](/runners/troubleshooting-runners.md), or [Generation failed](/troubleshooting/generation-failed.md).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.testvibe.com/workspace/configure-site-url-and-repository.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
