I was trying to get a unrelated typescript project running, when I hit an issue with one of its dependencies... license-checker. No big deal, I thought. I'll just check if there's a more recent version to fix the bug.
Last commit: January 2019.
Weekly downloads: 760,000+.
Open issues: 96.
Maintainer activity: crickets
WTF. C'mon.
This package is used by Puppeteer. Playwright. Cypress. Angular CLI.
And nobody's home.
"I'll just fork it and fix the bug," I said... like an i d i o t who thinks time is an infinite resource.
Three hours later, I was knee-deep in a CommonJS codebase with no tests, questioning my life choices.
That's when I decided to bring some backup: Claude Code.
The coding Savant (who occasionally bullshits you)
Working with CC on a codebase migration is... an experience.
Hour 1: Claude analyzes the codebase. Creates a sensible migration plan.
Hour 3: We've converted half the files to TypeScript. Claude is methodical. Professional. Sometimes lies, like "all tests are passing" - Really I say, check again with a retort "you absolutely right".
Hour 6: Claude has created a todo list with 47 items. I did not ask for this.
Hour 12: Claude has started writing marketing copy for the project. It has opinions about our "market positioning."
Hour 18: We have a fully working TypeScript codebase with tests. Claude suggests we "track competitor packages."
The Bigger Question
This experience made me realize something: there's a LOT of critical infrastructure running on abandonware.
What if "AI + motivated human" could be a model for OSS sustainability?
The AI handles:
Tedious migrations
Boilerplate code
Documentation generation
Test scaffolding
Performance profiling (yes, Claude got really into benchmarking)
The human handles:
Judgment calls
Architecture decisions
Community interaction
Deciding when the AI is being too enthusiastic
So my fellow coders, the crusade begins
I'm calling this the OSS Crusade: one dev and one AI, rescuing abandoned packages from the npm graveyard.
It started with a bug.
I was trying to get a unrelated typescript project running, when I hit an issue with one of its dependencies... license-checker. No big deal, I thought. I'll just check if there's a more recent version to fix the bug.
Last commit: January 2019. Weekly downloads: 760,000+. Open issues: 96. Maintainer activity: crickets
WTF. C'mon.
This package is used by Puppeteer. Playwright. Cypress. Angular CLI.
And nobody's home.
"I'll just fork it and fix the bug," I said... like an i d i o t who thinks time is an infinite resource.
Three hours later, I was knee-deep in a CommonJS codebase with no tests, questioning my life choices.
That's when I decided to bring some backup: Claude Code.
The coding Savant (who occasionally bullshits you) Working with CC on a codebase migration is... an experience.
Hour 1: Claude analyzes the codebase. Creates a sensible migration plan.
Hour 3: We've converted half the files to TypeScript. Claude is methodical. Professional. Sometimes lies, like "all tests are passing" - Really I say, check again with a retort "you absolutely right".
Hour 6: Claude has created a todo list with 47 items. I did not ask for this.
Hour 12: Claude has started writing marketing copy for the project. It has opinions about our "market positioning."
Hour 18: We have a fully working TypeScript codebase with tests. Claude suggests we "track competitor packages."
The Bigger Question This experience made me realize something: there's a LOT of critical infrastructure running on abandonware.
What if "AI + motivated human" could be a model for OSS sustainability?
The AI handles:
Tedious migrations Boilerplate code Documentation generation Test scaffolding Performance profiling (yes, Claude got really into benchmarking) The human handles:
Judgment calls Architecture decisions Community interaction Deciding when the AI is being too enthusiastic So my fellow coders, the crusade begins
I'm calling this the OSS Crusade: one dev and one AI, rescuing abandoned packages from the npm graveyard.
Do you use Claude to create HN comments too?
You are absolutely right!
Actually I wrote the first and last part and it filled in the middle.