The Problem
We run three products out of a Dublin studio. All in active development. All need QA. Manual testing doesn't scale when you're shipping three products simultaneously with a lean team.
So we built an autonomous QA system that reads your entire codebase, generates its own test plan, hunts bugs, fixes what's safe, and documents the whole operation.
Then we tested it. 3 products. Overnight.
Bugs found
Auto-fixed
Tests broken
The tool that found them is now open source.
Four Modes
/linkraft planBefore you buildScans your entire codebase and generates 12 research documents: competitors, architecture review, tech stack, database schema, API map, design tokens, risk matrix, dependency graph, executive summary, monetization model, and App Store keywords. Synthesizes all findings into a prioritized hardening plan: what blocks launch, what improves quality, what's polish. Then generates a CLAUDE.md from everything it discovered. Every future Claude session starts knowing your stack, your gaps, and what to work on next.
/linkraft preflightBefore you ship60-second read-only scan. Three scores:
Secrets, auth gaps, rate limiting, fail-open patterns
Dead code, test coverage, complexity, dependencies
Error handling, loading states, deploy config
/linkraft sheepAfter you buildSheepCalledShip: an autonomous QA agent that reads your codebase, generates its own test plan, fixes what's safe, reverts if build breaks, commits clean code, and writes a narrative field report with two personas:
Strict code reviewer persona. Catches architectural issues.
Non-technical beta tester persona. Finds real UX bugs.
Zero config. Reads your package.json, detects the stack, starts hunting.
/linkraft dreamrollAutonomous runAutonomous landing page generator. Rolls a random Style Genome across 14 dimensions (millions of combinations), generates a standalone HTML page, scores it with three AI judges (BRUTUS, VENUS, MERCURY), saves it, starts the next. Doesn't stop until you stop it.
Generates 15 to 30 standalone HTML files in one autonomous run. Open in any browser, pick your favorites.
The Chain
/linkraft planunderstand the project/linkraft preflightsee what’s wrong (60 sec)/linkraft sheepfix what’s wrong (autonomous)/linkraft dreamrollgenerate designs (overnight)Each mode feeds the next. Plan generates the CLAUDE.md that Sheep reads. Preflight's report tells Sheep which areas to prioritize. The overnight run produces both engineering value and marketing material.
Proven Results
First test: 3 products, overnight.
| Client | Moodscape | MahFah | TOTAL | |
|---|---|---|---|---|
| Bugs Found | 18 | 24 | 28 | 70 |
| Auto-Fixed | 15 | 20 | 24 | 59 |
| Logged | 3 | 7 | 4 | 14 |
| Files | 18 | 17 | 22 | 57 |
| Tests Before | 754 | 0 | 35 | 789 |
| Tests After | 754 | 0 | 35 | 789 |
Install
/plugin marketplace add akellaluvlace/Linkraft/plugin install linkraft/linkraft planunderstand the project/linkraft preflight60-second health check/linkraft sheepautonomous bug hunting/linkraft dreamrollovernight design generationThat's it. No API keys. No config files. No MCPs required.
Worst Bugs Found
String.fromCharCode(...new Uint8Array(imageBuffer))A 1MB photo creates 1 million function arguments. Max call stack: 65,536. The feature never worked in production. Nobody noticed.
n.read ? 'bg-surface' : 'bg-surface'A ternary that evaluates to the same string in both branches. Read and unread notifications were visually identical.
“Five routes without rate limits. The tier-limits system exists but is called by nothing. A cost control mechanism that controls no costs.”
Open Source
tests
files
licensed
modes
MCP tools
Dublin, Ireland