First off, thank you for considering contributing! This project thrives on community input. Whether you're fixing a typo, adding a feature, or suggesting an idea β every contribution matters.
# Clone the repo
git clone https://github.com/bluzername/lennys-quotes.git
cd lennys-quotes
# Install dependencies
npm install
# Download transcripts (runs automatically on install)
npm run download-transcripts
# Start development
npm run dev- Check existing issues first
- If it's new, open an issue with:
- Clear description of the problem
- Steps to reproduce
- Expected vs actual behavior
Ideas for new tools, better search, or integrations are welcome! Open an issue tagged enhancement and describe:
- What problem it solves
- How you envision it working
- Any relevant examples
Look for issues labeled good first issue β these are great starting points.
| Feature | Difficulty | Description |
|---|---|---|
| Quote of the Day | Easy | New tool returning a curated daily quote |
| Episode Tags | Medium | Categorize episodes (founder/VC/designer) |
| Semantic Search | Hard | Embedding-based search for better relevance |
| Share Cards | Medium | Generate shareable quote images |
- Fork the repo and create a branch:
git checkout -b feature/your-feature - Make your changes with clear, focused commits
- Test locally with
npm run dev - Submit a PR with:
- Clear title (e.g., "Add: Quote of the Day tool")
- Description of what changed and why
- Screenshots/examples if applicable
- TypeScript β Strong typing preferred
- Formatting β Keep it readable, consistent with existing code
- Comments β Only where logic isn't self-evident
- Naming β Descriptive function/variable names over comments
src/
βββ index.ts # MCP server setup and tool registration
βββ data/
β βββ loader.ts # Transcript loading and parsing
β βββ indexer.ts # Lunr.js search index
β βββ types.ts # TypeScript interfaces
βββ utils/
βββ quote-extractor.ts # Format quotes for display
βββ youtube.ts # YouTube URL helpers
βββ smart-search.ts # Multi-phase search logic
- Open a Discussion for general questions
- Tag the maintainer in issues if you're stuck
Thank you for helping make PM knowledge more accessible! ποΈ