Nicely done. I particularly like the emphasis on writing specs which really is something new in the space and makes Kirk not just “Cursor clone”. This is something missing in Claude Code… the user needs to remember to ask Claude to update the specs.
How does Kirk deal with changes to the requirements? Are all the specs updated?
Currently specifications are mostly static documents. While they can be refreshed this is a more manual process, and if you do "vibe coding" via Kiro it can make code changes without updating the specs at all.
I find the best way to use specs is to progressively commit them into the repo as an append only "history" showing the gradual change of the project over time. You can use Kiro to modify an existing spec and update it to match the new intended state of the project, but this somehow feels a bit less valuable compared to having a historical record of all the design choices that led from where you started to where you now are.
I think in the long run Kiro will be able to serve both types of use: keeping a single authoritative library of specs for each feature, and keeping a historical record of mutations over time.