原始内容
Pi Product Hunt
Product Hunt research and digest workflows inside Pi.
What this is
Pi Product Hunt is a read-only Pi extension package for Product Hunt market research. It calls the Product Hunt GraphQL API directly, adds interactive /producthunt:* commands for humans, and exposes structured tools for agents to gather launches, post details, comments, and digest-ready research notes.
Features
- Daily Product Hunt launch scans.
- Product/post search for competitor and trend research.
- Post detail and comment collection for user-reaction analysis.
- Digest-ready Markdown with sections for signals, reactions, and topic watchlists.
- Compact topic watchlists with bounded rationale for products worth revisiting.
- Bounded markdown product cards for pasting launches into research notes.
- Persistent login that stores your Product Hunt token in the Pi agent directory.
- Agent tools with typed parameters for autonomous Product Hunt research.
Install
Install the published npm package with Pi:
pi install npm:pi-producthunt
Pin a specific version when you want reproducible installs:
pi install npm:pi-producthunt@0.3.2
Install into the current project instead of your user Pi settings:
pi install npm:pi-producthunt -l
Or install from GitHub:
pi install git:github.com/eiei114/pi-producthunt
Try without installing permanently:
pi -e npm:pi-producthunt
For local development from a checkout:
pi -e .
Quick start
- Install the package:
pi install npm:pi-producthunt
- Authenticate with Product Hunt:
/producthunt:login
- Fetch today's launches:
/producthunt:today
Or search for a topic:
/producthunt:search
Agents can fetch Product Hunt data directly with typed tools:
producthunt_get_posts({ limit: 5 })
producthunt_search_posts({ query: "AI coding agent", limit: 10 })
Authentication
Product Hunt access comes from one of two sources:
- Environment variable
PRODUCTHUNT_ACCESS_TOKEN - Stored login written by
/producthunt:loginto~/.pi/agent/pi-producthunt-auth.json
Precedence: when both are set, the environment variable wins. The stored login file is ignored until you unset the environment variable or start Pi without it.
Use the interactive login command:
/producthunt:login
Remove the stored token with:
/producthunt:logout
/producthunt:logout only clears the stored login file. It does not change PRODUCTHUNT_ACCESS_TOKEN in your shell.
Set a token through the environment when you prefer shell-based configuration:
export PRODUCTHUNT_ACCESS_TOKEN=...
Check auth without exposing secrets:
/producthunt:status
/producthunt:status reports the active token source (environment vs stored login), validates the token against the Product Hunt API when possible, and prints concise recovery steps for common failures:
- missing token
- unreadable or invalid stored login file
- rejected or invalid API token
- transient validation errors
Token values are always redacted from status output, logs, and error messages.
Commands
Commands are human-facing and require no fixed inline arguments. If input is needed, Pi asks interactively.
/producthunt:status
/producthunt:login
/producthunt:logout
/producthunt:today
/producthunt:search
/producthunt:post
/producthunt:comments
/producthunt:digest
/producthunt:research
/producthunt:watchlist
/producthunt:cards
Example flows:
/producthunt:today # today's launch list
/producthunt:search # asks for a search query
/producthunt:post # asks for slug, ID, or URL
/producthunt:comments # asks for slug, ID, or URL
/producthunt:digest # asks for today / yesterday / custom date
/producthunt:research # asks for a research topic
/producthunt:watchlist # asks for a topic and returns a compact revisit list
/producthunt:cards # asks for a topic and returns paste-ready product cards
Agent tools
Agents can call these typed tools directly:
producthunt_status
producthunt_get_posts
producthunt_search_posts
producthunt_get_post
producthunt_get_post_comments
producthunt_research_topic
producthunt_topic_watchlist
producthunt_research_product_cards
producthunt_digest
Examples:
producthunt_search_posts({ query: "AI coding agent", limit: 10 })
producthunt_get_post({ ref: "example-product-slug" })
producthunt_get_post_comments({ ref: "example-product-slug", limit: 10 })
producthunt_digest({ date: "2026-06-01", limit: 10 })
producthunt_topic_watchlist({ query: "AI coding agent", limit: 5 })
producthunt_research_product_cards({ query: "AI coding agent", limit: 5 })
See docs/watchlist.md for when to use a watchlist vs a full digest or research pack.
See docs/research-pack.md for when to prefer product cards over raw tool output.
Package contents
| Path | Purpose |
|---|---|
extensions/ |
Pi extension entrypoint and command/tool registration |
lib/ |
Product Hunt API client, auth store, formatters, schemas, helpers |
docs/ |
Release notes, usage examples, and watchlist guidance |
Development
npm install
npm run ci
npm run ci runs:
- TypeScript typecheck
- Node tests
npm pack --dry-run
Release
This package is set up for npm Trusted Publishing, so no NPM_TOKEN is required.
npm version patch
git push
See docs/release.md for setup details.
Security
Pi packages execute with your local permissions. Review source before installing third-party packages.
Product Hunt tokens are never committed by this package. /producthunt:login stores the token locally in ~/.pi/agent/pi-producthunt-auth.json; /producthunt:logout deletes that stored file. PRODUCTHUNT_ACCESS_TOKEN is never modified by logout.
For vulnerability reporting, see SECURITY.md.
Links
- npm: https://www.npmjs.com/package/pi-producthunt
- GitHub: https://github.com/eiei114/pi-producthunt
- Issues: https://github.com/eiei114/pi-producthunt/issues
License
MIT
