DEV Community

Cover image for My OSS Stalled for 3 Months Because of Misguided Vibe Coding—This Is the Full Reboot Story

My OSS Stalled for 3 Months Because of Misguided Vibe Coding—This Is the Full Reboot Story

kako-jun on December 16, 2025

I'm building an open-source crate that has been downloaded about 8,000 times and is used both in Japan and the United States. Then I promoted it, ...
Collapse
 
kako-jun profile image
kako-jun

Thanks so much for reading and for the kind words! I'm glad the monorepo lessons and the Build→Verify→Publish workflow resonated—those were costly mistakes I don’t want anyone else (especially folks new to programming
like me) to repeat. I’ll keep sharing what I learn so it stays useful for beginners too. Appreciate the encouragement, and I’ll keep pushing forward!

Collapse
 
maame-codes profile image
Maame Afua A. P. Fordjour

Great write-up. The root cause analysis on the monorepo struggle was really insightful. I think a lot of us fall into the trap of trying to automate everything (shared CI, synchronized releases) before the core product is even stable. The advice on the 2-stage release workflow (Build,Verify, Publish) is gold that saves so many headaches with accidental bad releases.

Collapse
 
ldrscke profile image
Christian Ledermann

pre-commit Is Mandatory for AI-Assisted Code

Absolutely. For ruffI normally have ["ALL"] rules and fixes (and some of the "experimental" ones) enabled, which is fine for new code bases, where you can enforce it right from the start, for brownfield it is worth the effort to bring it up to a strict standard;

then I add exemptions for specific directories (assert is not a concern in tests :-D), and strict type checking with mypy, even for the tests.

My rust linting looks pretty much like yours, with an additional framework specific tool.

For Markdown I use rumdl with the one line per sentence configuration.

BTW, try prek a pre-commit compatible alternative, no configuration changes needed, faster and written in rust.

Collapse
 
kako-jun profile image
kako-jun

prek! I didn’t know about it at all.
I like the culture where Rust-based CLIs take over existing tools purely through speed, so I’d love to try it out right away.
And rumdl is another tool no one in the Japanese community has mentioned yet.
I don’t get many chances to write Markdown except for documentation, but I’m definitely interested.

Collapse
 
ldrscke profile image
Christian Ledermann

I let the LLM write the documentation, continuously, in each iteration. It is not only aimed at humans, but also serves as a kind of long term memory for the AI.
rumdl keeps it neat and tidy

Collapse
 
ldrscke profile image
Christian Ledermann

Apropos tests, I use property based testing quite a lot, this can be a lifesaver. I have not tried it for rust yet, but my experiences in python are very good.

I wonder if mutation testing run by an agent in a loop until the suite is watertight would be an option. This could be an interesting experiment for python and rust, with strict guidance for the agent to test the interface, not the implementation.

Related: JustHTML is a fascinating example of vibe engineering in action

Collapse
 
kako-jun profile image
kako-jun

I had absolutely no idea JustHTML even existed.
Despite having over 700 stars, no one in the Japanese community has ever mentioned it.
This is one of those moments when I’m reminded how information in Japan tends to lag a bit behind the English-speaking world.
Thank you for pointing it out to me.

Collapse
 
ldrscke profile image
Christian Ledermann

I only discovered it a few days ago myself ;-)

Collapse
 
inozem profile image
Sergey Inozemtsev

Great write-up. The reboot story really resonated.

One extra safety net that helped me: a dev pipeline that publishes to TestPyPI and runs E2E tests against the installed package before anything reaches main.

Collapse
 
kako-jun profile image
kako-jun

Thanks for the kind words, and sorry for the late reply!

The TestPyPI approach is a great safety net. I've already published Python bindings for diffx, but I didn't use TestPyPI in the pipeline — I just relied on manual verification before publishing to PyPI. Your suggestion makes me want to add that extra layer of E2E testing on TestPyPI for future releases. It fits perfectly with the "verify before publish" philosophy I learned the hard way.

Appreciate you sharing what worked for you!

Collapse
 
inozem profile image
Sergey Inozemtsev

Glad it was useful. TestPyPI E2E caught issues I’d have missed otherwise.

Collapse
 
ldrscke profile image
Christian Ledermann

I am currently implementing an Arkanoid style game in Rust and the Bevy framework using GitHub SpecKit. SpecKit enforces the use of tight specs and thorough planning in its workflow out of the box.

My experiences with it so far are very close to what you are describing here ;-)

I love your projects, semantic diffing is incredible helpful ❤️ 💖💗🥰💞

Collapse
 
kako-jun profile image
kako-jun

Since I live on Japan time, I’m sorry I noticed your comment a bit late.
Yours was actually the very first piece of feedback saying that diffx is helpful.
It really made creating it worthwhile — thank you.

Collapse
 
ldrscke profile image
Christian Ledermann

Undoubtedly helpful, I used similar tools in the past, right now I don't have a use case, but when you need a tool like this, you definitively NEED it.

Thread Thread
 
ldrscke profile image
Christian Ledermann • Edited

hachyderm.io/@cleder/1157403571590...

Sorry, the account does not have wide reach, but hopefully it gets noticed and boosted by someone who has ;-)

Collapse
 
ldrscke profile image
Christian Ledermann

Even with a spec doc, it forgets the spec and freestyles.

Some models more than others. If it asks you "would you also like me to implement ..." my answer is usually "No, stay on mission, no feature creep, create a github issue/ follow up for that". (if it IS a good idea)

Collapse
 
kako-jun profile image
kako-jun

Exactly! I’ve lost count of how many times I’ve had to write “don’t do anything I didn’t ask for.”
I remember OpenAI once saying we shouldn’t send ChatGPT unnecessary ‘thank you’ messages because even that wastes electricity —
but honestly, with users around the world constantly having to remind it “stay on mission,” that must be burning far more power than the thank-yous ever did.

Collapse
 
george_strait_3b044e53d27 profile image
George Strait

I never thought I would be able to recover the $37,000 in Bitcoin that I had lost online, but CYBER SECURE made it possible. After being deceived by a fraudulent investment scheme, I felt devastated and powerless. Nevertheless, due to their expertise and determination, they successfully located and recovered my lost funds. Their professionalism and support throughout the process were invaluable. Thanks to their efforts, I have not only restored my financial stability but also regained my confidence in online transactions. I highly recommend their services to anyone seeking to recover lost cryptocurrency.
CYBERSECURE202(at)GmA1L(dot)COM

Collapse
 
ldrscke profile image
Christian Ledermann

Something related, I thought you might be interested in head/tail for structured data - summarize/preview JSON/YAML and source code

Collapse
 
kako-jun profile image
kako-jun

Thanks for sharing this! Head/tail for structured data sounds really interesting — it's a natural complement to what diffx does. Being able to quickly preview/summarize JSON/YAML before diffing would be super useful in many workflows.

I'll definitely check it out. Always great to discover tools in the same problem space!