Files
store/data/tools/directory-and-repo-ingestion.json
zeekay 8fd4fd4bd9 Drop the catalog's expired artwork urls; artwork is served from our own origin
All 457 icon and screenshot urls across all 202 apps were presigned links to a
single bucket, signed 2025-11-05 with X-Amz-Expires=86400. They have answered
403 ExpiredRequest since the day after, and a presigned url cannot be re-signed
by whoever holds it, so the images are unrecoverable through the only address
anyone had for them and no copy exists elsewhere. There is nothing to re-host.

A url that cannot resolve is not artwork, it is an outbound request that always
fails, so the fields are removed rather than repointed. AppIcon already renders
the initial when icon is absent and the Screenshots panel already hides on an
empty list, so the page looks the same and loses 202 failing requests and 245 KB
of catalog per visit: store.json goes 494 KB to 249 KB.

Artwork is served from this site's own origin as a root-relative path. data/ is
the one source both generate-store.js and the hanzoai/cdn market build copy from
verbatim, so the rule holds in one place.
2026-08-19 22:52:10 -07:00

40 lines
2.4 KiB
JSON

{
"id": "directory-and-repo-ingestion",
"name": "Directory and Repo Ingestion",
"description": "Ingests local directories or remote GitHub repositories and consolidates their contents into a single, structured text file, optimized for LLM analysis.\n\nKey Features:\n\n* Dual Source Ingestion: Processes code from either a local file path or a direct GitHub repository URL.\n* Structured Output: Generates a clean document containing a summary, a visual directory tree, and the full content of each included file.\n* Granular Content Filtering: Provides robust control over what gets included, with sensible defaults for:\n * Ignoring common directories (`.git`, `node_modules`, `__pycache__`, etc.).\n * Ignoring binary and non-text file extensions (`.pyc`, `.png`, `.pdf`, etc.).\n * Including only recognized code-like files (`.py`, `.js`, `.yml`, `.md`, etc.).\n* File Size Capping: Prevents overly large outputs by skipping the content of individual files that exceed a configurable size limit.\n* Flexible Export Formats: Outputs the final document as either Markdown (`.md`) for rich formatting or Plain Text (`.txt`) for maximum compatibility.\n* LLM-Ready Metrics: Reports the total token count (using `cl100k_base`) and final file size upon completion.\n\nNotes:\n\n* Individual files larger than 100 KB are skipped by default to manage output size. This limit is configurable via the `max_file_size_kb` input.\n* The tool recursively scans all subdirectories, building a complete map of the project structure while applying the filtering rules.\n* The `git` command-line tool must be installed and accessible in your system's PATH to process GitHub URLs.",
"version": "1.0.0",
"author": "hanzo.ai",
"homepage": "local:::__hanzo:::directory_and_repo_ingestion",
"license": "MIT",
"category": "Developer Tools",
"tags": [
"directory",
"repository",
"git",
"github",
"ingest",
"code",
"code base"
],
"installCommand": "",
"mcpConfig": {
"command": "any",
"args": [
"local:::__hanzo:::directory_and_repo_ingestion"
],
"env": {}
},
"downloads": 3,
"createdAt": "2025-09-17T11:07:01.233Z",
"updatedAt": "2025-09-17T11:07:01.233Z",
"type": "Tool",
"toolLanguage": "Python",
"operatingSystem": [
"linux",
"macos",
"windows"
],
"runner": "any",
"featured": true,
"price": 0
}