// Contribute developer tools, books, courses, and resources to the open-source DevTools Directory via GitHub Pull Requests.
How to Contribute
This directory is 100% open source — all data is YAML files in the GitHub repository. No login needed. Contributions happen via Pull Requests.
Quick version: Fork the repo → create a YAML file in the right
data/directory → open a PR. Done.
What you can add
- Tools — Dev tools, IDEs, frameworks, CLIs, databases, DevOps tools, etc.
- Books — Books about software development, architecture, career growth, etc.
- Courses — Online courses, tutorials, and learning programs
- Resources — Guides, cheatsheets, podcasts, newsletters, reference sites
Adding a Tool
1. Create the file
Create data/tools/your-tool-slug.yaml in your fork.
2. Fill in the YAML
name: Your Tool Name
slug: your-tool-slug # must match filename, URL-safe
website: https://yourtool.dev
description: A short one-sentence description of what this tool does.
long_description: | # optional, markdown supported
More details about the tool, use cases, history, etc.
# Metadata
resource_type: editor # editor | framework | library | cli | devops | database |
# testing | api | monitoring | platform | design | other
pricing: free # free | freemium | paid
open_source: true
license: MIT # optional
# Links
github: owner/repo # optional, e.g. "microsoft/vscode"
docs_url: https://docs.yourtool.dev # optional
logo: https://cdn.yourtool.dev/logo.png # optional, must be https
# Categorisation
categories:
- ides-editors
- extensions
tags:
- productivity
- autocomplete
platforms:
- windows
- macos
- linux
languages:
- typescript
- python
# Meta
featured: false # set true only for widely-known tools
company: Your Company # optional
3. Open a PR
- Title:
add: Tool Name - Keep the PR focused on one item
Adding a Book
Create data/books/your-book-slug.yaml:
name: The Pragmatic Programmer
slug: pragmatic-programmer
website: https://pragprog.com/titles/tpp20/
author: David Thomas, Andrew Hunt
year: 2019
description: A timeless guide to software craftsmanship.
free: false
tags:
- software-engineering
- career
- best-practices
categories:
- software-engineering
Adding a Course
Create data/courses/your-course-slug.yaml:
name: CS50's Introduction to Computer Science
slug: cs50
website: https://cs50.harvard.edu/x/
provider: Harvard / edX
author: David J. Malan
free: true
description: Harvard's introduction to computer science and programming.
tags:
- beginner
- computer-science
- python
- c
Adding a Resource
Create data/resources/your-resource-slug.yaml:
name: The Twelve-Factor App
slug: twelve-factor-app
website: https://12factor.net
resource_type: guide # guide | website | cheatsheet | newsletter | podcast | video | repo
description: A methodology for building software-as-a-service apps.
free: true
tags:
- architecture
- best-practices
- devops
Guidelines
- One item per PR — makes reviewing faster
- Accurate descriptions — copy from the official site if unsure
- No spam — personal projects are welcome but must be genuinely useful
- Logo URLs must be
https://— Wikipedia Commons and official CDNs are preferred - Slugs must be lowercase, hyphenated, URL-safe, and match the filename
Fixing existing data
Found a wrong URL, outdated description, or missing field? Edit the YAML file directly on GitHub using the ✏ Edit button on any tool page, and open a PR.
If you have questions, open an issue on GitHub.
Thank you for contributing! ★