# Naming Convention for Awesome List Repository Names: A Complete Guide

> Discover the official naming convention for awesome list repository names. Learn how to format repository names with the `awesome-` prefix and hyphen-separated topics.

- Repository: [Sindre Sorhus/awesome](https://github.com/sindresorhus/awesome)
- Tags: best-practices
- Published: 2026-07-07

---

**Every awesome list repository must use a lower-case slug format prefixed with `awesome-` followed by a hyphen-separated topic name, as strictly enforced in the [`pull_request_template.md`](https://github.com/sindresorhus/awesome/blob/main/pull_request_template.md) file.**

The sindresorhus/awesome project maintains rigorous repository naming standards to ensure consistency across thousands of community-curated lists. Understanding the naming convention for awesome list repository names is essential for contributors who want to submit new lists without rejection. This guide covers the exact format required, the reasoning behind the rules, and how to implement them based on the official source files.

## The Exact Repository Naming Format

According to the awesome project source code, every repository name must follow a strict **lower-case slug format**. The convention requires three specific elements:

- **Prefix**: Must start with `awesome-` (lowercase, with trailing hyphen)
- **Separator**: Use hyphens (`-`) between words, never underscores or spaces
- **Case**: All letters must be lower-case (no camelCase or PascalCase)

Valid examples from the project include `awesome-swift` and `awesome-web-typography`. The [`pull_request_template.md`](https://github.com/sindresorhus/awesome/blob/main/pull_request_template.md) (lines 55-58) explicitly rejects names that deviate from this pattern, such as `awesome-Swift` (contains uppercase), `AwesomeWebTypography` (missing prefix and wrong case), or `awesome_data_viz` (uses underscores instead of hyphens).

## Why This Naming Convention Matters

The strict naming policy serves three critical functions for the awesome list ecosystem:

- **Predictability**: A uniform `awesome-` prefix allows users and automated tools to locate any list by simply appending the topic name to the prefix.
- **Searchability**: Lower-case, hyphen-separated slugs are easy to grep and index across the massive collection of lists, improving discoverability.
- **Collaboration**: The style aligns with the project's broader naming rules (including title-casing for headings and lowercase repository names) and prevents duplicate or ambiguous repository names.

## Practical Implementation Guide

### Creating a New Repository

When initializing your awesome list locally, ensure the directory name matches the required convention before pushing to GitHub:

```bash

# Replace <your-github-username> with your GitHub handle

# Replace <topic> with your lower-case, hyphen-separated topic name

git clone https://github.com/<your-github-username>/awesome-<topic>.git
cd awesome-<topic>
echo "# Awesome <Topic>" > README.md

git add README.md
git commit -m "Initial commit"
git push origin main

```

### Validating Your Repository Name

When submitting a pull request, format your repository URL correctly in the description:

**Valid format:**

```markdown
**Repository:** https://github.com/yourname/awesome-data-visualization
**List title:** # Awesome Data Visualization

```

**Invalid format (will be flagged):**

```markdown
**Repository:** https://github.com/yourname/awesomeDataViz

```

## Source Files Enforcing the Convention

The naming rules are reinforced across three key files in the sindresorhus/awesome repository:

- **[`pull_request_template.md`](https://github.com/sindresorhus/awesome/blob/main/pull_request_template.md)**: Contains the explicit checklist (lines 55-58) that enforces the `awesome-<slug>` naming rule during submission review.
- **[`contributing.md`](https://github.com/sindresorhus/awesome/blob/main/contributing.md)**: Provides additional context on repository naming, title case requirements for headings, and other style guidelines.
- **[`awesome.md`](https://github.com/sindresorhus/awesome/blob/main/awesome.md)**: The master list of all awesome repositories, which uses the same naming convention for consistency across the ecosystem.

## Summary

- All awesome list repositories must use the `awesome-` prefix followed by a lower-case, hyphen-separated topic name.
- Uppercase letters, underscores, and camelCase/PascalCase formats are explicitly rejected.
- The convention is enforced in the [`pull_request_template.md`](https://github.com/sindresorhus/awesome/blob/main/pull_request_template.md) file and checked during the pull request review process.
- Following this format ensures predictability, searchability, and consistency across the awesome list ecosystem.

## Frequently Asked Questions

### Can I use camelCase or PascalCase for my awesome list repository name?

No. The awesome project strictly requires lower-case slugs only. Names like `awesomeSwift` or `AwesomeWebTypography` violate the convention and will be rejected during the pull request review process. Always use hyphen-separated lower-case words like `awesome-swift` or `awesome-web-typography`.

### What happens if I don't include the `awesome-` prefix?

Repositories missing the `awesome-` prefix will fail the checklist in [`pull_request_template.md`](https://github.com/sindresorhus/awesome/blob/main/pull_request_template.md) (lines 55-58). The prefix is mandatory because it creates a consistent namespace that allows users and search tools to identify and filter awesome lists from other repositories.

### Are underscores allowed in awesome list repository names?

No. The convention specifically requires hyphens (`-`) as word separators. Underscores (as in `awesome_data_viz`) deviate from the pattern and will cause your submission to be rejected. Use `awesome-data-viz` instead.

### Where is the naming rule officially documented?

The primary enforcement occurs in [`pull_request_template.md`](https://github.com/sindresorhus/awesome/blob/main/pull_request_template.md) at lines 55-58, which contains the checklist reviewers use to validate submissions. Additional context and style guidelines appear in [`contributing.md`](https://github.com/sindresorhus/awesome/blob/main/contributing.md), while [`awesome.md`](https://github.com/sindresorhus/awesome/blob/main/awesome.md) demonstrates the convention in practice through the master list of approved repositories.