Ressources
packages/ressources is the single studio package for source manifests,
transcript capture, distillation, and derivative rules, skills, apps, and tool
candidates.
source -> transcript/resource -> distilled rule -> skill/app/tool candidateThere is no separate legacy research package. The legacy research binary name
is only a compatibility alias for packages/ressources/src/cli.ts.
Basic run
bun packages/ressources/src/cli.ts distill \
--url "https://www.youtube.com/watch?v=..." \
--out rules.mdOffline proof
Use mock to prove extraction and output shape with no model.
bun packages/ressources/src/cli.ts distill \
--url "<url>" \
--provider mock \
--out /tmp/rules.mdAlready have a transcript
bun packages/ressources/src/cli.ts distill \
--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:
RESSOURCES_YT_DLP=/path/to/yt-dlp bun packages/ressources/src/cli.ts distill --url "<url>"Raw transcript policy
Every source manifest must declare rights.transcriptPolicy,
rights.storeRawTranscript, and rights.notes.
Raw transcript text may be committed only when the source manifest opts in with
storeRawTranscript: true and the transcript sidecar records known rights, such
as user-provided, permissioned, official-api, or public-captions.
Sources with storeRawTranscript: false should stay as links plus original
distilled notes.
Run validation before promoting new source or transcript material:
bun packages/ressources/src/cli.ts validateOutput rule
Ressources 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 raw transcript dumps in derivative files
- no secrets or personal data