Monorepo and development
hn-get is a pnpm and Turborepo workspace running on Node.js 24.18.0.
apps/docs Starlight documentationapps/worker Cloudflare HTTP API, RSS, and remote MCPpackages/core Hacker News and Algolia data clientpackages/rss RSS routing and XML renderingpackages/mcp Shared MCP tool registrypackages/cli Published CLI and local stdio MCPCore owns the upstream behavior and data normalization. The clients parse input and format the same results for their transport.
Run the workspace locally
Section titled “Run the workspace locally”nvm usecorepack enablepnpm installpnpm checkpnpm security:checkpnpm pack:dry-runpnpm worker:deploy:dry-runRun the Worker and docs separately during development:
pnpm devpnpm dev:docsPublish the npm package
Section titled “Publish the npm package”The publish workflow runs from main when packages/cli/package.json has a version not already on npm. npm trusted publishing uses GitHub OIDC, so the repository does not store an npm token.
Configure the npm package with iannuttall as the owner, hn-get as the repository, and publish.yml as the workflow filename. Allow the npm publish action.