Research
packages/research turns a tutorial into a reusable rules markdown file.
URL -> transcript -> LLM distill -> rules markdownBasic run
bun packages/research/src/cli.ts \
--url "https://www.youtube.com/watch?v=..." \
--out rules.mdOffline proof
Use mock to prove extraction and output shape with no model.
bun packages/research/src/cli.ts \
--url "<url>" \
--provider mock \
--out /tmp/rules.mdAlready have a transcript
bun packages/research/src/cli.ts \
--transcript-file transcript.txt \
--title "Tutorial title" \
--out rules.mdTranscript engine
The preferred path is yt-dlp because YouTube timed text can require visitor
or PoToken handling.
brew install yt-dlpOptionally point to a specific binary:
RESEARCH_YT_DLP=/path/to/yt-dlp bun packages/research/src/cli.ts --url "<url>"Output rule
Research output should be concrete enough that an agent can build from it:
- extracted mechanic or implementation rules
- important constraints
- reusable checklists
- source URL and title
- no secrets or personal data