DEV Community

Cover image for Getting Started with Spec-Driven Development Using Kiro + Jules + Cursor + GPT-5
BeagleWorks
BeagleWorks

Posted on

Getting Started with Spec-Driven Development Using Kiro + Jules + Cursor + GPT-5

OpenAI has finally announced GPT-5.

https://openai.com/index/introducing-gpt-5/

As part of the launch, GPT‑5 is available free or at a significantly reduced price for a limited time. Notably, on Cursor, even new users can access GPT‑5 in Agent Mode at no cost.

In this article, we’ll take advantage of this window to demonstrate Spec‑Driven Development using near‑free tooling.

Components Used

While many combinations are possible, for this walkthrough we’ll use tools that offer generous free tiers:

Kiro + Jules + Cursor + GPT‑5

  • Kiro: IDE, generates Specs
  • Jules: Web service, here, evaluates Specs validity
  • Cursor: IDE, generates instructions for the coding agent model by referencing the Specs
  • GPT‑5: LLM, operates based on instructions from Cursor

What are Kiro, Spec-Driven Development?

Sorry for the self-promotion, but please refer to this article:

In brief:
Kiro is an AI-powered coding IDE developed by AWS.
Spec-Driven Development(SDD) is the approach of creating specifications documents(Specs) first before asking for coding.

What is Jules?

https://jules.google

Jules is Google's autonomous AI coding agent that operates as web service.
It integrates with GitHub and operates at the repository level.
While its coding capabilities aren't advanced enough for new development, it's particularly strong in areas like maintenance, testing, documentation verification, and code review.
This time, we'll be using it to evaluate the validity of Specs.

What is Cursor?

https://cursor.com

Cursor is a VS Code–based AI coding IDE and one of the most advanced tools in this category. Although typically intended for paid users, there is a limited‑time free trial of GPT‑5 even for free users, which we will make use of here.

Workflow Overview

1. Create Specs in Kiro

I’ll reuse the Specs from my previous article with improvements. After experimenting with the initial phases using Sonnet 4.0 and encountering issues, I made the following changes:

  • Explicitly specify TypeScript
  • Minimize class usage
  • Adopt Kent Beck’s Canon TDD approach and update the task list accordingly
  • Prohibit modifying test cases when tests fail
  • Create Steering including the above rules

For background on Kent Beck’s Canon TDD approach, this article is helpful:

2. (Optional) Evaluate Specs Validity Using Jules

(While this step isn't mandatory, I wanted to evaluate the soundness of also TDD implementation this time, so I'll include this process.)

While the generated Specs are readable, manually verifying their soundness is quite challenging. We'll use Jules for this validation.

I upload the Specs and Steering to the GitHub repository, grant Jules access, and issue the following prompt:

This product includes specification documents for Spec-Driven Development. The documentation is located in the .kiro/specs/browser-tetris directory. Specifically, requirements are defined in requirements.md, design specifications in design.md, and the task list in tasks.md. The .kiro/steering directory contains rules that must be followed during coding. Please verify: 1. Whether design.md is consistent with requirements in requirements.md 2. Whether tasks.md covers all aspects of design.md 3. Whether design.md and tasks.md adhere to Kent Beck's recommended TDD approach 
Enter fullscreen mode Exit fullscreen mode

The results are satisfactory, so we can proceed.

Jules' response is as follows (summary):

The analysis results based on the review of the specifications and operational guidelines are summarized below. Is design.md based on requirements.md? Conclusion: No. design.md is based on requirements.md but significantly expands the scope. Details: Adds new block types, skip function, pause function, and leveling system. There are also inconsistencies in controls (e.g., space key function differs). Does tasks.md fully cover design.md? Conclusion: Yes. tasks.md comprehensively covers all aspects of design.md with a detailed implementation plan. Details: Breaks down all features into specific, actionable tasks, covering everything from initial setup to integration testing. Serves as an excellent TDD-based roadmap. Do design.md and tasks.md adhere to Kent Beck's recommended TDD? Conclusion: Yes. Fully compliant with Kent Beck's TDD methodology. Details: Development guidelines explicitly state adherence to TDD. tasks.md consistently applies the Red-Green-Refactor cycle across all development stages, from data models to UI, demonstrating disciplined adherence. 
Enter fullscreen mode Exit fullscreen mode

3. Implement with Cursor

Launch Cursor and open the relevant directory.
In Agent mode, select GPT-5 as the model and proceed as follows:

This project should be developed using Spec‑Driven Development. The specification documents are located in the .kiro/specs/browser-tetris directory, - Requirements are defined in requirements.md - Design specifications are in design.md - The task list is in tasks.md The .kiro/steering directory contains rules that must be followed during coding. Refer to tasks.md and begin development sequentially from task #1 
Enter fullscreen mode Exit fullscreen mode

Cursor proceeds sequentially from task #1, much like Kiro. Perhaps due to differences in IDE capabilities, it appears to adhere to the steering rules even more strictly than Kiro, resulting in a rigorously Spec‑Driven Development and at a faster pace.

4. Complete Coding → Fix Bugs → Completion

I worked on this intermittently, so I can’t give an exact timeframe, but the main tasks were completed within a few hours.

Initially, we had a functional prototype - amazing!
However, there were two bugs:

  • Block rotation wasn't reflected visually until after landing
  • The game over condition was incorrect, preventing proper game over detection

I issued bug fix instructions and completed the project. (I'm regretting forgetting to instruct them with TDD...)

Demo site
https://github.com/beagleworks/SDD-BrowserTetrisPlus/public/

Repository(some documents are written in Japanese)
https://github.com/beagleworks/SDD-BrowserTetrisPlus

The implementation now works as intended.

Overall Assessment

While I made minor adjustments to Specs, Steering, and some template files before deployment, approximately 95% of the application was implemented by AI.

When I tested the same tasks earlier with Kiro (Sonnet 4.0), some items I had initially abandoned as difficult were completed by GPT‑5 without hesitation. Cursor’s high level of polish also contributed—so while this isn’t solely about GPT‑5’s raw capability, the combination of SDD + Kent Beck’s Canon TDD with Cursor + GPT‑5 proved remarkably effective.

And the fact that this combination is currently available for free—even if only for a limited time—is genuinely exciting.

This could be an opportunity to try creating various applications - it would be interesting!

Top comments (0)