
Adversarial Dev
https://github.com/coleam00/adversarial-dev- Category
- AI Agents
- Rank
- No. 1130Tools index
- Pricing
- Open Source
- Type
- AGENT
- Builder
- coleam00
- GitHub
- 131 stars
- Date
About
GAN-inspired three-agent harness that pits a generator against an adversarial evaluator to build applications with quality gates. Built with Claude Agent SDK and Codex SDK.
What it does
Adversarial Dev turns a product prompt into staged implementation work. A planner writes the specification, a builder implements each sprint, and a separate evaluator runs the application against negotiated acceptance criteria. Failed checks return detailed feedback for another build attempt. Progress, contracts, and evaluation results persist as structured files.
Why it's ranked here
The core workflow is concrete and inspectable: define acceptance criteria before coding, test every sprint, and stop when failures remain. Supporting both Claude and Codex makes the approach easier to compare. However, passing depends heavily on evaluator output quality, and the parser can accept incomplete feedback without confirming that every contracted criterion appeared.
What's good
Contract negotiation forces the builder and evaluator to define testable completion conditions before implementation. Each role gets separate context, while files preserve the specification, contracts, feedback, and progress. The evaluator is instructed to run the application, probe edge cases, report exact failures, and clean up background processes. Feature-level Git commits also create useful implementation checkpoints.
Tradeoffs
Both harnesses grant agents unrestricted workspace access, command execution, dependency installation, and network access. That demands an isolated environment and careful cost control. Malformed contract output falls back to three broad criteria, weakening the promised quality gate. Evaluation parsing recalculates the verdict from returned feedback but does not verify complete criterion coverage. A failed sprint stops all later work.
How to use it well
Use it for substantial greenfield applications where staged delivery, explicit acceptance criteria, and repeated automated QA justify several agent runs. Start with a precise product prompt and run the generated application in an isolated workspace. Inspect contracts and feedback between sprints. It does not replace human security review, production deployment, operational monitoring, or an independent test suite.
Technical notes+
The project is a private TypeScript ES module package installed with Bun. package.json depends on @anthropic-ai/claude-agent-sdk and @openai/codex-sdk. CLI entry points are claude-harness/index.ts and codex-harness/index.ts, with parallel orchestration in each harness.ts. Shared state helpers in shared/files.ts create an isolated Git repository under each generated app and clear stale specs, progress, contracts, and feedback. shared/config.ts sets ten sprints, three retries, and a seven-point global threshold by default. Codex threads use sandboxMode: "danger-full-access", enabled network access, and no approvals; Claude uses bypassed permissions. In codex-harness/evaluator.ts, parseEvalResult derives passage solely from returned feedback scores, without checking that feedback covers every contract criterion. Contract parsing in both harnesses substitutes generic fallback criteria when model JSON cannot be parsed.
Observed
- Primary language
- TypeScript
- Packaging
- Private ES module package with Bun installation and TypeScript as a peer dependency
- Interfaces
- Two command-line harnesses accepting either an inline prompt or a prompt file
- SDK support
- Claude Agent SDK and OpenAI Codex SDK implementations share prompts, types, and orchestration flow
- Runtime outputs
- Generated applications, specifications, JSON contracts, JSON feedback, and progress state are stored in separate Claude and Codex workspaces
- Repository structure
- The supplied repository tree shows no test directory
Read from README.md, package.json, shared/files.ts, shared/types.ts, shared/config.ts, shared/logger.ts, shared/prompts.ts, codex-harness/index.ts, claude-harness/index.ts, codex-harness/harness.ts, codex-harness/planner.ts, claude-harness/harness.ts, claude-harness/planner.ts, codex-harness/evaluator.ts, codex-harness/generator.ts.
What it can do
Generate application code using adversarial training
Development requirements or specifications → Generated application code
Evaluate code quality through adversarial testing
Generated code → Quality assessment and feedback
Enforce quality gates on generated applications
Code and quality criteria → Pass/fail determination with quality metrics
Run iterative code improvement cycles
Initial code and evaluation feedback → Improved code versions
Generate code using Claude Agent SDK
Natural language prompts or requirements → AI-generated code snippets or applications
Generate code using Codex SDK
Programming task descriptions → Code implementations
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.