npx agentspec-cli install af7e9882-a12b-40b0-80cb-a6d11ccb09d4 --file-type gemini-md→ GEMINI.md
# Fetchy Neon (v3.0.0)
## Project Overview
**Fetchy Neon** is an open-source, modern media downloader application. It allows users to download videos and photos from platforms like Facebook, Instagram, and TikTok. This version ("Neon") is a complete rewrite focusing on performance, modularity, and a refreshed UI.
### Key Technologies
* **Framework:** [Next.js 15.3](https://nextjs.org/) (App Router)
* **Language:** [TypeScript](https://www.typescriptlang.org/)
* **Styling:** [Tailwind CSS v4](https://tailwindcss.com/)
* **Runtime/Package Manager:** [Bun](https://bun.sh/)
* **Database/Cache:** [Upstash Redis](https://upstash.com/) (Logging, CDN keys)
* **Content Management:** [FumaDocs](https://fumadocs.vercel.app/) (Blogs)
* **Internationalization:** `next-intl`
### Architecture Highlights
* **Dynamic Tool System:** Tools (downloaders for specific platforms) are defined in `src/app/[lang]/(default)/tool/` and use a custom frontmatter-based configuration (`tool.config.ts`) to register themselves dynamically.
* **Unified API:** API routes in `src/app/api/dl/` handle the downloading logic, delegating to platform-specific scrapers in `src/lib/[platform]/`.
* **Scraper Logic:** Located in `src/lib/[platform]`. These modules handle URL parsing, fetching data (often via GraphQL or external APIs), and formatting the response into a unified structure.
* **Blogging:** Powered by FumaDocs, content lives in `content/blogs/`.
## Building and Running
This project uses **Bun** as the package manager and task runner.
### Prerequisites
* **Bun:** Ensure Bun is installed (`curl -fsSL https://bun.sh/install | bash`).
* **Environment Variables:** Copy `.env.example` to `.env` and populate the required keys (Upstash Redis, API keys, etc.).
### Commands
* **Install Dependencies:**
```bash
bun install
```
* **Development Server:**
```bash
bun dev
```
Runs the app at `http://localhost:3000`.
* **Build for Production:**
```bash
bun build
```
* **Start Production Server:**
```bash
bun start
```
* **Linting:**
```bash
bun lint
```
## Directory Structure
* **`.source/`**: Generated by FumaDocs.
* **`.tools/`**: Generated tool metadata.
* **`content/`**: Markdown/MDX content for blogs.
* **`i18n/`**: Localization files (JSON) for `next-intl`.
* **`plugins/`**: Custom Next.js plugins (e.g., for frontmatter processing).
* **`public/`**: Static assets (images, favicons).
* **`src/app/`**: Next.js App Router pages and API routes.
* `[lang]/`: Localized routes.
* `(admin)/`: Admin dashboard routes.
* `(default)/tool/`: Individual downloader tool pages.
* `api/dl/`: Backend logic for downloaders.
* **`src/components/`**: Reusable UI components (Shadcn UI, custom components).
* **`src/lib/`**: Core logic, utilities, and platform-specific scrapers.
* `facebook/`, `instagram/`, `tiktok/`: Scraper logic.
* **`src/types/`**: TypeScript type definitions.
## Development Conventions
* **Code Style:** Adhere to the project's ESLint and Prettier configurations.
* **Tool Creation:** To add a new tool, create a directory in `src/app/[lang]/(default)/tool/[tool-name]`. It must include a `meta.ts` (frontmatter) and a `page.tsx`.
* **Scrapers:** Scrapers should return normalized data structures (defined in `src/types/api/downloader/`) to ensure consistent UI rendering.
* **Commits:** Follow standard git commit message conventions.
Project Overview
A utility to fetch and list contributors for multiple GitHub repositories using the GitHub REST API. Features both a CLI interface and a web-based UI with batch processing capabilities.
by AgentHub Crawler
baoyu-url-to-markdown
Fetch any URL and convert to markdown using baoyu-fetch CLI (Chrome CDP with site-specific adapters). Built-in adapters for X/Twitter, YouTube transcripts, Hacker News threads, and generic pages via Defuddle. Handles login/CAPTCHA via interaction wait modes. Use when user wants to save a webpage as markdown.
by AgentHub Crawler
neon-realtime
Neon Realtime makes any SQL query live. Build realtime, reactive apps and agents on Lakebase Postgres with live SQL queries and reactivity primitives. Use when app UI or agent state must update live from database rows (dashboards, feeds, collaboration, multi-user or multi-device sync), for optimistic mutations, or to replace polling or other realtime sync systems. Triggers include "live query", "subscribe", "sync engine", "useLiveQuery", "TanStack DB", "optimistic updates", "@neon/realtime". For push that d
Sign in to leave a comment.
by AgentHub Crawler