{"id":48095527,"url":"https://github.com/liutao773680119-cmyk/github-explorer","last_synced_at":"2026-04-04T15:35:36.429Z","repository":{"id":341328244,"uuid":"1169605930","full_name":"liutao773680119-cmyk/github-explorer","owner":"liutao773680119-cmyk","description":"A GitHub project discovery and analysis dashboard focused on AI tools, coding agents, and developer workflows.","archived":false,"fork":false,"pushed_at":"2026-04-02T13:39:20.000Z","size":1671,"stargazers_count":2,"open_issues_count":3,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-02T20:06:56.584Z","etag":null,"topics":["ai","coding-agents","developer-productivity","developer-tools","github","github-actions","nextjs","open-source","trend-analysis","typescript"],"latest_commit_sha":null,"homepage":"https://github-explorer-xi-ivory.vercel.app","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/liutao773680119-cmyk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-02-28T23:40:57.000Z","updated_at":"2026-04-02T04:16:44.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/liutao773680119-cmyk/github-explorer","commit_stats":null,"previous_names":["liutao773680119-cmyk/github-explorer"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/liutao773680119-cmyk/github-explorer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liutao773680119-cmyk%2Fgithub-explorer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liutao773680119-cmyk%2Fgithub-explorer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liutao773680119-cmyk%2Fgithub-explorer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liutao773680119-cmyk%2Fgithub-explorer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/liutao773680119-cmyk","download_url":"https://codeload.github.com/liutao773680119-cmyk/github-explorer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liutao773680119-cmyk%2Fgithub-explorer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31403959,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T10:20:44.708Z","status":"ssl_error","status_checked_at":"2026-04-04T10:20:06.846Z","response_time":60,"last_error":"SSL_read: 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":["ai","coding-agents","developer-productivity","developer-tools","github","github-actions","nextjs","open-source","trend-analysis","typescript"],"created_at":"2026-04-04T15:35:36.100Z","updated_at":"2026-04-04T15:35:36.400Z","avatar_url":"https://github.com/liutao773680119-cmyk.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GitHub Explorer\n\n[![CI](https://github.com/liutao773680119-cmyk/github-explorer/actions/workflows/ci.yml/badge.svg)](https://github.com/liutao773680119-cmyk/github-explorer/actions/workflows/ci.yml)\n[![Daily Update](https://github.com/liutao773680119-cmyk/github-explorer/actions/workflows/daily-update.yml/badge.svg)](https://github.com/liutao773680119-cmyk/github-explorer/actions/workflows/daily-update.yml)\n[![Re-analyze](https://github.com/liutao773680119-cmyk/github-explorer/actions/workflows/re-analyze.yml/badge.svg)](https://github.com/liutao773680119-cmyk/github-explorer/actions/workflows/re-analyze.yml)\n\n`GitHub Explorer` is a public curation dashboard for discovering promising GitHub projects, with a focus on AI, agent tooling, developer workflows, and fast-moving open-source trends.\n\nIt combines GitHub search, README ingestion, model-generated interpretation, and daily snapshots into a small maintainer-friendly workflow:\n\n- Fetch trending and classic repositories from GitHub every day.\n- Analyze new repositories into structured summaries instead of raw links.\n- Surface use cases, positioning, quick-start signals, and \"vibe coding\" fit.\n- Keep historical data in-repo so results are reviewable and reproducible.\n- Provide a lightweight UI for filtering, reading, and triaging projects quickly.\n\n## Why This Project Exists\n\nGitHub trending pages are useful, but they are noisy for maintainers, indie builders, and AI-tooling explorers who need to answer practical questions fast:\n\n- Is this project actually active?\n- Who is it for?\n- What problem does it solve?\n- Is it worth reviewing now, or later?\n- Does it fit a current workflow around coding agents, automation, or developer tooling?\n\n`GitHub Explorer` turns raw repository discovery into a daily maintainer workflow.\n\n## What It Does\n\n### Daily collection\n\nThe scheduled workflow fetches four kinds of repositories:\n\n- daily trending\n- weekly trending\n- rising-by-stars\n- classic/high-signal repositories\n\n### Structured interpretation\n\nFor newly discovered repositories, the pipeline reads the repository metadata and README, then writes a normalized analysis including:\n\n- positioning\n- target audience\n- likely use cases\n- quick-start hints\n- competitor context\n- category\n- community activity notes\n- vibe-coding score\n\n### Review-oriented UI\n\nThe Next.js app lets you:\n\n- browse today's trending projects\n- switch between weekly, new-stars, vibe-coding, classic, and favorites views\n- search across descriptions and analysis fields\n- sort by stars, activity, creation time, and vibe-coding score\n- mark repositories as favorite or read\n\n## Stack\n\n- Next.js 16\n- React 19\n- TypeScript\n- GitHub API via `@octokit/rest`\n- OpenAI-compatible model backends for structured analysis\n- GitHub Actions for scheduled updates\n\n## Quick Start\n\n### 1. Install dependencies\n\n```bash\nnpm ci\n```\n\n### 2. Configure environment\n\nCreate a local `.env.local` file if you want to run analysis locally:\n\n```bash\nGITHUB_TOKEN=your_github_token\nAI_PROVIDER=gemini\nGEMINI_API_KEY=your_gemini_api_key\n```\n\n`GITHUB_TOKEN` is used for repository search and metadata.\n\n`AI_PROVIDER` selects the analysis backend. Supported values currently include:\n\n- `gemini`\n- `deepseek`\n- `openai`\n- `openrouter`\n\n`GEMINI_API_KEY` is used when `AI_PROVIDER=gemini`.\n\nOptional provider-specific keys:\n\n```bash\nDEEPSEEK_API_KEY=your_deepseek_api_key\nOPENAI_API_KEY=your_openai_api_key\nOPENROUTER_API_KEY=your_openrouter_api_key\nAI_MODEL=optional_model_override\n```\n\n`AI_MODEL` can override the default model configured for the selected provider.\n\n### 3. Start the app\n\n```bash\nnpm run dev\n```\n\nOpen [http://localhost:3000](http://localhost:3000).\n\n## Available Scripts\n\n- `npm run dev`: start the local Next.js app\n- `npm run build`: generate version metadata and build production assets\n- `npm run start`: run the production build\n- `npm run lint`: run ESLint\n- `npm run test`: run repository unit tests\n\n## Maintainer Workflows\n\n### Scheduled daily refresh\n\n`.github/workflows/daily-update.yml` runs every day and:\n\n1. fetches candidate repositories from GitHub\n2. enriches new entries with structured analysis\n3. updates `data/projects.json`, `data/stats.json`, and daily snapshots\n4. commits generated data back to the repository\n\n### Manual re-analysis\n\n`.github/workflows/re-analyze.yml` lets the maintainer re-run analysis for a specific repository with `owner/repo` input.\n\n### Continuous verification\n\n`.github/workflows/ci.yml` validates core repository behavior on every push and pull request by running:\n\n- install\n- lint\n- tests\n- production build\n\n## Data Layout\n\n- `data/projects.json`: canonical analyzed project records\n- `data/stats.json`: stats and repository health metadata\n- `data/daily/*.json`: daily snapshots for trend slices\n- `data/logs/*.json`: job execution logs\n\n## Repository Structure\n\n```text\napp/\n  components/     UI components\n  lib/            shared types, config, data utilities, storage helpers\ndata/             generated project data, stats, logs, and snapshots\ndocs/             plans and maintainer-facing documentation\nscripts/          ingestion, analysis, and utility scripts\n.github/workflows automation and CI\ntests/            unit tests for core utilities\n```\n\n## Contributing\n\nContributions are welcome, especially in these areas:\n\n- better ranking and filtering signals\n- clearer analysis prompts and validation\n- additional repository health heuristics\n- UX improvements for fast triage workflows\n- performance and data-quality improvements\n\nStart with [CONTRIBUTING.md](./CONTRIBUTING.md).\n\n## Security\n\nIf you find a vulnerability or a secret-handling issue, please use the process in [SECURITY.md](./SECURITY.md).\n\n## Maintainer Notes\n\n- Primary maintainer: [`@liutao773680119-cmyk`](https://github.com/liutao773680119-cmyk)\n- Repository control is documented in [`CODEOWNERS`](./.github/CODEOWNERS)\n- Project operation notes for applications and repository stewardship live in [docs/maintainer-brief.md](./docs/maintainer-brief.md)\n- System design is summarized in [docs/architecture.md](./docs/architecture.md)\n- Workflow operation guidance is documented in [docs/operations.md](./docs/operations.md)\n\n## Roadmap\n\n- Add more explainable ranking signals beyond stars\n- Support multi-model analysis backends behind a stable interface\n- Expose snapshot history directly in the UI\n- Add regression tests around pipeline JSON contracts\n- Make generated project insights easier to export and share\n\n## Status\n\nThis repository is actively maintained. The public workflows, generated daily data, and CI checks are intended to make maintenance visible rather than implicit.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliutao773680119-cmyk%2Fgithub-explorer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fliutao773680119-cmyk%2Fgithub-explorer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliutao773680119-cmyk%2Fgithub-explorer/lists"}