monospace.studio
← Back to Studio

Studio archive · 2025-09-27

Building Apps from PRD Tasks Automatically

In the last video, we used Warp, an MCP server, and Linear to generate a PRD and backlog for Metaprod. Then we started building from those tasks while keeping the agent on a tight leash.

From PRD to First Commit: Letting Warp + MCP + Linear Build the App (One Ticket at a Time)

Building from a PRD Automatically: Warp + MCP + Linear (Next.js, Tailwind, Supabase, Playwright)

In the last video, we used Warp (with an MCP server) connected to Linear to generate a PRD and a full backlog for Metaprod. Today we actually start building directly from those Linear tasks while keeping the agent on a tight leash: one ticket, one sub-task at a time.

The Flow

  • Pick the first ticket: MSTUDIO-37 - Set up development environment & project structure, part of epic MSTUDIO-36.
  • In Warp, tell the agent to work from Linear: Build the app following the tasks from Linear, one by one.
  • Enforce clarity: I rejected the first attempt because it was not explicit about which ticket it was acting on. New rule: when it picks up a task, it must name the ticket number and sub-task before doing anything.

What It Actually Built

  • Next.js scaffold: app initialized and committed.
  • Tailwind CSS configuration, including potential v3/v4 compatibility quirks.
  • Supabase integration setup: empty .env.local entries for safety, server/client config, and middleware stubs.
  • Playwright test harness with basic config and a test folder.
  • ESLint and Prettier setup for clean, consistent code.
  • Git commits with good messages along the way.
  • README draft documenting what was done and how to deploy to Vercel.

Guardrails That Helped

  • Explicit ticketing: finish MSTUDIO-37 and all sub-tasks before moving to any other number; mark each sub-task as done; do not proceed without approval.
  • Secrets discipline: Supabase keys were created as empty env vars and never printed to the terminal or committed. .env.local stays out of the repo.
  • Manual checks: I kept an eye on version mismatches such as Tailwind, and corrected course when needed.

Where MCP Still Falls Short

  • It could not move the Linear issue to Done or tick built-in checkboxes via the MCP in my setup.
  • Workaround: I marked them manually in Linear.
  • Good news: it can leave comments on issues, so I had it post a build summary as a proof-of-work trail.

Takeaways

  • Agentic build flows shine when you anchor them to your backlog and enforce one-ticket focus.
  • Give the agent a personality with rules: name the ticket, confirm the sub-task, ask approval between steps.
  • Start with infrastructure and testing first: Next.js, Tailwind, Supabase, ESLint/Prettier, and Playwright. You will move faster later.
  • Keep humans in the loop for scope, nuance, and status transitions until MCP coverage improves.

Next up, we will run the remaining tickets in the epic and ship the first deploy to Vercel. Onward.