Toolkit to help you get started with Spec-Driven Development

github.com

76 points by mooreds 7 days ago


shubhamjain - a day ago

> Spec-Driven Development changes this: specifications become executable, directly generating working implementations rather than just guiding them.

Reminds me of TDD bandwagon which was all the rage when I started programming. It took years to slowly die out and people realized how overhyped it really was. Nothing against AI, I love it as a tool, but this "you-don't-need-code" approach shows similar signs. Quick wins at first, lots of hype because of those wins, and then reaching a point where doing even tiny changes becomes absurdly difficult.

You need code. You will need it for a long time.

insin - a day ago

This isn't just me not reading your comprehensive guide [1]. It's me recognising you couldn't even be bothered to write it yourself.

[1] https://github.com/github/spec-kit/blob/main/spec-driven.md

apex_sloth - 20 hours ago

I played with this extensively on hobby projects (music visualizer Wayland widget for example) and I like the idea. I like coming up with cool stuff and solutions. The problem is I'm just not disciplined enough, it makes me lazy. The longer I uses it, the less code I read myself and just fire quick /implement loops and go do something else, thinking it should be straight forward. As other have pointed out, AI still needs a lot of hand holding and there are a lot of necessary decisions to make that one usually only realizes while actually building it.

rsyring - a day ago

High level design concerns: https://github.com/github/spec-kit/issues/1092

Worth reading before jumping in.

42point2 - 21 hours ago

We started experimenting with this on a large-ish feature, with several repos involved. Off to a good start. The constitution that’s created as the first step is valuable in its own right. Something that can be used for onboarding both engineers and LLMs. Version 1 generated by specify was already quite good and we iterated from there. We had previously created a Claude.md that took the whole codebase into account, which I think helped.

I’m perhaps less sold on the idea of the spec being the source of truth — would have to do some design iterations and see if that holds up. I do like that it imposes some structure/rigor on the design process.

trjordan - a day ago

I don't think we ever get away from the code being the source of truth. There has to be one source of truth.

If you want to go all in on specs, you must fully commit to allowing the AI to regenerate the codebase from scratch at any point. I'm an AI optimist, but this is a laughable stance with current tools.

That said, the idea of operating on the codebase as a mutable, complex entity, at arms length, makes a TON of sense to me. I love touching and feeling the code, but as soon as there's 1) schedule pressure and 2) a company's worth of code, operating at a systems level of understanding just makes way more sense. Defining what you want done, using a mix of user-centric intent and architecture constraints, seems like a super high-leverage way to work.

The feedback mechanisms are still pretty tough, because you need to understand what the AI is implicitly doing as it works through your spec. There are decisions you didn't realize you needed to make, until you get there.

We're thinking a lot about this at https://tern.sh, and I'm currently excited about the idea of throwing an agentic loop around the implementation itself. Adversarially have an AI read through that huge implementation log and surface where it's struggling. It's a model that gives real leverage, especially over the "watch Claude flail" mode that's common in bigger projects/codebases.

sebast_bake - a day ago

Is it good?

DeathArrow - 21 hours ago

I kind of do something similar, without using the spec-kit. I use an LLM to define specifications, task lists and to generate prompts to be fed into an agent. I also use an llm to generate .cursorules.

satisfice - a day ago

Why do they say this approach flips the script? People who promote executable specs are just swapping the word “code” for “spec” without changing anything meaningful.

It’s higher level programming, perhaps, but it’s still programming.

isodev - a day ago

Can I use it without the uv tool? I’d rather my open source projects remain open as in libre.