Project Overview
is a curated index of high-quality βawesome-*β lists on GitHub. You use it as a discovery hub when your team needs vetted starting points across languages, infrastructure, security, productivity, and many niche domains.
You do not install a runtime package here. You consume a maintained map of links, then drill into topic-specific repositories. Your practical outcome is faster shortlist creation when you need to evaluate tools, libraries, frameworks, or learning resources.
For production planning, treat it as a discovery layer, not a source of truth for compatibility, support guarantees, or SLA expectations.
Key Challenges Addressed
When your team researches open source by raw GitHub search, signal quality drops quickly: duplicate repos, abandoned projects, and unclear quality bars. Awesome targets that with curation policies and structured categories.
- Category-based navigation that reduces random search churn.
- Maintained inclusion standards so low-quality lists are filtered before landing in the index.
- A contribution workflow that keeps list quality aligned over time.
- A single entry point that cuts context switching during early evaluation.
You still need your own validation for security, licensing, release cadence, and fit with your architecture.
Getting Started
You can start using Awesome immediately in the browser, then move to contribution flow if your team wants to improve coverage.
git clone https://github.com/sindresorhus/awesome.git
cd awesome
First useful workflow:
1. Open the main README and scan top-level categories.
2. Open candidate awesome lists for your problem area.
3. Build an internal shortlist with your acceptance criteria.
4. If a high-quality list is missing, follow contribution rules before opening a PR.
Sharp edges you will hit early:
- Inclusion quality bar is intentionally strict.
- Category placement and naming consistency matter during review.
- Link quality and maintenance expectations can block low-signal submissions.
Features and Use Cases
Core features you can apply directly:
- Curated taxonomy: You get a broad project map that speeds up initial research.
- Editorial quality control: You rely on screening pressure before a list gets indexed.
- Community maintenance: You benefit from continual cleanup and additions through pull requests.
- Low-friction consumption: You browse plain Markdown without platform lock-in.
Common team scenarios:
- Architecture spikes: You gather a fast option set before deeper proof-of-concept work.
- Migration planning: You discover replacement ecosystems when deprecating old stacks.
- Internal enablement: You seed team knowledge bases with vetted upstream list sources.
- Hiring/onboarding: You create practical reading paths from curated topic hubs.
Ecosystem and Dependencies
Awesome itself is repository-first and Markdown-first. You mainly depend on GitHub primitives: pull requests, issue tracking, and standard repository governance.
You gain the most value when you pair it with:
- Internal evaluation templates for licensing, security posture, and operability.
- CI checks in your own environment for dependency and policy scanning after shortlist creation.
- Topic-specific awesome lists that align with your actual stack choices.
Because the project is an index, your operational dependency risk sits mostly in downstream repos you choose from the list, not in Awesomeβs runtime footprint.
Architectural Overview
The architecture is intentionally simple:
- A central index repository acts as the discovery root.
- Categorized links point to separate topic repositories.
- Governance and contribution rules define what qualifies for inclusion.
- Ongoing review maintains consistency and list quality.
Why this design matters for your team:
- Performance: No runtime service dependency for browsing and triage.
- Extensibility: New domains fit by adding curated list entries, not rewriting platform code.
- Operability: Minimal moving parts reduce maintenance burden.
- Upgrade path: You can change your downstream tool choices without coupling to a central app backend.
Pros and Cons
- Pro: Strong curation standards reduce low-quality discovery noise.
- Pro: Broad topical coverage supports many research tracks from one entry point.
- Pro: Simple repository model is easy to audit and integrate into team workflows.
- Con: Coverage quality varies by linked downstream list maturity.
- Con: No runtime scoring engine for your environment-specific constraints.
- Con: You still perform deep technical due diligence after shortlist generation.
Comparison and Alternatives
GitHub stars
Weekly star gains
Full metrics details
GitHub GraphQL current stargazer cohort, reconstructed from starredAt events and totalCount retrieved in one stable pagination walk. GitHub does not expose historical unstar events, so this is not an exact ledger of past star counts.
Awesome
GitHub GraphQL current stargazer cohort, reconstructed from starredAt events and totalCount retrieved in one stable pagination walk. GitHub does not expose historical unstar events, so this is not an exact ledger of past star counts.
42 observed daily rows. Missing days are not fabricated.
| Date | Value |
|---|
Awesome Awesomeness
GitHub GraphQL current stargazer cohort, reconstructed from starredAt events and totalCount retrieved in one stable pagination walk. GitHub does not expose historical unstar events, so this is not an exact ledger of past star counts.
180 observed daily rows. Missing days are not fabricated.
| Date | Value |
|---|
Public APIs
GitHub GraphQL current stargazer cohort, reconstructed from starredAt events and totalCount retrieved in one stable pagination walk. GitHub does not expose historical unstar events, so this is not an exact ledger of past star counts.
2 observed daily rows. Missing days are not fabricated.
| Date | Value |
|---|
Free Programming Books
GitHub GraphQL current stargazer cohort, reconstructed from starredAt events and totalCount retrieved in one stable pagination walk. GitHub does not expose historical unstar events, so this is not an exact ledger of past star counts.
43 observed daily rows. Missing days are not fabricated.
| Date | Value |
|---|
Awesome Python
GitHub GraphQL current stargazer cohort, reconstructed from starredAt events and totalCount retrieved in one stable pagination walk. GitHub does not expose historical unstar events, so this is not an exact ledger of past star counts.
80 observed daily rows. Missing days are not fabricated.
| Date | Value |
|---|
Issues opened
Weekly total
Full metrics details
GitHub API observation. Historical values render only when the source provides a real observation for that day.
Awesome Awesomeness
GitHub API observation. Historical values render only when the source provides a real observation for that day.
178 observed daily rows. Missing days are not fabricated.
| Date | Value |
|---|
Awesome Python
GitHub API observation. Historical values render only when the source provides a real observation for that day.
36 observed daily rows. Missing days are not fabricated.
| Date | Value |
|---|
Issues closed
Weekly total
Full metrics details
GitHub Search issue totals queried for exact UTC days; rolling values are sums of proven daily counts.
Awesome Awesomeness
GitHub Search issue totals queried for exact UTC days; rolling values are sums of proven daily counts.
178 observed daily rows. Missing days are not fabricated.
| Date | Value |
|---|
Awesome Python
GitHub Search issue totals queried for exact UTC days; rolling values are sums of proven daily counts.
36 observed daily rows. Missing days are not fabricated.
| Date | Value |
|---|
Pull requests opened
Weekly total
Full metrics details
GitHub API observation. Historical values render only when the source provides a real observation for that day.
Awesome Awesomeness
GitHub API observation. Historical values render only when the source provides a real observation for that day.
178 observed daily rows. Missing days are not fabricated.
| Date | Value |
|---|
Awesome Python
GitHub API observation. Historical values render only when the source provides a real observation for that day.
36 observed daily rows. Missing days are not fabricated.
| Date | Value |
|---|
Pull requests closed
Weekly total
Full metrics details
GitHub Search pull-request totals queried for exact UTC days; rolling values are sums of proven daily counts.
Awesome Awesomeness
GitHub Search pull-request totals queried for exact UTC days; rolling values are sums of proven daily counts.
178 observed daily rows. Missing days are not fabricated.
| Date | Value |
|---|
Awesome Python
GitHub Search pull-request totals queried for exact UTC days; rolling values are sums of proven daily counts.
36 observed daily rows. Missing days are not fabricated.
| Date | Value |
|---|
Pull requests merged
Weekly total
Full metrics details
GitHub API observation. Historical values render only when the source provides a real observation for that day.
Awesome Awesomeness
GitHub API observation. Historical values render only when the source provides a real observation for that day.
178 observed daily rows. Missing days are not fabricated.
| Date | Value |
|---|
Awesome Python
GitHub API observation. Historical values render only when the source provides a real observation for that day.
36 observed daily rows. Missing days are not fabricated.
| Date | Value |
|---|
Open/closed pull request ratio
Weekly average
Full metrics details
GitHub Search pull-request totals queried for exact UTC days; rolling values are sums of proven daily counts.
Awesome
GitHub Search pull-request totals queried for exact UTC days; rolling values are sums of proven daily counts.
42 observed daily rows. Missing days are not fabricated.
| Date | Value |
|---|
Awesome Awesomeness
GitHub Search pull-request totals queried for exact UTC days; rolling values are sums of proven daily counts.
180 observed daily rows. Missing days are not fabricated.
| Date | Value |
|---|
Public APIs
GitHub Search pull-request totals queried for exact UTC days; rolling values are sums of proven daily counts.
2 observed daily rows. Missing days are not fabricated.
| Date | Value |
|---|
Free Programming Books
GitHub Search pull-request totals queried for exact UTC days; rolling values are sums of proven daily counts.
43 observed daily rows. Missing days are not fabricated.
| Date | Value |
|---|
Awesome Python
GitHub Search pull-request totals queried for exact UTC days; rolling values are sums of proven daily counts.
80 observed daily rows. Missing days are not fabricated.
| Date | Value |
|---|
Open/closed issues ratio
Weekly average
Full metrics details
GitHub Search issue totals queried for exact UTC days; rolling values are sums of proven daily counts.
Awesome
GitHub Search issue totals queried for exact UTC days; rolling values are sums of proven daily counts.
42 observed daily rows. Missing days are not fabricated.
| Date | Value |
|---|
Awesome Awesomeness
GitHub Search issue totals queried for exact UTC days; rolling values are sums of proven daily counts.
180 observed daily rows. Missing days are not fabricated.
| Date | Value |
|---|
Public APIs
GitHub Search issue totals queried for exact UTC days; rolling values are sums of proven daily counts.
2 observed daily rows. Missing days are not fabricated.
| Date | Value |
|---|
Free Programming Books
GitHub Search issue totals queried for exact UTC days; rolling values are sums of proven daily counts.
43 observed daily rows. Missing days are not fabricated.
| Date | Value |
|---|
Awesome Python
GitHub Search issue totals queried for exact UTC days; rolling values are sums of proven daily counts.
80 observed daily rows. Missing days are not fabricated.
| Date | Value |
|---|
Releases
Weekly total
Full metrics details
GitHub release published_at events bucketed by UTC day; drafts are excluded.
Awesome
GitHub release published_at events bucketed by UTC day; drafts are excluded.
42 observed daily rows. Missing days are not fabricated.
| Date | Value |
|---|
Awesome Awesomeness
GitHub release published_at events bucketed by UTC day; drafts are excluded.
180 observed daily rows. Missing days are not fabricated.
| Date | Value |
|---|
Public APIs
GitHub release published_at events bucketed by UTC day; drafts are excluded.
2 observed daily rows. Missing days are not fabricated.
| Date | Value |
|---|
Free Programming Books
GitHub release published_at events bucketed by UTC day; drafts are excluded.
43 observed daily rows. Missing days are not fabricated.
| Date | Value |
|---|
Awesome Python
GitHub release published_at events bucketed by UTC day; drafts are excluded.
80 observed daily rows. Missing days are not fabricated.
| Date | Value |
|---|
Hotness score
Weekly average
Full metrics details
Derived only from GitHub GraphQL starredAt events after daily star totals are reconciled.
Awesome
Derived only from GitHub GraphQL starredAt events after daily star totals are reconciled.
42 observed daily rows. Missing days are not fabricated.
Per-day formula: 0.40 Γ Hot today + 0.40 Γ Hot week + 0.20 Γ Breakout.
- Same-day multiplier = stars 1d Γ· max(1, stars 7d Γ· 7)
- Weekly multiplier = stars 7d Γ· max(1, stars 30d Γ· 30 Γ 7)
- Fortnight multiplier = stars 14d Γ· max(1, stars 90d Γ· 90 Γ 14)
- Hot today = clamp(70 Γ log-scale(stars 1d, 1000) + 30 Γ breakout-scale(same-day, 4))
- Hot week = clamp(75 Γ log-scale(stars 7d, 5000) + 25 Γ breakout-scale(weekly, 3))
- Breakout = clamp(35 Γ breakout-scale(same-day, 4) + 40 Γ breakout-scale(weekly, 3) + 25 Γ breakout-scale(fortnight, 2.5))
| Date | Stars | Stars 1d | Stars 7d | Stars 14d | Stars 30d | Stars 90d | Same-day multiplier | Weekly multiplier | Fortnight multiplier | Hot today | Hot week | Breakout | Stored score |
|---|
Awesome Awesomeness
Derived only from GitHub GraphQL starredAt events after daily star totals are reconciled.
180 observed daily rows. Missing days are not fabricated.
Per-day formula: 0.40 Γ Hot today + 0.40 Γ Hot week + 0.20 Γ Breakout.
- Same-day multiplier = stars 1d Γ· max(1, stars 7d Γ· 7)
- Weekly multiplier = stars 7d Γ· max(1, stars 30d Γ· 30 Γ 7)
- Fortnight multiplier = stars 14d Γ· max(1, stars 90d Γ· 90 Γ 14)
- Hot today = clamp(70 Γ log-scale(stars 1d, 1000) + 30 Γ breakout-scale(same-day, 4))
- Hot week = clamp(75 Γ log-scale(stars 7d, 5000) + 25 Γ breakout-scale(weekly, 3))
- Breakout = clamp(35 Γ breakout-scale(same-day, 4) + 40 Γ breakout-scale(weekly, 3) + 25 Γ breakout-scale(fortnight, 2.5))
| Date | Stars | Stars 1d | Stars 7d | Stars 14d | Stars 30d | Stars 90d | Same-day multiplier | Weekly multiplier | Fortnight multiplier | Hot today | Hot week | Breakout | Stored score |
|---|
Public APIs
Derived only from GitHub GraphQL starredAt events after daily star totals are reconciled.
2 observed daily rows. Missing days are not fabricated.
Per-day formula: 0.40 Γ Hot today + 0.40 Γ Hot week + 0.20 Γ Breakout.
- Same-day multiplier = stars 1d Γ· max(1, stars 7d Γ· 7)
- Weekly multiplier = stars 7d Γ· max(1, stars 30d Γ· 30 Γ 7)
- Fortnight multiplier = stars 14d Γ· max(1, stars 90d Γ· 90 Γ 14)
- Hot today = clamp(70 Γ log-scale(stars 1d, 1000) + 30 Γ breakout-scale(same-day, 4))
- Hot week = clamp(75 Γ log-scale(stars 7d, 5000) + 25 Γ breakout-scale(weekly, 3))
- Breakout = clamp(35 Γ breakout-scale(same-day, 4) + 40 Γ breakout-scale(weekly, 3) + 25 Γ breakout-scale(fortnight, 2.5))
| Date | Stars | Stars 1d | Stars 7d | Stars 14d | Stars 30d | Stars 90d | Same-day multiplier | Weekly multiplier | Fortnight multiplier | Hot today | Hot week | Breakout | Stored score |
|---|
Free Programming Books
Derived only from GitHub GraphQL starredAt events after daily star totals are reconciled.
43 observed daily rows. Missing days are not fabricated.
Per-day formula: 0.40 Γ Hot today + 0.40 Γ Hot week + 0.20 Γ Breakout.
- Same-day multiplier = stars 1d Γ· max(1, stars 7d Γ· 7)
- Weekly multiplier = stars 7d Γ· max(1, stars 30d Γ· 30 Γ 7)
- Fortnight multiplier = stars 14d Γ· max(1, stars 90d Γ· 90 Γ 14)
- Hot today = clamp(70 Γ log-scale(stars 1d, 1000) + 30 Γ breakout-scale(same-day, 4))
- Hot week = clamp(75 Γ log-scale(stars 7d, 5000) + 25 Γ breakout-scale(weekly, 3))
- Breakout = clamp(35 Γ breakout-scale(same-day, 4) + 40 Γ breakout-scale(weekly, 3) + 25 Γ breakout-scale(fortnight, 2.5))
| Date | Stars | Stars 1d | Stars 7d | Stars 14d | Stars 30d | Stars 90d | Same-day multiplier | Weekly multiplier | Fortnight multiplier | Hot today | Hot week | Breakout | Stored score |
|---|
Awesome Python
Derived only from GitHub GraphQL starredAt events after daily star totals are reconciled.
80 observed daily rows. Missing days are not fabricated.
Per-day formula: 0.40 Γ Hot today + 0.40 Γ Hot week + 0.20 Γ Breakout.
- Same-day multiplier = stars 1d Γ· max(1, stars 7d Γ· 7)
- Weekly multiplier = stars 7d Γ· max(1, stars 30d Γ· 30 Γ 7)
- Fortnight multiplier = stars 14d Γ· max(1, stars 90d Γ· 90 Γ 14)
- Hot today = clamp(70 Γ log-scale(stars 1d, 1000) + 30 Γ breakout-scale(same-day, 4))
- Hot week = clamp(75 Γ log-scale(stars 7d, 5000) + 25 Γ breakout-scale(weekly, 3))
- Breakout = clamp(35 Γ breakout-scale(same-day, 4) + 40 Γ breakout-scale(weekly, 3) + 25 Γ breakout-scale(fortnight, 2.5))
| Date | Stars | Stars 1d | Stars 7d | Stars 14d | Stars 30d | Stars 90d | Same-day multiplier | Weekly multiplier | Fortnight multiplier | Hot today | Hot week | Breakout | Stored score |
|---|
Reliability score
Weekly average
Full metrics details
Derived from the displayed continuity, closure, shipping, liveness, and support-burden components.
Awesome
Derived from the displayed continuity, closure, shipping, liveness, and support-burden components.
42 observed daily rows. Missing days are not fabricated.
Per-day formula: 0.30 Γ Continuity + 0.30 Γ Closure + 0.20 Γ Shipping + 0.10 Γ Liveness + 0.10 Γ Support burden.
- Continuity = 35% active ratio 90d + 20% active ratio 30d + 15% PR efficiency 90d + 10% PR efficiency 30d + 10% liveness + 10% observed-history coverage
- Closure = 55% PR merge efficiency 90d + 45% issue close efficiency 90d
- Shipping = 100 Γ (20% Γ release ratio 30d + 30% Γ release ratio 90d + 50% Γ release ratio 180d); ratios are releases Γ· 2, 6, and 12, capped at 1
- Support burden = 100 β 2 Γ open issues per 1,000 stars
- Liveness = 100 Γ exp(βpushed days ago Γ· 120)
Stars, issues, pull requests, and releases are daily observations. Pushed-days and license are repository snapshot-derived inputs and are not independent historical GitHub events.
| Date | Issues opened | Issues closed | PRs opened | PRs merged | Releases | Stars | Open issues | Pushed days ago | Continuity | Closure | Shipping | Liveness | Support burden | License | Observed days | Missing days | Needs healing | Stored score |
|---|
Awesome Awesomeness
Derived from the displayed continuity, closure, shipping, liveness, and support-burden components.
180 observed daily rows. Missing days are not fabricated.
Per-day formula: 0.30 Γ Continuity + 0.30 Γ Closure + 0.20 Γ Shipping + 0.10 Γ Liveness + 0.10 Γ Support burden.
- Continuity = 35% active ratio 90d + 20% active ratio 30d + 15% PR efficiency 90d + 10% PR efficiency 30d + 10% liveness + 10% observed-history coverage
- Closure = 55% PR merge efficiency 90d + 45% issue close efficiency 90d
- Shipping = 100 Γ (20% Γ release ratio 30d + 30% Γ release ratio 90d + 50% Γ release ratio 180d); ratios are releases Γ· 2, 6, and 12, capped at 1
- Support burden = 100 β 2 Γ open issues per 1,000 stars
- Liveness = 100 Γ exp(βpushed days ago Γ· 120)
Stars, issues, pull requests, and releases are daily observations. Pushed-days and license are repository snapshot-derived inputs and are not independent historical GitHub events.
| Date | Issues opened | Issues closed | PRs opened | PRs merged | Releases | Stars | Open issues | Pushed days ago | Continuity | Closure | Shipping | Liveness | Support burden | License | Observed days | Missing days | Needs healing | Stored score |
|---|
Public APIs
Derived from the displayed continuity, closure, shipping, liveness, and support-burden components.
2 observed daily rows. Missing days are not fabricated.
Per-day formula: 0.30 Γ Continuity + 0.30 Γ Closure + 0.20 Γ Shipping + 0.10 Γ Liveness + 0.10 Γ Support burden.
- Continuity = 35% active ratio 90d + 20% active ratio 30d + 15% PR efficiency 90d + 10% PR efficiency 30d + 10% liveness + 10% observed-history coverage
- Closure = 55% PR merge efficiency 90d + 45% issue close efficiency 90d
- Shipping = 100 Γ (20% Γ release ratio 30d + 30% Γ release ratio 90d + 50% Γ release ratio 180d); ratios are releases Γ· 2, 6, and 12, capped at 1
- Support burden = 100 β 2 Γ open issues per 1,000 stars
- Liveness = 100 Γ exp(βpushed days ago Γ· 120)
Stars, issues, pull requests, and releases are daily observations. Pushed-days and license are repository snapshot-derived inputs and are not independent historical GitHub events.
| Date | Issues opened | Issues closed | PRs opened | PRs merged | Releases | Stars | Open issues | Pushed days ago | Continuity | Closure | Shipping | Liveness | Support burden | License | Observed days | Missing days | Needs healing | Stored score |
|---|
Free Programming Books
Derived from the displayed continuity, closure, shipping, liveness, and support-burden components.
43 observed daily rows. Missing days are not fabricated.
Per-day formula: 0.30 Γ Continuity + 0.30 Γ Closure + 0.20 Γ Shipping + 0.10 Γ Liveness + 0.10 Γ Support burden.
- Continuity = 35% active ratio 90d + 20% active ratio 30d + 15% PR efficiency 90d + 10% PR efficiency 30d + 10% liveness + 10% observed-history coverage
- Closure = 55% PR merge efficiency 90d + 45% issue close efficiency 90d
- Shipping = 100 Γ (20% Γ release ratio 30d + 30% Γ release ratio 90d + 50% Γ release ratio 180d); ratios are releases Γ· 2, 6, and 12, capped at 1
- Support burden = 100 β 2 Γ open issues per 1,000 stars
- Liveness = 100 Γ exp(βpushed days ago Γ· 120)
Stars, issues, pull requests, and releases are daily observations. Pushed-days and license are repository snapshot-derived inputs and are not independent historical GitHub events.
| Date | Issues opened | Issues closed | PRs opened | PRs merged | Releases | Stars | Open issues | Pushed days ago | Continuity | Closure | Shipping | Liveness | Support burden | License | Observed days | Missing days | Needs healing | Stored score |
|---|
Awesome Python
Derived from the displayed continuity, closure, shipping, liveness, and support-burden components.
80 observed daily rows. Missing days are not fabricated.
Per-day formula: 0.30 Γ Continuity + 0.30 Γ Closure + 0.20 Γ Shipping + 0.10 Γ Liveness + 0.10 Γ Support burden.
- Continuity = 35% active ratio 90d + 20% active ratio 30d + 15% PR efficiency 90d + 10% PR efficiency 30d + 10% liveness + 10% observed-history coverage
- Closure = 55% PR merge efficiency 90d + 45% issue close efficiency 90d
- Shipping = 100 Γ (20% Γ release ratio 30d + 30% Γ release ratio 90d + 50% Γ release ratio 180d); ratios are releases Γ· 2, 6, and 12, capped at 1
- Support burden = 100 β 2 Γ open issues per 1,000 stars
- Liveness = 100 Γ exp(βpushed days ago Γ· 120)
Stars, issues, pull requests, and releases are daily observations. Pushed-days and license are repository snapshot-derived inputs and are not independent historical GitHub events.
| Date | Issues opened | Issues closed | PRs opened | PRs merged | Releases | Stars | Open issues | Pushed days ago | Continuity | Closure | Shipping | Liveness | Support burden | License | Observed days | Missing days | Needs healing | Stored score |
|---|
You can compare Awesome with other curation-heavy repositories that serve adjacent discovery goals: , , Free Programming Books, The Book of Secret Knowledge, and .
Best overall alternative: . You get the closest scope and structure to Awesome with a similarly broad curated-list discovery model.
Awesome is strongest when your team needs a high-signal starting point for open-source discovery without adding runtime tooling. You gain speed in early research, but you still need rigorous downstream validation before adoption decisions.
You can track source quality directly in the , follow contribution rules in the , and collaborate through the .
