Content
<div align="center">
<img src="assets/logo.png" alt="Developer Tools Directory" width="120" />
</div>
<h1 align="center">Developer Tools Directory</h1>
<p align="center">
<strong>Centralized catalog, standards, and scaffolding for TMHSDigital Cursor IDE plugins, MCP servers, and developer tools.</strong>
</p>
<p align="center">
<a href="https://tmhsdigital.github.io/Developer-Tools-Directory/"><img src="https://img.shields.io/badge/catalog-live-7c3aed" alt="Catalog" /></a>
<a href="LICENSE"><img src="https://img.shields.io/badge/license-CC--BY--NC--ND--4.0-green" alt="License: CC BY-NC-ND 4.0" /></a>
<a href="https://github.com/TMHSDigital/Developer-Tools-Directory/stargazers"><img src="https://img.shields.io/github/stars/TMHSDigital/Developer-Tools-Directory?style=flat" alt="GitHub stars" /></a>
<a href="https://github.com/TMHSDigital/Developer-Tools-Directory/actions/workflows/validate.yml"><img src="https://github.com/TMHSDigital/Developer-Tools-Directory/actions/workflows/validate.yml/badge.svg" alt="Validate" /></a>
<a href="https://github.com/TMHSDigital/Developer-Tools-Directory/actions/workflows/pages.yml"><img src="https://github.com/TMHSDigital/Developer-Tools-Directory/actions/workflows/pages.yml/badge.svg" alt="Pages" /></a>
<a href="https://github.com/TMHSDigital/Developer-Tools-Directory/actions/workflows/codeql.yml"><img src="https://github.com/TMHSDigital/Developer-Tools-Directory/actions/workflows/codeql.yml/badge.svg" alt="CodeQL" /></a>
<a href="https://www.python.org/"><img src="https://img.shields.io/badge/python-3.12+-3776ab?logo=python&logoColor=white" alt="Python 3.12+" /></a>
<a href="CONTRIBUTING.md"><img src="https://img.shields.io/badge/PRs-welcome-brightgreen" alt="PRs Welcome" /></a>
<a href="https://github.com/sponsors/TMHSDigital"><img src="https://img.shields.io/badge/sponsor-%E2%9D%A4-EA4AAA?logo=githubsponsors&logoColor=white" alt="Sponsor" /></a>
</p>
<p align="center">
<a href="#tools">Tools</a> •
<a href="#standards">Standards</a> •
<a href="#scaffold-generator">Scaffold</a> •
<a href="https://tmhsdigital.github.io/Developer-Tools-Directory/">Catalog Site</a>
</p>
---
<!-- registry:stats:start -->
<p align="center">
16 repos • 189 skills • 77 rules • 435 MCP tools
</p>
<!-- registry:stats:end -->
## How It Works
```mermaid
flowchart LR
A["registry.json\n(source of truth)"] --> B["GitHub Pages\ncatalog site"]
A --> C["README tables\n(below)"]
D["scaffold/\ncreate-tool.py"] --> E["New repo with\nall standards"]
F["standards/\n(conventions)"] --> D
G["site-template/\nbuild_site.py"] --> H["Tool repo\nGitHub Pages"]
```
**Registry** tracks every tool repo. **Standards** document conventions for CI/CD, folder structure, manifests, and versioning. **Scaffold** generates new repos that follow those standards automatically. **Site template** provides a shared build system for tool repo GitHub Pages sites.
## Tools
<!-- registry:tools:start -->
| Tool | Type | Skills | Rules | MCP Tools | Links |
|:-----|:-----|-------:|------:|------:|:------|
| **CFX Developer Tools** | Plugin | 9 | 6 | 6 | [](https://github.com/TMHSDigital/CFX-Developer-Tools) [](https://tmhsdigital.github.io/CFX-Developer-Tools/) |
| **Unity Developer Tools** | Plugin | 18 | 8 | 4 | [](https://github.com/TMHSDigital/Unity-Developer-Tools) [](https://tmhsdigital.github.io/Unity-Developer-Tools/) |
| **Docker Developer Tools** | Plugin | 17 | 10 | 150 | [](https://github.com/TMHSDigital/Docker-Developer-Tools) [](https://tmhsdigital.github.io/Docker-Developer-Tools/) [](https://www.npmjs.com/package/@tmhs/docker-mcp) |
| **Home Lab Developer Tools** | Plugin | 22 | 11 | 50 | [](https://github.com/TMHSDigital/Home-Lab-Developer-Tools) [](https://tmhsdigital.github.io/Home-Lab-Developer-Tools/) [](https://www.npmjs.com/package/@tmhs/homelab-mcp) |
| **Mobile App Developer Tools** | Plugin | 43 | 12 | 36 | [](https://github.com/TMHSDigital/Mobile-App-Developer-Tools) [](https://tmhsdigital.github.io/Mobile-App-Developer-Tools/) [](https://www.npmjs.com/package/@tmhs/mobile-mcp) |
| **Plaid Developer Tools** | Plugin | 17 | 7 | 30 | [](https://github.com/TMHSDigital/Plaid-Developer-Tools) [](https://tmhsdigital.github.io/Plaid-Developer-Tools/) |
| **Monday Cursor Plugin** | Plugin | 21 | 8 | 45 | [](https://github.com/TMHSDigital/Monday-Cursor-Plugin) [](https://tmhsdigital.github.io/Monday-Cursor-Plugin/) |
| **Steam Cursor Plugin** | Plugin | 30 | 9 | 25 | [](https://github.com/TMHSDigital/Steam-Cursor-Plugin) [](https://tmhsdigital.github.io/Steam-Cursor-Plugin/) |
| **Steam MCP Server** | MCP Server | - | - | 25 | [](https://github.com/TMHSDigital/steam-mcp) [](https://www.npmjs.com/package/@tmhs/steam-mcp) |
| **Developer Tools MCP** | MCP Server | - | - | 7 | [](https://github.com/TMHSDigital/Developer-Tools-MCP) [](https://tmhsdigital.github.io/Developer-Tools-MCP/) |
| **CFX MCP** | MCP Server | - | - | 0 | [](https://github.com/TMHSDigital/cfx-mcp) |
| **Blender Developer Tools** | Plugin | 12 | 6 | 0 | [](https://github.com/TMHSDigital/Blender-Developer-Tools) |
| **Local AI MCP** | MCP Server | - | - | 16 | [](https://github.com/TMHSDigital/local-ai-mcp) [](https://tmhsdigital.github.io/local-ai-mcp/) [](https://www.npmjs.com/package/@tmhs/local-ai-mcp) |
| **Screencast MCP** | MCP Server | - | - | 25 | [](https://github.com/TMHSDigital/screencast-mcp) [](https://tmhsdigital.github.io/screencast-mcp/) |
| **Tailscale MCP** | MCP Server | - | - | 6 | [](https://github.com/TMHSDigital/tailscale-mcp) [](https://tmhsdigital.github.io/tailscale-mcp/) [](https://www.npmjs.com/package/@tmhs/tailscale-mcp) |
| **Godot Correctness MCP** | MCP Server | - | - | 10 | [](https://github.com/TMHSDigital/godot-correctness-mcp) [](https://tmhsdigital.github.io/godot-correctness-mcp/) [](https://www.npmjs.com/package/@tmhs/godot-correctness-mcp) |
<!-- registry:tools:end -->
<details>
<summary>Tool descriptions</summary>
<!-- registry:descriptions:start -->
| Tool | Description |
|:-----|:------------|
| **CFX Developer Tools** | AI-powered Cursor IDE plugin for FiveM and RedM resource development |
| **Unity Developer Tools** | Cursor IDE plugin for Unity game development with URP, HDRP, and Built-in render pipeline support |
| **Docker Developer Tools** | Cursor IDE plugin for Docker workflows with container management, Compose, and Dockerfile support |
| **Home Lab Developer Tools** | Home lab and Raspberry Pi workflows for Cursor with Docker Compose, monitoring, DNS, networking, and security |
| **Mobile App Developer Tools** | Cursor plugin for mobile app development with React Native, Expo, and Flutter support |
| **Plaid Developer Tools** | Cursor plugin and MCP companion for building on the Plaid API |
| **Monday Cursor Plugin** | Cursor IDE plugin for Monday.com with boards, items, sprints, docs, dashboards, and GraphQL |
| **Steam Cursor Plugin** | Steam and Steamworks integration for Cursor IDE for game developers, modders, and power users |
| **Steam MCP Server** | MCP server for Steam and Steamworks APIs with store data, player stats, reviews, achievements, and workshop tools |
| **Developer Tools MCP** | MCP server providing agent-callable read and write access to the TMHSDigital developer-tools ecosystem: registry, fleet status, drift checking, and standards management |
| **CFX MCP** | MCP server providing agent-callable tools for CFX/FiveM resource development, server management, and community platform integration. |
| **Blender Developer Tools** | Cursor and Claude Code skills, rules, snippets, and templates for Blender Python add-on and scripting development |
| **Local AI MCP** | Unified MCP server for managing local model runtimes (Ollama, LM Studio, and more): provider-agnostic discovery, lifecycle, hardware-fit, and delegated inference. |
| **Screencast MCP** | MCP server for Windows screen recording, frame sampling, and minimal ffmpeg edits (capture, watch, trim/concat/convert). |
| **Tailscale MCP** | MCP server for safe programmatic access to the local Tailscale daemon: tailnet discovery, SSH config generation, port sharing via Serve/Funnel, and latency matrices. |
| **Godot Correctness MCP** | Offline static correctness for Godot 4.x GDScript projects: anti-pattern linting via tree-sitter, cross-version API lookup and diff (4.4/4.5), and scene/resource/registry validation. Headless, offline, CI-first. |
<!-- registry:descriptions:end -->
</details>
## Standards
Documented conventions for building new developer tools. All docs in [`standards/`](standards/).
| Standard | Summary |
|:---------|:--------|
| [Folder Structure](standards/folder-structure.md) | Canonical repo layout for plugins and MCP servers |
| [Plugin Manifest](standards/plugin-manifest.md) | `.cursor-plugin/plugin.json` specification and required fields |
| [CI/CD](standards/ci-cd.md) | GitHub Actions workflows every repo must have |
| [GitHub Pages](standards/github-pages.md) | Documentation site setup (static HTML or MkDocs Material) |
| [Commit Conventions](standards/commit-conventions.md) | Conventional commits and version bumping rules |
| [README Template](standards/readme-template.md) | Standard README structure and required sections |
| [AGENTS.md Template](standards/agents-template.md) | AI agent guidance file structure |
| [Versioning](standards/versioning.md) | Semver management and automated release flow |
| [Release-doc-sync](standards/release-doc-sync.md) | Composite action contract for keeping CHANGELOG, CLAUDE, and ROADMAP in sync after auto-release |
| [Born-Green Contract](standards/born-green-contract.md) | Acceptance criterion every repo generator must satisfy |
| [Testing](standards/testing.md) | Test frameworks, coverage bar, and CI wiring |
| [Skills](standards/skills.md) | `SKILL.md` structure and frontmatter |
| [Rules](standards/rules.md) | `.mdc` structure, globs, and the secrets rule pattern |
| [MCP Server](standards/mcp-server.md) | Tool naming, runtime, transport, destructive ops |
| [Security](standards/security.md) | Disclosure, secrets handling, workflow supply chain |
| [Licensing](standards/licensing.md) | DCO + inbound license grant model |
| [Scope](standards/scope.md) | What belongs in the directory and what does not |
| [Lifecycle](standards/lifecycle.md) | Tool status transitions |
| [Writing Style](standards/writing-style.md) | Prose conventions across all repos |
<details>
<summary>Core principles</summary>
1. **Derived artifacts are generated, not edited** - `registry.json` is the single source of truth. README tables, catalog site, and About section are emitted from it.
2. **Single branch** - All repos use `main` only. No develop, staging, or release branches.
3. **Conventional commits** - Every commit follows the conventional format. Release workflows parse them to determine version bumps.
4. **AI-agent friendly** - Every repo includes `AGENTS.md` and `.cursorrules`. Standards are written so an agent can apply them without guessing.
5. **Inbound DCO, outbound CC-BY-NC-ND-4.0** - See [`standards/licensing.md`](standards/licensing.md).
6. **Scope gate** - Tools must be developer-facing, Cursor or MCP native, and actively maintained. See [`standards/scope.md`](standards/scope.md).
7. **Lifecycle transitions are explicit** - Tools move through documented states. See [`standards/lifecycle.md`](standards/lifecycle.md).
</details>
## Scaffold Generator
Generate a fully standards-compliant repository from the command line.
**Prerequisites:**
<a href="https://www.python.org/"><img src="https://img.shields.io/badge/python-3.12+-3776ab?logo=python&logoColor=white" alt="Python 3.12+" /></a> <a href="https://pypi.org/project/Jinja2/"><img src="https://img.shields.io/badge/Jinja2-3.1+-b41717?logo=jinja&logoColor=white" alt="Jinja2 3.1+" /></a>
```bash
pip install Jinja2
```
```bash
python scaffold/create-tool.py \
--name "Unreal Developer Tools" \
--description "Cursor plugin for Unreal Engine development" \
--mcp-server \
--skills 5 \
--rules 3
```
<details>
<summary>All options</summary>
| Flag | Required | Default | Description |
|:-----|:---------|:--------|:------------|
| `--name` | Yes | -- | Display name (e.g., "Unreal Developer Tools") |
| `--description` | Yes | -- | One-line description |
| `--slug` | No | auto | Kebab-case identifier (derived from name) |
| `--type` | No | `cursor-plugin` | `cursor-plugin` or `mcp-server` |
| `--mcp-server` | No | false | Include MCP server scaffold |
| `--skills N` | No | 0 | Number of placeholder skill directories |
| `--rules N` | No | 0 | Number of placeholder rule files |
| `--license` | No | `cc-by-nc-nd-4.0` | `cc-by-nc-nd-4.0`, `mit`, or `apache-2.0` |
| `--output` | No | `./output` | Output directory |
| `--author-name` | No | TMHSDigital | Author name for manifests |
| `--author-email` | No | contact@... | Author email |
</details>
<details>
<summary>What it generates</summary>
- Full folder structure per the [standard](standards/folder-structure.md)
- Populated `plugin.json` with provided metadata
- All 4 core GitHub Actions workflows (validate, release, pages, stale)
- Skeleton docs: `AGENTS.md`, `CLAUDE.md`, `README.md`, `CONTRIBUTING.md`, `CHANGELOG.md`, `CODE_OF_CONDUCT.md`, `SECURITY.md`, `ROADMAP.md`
- GitHub Pages site template (`docs/index.html`)
- MCP server scaffold (if `--mcp-server`): `server.py`, `tools/`, `data/`, `requirements.txt`
- `.cursorrules`, `.gitignore`, `LICENSE`
</details>
## Project Structure
```
Developer-Tools-Directory/
.github/
workflows/ CI/CD (validate, pages, release, stale, codeql, dep-review, label-sync)
release-drafter.yml Release notes category config
assets/ Logo
docs/ GitHub Pages catalog site
scaffold/ Repo generator + Jinja2 templates
site-template/ Shared GitHub Pages build system for tool repos
build_site.py Reads plugin.json, skills/, rules/, mcp-tools.json -> index.html
template.html.j2 Jinja2 HTML template with configurable branding
fonts/ Self-hosted Inter + JetBrains Mono woff2
SETUP-PROMPT.md Copy-paste prompt for applying template to a repo
standards/ Convention documentation (9 docs)
registry.json Tool registry (source of truth)
AGENTS.md AI agent guidance
CLAUDE.md Claude Code project docs
.cursorrules Cursor IDE agent rules
```
## Contributing
<p>
<a href="CONTRIBUTING.md"><img src="https://img.shields.io/badge/contributing-guide-blue" alt="Contributing Guide" /></a>
<a href="CODE_OF_CONDUCT.md"><img src="https://img.shields.io/badge/code%20of%20conduct-Contributor%20Covenant%202.1-4baaaa" alt="Code of Conduct" /></a>
<a href="SECURITY.md"><img src="https://img.shields.io/badge/security-policy-red" alt="Security Policy" /></a>
</p>
Pull requests welcome. See [CONTRIBUTING.md](CONTRIBUTING.md) for setup, how-to guides, and PR process.
## License
<a href="LICENSE"><img src="https://img.shields.io/badge/license-CC--BY--NC--ND--4.0-green" alt="License: CC BY-NC-ND 4.0" /></a>
---
<p align="center">
<strong>Built by <a href="https://github.com/TMHSDigital">TMHSDigital</a></strong>
</p>
Connection Info
You Might Also Like
everything-claude-code
Complete Claude Code configuration collection - agents, skills, hooks,...
markitdown
MarkItDown-MCP is a lightweight server for converting URIs to Markdown.
cc-switch
All-in-One Assistant for Claude Code, Codex & Gemini CLI across platforms.
servers
Model Context Protocol Servers
servers
Model Context Protocol Servers
Time
A Model Context Protocol server for time and timezone conversions.