5 ms·
I’ve implemented and maintained an entire web app with CC, and also used many other tools (and took classes and taught workshops on using AI coding tools). The
by forgotmypw17 1y ago
I’ve implemented and maintained an entire web app with CC, and also used many other tools (and took classes and taught workshops on using AI coding tools).
The most effective way I’ve found to use CC so far is this workflow:
Have a detailed and also compressed spec in an md file. It can be called anything, because you’re going to reference it explicitly in every prompt. (CC usually forgets about CLAUDE.md ime)
Start with the user story, and ask it to write a high-level staged implementation plan with atomic steps. Review this plan and have CC rewrite as necessary. (Another md file results.)
Then, based on this file, ask it to write a detailed implementation plan, also with atomic stages. Then review it together and ask if it’s ready to implement.
Then tell Claude to go ahead and implement it on a branch.
Remember the automated tests and functional testing.
Then merge.
- stillsut 1y agoGreat advice, matches up to my experience. Personally I go a little cheaper and dirtier on the first prompt, then revise as needed. By the way what classes / workshops did you teach? I've written a little about some my findings and workflow in detail here: https://github.com/sutt/agro/blob/master/docs/case-studies/aba-5.md https://github.com/sutt/agro/blob/master/docs/case-studies/a...
- forgotmypw17 1y agoThank you for sharing. I taught some workshops on AI-assisted development using Cursor a Windsurf for MIT students (we built an application and wrote a book) and TAed another similar for-credit course. I’ve also been teaching high schoolers how to code, and we use ChatGPT to help us understand and solve leetcode problems by breaking them down into smaller exercises. There’s also now a Harvard CS course on developing with GenAI which I followed along with. The field is exploding.
- beambot 1y agoCan you provide any source materials - course notes, book, etc?
- stillsut 1y ago> ...development using Cursor a Windsurf for MIT students... Richard Stallman is rolling in his grave with this. But in all seriousness, nice work, I think this _is_ where the industry is going, hopefully we don't have to rely on using proprietary models forever though.
- forgotmypw17 1y agoRichard Stallman is alive and well, just had dinner with him earlier this month. You can set up a FOSS toolchain to do similar work, it’s just something I haven’t spent the time on. I probably should.
- eagerpace 1y agoDo you have an example of this you could share?
- stillsut 1y agoI can share my own ai-generated codebase: - there's a devlog showing all the prompts and accepted outputs: https://github.com/sutt/agro/blob/master/docs/dev-summary-v1.md https://github.com/sutt/agro/blob/master/docs/dev-summary-v1... - and you can look at the ai-generated tests (as is being discussed above) and see they aren't very well thought out for the behavior, but are syntactically impressive: https://github.com/sutt/agro/tree/master/tests https://github.com/sutt/agro/tree/master/tests - check out the case-studies in the docs if you're interested in more ideas.
- Nimitz14 1y agoWe're all gonna be PMs.
- forgotmypw17 1y agoThat’s basically what it amounts to, being a PM to a team of extremely cracked and also highly distractable coders.
- AstroBen 1y agoIs working this way actually faster, or any improvement than just writing the code yourself?
- forgotmypw17 1y agoMuch, much faster, and I’d say the code is more formal, and I’ve never had such a complete test suite. The downside is I don’t have as much of a grasp on what’s actually happening in my project, while with hand-written projects I’d know every detail.
- AstroBen 1y agoHow do you know the test suite is comprehensive if you don't have a grasp on what's happening? Not a gotcha I'm just extremely skeptical that AI is at a point to have the level of responsibility you're describing and have it turn into good code long term
- danielbln 1y agoI do TDD. Plan out the feature, then have it write test. Scan the tests, check if everything is kosher. Then let it do the implementation, rinse and repeat.
- nojito 1y agoHow do you stop it from changing or modifying the test to get to pass?
- forgotmypw17 1y ago“Do not change the test to get it to pass.”
- amedviediev 1y agoThis matches my experience as well. But what I also found is that I hate this workflow so much that I would almost always rather write the code by hand. Writing specs and user stories was always my least favorite task.