Fruitful Docs
Build, ship, and understand Feed Packages.
A Feed Package teaches Fruitful how to follow one kind of page: how to capture it, how to turn the capture into records, how to render those records as Activity, and what to hide on the live site.
| What it follows | Package |
|---|---|
| A company blog that publishes no feed of its own | io.incident.blog |
| The Hacker News front page, and the article behind each link | com.ycombinator.news |
| A subreddit | com.reddit.posts |
| A LinkedIn newsfeed, company page, or profile, signed in as you | com.linkedin.posts |
| An X timeline, plus individual posts you save | com.x.posts |
| One LinkedIn profile, captured from a URL you paste | com.linkedin.profile |
Nothing in Fruitful knows these sites apart. Each is the same four blocks, resolved and rendered through the same trusted catalog; the differences between them are data.
That is what keeps a package small. Code may appear in exactly two places, a capture hook and a transform, and both run sandboxed with no host access. Everything else is pinned versions, selectors, templates, and rules, validated before anything runs. No package code runs during extraction at all, which is why a binding can be reviewed by reading it.
New here? Install the CLI and sign in, then build com.ycombinator.news from scratch.