Naming Convention for Awesome List Repository Names: A Complete Guide
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 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 (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:
# 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:
**Repository:** https://github.com/yourname/awesome-data-visualization
**List title:** # Awesome Data Visualization
Invalid format (will be flagged):
**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: Contains the explicit checklist (lines 55-58) that enforces theawesome-<slug>naming rule during submission review.contributing.md: Provides additional context on repository naming, title case requirements for headings, and other style guidelines.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.mdfile 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 (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 at lines 55-58, which contains the checklist reviewers use to validate submissions. Additional context and style guidelines appear in contributing.md, while awesome.md demonstrates the convention in practice through the master list of approved repositories.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →