If the code uses other code you’ve written, how do you ensure all dependencies fit within the context window? Or does this only work for essentially dependencyless code?
At this stage, the tool doesn’t make assumptions about the context size, also because you can use any LLM. I rarely pass the whole project to Unvibe: I just make it iterate on a module/folder of the project: basically anything that is touched by the unit-tests. This is also what you’d do as a developer. But an idea for larger “folders” could be to put in the prompt just the definitions of functions/classes, without the actual code. In general, I try to work at the margin, assuming LLMs will get more accurate and the context will keep growing. “Write code as if the LLM that comes out in 2 years exists already and ignore the details” has been a good heuristic.
If the code uses other code you’ve written, how do you ensure all dependencies fit within the context window? Or does this only work for essentially dependencyless code?
At this stage, the tool doesn’t make assumptions about the context size, also because you can use any LLM. I rarely pass the whole project to Unvibe: I just make it iterate on a module/folder of the project: basically anything that is touched by the unit-tests. This is also what you’d do as a developer.
But an idea for larger “folders” could be to put in the prompt just the definitions of functions/classes, without the actual code. In general, I try to work at the margin, assuming LLMs will get more accurate and the context will keep growing. “Write code as if the LLM that comes out in 2 years exists already and ignore the details” has been a good heuristic.