2nd Place
Scopecreep
Scopecreep turns your JetBrains IDE into an agentic hardware testbench.
Core trick
A managed Python sidecar wraps Digilent and DPS-150 instruments as REST, and the agent writes test scripts that call it.
Description
Scopecreep turns your JetBrains IDE into an agentic hardware testbench. Describe a test in plain English; an AI agent writes Python directly into your open project, runs it against real lab instruments on your bench, and drops a timestamped results file back into the project tree.
The problem. Hardware bring-up today is a context-switch nightmare. Engineers write driver code in an IDE, flip to vendor software (WaveForms, bench PSU apps) to poke the instrument by hand, copy numbers into a spreadsheet or lab notebook, then write up results somewhere else entirely. Test code drifts out of sync with the hardware it's supposedly validating. Tribal knowledge about instrument quirks — safety limits, wiring gotchas, API shapes — lives in one senior engineer's head and dies when they leave the team. Every new hire re-learns the same bench the hard way.
How Scopecreep solves it. The plugin bundles a managed Python sidecar that speaks REST to actual hardware —Digilent Analog Discovery (scope, AWG, PSU, DIO) and FNIRSI DPS-150 bench supply. A chat agent, grounded in a Supabase-backed memory layer of instrument profiles, generates project-structured test code: experiments/*.py scripts that drive the hardware, results/*.md files with pass/fail verdicts and raw measurements, plus the exact terminal command to run it all. When the agent encounters an instrument it's never seen, it researches the device live, publishes a profile, and every future user across every project benefits on turn one — a shared memory flywheel instead of siloed tribal knowledge.
Safety is enforced in-prompt and at the driver: the agent narrates a plan and waits for explicit user approval before energizing anything; every PSU/AWG call is wrapped in try/finally rails that disable outputs on any error path; voltage and current clamps are non-negotiable.
The result: test code, instrument drivers, and the conversation that produced them all live in one version-controlled project. No tool-switching. No lost context. No DUT cooked because someone forgot to disable a rail.
Built as an IntelliJ Platform plugin (Kotlin) + Python sidecar (FastAPI, pyftdi, pydwf, custom DPS-150 CDC driver) + Supabase + OpenAI function-calling agent. Ships as a single installable plugin zip.
README excerpt
# Scopecreep > Software-defined hardware control inside JetBrains IDEs. Scopecreep turns an IDE into an agentic hardware testbench. The plugin boots a local Python sidecar that drives real lab instruments (oscilloscope, programmable PSU, DUT serial), while the IDE owns the UI, the AI conversation, and the test orchestration. This is the **MVP skeleton** — it brings up the tool window, spawns the managed sidecar, and pings a `/health` endpoint. Real instrument I/O, RCA, and agent integrations ride on top of this plumbing in later milestones. ## Status | Layer | State | |-------|-------| | Tool window + Ping button | ready | | Managed Python sidecar (venv + uvicorn) | ready | | `/health` round-trip | ready | | Settings panel (runner host + port) | ready | | Profiles / memory layer (Supabase) | ready | | Agent backend bundled (port 8000) | ready | | Schematic tab — `/schematic/parse` render | ready | | Agent tab — session lifecycle + probe prompts | ready | | Waveform tab — measurement table | ready | | Chat tab — `codex exec` wrapper | ready | | Firmware tab — Supabase `firmware_jobs` dashboard | ready (pipeline still out-of-process) | For a full step-by-step install, first-boot walk-through, and validation matrix, see **[docs/INSTALL_AND_VALIDATE.md](docs/INSTALL_AND_VALIDATE.md)**. ## Install The plugin is distributed as a single zip on the **[Releases page](https://github.com/BhavikFTW/Scopecreep/releases)** — you do **not** need to clone this repo or run Gradle to u