SuperAPI AI Directory

brightdata-local-dev-loop

Data & analytics

View repository

Updated 10-15 22:42

About this skill

Bright Data Local Fixture Loop

Overview

Separate transport from parsing so ordinary development is deterministic and credential-free. The live lane is opt-in, target-allowlisted, budgeted, and incapable of silently replacing fixtures.

Prerequisites

  • A repository-owned Bright Data adapter boundary
  • Synthetic or approved redacted fixtures with expected schemas
  • A test runner and a protected live-test environment

Instructions

Step 1: Map the boundary

Read the adapter and Grep for direct proxy/API calls in business logic. Move transport behind a narrow interface before recording fixtures.

Step 2: Create explicit modes

Write configuration with fixture as the default and live requiring three independent gates.

brightdata:
  mode: fixture
  live_requires:
    - BRIGHTDATA_LIVE_TEST=1
    - approved_target_manifest
    - bounded_cost_budget

Step 3: Test contract behavior

Add fixtures for success, 407, policy 403, 429, building, ready, failed, empty, and expired states. Test parsers against provider fields rather than copied HTML.

Step 4: Run the loop

Use Bash(npm:*) for unit and contract tests. Permit the live suite only in a protected environment, against an approved target, with a one-job ceiling and redacted receipt.

Tool Discipline

Use Read and Grep for discovery. Use Write and Edit only for the adapter, fixtures, tests, and documented configuration. Use Bash(npm:*) for the named local suites; never let a default test command send live Bright Data traffic.

Output

  • A fixture-first transport adapter
  • Deterministic success and failure fixtures
  • A separately gated live-test receipt and explicit budget

Examples

A parser change should pass against a synthetic snapshot and recorded provider-error metadata with no credentials present. A maintainer may later enable one protected live job; its output updates no fixture automatically and is reviewed before adoption.

Error Handling

Failure Meaning Response
Unit tests attempt network access Transport leaked into parsing code Block network and refactor through the adapter
Fixture contains target data Captured live content was committed Remove it and replace it with synthetic minimal data
Live gate has only one switch Accidental execution remains possible Require environment, target manifest, and budget gates

Resources