CodeMySpec — Lovable for Engineers Who Care About the Code
01// the_harness
Lovable for engineers who care about the code.
End-to-end specs, code, tests, and verification, Phoenix-native. CodeMySpec is the harness around your AI coding agent, so the code you ship still makes sense in two years.
Install the plugin →
Read the methodology
install · 2 commands
[ copy ]
/plugin marketplace add Code-My-Spec/plugins
/plugin install codemyspec@codemyspec
~/metricflow — mix spex
$ mix spex --continuous
→ loading requirement graph · 142 nodes · 0 cycles
→ next: DashboardLive.render/1 (pending spec)
spec-writer<br>drafting component spec…
test-writer<br>generated 7 ExUnit cases
code-writer<br>implementing · 1 file changed
mix test<br>· 7 passed · 0 failed
mix spex.verify<br>· live browser · 2 screenshots
qa-agent<br>filed #CMS-412 · dashboard tile empty
demo · 01:12<br>▸ play
02// the_frame
AI writes code fast.<br>That's the easy part.
The hard part is what happens next. Codebases built with AI assistance are showing<br>60%<br>less refactoring,<br>48%<br>more duplication, a three-month wall where velocity drops off a cliff.
Efficient technical debt machines. The problem isn't the model. It's the missing harness: no specs, no architecture, no verification, no lifecycle. Prompting is praying.<br>That's the gap CodeMySpec fills.
03// how_it_works
One requirement graph.<br>Six subagents. Full lifecycle.
CodeMySpec tracks every artifact your Phoenix app needs (specs, tests, implementations, BDD scenarios, QA results) on a single dependency graph. Call
get_next_requirement
. Do one thing. The graph moves forward.
01
pm
Product
Story interview. The Product Manager agent asks what you want and writes it as markdown with acceptance criteria.
02
arch
Architecture
Map stories to Phoenix contexts. Validate the graph. No cycles, no cross-context leaks.
03
spec
Spec & Test
spec-writer drafts component specs. test-writer generates ExUnit from assertions. TDD, the way you know it.
04
impl
Implement
code-writer writes to pass the tests. Continuous mode walks the graph until it satisfies every requirement.
05
bdd
BDD specs
User-facing behavior captured as BDD scenarios in the Spex DSL, generated from acceptance criteria.
06
qa
Verification
QA agent opens a real browser via Vibium, drives the app, takes screenshots, files issues when reality diverges.
It's the harness OpenAI spent six months building for Codex, productized for teams that don't have OpenAI's infrastructure team.
Read the full methodology →
04// differentiators
What makes CodeMySpec different.
01
lifecycle
Full-lifecycle platform, not a point tool.
Requirements → specs → architecture → code → tests → verification. One graph, one system. Every other tool owns a single phase and assumes you'll glue the rest together yourself.
02
agent_agnostic
Bring your own agent. Bring your own model. Bring your own keys.
Specs are plain markdown. Tests are standard ExUnit. The plugin works with Claude Code today and whatever agent wins next year. You pay Anthropic or OpenAI directly. CodeMySpec doesn't arbitrage your token spend.
03
elixir_native
Elixir-native by design.
Generic AI tools blow through Phoenix contexts. They generate Ruby syntax in Elixir files, regress 1.7 codebases to 1.6 templates, and write defensive code that fights let-it-crash. CodeMySpec treats contexts, LiveView, Ecto, and OTP as first-class primitives, and respects how Phoenix is built.
04
verification
Verification is part of the product, not homework.
Every spec produces acceptance criteria and generated tests. The QA agent drives the live app with a real browser, not a mock. You know the feature works before you ship it, not after the alert fires.
05
the_thesis
Harness engineering, productized.
"The agent is commodity. The harness is the differentiator."<br>CodeMySpec is the harness, ready to use, purpose-built for Phoenix.
05// the_money_shot
Prompting is praying.<br>Verification is a guarantee.
Unit tests pass. BDD specs pass. Then the QA agent opens a real browser, clicks through the flow a user would take, and finds the bug anyway. That's the loop no other AI coding tool has.
terminal · metricflow<br>✓ all green
$ mix test
Compiling 2 files (.ex)
Running ExUnit with seed: 0xCAFE
...............................................
Finished in 4.2 seconds
47 tests, 0 failures
$ mix spex
Loading BDD scenarios from spex/
Feature: Dashboard renders revenue tile
✓ Given a signed-in user
✓ When they visit /dashboard
✓ Then revenue tile is present
3 scenarios, 0 failures
qa-agent · browser verification<br>! issue filed
localhost:4000/dashboard
Total MRR
$284,419
Active Users
12,847
Revenue · 30d
empty
Conversion
4.2%
SEVERITY · HIGH<br>#CMS-412
Revenue tile renders empty on /dashboard
filed by qa-agent·<br>2026-04-22 14:08·<br>spec: DashboardLive
Expected chart svg in [data-testid="rev-30d"]; got empty div. Screenshot + LiveView trace attached.
Tests passed.·Feature...