{"id":43100245,"url":"https://github.com/stonega/notebooklm-tools","last_synced_at":"2026-01-31T17:11:27.360Z","repository":{"id":326190701,"uuid":"1089397099","full_name":"stonega/notebooklm-tools","owner":"stonega","description":"A collection of tools to generate ready-to-import source bundles for Google's NotebookLM from various web content.","archived":false,"fork":false,"pushed_at":"2026-01-19T07:40:37.000Z","size":247,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-19T16:27:04.920Z","etag":null,"topics":["hackernews","notebooklm","rss"],"latest_commit_sha":null,"homepage":"https://notebooklm.tools","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stonega.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-04T09:37:26.000Z","updated_at":"2026-01-19T07:40:41.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/stonega/notebooklm-tools","commit_stats":null,"previous_names":["stonega/notebooklm-tools"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/stonega/notebooklm-tools","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stonega%2Fnotebooklm-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stonega%2Fnotebooklm-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stonega%2Fnotebooklm-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stonega%2Fnotebooklm-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stonega","download_url":"https://codeload.github.com/stonega/notebooklm-tools/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stonega%2Fnotebooklm-tools/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28948358,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T14:26:55.697Z","status":"ssl_error","status_checked_at":"2026-01-31T14:26:52.545Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hackernews","notebooklm","rss"],"created_at":"2026-01-31T17:11:26.504Z","updated_at":"2026-01-31T17:11:27.354Z","avatar_url":"https://github.com/stonega.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NotebookLM Tools\n\nA collection of tools to generate ready-to-import source bundles for Google's NotebookLM from various web content.\n\n---\n\n## Tools\n\nThis repository currently includes three source builders:\n\n1.  **RSS Feed Source Builder**: `(/)` Converts any public RSS feed into a NotebookLM source bundle. It fetches the latest entries, extracts the content provided in the feed, and packages it into a downloadable `.zip` file.\n2.  **Hacker News Source Builder**: `(/hackernews)` A specialized tool that fetches the top stories from the Hacker News front page, extracts the full article content from each link, and creates a comprehensive NotebookLM source bundle.\n3.  **LLMs.txt Fetcher**: `(/llmstxt)` Fetches or generates [llms.txt](https://llmstxt.org/) files from documentation sites. This tool provides LLM-friendly content that can be used as context for AI applications.\n\n## Features\n\n-   **One-Click Conversion**: Simple interface to turn web content into NotebookLM sources.\n-   **Clean Content Extraction**: Uses `@mozilla/readability` to get the core content from articles, removing boilerplate and ads.\n-   **Structured Output**: Generates a `.zip` bundle with a `manifest.json`, `sources.json`, and individual Markdown files for each entry, following the NotebookLM source bundle specification.\n-   **Metadata Preservation**: Includes metadata like title, URL, and publication date in the generated sources.\n-   **LLMs.txt Support**: Fetch existing `llms-full.txt` or `llms.txt` files, or generate them using Firecrawl and OpenRouter APIs.\n-   **Modern Tech Stack**: Built with React, TypeScript, Vite, and Tailwind CSS.\n\n## Getting Started\n\n### Prerequisites\n\n-   [Node.js](https://nodejs.org/) (v18 or newer recommended)\n-   [bun](https://bun.sh/)\n\n### Installation\n\n1.  Clone the repository:\n    ```bash\n    git clone https://github.com/\u003cYOUR_GH_USERNAME\u003e/notebooklm-tools.git\n    cd notebooklm-tools\n    ```\n\n2.  Install the dependencies:\n    ```bash\n    bun install\n    ```\n\n### Development\n\nStart the development server:\n\n```bash\nbun run dev\n```\n\nYour application will be available at `http://localhost:5173`.\n\n## Configuration\n\nSet the canonical site URL so generated SEO metadata (canonical links, Open Graph tags, JSON-LD) point to the correct domain:\n\n1. Create a `.env` file at the project root if it does not exist yet.\n2. Add the environment variable with your production hostname (no trailing slash):\n\n   ```bash\n   VITE_SITE_URL=https://your-domain.example\n   ```\n\n3. Restart the dev server after updating the value.\n\n## Building for Production\n\nCreate a production-ready build:\n\n```bash\nbun run build\n```\n\nYou can then run the server with:\n```bash\nbun start\n```\n\n## LLMs.txt Fetcher\n\nThe LLMs.txt Fetcher tool (`/llmstxt`) helps you obtain LLM-friendly documentation from any website.\n\n### How It Works\n\n1. **Checks for `/llms-full.txt`** - First looks for the full documentation file at the site root\n2. **Falls back to `/llms.txt`** - If full version not found, checks for the standard llms.txt\n3. **Generates content** - If neither exists, can generate using external APIs\n\n### Generation Mode\n\nIf no llms.txt files are found on the target site, you can generate one by providing:\n\n- **[Firecrawl API Key](https://firecrawl.dev/)** - Used to map and scrape website URLs\n- **[OpenRouter API Key](https://openrouter.ai/)** - Used to generate titles and descriptions with AI (uses `gpt-4o-mini`)\n\nThe generator will:\n1. Map all URLs on the website (up to 50 pages)\n2. Scrape each page for its markdown content\n3. Generate concise titles and descriptions using AI\n4. Compile everything into a downloadable text file\n\n### What is llms.txt?\n\n[llms.txt](https://llmstxt.org/) is a proposed standard for websites to provide LLM-friendly content. It's a markdown file at `/llms.txt` that contains:\n- A title and description of the site\n- Links to additional documentation pages\n- Structured content optimized for LLM consumption\n\n## Tech Stack\n\n-   **Framework**: [React](https://react.dev/) with [React Router](https://reactrouter.com/)\n-   **Build Tool**: [Vite](https://vitejs.dev/)\n-   **Language**: [TypeScript](https://www.typescriptlang.org/)\n-   **Styling**: [Tailwind CSS](https://tailwindcss.com/)\n-   **UI Components**: [shadcn/ui](https://ui.shadcn.com/)\n-   **Backend/Server-side Logic**:\n    -   `rss-parser` for parsing RSS feeds.\n    -   `@mozilla/readability` and `jsdom` for article content extraction.\n    -   `jszip` for creating `.zip` archives.\n    -   [Firecrawl](https://firecrawl.dev/) for website scraping (optional, for llms.txt generation).\n    -   [OpenRouter](https://openrouter.ai/) for AI-powered content generation (optional, for llms.txt generation).\n\n## Contributing\n\nContributions are welcome! If you have an idea for a new source builder or want to improve an existing one, please open an issue or submit a pull request.\n\n## License\n\nThis project is licensed under the MIT License. See the `LICENSE` file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstonega%2Fnotebooklm-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstonega%2Fnotebooklm-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstonega%2Fnotebooklm-tools/lists"}