Thanks for your interest in contributing. This guide covers what you need to get started.
git clone https://github.com/totalaudiopromo/podflow.git
cd podflow
pnpm install
pnpm build| Command | What it does |
|---|---|
pnpm build |
Compile to dist/ via tsup |
pnpm dev |
Run directly via tsx |
pnpm typecheck |
Type-check without emitting |
After building:
node dist/cli.js digest --dry-run
node dist/cli.js subs
node dist/cli.js statsOr via tsx (no build needed):
pnpm dev digest --dry-run- TypeScript strict mode
- UK spelling in user-facing text (colour, prioritise, licence)
- No emojis in code or output
- Commits use
feat:/fix:/docs:/chore:prefixes
- Fork the repo and create a branch from
main - Make your changes
- Run
pnpm typecheck-- must pass - Open a PR with a clear description of what changed and why
Keep PRs focused. One feature or fix per PR.
src/
cli.ts CLI entry point (Commander)
types.ts Shared types
cache.ts Incremental cache (~/.podflow/cache.json)
ai/
extractor.ts AI extraction (Vercel AI SDK, multi-provider)
config/
index.ts Config loader (~/.podflow/config.json)
prioritiser.ts Episode tier scoring and filtering
db/
apple-podcasts.ts Apple Podcasts SQLite reader
output/
markdown.ts Digest markdown generator
ui/
format.ts Terminal UI (chalk, ora, format helpers)
theme.ts Colour palette, glyphs, formatting utils
Open an issue. Happy to help.