Developing a app starts with a great bit of inspiration. You start off with great intentions but pretty soon it feels like your trying to piece together a chicken coop, simultaneoulsy trying to keep your chickens in the yard. And if its an online app you need to keep your eye over your shoulder to look out for fox's / wolves.
KIRO takes that chaos off your hands. Wit hits spec-driven workflow and steering files, you can guide the IDE agent to not just “help” but actually plan, design, and execute your project with minimal effort.
1. Laying the Foundation
Every great house starts with a blueprint, and in Kiro, that blueprint comes in the form of
Requirements → Design → Tasks.
The first questions KIRO asks you are what saves a lot of time later.
This initial prompt creates a design plan. which after your review is separated into separate tasks.
Ensuring you provide a initial prompt with the proper context and needed features is crucial to creating your foundation.
2. Your digital Compass
Once you provide the initial prompt it generates the (Product Steering, Tech steering, Structure steering) files. These files define the purpose and layout of the app along with the required frameworks, libraries, and any constraints you want to place on the LLM agent
Effortless problem solving
Kiros agent excels at problem solving when you provide the context + plan then action.
for example
# Problems
In the Terminal window, the UI test has failed.
Fix the issues with the files that failed the test.
Form a plan and then take action.
you can utilize the context tags to specify issues
#Problems References problems in either the current file or a spot you specify
#codebase Automatically searches and finds all relevant files.
By instructing the agent to review all problems, form a plan, and then take action, it could, for example, identify that a dependency in an inherited file is missing. In contrast, if you told it to focus on a single file and fix the same error, it might instead create a solution that simply prevents the error from occurring. which unknowingly creates a bigger problem down the road.
3. UI Tests made easy
Any app with a GUI needs solid UI tests for element placement and visibility.
In traditional workflows, You would place your UI elements utilizing your eye balls.
LLMs might create UI elements but most often have no awareness of surrounding context—causing layout chaos.
Unit tests were annoying to manually create but KIRO makes it effortless to generate it in one shot. or you can create a hook.
An example prompt could be
Create a series of tests to check if UI elements are visible and if there in the right location when the application runs in debug mode
4. Tackling Syntax & Linting in Bulk
One of the most satisfying moments in Kiro is solving a pile of syntax and linting errors at once in a single prompt . I created a hook for this I run it when the agent has finished all tasks in a spec prompt.
After you have finished mindlessly clicking "start task" and the agent has finished its work your probably going to end up with a few errors if your prompt was kind of vague you might have over 1000+ depending on what got implemented.
Here is a example
#Codebase Please review all files and fix any syntax errors, TypeScript issues, or other problems you find
This looks at the entire project and solves the errors discovered.
instead of scanning the whole project you could also
#Problems Please fix all the issues shown in the problems panel
Review the changes
When asking a LLM agent to do bulk changes to your project your gonna want to verify the changes made are genuine and that tests are not accidently being modified.
include something like
After fixing all errors Generate a fixed_errors_report.md markdown report file that lists each file that was changed, the errors that were fixed.
Hopefully this post helped you quickly understand how awesome the KIRO IDE is for strict development. While you could create these steering and structure files and feed them to another LLM I feel they analyze it as a suggestion and the LLM does not enforce them automatically you then waste tokens manually correcting problems post generation of each feature request prompt.
Top comments (0)