-
Notifications
You must be signed in to change notification settings - Fork 1
Getting Started
This guide takes you from zero to your first generated test. It should take about five minutes.
You'll need:
- Python 3.11 or later (
python --versionto check) - Node.js 18 or later (
node --versionto check) - An Anthropic API key (console.anthropic.com)
- Git
git clone https://github.com/bri-stevenski/oracle-test-ai-agent.git
cd oracle-test-ai-agent
pip install -e .Verify the install worked:
oracle versionYou should see: Oracle AI v0.1 (MVP)
This checks your environment, installs the harness tooling, and wires up the Claude Code integration automatically:
oracle setupWhat it does:
- Checks Node.js is available
- Installs
harness-mcpglobally if missing (provides CI checks and architecture enforcement inside Claude Code) - Reminds you to set
ANTHROPIC_API_KEYif it's not set - Creates
.claude/settings.local.jsonso Claude Code approves the project's MCP servers without prompting you each session
If anything fails, fix it and re-run oracle setup — it's safe
to run multiple times.
If oracle setup flagged a missing key, add it now:
export ANTHROPIC_API_KEY="sk-ant-..."To make this permanent, add that line to your ~/.zshrc or
~/.bashrc.
Using a different provider? See LLM Providers & Configuration for OpenAI and Gemini setup.
oracle generate "Test that GET /api/health returns 200"Oracle will:
- Classify the intent (API test)
- Pick the best framework (pytest)
- Generate a test file
- Print the path to the file
The output looks something like:
Oracle Processing Request...
Test Type: api
Framework: pytest
Reasoning:
- HTTP endpoint test maps to API category
- Python ecosystem detected, pytest preferred
Output File:
tests/generated/api/test_api_health_get_200.py
cat tests/generated/api/test_api_health_get_200.pyRead through it. Check that:
- The endpoint matches what you intended
- The assertion matches the expected behavior
- There are no placeholder values you need to fill in
oracle generate "Test that GET /api/health returns 200" --runOr, if you already have the file:
pytest tests/generated/api/test_api_health_get_200.pyGenerated tests live in tests/generated/ — a scratch space
that is not committed to git. They're yours to review and
run freely.
Once a test passes review, you can promote it into the committed test suite. See the oracle-promote-test skill for the full promotion checklist.
Use --recommend-only to see what Oracle would pick without
calling the LLM (no API key needed):
oracle generate "load test the search endpoint" --recommend-only- Writing Good Prompts — get the test you actually want on the first try
- For Manual Testers — if you're coming from a manual testing background
- Troubleshooting — if something went wrong above