Ted Nyman Ted Nyman

Building blocks of devtools should be free

Or, why open source will win (again)
Building blocks of devtools should be free

AI devtools are everywhere. Which is great!

But we’ve gone wrong. We have lost the foundation of our work: sincere open source for the building blocks of software.

Look: every AI code reviewer, every AI code analyst, every AI doc generator, every AI IDE—they all work on the same basics:

None of this work ought to be companies. None of this work should be closed. These are building blocks, primitives.

And the small products that work as abstractions on this? They should be free. All of it.

kit

I wrote kit mostly out of frustration: tired of people taking core things to make money out of them. So kit is yours, MIT-licensed; and at 1.0, it’s stable enough for real work. Build great things on top of it.

kit is used by our devops agent at Cased. Our agent analyzes your infra code, writes PRs for terraform, tells you when the nginx host is failing; I’m told it sings too, if you ask it. The agent needs really good context to work; what makes Cased code-generation and analysis work well is kit.

kit is generally useful for building any kind of AI developer tool. So it’s now ready for you to use, hack, and extend.

Use it

Claude and I worked together on extensive docs, examples, and how-tos.

Try things like this:

from kit import Repository

repo = Repository("/path/to/your/local/project")
file_tree = repo.get_file_tree()

specific_symbols = repo.extract_symbols("src/my_module.py")
# Returns a list of dicts: [{'name': '...', 'type': 'function', ...}, ...]

usages = repo.find_symbol_usages("MyClass", symbol_type="class")
# Returns a list of dicts showing definitions and text matches across the repo.

# Chunk by lines for the LLM
line_chunks = repo.chunk_file_by_lines("src/long_file.py", max_lines=100)

Why be open

We didn’t open source kit because it’s a “lead magnet” (although it may be!). Not because it’s just a good story.

kit is open source because we all need to get back to devtools fundamentals, and with no expectation of benefit besides for the community.

When the devtools community works with shared, open primitives (and adopts them widely), it’s a net gain for everyone. Better businesses get created, and the overally quality of our products improves.

I hope you’ll join us.