11 ms·
Hello folks! I've been working on Kiro for nearly a year now. Happy to chat about some of the things that make it unique in the IDE space. We've added a few pow
by NathanKP 1y ago
Hello folks! I've been working on Kiro for nearly a year now. Happy to chat about some of the things that make it unique in the IDE space. We've added a few powerful things that I think make it a bit different from other similar AI editors.
In specific, I'm really proud of "spec driven development", which is based on the internal processes that software development teams at Amazon use to build very large technical projects. Kiro can take your basic "vibe coding" prompt, and expand it into deep technical requirements, a design document (with diagrams), and a task list to break down large projects into smaller, more realistic chunks of work.
I've had a ton of fun not just working on Kiro, but also coding with Kiro. I've also published a sample project I built while working on Kiro. It's a fairly extensive codebase for an infinite crafting game, almost 95% AI coded, thanks to the power of Kiro: https://github.com/kirodotdev/spirit-of-kiro https://github.com/kirodotdev/spirit-of-kiro
- charlysl 1y agoIs it something similar to Harper Reed's "My LLM codegen workflow atm"? https://harper.blog/2025/02/16/my-llm-codegen-workflow-atm/ https://harper.blog/2025/02/16/my-llm-codegen-workflow-atm/
- NathanKP 1y agoActually yes! I saw this post some months ago, and thought to myself: "Wow this is really close to what we've been building". Kiro uses three files though: requirements, design, and then tasks. The requirements doc is a bunch of statements that define all the edge cases you might not have originally thought of. Design looks at what is currently in the code, how the code implementation differs from the requirements, and what technical changes need to happen to resolve the difference. Then tasks breaks the very large end to end development flow up into smaller pieces that an LLM can realistically tackle. The agent then keeps track of it's work in the tasks file. Realistically, I don't think that Harper's statement of "I get to play cookie clicker" is achievable, at least not for nontrivial tasks. Current LLM's still need a skilled human SDE in the loop. But Kiro does help that loop run a lot smoother and on much larger tasks than a traditional AI agent can tackle.
- charlysl 1y agoThank you, I will certainly check this out because this is something I've been sort of doing, manually, but I am still struggling to get the right workflow. This recent OpenAI presentation might resonate too then: Prompt Engineering is dead (everything is a spec) In an era where AI transforms software development, the most valuable skill isn't writing code - it's communicating intent with precision. This talk reveals how specifications, not prompts or code, are becoming the fundamental unit of programming, and why spec-writing is the new superpower. Drawing from production experience, we demonstrate how rigorous, versioned specifications serve as the source of truth that compiles to documentation, evaluations, model behaviors, and maybe even code. Just as the US Constitution acts as a versioned spec with judicial review as its grader, AI systems need executable specifications that align both human teams and machine intelligence. We'll look at OpenAI's Model Spec as a real-world example. https://youtu.be/8rABwKRsec4?si=waiZj9CnqsX9TXrM https://youtu.be/8rABwKRsec4?si=waiZj9CnqsX9TXrM
- sirsinsalot 1y agoYou know what an executable spec is? Source code.
- exclipy 1y agoThat's a compelling three file format. Have you considered a fourth file for Implemented such that Spec = Implemented + Design? It would serve both as a check that nothing is missing from Design, and can also be an index for where to find things in the code, what architecture / patterns exist that should be reused where possible. And what about coding standards / style guide? Where does that go?
- NathanKP 1y agoThat is interesting. So far we are just using the task list to keep track of the list of implemented tasks. In the long run I expect there will be an even more rigorous mapping between the actual requirements and the specific lines of code that implement the requirements. So there might be a fourth file one day! Coding standards / style guide are both part of the "steering" files: https://kiro.dev/docs/steering/index https://kiro.dev/docs/steering/index
- htrp 1y agoIs this being powered by any specific model? >overage charges for agentic interactions will be $0.04 per interaction, and if enabled, will begin consuming overages once your included amounts are used (1,000 interactions for Pro tier, 3,000 for Pro+ tier). Limits are applied at the user level. For example, if you are a Pro tier customer who uses 1,200 requests, your bill would show an overage charge of $8 (200 × $0.04). Overages for agentic interactions must be enabled prior to use. What is defined as an interaction? EDIT: RTFM >Whenever you ask Kiro something, it consumes an agentic interaction. This includes chat, a single spec execution, and/or every time an agent hook executes. However, the work Kiro does to complete your request—such as calling other tools, or taking multiple attempts—does not count towards your interactions.
- NathanKP 1y agoThere is a model picker that currently allows you to switch between Claude Sonnet 4.0 and Claude Sonnet 3.7 And yes, Kiro is agentic, so it can (and often does) execute a long running multi-turn workflow in response to your interactions, however, the billing model is based on your manual interaction that kicks off the workflow (via chat, spec, or hook), even if that agent workflow takes many turns for Kiro to complete
- moffkalast 1y agoAh yes the classic Cline setup, you can choose any model as long as it's Claude. Anthropic has to be really making API bank these days.
- clbrmbr 1y agoNicely 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?
- NathanKP 1y agoCurrently 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.
- clbrmbr 1y agoThanks for the advice explanation. I look forward to some blog posts on best practices here as you discover them!
- darkwater 1y agoHello! What is the connection with AWS? Do you work for AWS? Is this going to be some official AWS product, backed by Amazon Q or Bedrock?
- NathanKP 1y agoKiro is created by an AWS team, and originates from AWS expertise. We are using Kiro internally as one of our recommended tools for development within AWS (and Amazon). So Kiro is an official AWS product, however, we are also keeping it slightly separated from the rest of core AWS. For example, you can use Kiro without having any AWS account at all. Kiro has social login through Google and GitHub. Basically, Kiro is backed by AWS, but is it's own standalone product, and we hope to see it grow and appeal to a broader audience than just AWS customers.
- cl0wnshoes 1y agoSeems like social login isn't working for me on OSX. Just downloaded Kiro, clicked the Google option, allowed the app, and then get redirected back to http://localhost:3128/oauth/callback http://localhost:3128/oauth/callback with an error "Error: AuthSSOServer: missing state".
- NathanKP 1y agoThanks for the report! I'll keep an eye on it. So far we aren't seeing any other reported issues, so it's possible that a browser extension, or something else in your setup is messing with the SSO flow. Redirect back to localhost:3128 is normal, that's where Kiro is watching for a callback, but the missing state is not normal. Something may have stripped the info out of the callback before it occurred, which is why I suspect an extension in your browser. Will keep an eye on this though!
- cl0wnshoes 1y agoFWIW Github login worked, only extensions I run is a password manager and Kagi.
- qrush 1y agoAre there plans to let AWS customers hook this up to Bedrock / use models through that?
- NathanKP 1y agoAt this time Kiro is a standalone product that does not require an AWS account at all. Kiro is powered by Bedrock behind the scenes, but it has a layer of abstraction between Kiro and Bedrock, which includes system prompts and additional functionality. I can definitely take this as a feature request though!
- powvans 1y agoIf this integrated with AWS for billing, usage, and IAM purposes it would be a no brainer to have my team trying this out today.
- NathanKP 1y agoYou can do that! There is an AWS IAM Identity Center option for login as well: https://kiro.dev/docs/reference/auth-methods/#aws-iam-identity-center https://kiro.dev/docs/reference/auth-methods/#aws-iam-identi... We really need to add some more step by step docs for setting this up, but it's very similar to the Amazon Q Developer integration with AWS IAM Identity Center if you are familiar with that: https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/security-iam.html https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/sec...
- powvans 1y agoNice, I’ll have to put my (employer’s) money where my mouth is and try it out tomorrow. Thanks!
- postalcoder 1y agoI don't know if this is feedback for Kiro per se or more feedback for this category of applications as a whole, but I've personally noticed that the biggest barrier holding me back from giving an earnest look at new coding agents are the custom rules I've set up w/ my existing agents. I have extensively used Copilot, Continue, Cursor, Cline, Aider, Roo Code, and Claude Code. I've just finished porting my rules over to Claude Code and this is something I do not want to do again [even if it's as simple as dragging and dropping files]. Companies would benefit a lot by creating better onboarding flows that migrate users from other applications. It should either bring in the rules 1:1 or have an llm agent transform them into a format that works better for the agent.
- namanyayg 1y agoin the early days of building something like that, would love to talk for 10 minutes and get your advice if you have the time? I couldn't find your email but mine is in my profile.
- ffsm8 1y agoOr a proper standard like MCP was for agentic tool use, this time for context setup...
- chrisweekly 1y agoProblems w auth / security in MCP skeeve me out. For that reason, I really don't want to invest in workflows that depend on MCP and have steered clear. But I'd be grateful for well-informed comments / advice on that front. As for a hypothetical new "context setup" protocol like you posit, I suspect it'd benefit from the "cognitive tools" ideas in this awesome paper / project: <https://github.com/davidkimai/Context-Engineering https://github.com/davidkimai/Context-Engineering> ^ inspiring stuff
- NathanKP 1y agoYou will be happy to find out that Kiro is quite good at this! One of my favorite features is "Steering Rules". Kiro can help you write steering rules for your projects, and the steering rules that it auto generates are actually super great for large projects. You can see some examples of auto generated steering files here in one of my open source projects: https://github.com/kirodotdev/spirit-of-kiro/tree/main/.kiro/steering https://github.com/kirodotdev/spirit-of-kiro/tree/main/.kiro... Also these steering rules are just markdown files, so you can just drop your other rules files from other tools into the `.kiro/steering` directory, and they work as is.
- spgingras 1y agoCan you comment on how the IDE performs on large codebases? Does the spec based approach help with it? Any examples you can give from experience at Amazon?
- NathanKP 1y agoIt works great in really large codebases! I've published a sample project that is medium sized, about 20k lines encompassing a game client, game server, and background service: https://github.com/kirodotdev/spirit-of-kiro https://github.com/kirodotdev/spirit-of-kiro This has been all developed by Kiro. The way Kiro is able to work in these larger projects is thanks to steering files like these: - Structure, helps Kiro navigate the large project: https://github.com/kirodotdev/spirit-of-kiro/blob/main/.kiro/steering/structure.md https://github.com/kirodotdev/spirit-of-kiro/blob/main/.kiro... - Tech, helps Kiro stay consistent with the tech it uses in a large project: https://github.com/kirodotdev/spirit-of-kiro/blob/main/.kiro/steering/tech.md https://github.com/kirodotdev/spirit-of-kiro/blob/main/.kiro... And yes, the specs do help a lot. They help Kiro spend more time gathering context before getting to work, which helps the new features integrate into the existing codebase better, with less duplication, and more accuracy.
- svieira 1y agoIs this supposed to be a demo of how wide-ranging Kiro is or how accurate it is? Because the very first item in the screenshots is in a superposition of conflicting states from various parts of its description. That said, thanks for being willing to demo what kinds of things it can do!
- hv_ 1y agoHey Nathan, congratulations on the success and seeing your baby out to release! Is your team hiring? Would love to be apart of the process. resume: https://drive.google.com/file/d/1MSuAf4LDDMULwKHAtTg1o5TzbPpLH2Vp/view?usp=sharing https://drive.google.com/file/d/1MSuAf4LDDMULwKHAtTg1o5TzbPp...
- theusus 1y agoWhy build an editor and not a CLI. VS code is really slow for me and I would have preferred a CLI.
- NathanKP 1y agoStay tuned! I think there is definitely room for a CLI version as well. That said, IDE's have a significant advantage over CLI because of the features available to them. For example, the reason why IDE's feel "slow" is often because they just come with more features: automatic linters and code formatters, type checkers, LSP servers. An agent running in the IDE can make use of all this context to provide better results. So, for example, you will see Kiro automatically notice and attempt to resolve problems from the "Problems" tab in the IDE. Kiro will look at what files you have open and attempt to use that info to jump to the right context faster. The way I describe it is that the ceiling for an IDE agent is a lot higher than a CLI agent, just because the IDE agent has more context info to work with. CLI agents are great too, but I think the IDE can go a lot further because it has more tools available, and more info about what you are doing, where you are working, etc
- didibus 1y agoThat's all old news. Claude Code and even Amazon Q CLI can leverage all this context through MCP as well, with connecting to LSP servers, computing repo-maps or code indexes, integrating with linters, etc. In my opinion, CLIs have a higher ceiling, and then they are easy to integrate into CI/CD, run them in parallel, etc.
- NathanKP 1y agoMCP is great, but it adds a lot of extra latency. The MCP servers themselves will stuff your context full of tool details, taking up valuable tokens that could be spent on code context. Then at runtime the LLM has to decide to call a tool, the tool call has to come back to your machine, the data is gathered and sent back to the LLM, then the LLM can act on that data. Multiply this by however many rounds of tool use the LLM decides it needs prior to taking action. If you are lucky the LLM will do a single round of parallel tool use, but not always. The advantage of something more purpose built for gathering context from the IDE is that you can skip a lot of roundtrips. Knowing the user's intent upfront, the IDE can gather all the necessary context data preemptively, filter it down to a token efficient representation of just the relevant stuff, add it in the context preemptively along with the user's prompt, and there is a single trip to the LLM before the LLM gets to work. But yeah I agree with your point about CLI capabilities for running in parallel, integrating in other places. There is totally room for both, I just think that when it comes to authoring code in the flow, the IDE approach feels a bit smoother to me.
- ActorNightly 1y agoWhile I like the product, implementation could be better. Kiro is sitting idle with Helper Plugin using a shitload of CPU for no reason.
- slacktivism123 1y agoHaving ten "Electron Helper (Plugin)" eat a GB of RAM each on idle is the premier desktop experience nowadays. We can't have native apps any more: we don't know how to build them.
- ActorNightly 1y agoI use VSCode with Continue. It has a Code Helper Plugin, which peaks during use, but when idle it doesn't use any resource. Something is up with the Kiro version where some background task is running.
- Imustaskforhelp 1y agoSee the NathanKP comment on the (grand parent post?), It was the indexing which was causing the resource utiliazation.
- ActorNightly 1y agoFor a large project, it seems to still be using high CPU (maybe continuously indexing)
- esafak 1y agoFortunately the next generation seems to be CLI based! Maybe we'll go back to native apps in the next generation.
- rcleveng 1y agoIt's not that people don't know how to build a native application, it's rather a native application that runs across Windows, Mac and Linux is still really hard. Trying to add in a web version of the same application is impossible. ActiveX and Java Web Start, etc all tried to do this, and all of them ended up deprecated and out of favor for native web solutions. Java IDEs did a lot of this for many years (Eclipse, IntelliJ, NetBeans, JDeveloper, etc) and they worked reasonably well on the desktop, but had no path to offering a web hosted solution (like gitpod or codespaces) There are not a lot of options here, compiling down a native solution to wasm and running it in the browser would work, I'm not sure if the performance would be substantially better or more consistent across all OS'es and web unfortunately. So we are where we are :)
- sinatra 1y agoHave you documented how you built this project using Kiro? Your learnings may help us get the best out of Kiro as we experiment with it for our medium+ size projects.
- NathanKP 1y agoI've got a longer personal blogpost coming soon! But in the meantime I'm also the author of the "Learn by Playing" guide in the Kiro docs. It goes step by step through using Kiro on this codebase, in the `challenge` branch. You can see how Kiro performs on a series of tasks starting with light things like basic vibe coding to update an HTML page, then slightly deeper things like fixing some bugs that I deliberately left in the code, then even deeper to a full fledged project to add email verification and password reset across client, server, and infrastructure as code. There is also an intro to using hooks, MCP, and steering files to completely customize the behavior of Kiro. Guide link here: https://kiro.dev/docs/guides/learn-by-playing/ https://kiro.dev/docs/guides/learn-by-playing/
- epiccoleman 1y ago> It's a fairly extensive codebase for an infinite crafting game, almost 95% AI coded, thanks to the power of Kiro: https://github.com/kirodotdev/spirit-of-kiro https://github.com/kirodotdev/spirit-of-kiro This, along with the "CHALLENGE.md" and "ROADMAP.md" document, is an incredibly cool way to show off your project and to give people a playground to use to try it out. The game idea itself is pretty interesting too. It would be awesome if I ... didn't have to deal with AWS to use it. I guess maybe that might be a good use case for agentic coding: "Hey, Kiro - can you make this thing just use a local database and my Anthropic API key?" Complaining aside though, I think that's just such a cool framework for a demo. Nice idea.
- NathanKP 1y agoThanks a lot! I plan to fork the project and make a generic version that runs entirely locally using your GPU to do everything. My early tests ran pretty well on NVIDIA 5070. So that's next on my project list to open source in my free time. The only thing more fun that building an AI agent, is using it to build your own ideas!
- underlines 1y ago5070Ti user here: We are 150 people in a SME and most of our projects NDA for gov & defense clients absolutely forbid us to use any cloud based IDE tools like GitHub Copilot etc. Would love for this project to provide a BYOK and even Bring Your Own Inference Endpoint. You can still create licensing terms for business clients.
- asib 1y agoFYI: I'm trying Kiro out now, and the IDE keeps popping open the integrated terminal window of its own accord. Has done it multiple times, including when I don't even have the IDE window focussed on my desktop. Every 5-10 minutes it seems. Neither VSCode nor Cursor do this, so even if it's an extension triggering it somehow, the behaviour in Kiro is different to those other two.
- marviel 1y agonice! Can't agree more on Vibe Speccing. I wrote more about Spec Driven AI development here: https://lukebechtel.com/blog/vibe-speccing https://lukebechtel.com/blog/vibe-speccing
- erichocean 1y agoHow much are you using Kiro to improve itself? 100% of the time? 10% of the time? Never?
- NathanKP 1y agoIt has grown over time as Kiro has developed. Many of the most recent features in Kiro were developed using Kiro specifications. We have a Twitch stream scheduled with some engineers from the Kiro team where we plan to take live Q&A about this in specific, how they are using Kiro to build Kiro, etc. I don't have the schedule setup yet, but we've got the channel setup here: https://www.twitch.tv/kirodotdev https://www.twitch.tv/kirodotdev
- personjerry 1y agoWhy not deploy the game? I'd love to try it
- NathanKP 1y agoI have a personal deployment of the game, but it costs money to run the LLM so I'm not sharing that with all of Hacker News haha. I've got an appsec ticket open to host an "official AWS" version where AWS pays the LLM bill, but that might take a while longer to get approved. For now the best way to experiment is playing with it locally. I'm also thinking of creating a fork of the project that is designed to run entirely locally using your GPU. I believe with current quantized models, and a decent GPU, you can have an adequate enough fully local experience with this game, even the dynamic image generation part.
- deleted 1y ago[deleted]
- ugh123 1y agoLove the game! would be interesting to see an example of prompts used to do this.
- NathanKP 1y agoUnfortunately, midway through the project I lost the file where I was keeping track of all the prompts I used as I built. I do have some of them, plan to publish a wrap up analysis of those at some point. If you were referring to the prompts inside of the game, you might find those fun and interesting. This one in particular is the heart of the game: https://github.com/kirodotdev/spirit-of-kiro/blob/main/server/llm/prompts.ts#L224-L306 https://github.com/kirodotdev/spirit-of-kiro/blob/main/serve...
- deleted 1y ago[deleted]
- mkagenius 1y agoHello Nathan, I integrated[1] the recently released Apple Container (instead of shell) to run codes generated by Kiro. It works great! 1. CodeRunner: https://github.com/BandarLabs/coderunner https://github.com/BandarLabs/coderunner
- BoiledCabbage 1y agoCan you please stop shilling for this? HN comments aren't an ad network...
- thekevan 1y agoWill the pricing include consideration for if someone if an Amazon Prime subscriber?
- softsales 1y ago[flagged]
- dangoodmanUT 1y ago[flagged]
- northpoleescape 1y ago[flagged]
- dangoodmanUT 1y agosince the original comment was _flagged_, i think you're overreacting a bit. not sure why you brought up YC, not relevant at all
- softsales 1y ago[flagged]
- softsales 1y ago[flagged]
- softsales 1y ago[dead]
- NathanKP 1y agoThe original submission to HN stated that it was from Amazon / AWS in the title of the submission, however that has since been edited by a moderator to match the title of the blogpost, which does not mention Amazon / AWS. To be clear, we have no intent to hide that Kiro is from Amazon / AWS, that's why you'll see Matt Garman, for example, posting about Kiro: https://www.linkedin.com/feed/update/urn:li:activity:7350558499971522564/ https://www.linkedin.com/feed/update/urn:li:activity:7350558... However, the long term goal is for Kiro to have it's own unique identity outside of AWS, backed by Amazon / AWS, but more friendly to folks who aren't all in on AWS. I'll admit that AWS hasn't been known in recent years for having the best new user or best developer experience. Kiro is making a fresh start from an outsider perspective of what's possible, not just what's the AWS tradition. So, for example, you can use Kiro without ever having an AWS account. That makes it somewhat unique, and we aim to keep it that way for now.
- apwell23 1y ago> almost 95% AI coded I think its because you didn't have hard expectations for the output. You were ok with anything that kind of looked ok.
- NathanKP 1y agoFalse. In order to maintain high quality I often rejected the first result and regenerated the code with a more precise prompt, rather than taking the first result. I also regularly used "refactor prompts" to ask Kiro to change the code to match my high expectations. Just because you use AI does not mean that you need to be careless about quality, nor is AI an excuse to turn off your brain and just hit accept on the first result. There is still a skill and craft to coding with AI, it's just that you will find yourself discarding, regenerating, and rebuilding things much faster than you did before. In this project I deliberately avoided manual typing as much as possible, and instead found ways to prompt Kiro to get the results I wanted, and that's why 95% of it has been written by Kiro, rather than by hand. In the process, I got better at prompting, faster at it, and reached a much higher success rate at approving the initial pass. Early on I often regenerated a segment of code with more precise instructions three or four times, but this was also early in Kiro's development, with a dumber model, and with myself having less prompting skill.
- apwell23 1y ago> precise prompt If there was such a thing you would just check in your prompts into your repo and CI would build your final application from prompts and deploy it. So it follows that if you are accepting 95% of what random output is being given to you. you are either doing something really mundane and straightforward or you don't care much about the shape of the output ( not to be confused with quality) . Like in this case you were also the Product Owner who had the final say about what's acceptable.
- a1j9o94 1y agoThe above is saying more precise not completely precise. The overall point they're making is you still are responsible for the code you commit. If they are saying the code in this project was in line with what they would have written, I lean towards trusting their assessment.
- dostick 1y agoDoes it work for Swift development and can it compile to test for compilation errors?
- Szpadel 1y agowhy it required forking vscode? what prevents this from being just extension? from article I do not see any obvious functionality that would prevent such implementation
- touristtam 1y agoMaybe the fact that MSFT has been break extensions for fork is enough?
- orangebread 1y agoHi Nathan, this is awesome. I also discovered similar workflows and built SpecLinter: https://github.com/orangebread/speclinter-mcp https://github.com/orangebread/speclinter-mcp Will be trying Kiro, excited to see how you approached implementing a similar idea!
- icereed 1y agoHey Nathan, I love this approach using specs and steering. Just curious how it would work in a huge monorepo with many apps and packages in one physical repo. Several hundred devs work with that repo. Is it possible to have two layers of steering, which is monorepo specific and then app specific? And also regarding specs, would the different apps and teams interfere with each other? Best, Icereed