Content
# Capabilities Hub
[](LICENSE)
[](https://nodejs.org/)
[](https://pnpm.io/)
> **Русская версия:** [README.ru.md](README.ru.md)
Local-first catalog of **Skills**, **MCP servers**, and **Rules** for [Cursor](https://cursor.com/) and compatible AI agents.
Know what is installed, why it exists, when to use it, and export a **project router skill** so the agent stops guessing among dozens of global capabilities.
---
## Why
| Pain | What Hub does |
|------|----------------|
| Skills scattered across `~/.cursor`, `~/.claude`, `~/.agents` | One deduplicated catalog with source paths |
| Agent ignores useful skills | Edit EN `description`, build a project router |
| No Russian notes for humans | Overlay RU descriptions + AI translate |
| Hard to curate large catalogs | AI Organize, tags, profiles, audit |
**Important:** Hub does **not** change Cursor by itself. Only writing `SKILL.md` (EN description / router export) affects the agent. MCP enable/disable stays in Cursor settings.
---
## Features
- **Catalog** — search, kind filters, tags, duplicates & collisions
- **Overlay** — RU description, `whenToUse`, prompt templates (local, human-facing)
- **AI translate** — EN → RU via OpenAI, OpenRouter, Kie.ai, Anthropic, Cursor SDK, or Ollama
- **Organize** — AI groups, tag suggestions, router/cleanup candidates (SSE progress)
- **Router wizard** — export `{workspace}/.cursor/skills/<name>-router/SKILL.md`
- **Profiles** — save Organize selections for reuse
- **Audit** — collisions, missing RU/EN, unused markers, Organize hints
- **Help** — in-app guide (RU/EN) explaining concepts and workflows
- **CLI** — scan, organize, export-router, audit, translate
---
## Quick start
```bash
pnpm install
pnpm build
pnpm test
# Web UI — http://127.0.0.1:47200
pnpm ui
# Dev UI (Vite :47201; run `pnpm ui` in another terminal for the API)
pnpm dev:ui
```
### Useful commands
```bash
pnpm scan:duplicates
pnpm scan:fixtures
pnpm translate:dry
pnpm translate
pnpm organize:dry
pnpm organize
pnpm export-router:dry
pnpm export-router
# Not `pnpm audit` (pnpm security) — use:
pnpm run audit
pnpm audit:json
```
---
## Configuration
Open **Settings** in the UI, or edit `%USERPROFILE%\.capabilities-hub\config.json` (`~/.capabilities-hub/config.json` on macOS/Linux):
```json
{
"version": 1,
"locale": "en",
"workspace": "/path/to/your/project",
"ai": {
"provider": "openrouter",
"providers": {
"openrouter": {
"apiKey": "sk-or-...",
"model": "openai/gpt-4o-mini"
}
}
}
}
```
Providers: **OpenAI**, **OpenRouter**, **Kie.ai**, **Cursor SDK**, **Anthropic**, **Ollama** (local, no key).
User data directory:
```text
~/.capabilities-hub/
config.json
overlay.json
index.cache.json
organize.cache.json
profiles.json
backups/
```
---
## UI map
| Area | Purpose |
|------|---------|
| **Catalog** | Browse / edit capabilities |
| **Organize** | AI summary, apply tags, router candidates |
| **Audit** | Health check of the catalog |
| **Help** | Concepts & how-to (this guide in-app) |
| Header **RU \| EN** | UI language |
| **Settings** | Workspace + AI provider |
Editor for “Open file”: `CAPABILITIES_HUB_EDITOR` (default `cursor`).
---
## Monorepo layout
```text
packages/
scanner/ # filesystem scan, parse, dedupe, secret masking
store/ # overlay, cache, translate, organize, router, profiles, audit
server/ # localhost Fastify API
web/ # Vite + React dashboard
cli/ # capabilities-hub CLI
fixtures/
docs/
```
---
## Documentation
| Doc | Contents |
|-----|----------|
| [docs/PROJECT.md](docs/PROJECT.md) | Architecture, MVP scope, decisions |
| [docs/V2-AI-ORGANIZE.md](docs/V2-AI-ORGANIZE.md) | Organize & Router (v2.0) |
| [fixtures/README.md](fixtures/README.md) | Fixture catalog for tests |
| [README.ru.md](README.ru.md) | Russian README |
---
## Troubleshooting
**Port 47200 in use**
```bash
# Windows
netstat -ano | findstr :47200
# Or pick another port
capabilities-hub ui --port 47201
```
**UI shows an old build**
```bash
pnpm build && pnpm ui
```
Stop the previous process on `:47200` first.
**Tags missing after restart**
Tags live in `overlay.json`. Hub re-merges overlay into the scan cache on startup. Re-apply once if you used an older build before that fix.
---
## License
[MIT](LICENSE)