Most active commenters
  • NathanKP(4)
  • nsonha(3)

←back to thread

1016 points QuinnyPig | 38 comments | | HN request time: 1.271s | source | bottom
Show context
NathanKP ◴[] No.44561071[source]
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

replies(27): >>44561401 #>>44561480 #>>44561505 #>>44561508 #>>44561540 #>>44561643 #>>44562248 #>>44562738 #>>44562815 #>>44562867 #>>44562880 #>>44563346 #>>44563915 #>>44563941 #>>44563988 #>>44563992 #>>44564153 #>>44564270 #>>44564551 #>>44565359 #>>44565453 #>>44565634 #>>44565909 #>>44566659 #>>44567132 #>>44568049 #>>44570644 #
1. postalcoder ◴[] No.44561643[source]
I 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.

replies(9): >>44561706 #>>44561715 #>>44561729 #>>44563219 #>>44563726 #>>44563749 #>>44564674 #>>44565215 #>>44566962 #
2. namanyayg ◴[] No.44561706[source]
in 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.
3. ffsm8 ◴[] No.44561715[source]
Or a proper standard like MCP was for agentic tool use, this time for context setup...
replies(1): >>44563284 #
4. NathanKP ◴[] No.44561729[source]
You 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...

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.

replies(1): >>44564116 #
5. theshrike79 ◴[] No.44563219[source]
I just have a “neutral” guidance markdown setup written in a repo.

Then I add it as a git submodule to my projects and tell whatever agents to look at @llm-shared/ and update its own rule file(s) accordingly

replies(1): >>44569312 #
6. chrisweekly ◴[] No.44563284[source]
Problems 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>

^ inspiring stuff

7. re5i5tor ◴[] No.44563726[source]
Not Kiro related, but do your Claude Code version of rules end up as CLAUDE.md files in various locations?
replies(1): >>44577729 #
8. sys13 ◴[] No.44563749[source]
Agents.md is at least used by both codex and GitHub copilot. VSCode has its own thing for instruction files and Claude.md is also its own thing :(
replies(2): >>44567204 #>>44576406 #
9. adastra22 ◴[] No.44564116[source]
“I really don’t want to do X”

“Kirk is actually quite good at this: you just have to do X”

“…”

replies(1): >>44564421 #
10. NathanKP ◴[] No.44564421{3}[source]
At the prompt: "I have extensively used Copilot, Continue, Cursor, Cline, Aider, Roo Code, and Claude Code. I do not want to move my files over again for Kiro [even if it's as simple as dragging and dropping files]. Do it for me"

Kiro will do it for you automatically.

replies(1): >>44564997 #
11. esafak ◴[] No.44564674[source]
There should be a standard rule format in a standard place, like ~/.config/llms/rules.md
replies(3): >>44565475 #>>44570996 #>>44571783 #
12. adastra22 ◴[] No.44564997{4}[source]
And then you have two separate specifications of your intent, with the ongoing problems that causes. It’s not the same thing.
replies(2): >>44565166 #>>44565230 #
13. NathanKP ◴[] No.44565166{5}[source]
Yeah it would be nice if there was one way to specify the rules and intent, but you know how these things go: https://xkcd.com/927/

In all seriousness, I'm sure this will become more standardized over time, in the same way that MCP has standardized tool use.

I've long been interested in something that can gather lightweight rules files from all your subdirectories as well, like a grandparent rule file that inherits and absorbs the rules of children modules that you have imported. Something kind of like this: https://github.com/ash-project/usage_rules

I think over time there will be more and more sources and entities that desire to preemptively provide some lightweight instructive steering content to guide their own use. But in the meantime we just have to deal with the standard proliferation until someone creates something amazing enough to suck everyone else in.

14. newman314 ◴[] No.44565215[source]
It would sure be nice to have some standardized conventions around this. AGENTS.md etc. It seems insane to have to have multiple files/rules for essentially the same goals just for different tools.
replies(3): >>44566228 #>>44566345 #>>44576399 #
15. helpfulContrib ◴[] No.44565230{5}[source]
Porting rules is one of the responsibilities of keeping them.
16. brulard ◴[] No.44565475[source]
this. We need a common file for all these tools. It's not like they can not read the format of each other.
replies(1): >>44575716 #
17. tln ◴[] No.44566228[source]
Thats the convention I am using.

My CLAUDE.md and GEMINI.md both just say "See AGENTS.md".

replies(2): >>44566255 #>>44567317 #
18. mkw5053 ◴[] No.44566255{3}[source]
Same
19. seunosewa ◴[] No.44566345[source]
How about:

Creating a MCP server that all the agents are configured to retrieve the rules from?

replies(1): >>44573937 #
20. apwell23 ◴[] No.44566962[source]
> have an llm agent transform them into a format that works better for the agent.

you can do this today though.

replies(1): >>44572000 #
21. nsonha ◴[] No.44567204[source]
and opencode
replies(1): >>44571395 #
22. Zopieux ◴[] No.44567317{3}[source]
Have you heard about symlinks yet?

The idea of having a bunch of A100 GPU cycles needed to process the natural language equivalent of a file pointer makes me deeply sad about the current state of software development.

replies(2): >>44569583 #>>44571737 #
23. touristtam ◴[] No.44569312[source]
I don't add them as submodule but just symlink and ignore them globally so they never find their way into codebase; I have colleagues that frown upon using LLMs, and. I am not going to start a war over their preferences.
replies(1): >>44580578 #
24. smus ◴[] No.44569583{4}[source]
Are you implying frontier models are running on a100s? Certainly not
25. kaptainscarlet ◴[] No.44570996[source]
.vibecodingrc sounds better?
replies(1): >>44578789 #
26. efitz ◴[] No.44571395{3}[source]
and cline (.clinerules)
replies(1): >>44572384 #
27. mdaniel ◴[] No.44571737{4}[source]
This take reminds me of the pain I experience when I watch people type website addresses into the google search box
28. yodon ◴[] No.44571783[source]
> There should be a standard rule format

We are a few months into widespread use of this class of technology. Now is a terrible time to introduce standards. Would be a small short term gain delivering huge long term pain.

29. efitz ◴[] No.44572000[source]
AFAICT there is no “format” to agent rule files; it’s just text describing how you’d like the LLM to behave. Typically I’ve seen bullet lists.

Some agents have multiple prompts that are used for different modes; I’ve typically seen this stored as JSON that is agent specific and wouldn’t necessarily apply to different agents.

The only agent specific thing I’ve ever included in a context file is referring to a specific tool. I probably could have abstracted that by describing it as “the tool that does X” or by just telling it to do the function that the tool does.

30. nsonha ◴[] No.44572384{4}[source]
I mean opencode reads AGENTS.md
31. 0x457 ◴[] No.44573937{3}[source]
Then you have to add a rule to every agent to tell it to use this tool.
32. brulard ◴[] No.44575716{3}[source]
This comment gets downvoted a lot and I can not figure why. Is the idea that agentic AI solutions could use single common file for the directions misguided or did I put the message together wrong?
33. insane_dreamer ◴[] No.44576399[source]
symlinks
replies(1): >>44577161 #
34. insane_dreamer ◴[] No.44576406[source]
My Claude.md is a symlink to agents.md.
35. molszanski ◴[] No.44577161{3}[source]
Good coding and #prompting hack for coding. Imagine you have a large codebase and you work with other people and you want version control your .cursor folder. Just symlink it to another folder and version control that folder.
36. postalcoder ◴[] No.44577729[source]
so I started off by doing this - having a single claude.md file but in it putting references to paths to other instruction files.

I found this approach to be quite poor from the standpoint of cloud seems to treat user instructions very differently than other agentic code assistants and I think it’s because their system prompt is so long. As a result, I’m getting some pretty poor adherence to my claude.md file and I’ve noticed that very rarely if ever have I seen it reverse the file to any of the nested paths.

So.. im going to try to refactor my files to keep it all in the same file, with some heavy “LOOK AT ME” prompt engineering.

How about you?

37. nsonha ◴[] No.44578789{3}[source]
do we want to make "vibe code" the umbrella term for llm, agents or even AI assisted software engineering? I think not.
38. theshrike79 ◴[] No.44580578{3}[source]
This is just for my personal projects. I noticed I was copy-pasting the same crap to claude/gemini/cursor/windsurf/whatever and figured out a git submodule would be the easiest way to have the latest set of rules in every project

That way I can just add new stuff to llm-shared/, commit, push and other projects will get the same things. It also forces me to keep it generic so it fits every project.

Then I just tell whatever LLM to look into @llm-shared/ for instructions and refer to files there when needed instead of having them in the "main" context file.