Skip to content

AditthyaSS/forkling

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

13 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Forky the axolotl

🦎 Hey, I'm Forky β€” an axolotl who lives inside this project. I'll be your guide as you look around.
Axolotls regenerate limbs when they lose them, which felt fitting for a tool about forks and lineages. Anyway β€” let's dig in.

Forkling is a deep-dive tool for open-source repos β€” health scores, contributor networks, issue triage, and more. It also has a section for browsing open-weight LLMs, in case you're picking a model for your project.

Live app: https://forkling.vercel.app/


🧑 What Forky can show you

  • Repo Explorer β€” search any GitHub org or owner/repo and get the full picture: health score, contributor bus-factor, a code-ownership network graph, commit/issue analytics, and a "good first issue" triage panel. Forky's favorite part β€” this is where you find out if a repo is actually worth your time.
  • Compare β€” line up to 3 repos side-by-side (stars, forks, license, health, activity)
  • Open-Source LLM Explorer β€” a leaderboard of open-weight models (Llama, Mistral, Qwen, DeepSeek, and more), filterable by license, size, and context window
  • Contributor Guide β€” a plain-language path for anyone making their first open-source contribution β€” Forky wrote this one specifically for first-timers, so don't be shy.

πŸ› οΈ Tech Stack

Layer Tech
Framework React 18 + Vite
Routing React Router 6
Styling TailwindCSS 4 (@theme design tokens)
Visualization D3.js (network graph) + Recharts (trend charts)
Data GitHub REST API + Hugging Face Hub API β€” no backend, no server-side code
Caching IndexedDB (1-hour TTL response cache) + localStorage (user settings)

πŸš€ Getting Started

Forky: setting this up takes about two minutes. Here's the whole thing.

git clone https://github.com/<your-org>/forkling.git
cd forkling
npm install
npm run dev

The app runs entirely client-side. You don't need any API keys to try it out, but you'll hit GitHub's unauthenticated rate limit fast (60 requests/hour). To raise that to 5,000/hour:

  1. Create a GitHub Personal Access Token β€” no special scopes needed for public data
  2. Open the app's Settings panel and paste it in β€” it's stored only in your browser's localStorage, never sent anywhere except directly to GitHub's API

πŸ“ Project Structure

forkling/
β”œβ”€β”€ public/
β”‚   β”œβ”€β”€ Forkling_logo.png        # Forky mascot (navbar + footer)
β”‚   β”œβ”€β”€ fl.png                   # README hero image
β”‚   └── favicon.svg
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ api/
β”‚   β”‚   β”œβ”€β”€ cache.js             # IndexedDB fetchWithCache() β€” 1hr TTL
β”‚   β”‚   β”œβ”€β”€ github.js            # GitHub REST API v3 wrapper
β”‚   β”‚   └── huggingface.js       # Hugging Face Hub API wrapper
β”‚   β”œβ”€β”€ assets/                  # Static images
β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ FilterChips.jsx      # Language / topic / status filter row
β”‚   β”‚   β”œβ”€β”€ Footer.jsx           # Site footer
β”‚   β”‚   β”œβ”€β”€ ForkyState.jsx       # Forky mascot β€” empty states & loading
β”‚   β”‚   β”œβ”€β”€ ModelIcon.jsx        # Org avatar β†’ react-icon fallback for LLM cards
β”‚   β”‚   β”œβ”€β”€ Navbar.jsx           # Fixed top nav with dark mode + settings
β”‚   β”‚   β”œβ”€β”€ RateLimitBanner.jsx  # GitHub API rate limit indicator
β”‚   β”‚   β”œβ”€β”€ RepoCard.jsx         # Home grid card (Compare + View actions)
β”‚   β”‚   β”œβ”€β”€ RepoLayout.jsx       # Shared tabbed layout for /repo/:owner/:name
β”‚   β”‚   β”œβ”€β”€ ScrollButtons.jsx    # Floating scroll-to-top / scroll-to-bottom
β”‚   β”‚   └── SettingsModal.jsx    # GitHub PAT + HF token entry
β”‚   β”œβ”€β”€ context/
β”‚   β”‚   └── AppContext.jsx       # Theme, compare list, rate limit, recent searches
β”‚   β”œβ”€β”€ pages/
β”‚   β”‚   β”œβ”€β”€ HomePage.jsx         # Hero + stats + filters + repo card grid
β”‚   β”‚   β”œβ”€β”€ ComparePage.jsx      # 3-slot side-by-side repo comparison
β”‚   β”‚   β”œβ”€β”€ GuidePage.jsx        # Static contributor guide (editorial)
β”‚   β”‚   β”œβ”€β”€ ModelsPage.jsx       # LLM Explorer β€” model grid + category pills
β”‚   β”‚   β”œβ”€β”€ ModelDetailPage.jsx  # Single model detail
β”‚   β”‚   β”œβ”€β”€ RepoOverviewPage.jsx       # Tab: metrics, languages, recent commits
β”‚   β”‚   β”œβ”€β”€ RepoContributorsPage.jsx   # Tab: contributor list + bar chart
β”‚   β”‚   β”œβ”€β”€ RepoNetworkPage.jsx        # Tab: D3 force graph (code ownership / issues)
β”‚   β”‚   β”œβ”€β”€ RepoAnalyticsPage.jsx      # Tab: commit activity + participation charts
β”‚   β”‚   β”œβ”€β”€ RepoIssuesPage.jsx         # Tab: good-first-issue triage
β”‚   β”‚   └── RepoGovernancePage.jsx     # Tab: community health + license check
β”‚   β”œβ”€β”€ App.jsx                  # Router + layout shell
β”‚   β”œβ”€β”€ main.jsx                 # React entry point
β”‚   └── index.css                # Tailwind v4 @theme tokens + global styles
β”œβ”€β”€ .github/
β”‚   └── ISSUE_TEMPLATE/
β”‚       β”œβ”€β”€ bug-report.md
β”‚       └── feature-request.md
β”œβ”€β”€ CONTRIBUTING.md
β”œβ”€β”€ SECURITY.md
β”œβ”€β”€ index.html
β”œβ”€β”€ vite.config.js
└── package.json

🀝 Contributing

See CONTRIBUTING.md β€” Forky walks through it there.


πŸ—ΊοΈ Roadmap

Current version is fully static (no backend). Planned for a future version (see open issues for details):

  • Trending repos/orgs and trending models
  • Personal "what should I work on today" feed
  • Notifications for repo/model activity
  • Embeddable repo-health badges

πŸ“„ License

MIT


🦎 Forky: that's the whole tour. Go poke around, fork something, and if you get stuck β€” CONTRIBUTING.md has you covered. See you in the network graph.