Was macht to-skills?
Generiere AI-Agenten-Skills (SKILL.md) aus TypeScript-API-Dokumentationen – TypeDoc-Plugin + CLI + Docusaurus/VitePress
Überblick
to-skills ist ein Tool, das die Erstellung von SKILL.md-Dateien für AI-Agenten aus TypeScript-API-Dokumentationen automatisiert. Es kann als TypeDoc-Plugin verwendet werden oder als eigenständiges CLI-Tool.
Funktionen
- TypeDoc-Plugin: Integriert sich nahtlos in den TypeDoc-Dokumentationsprozess und generiert SKILL.md-Dateien während der Dokumentationserstellung.
- CLI-Tool: Kann unabhängig von TypeDoc verwendet werden, um SKILL.md aus vorhandenen API-Dokumentationen zu generieren.
- Docusaurus/VitePress: Bietet Integrationen für Docusaurus und VitePress, um generierte Skills in Dokumentationsseiten einzubinden.
Installation
npm install -D to-skills
# or
yarn add -D to-skills
Verwendung
Als TypeDoc-Plugin
Fügen Sie to-skills zu Ihrer TypeDoc-Konfigurationsdatei (typedoc.json) hinzu:
{
"plugin": ["to-skills"],
"skills": {
"output": "./skills"
}
}
Als CLI-Tool
npx to-skills generate --input ./docs --output ./skills
Mit Docusaurus
Fügen Sie die Docusaurus-Integration zu Ihrer docusaurus.config.js hinzu:
module.exports = {
// ...
plugins: [
['to-skills/docusaurus', {
input: './docs/api',
output: './skills'
}]
]
};
Mit VitePress
Fügen Sie die VitePress-Integration zu Ihrer .vitepress/config.js hinzu:
export default {
// ...
vite: {
plugins: [
require('to-skills/vitepress')({
input: './docs/api',
output: './skills'
})
]
}
};
Konfiguration
| Option | Typ | Standard | Beschreibung |
|---|---|---|---|
input | string | ./src | Pfad zu den TypeScript-Quelldateien |
output | string | ./skills | Ausgabeverzeichnis für SKILL.md-Dateien |
name | string | – | Skill-Name (überschreibt automatisch generierten Namen) |
description | string | – | Skill-Beschreibung |
ignorePaths | string[] | [] | Pfade, die ignoriert werden sollen |
includePrivate | boolean | false | Private Member einschließen |
includeProtected | boolean | false | Protected Member einschließen |
Ausgabe
Jede generierte SKILL.md-Datei enthält:
- Skill-Name (aus dem exportierten Typ abgeleitet)
- Kurzbeschreibung
- Detaillierte Beschreibung
- Parameter (mit Typen und Beschreibungen)
- Rückgabewerte (mit Typen und Beschreibungen)
- Beispiele (falls in JSDoc vorhanden)
- Metadaten (Version, Autor, etc.)
Beispiele
TypeScript-API-Dokumentation
/**
* Ein Begrüßungsdienst.
* @remarks
* Dieser Dienst bietet Methoden zur Erstellung personalisierter Begrüßungen.
*/
export interface GreetingService {
/**
* Erstellt eine personalisierte Begrüßung.
* @param name - Der Name der zu begrüßenden Person.
* @returns Eine personalisierte Begrüßungsnachricht.
* @example
* ```typescript
* const service: GreetingService = ...;
* const greeting = service.createGreeting('Welt');
* console.log(greeting); // "Hallo, Welt!"
* ```
*/
createGreeting(name: string): string;
}
Generierte SKILL.md
# GreetingService
Ein Begrüßungsdienst.
**Beschreibung:** Dieser Dienst bietet Methoden zur Erstellung personalisierter Begrüßungen.
## Methoden
### createGreeting
Erstellt eine personalisierte Begrüßung.
**Parameter:**
- `name` (string): Der Name der zu begrüßenden Person.
**Rückgabe:** string - Eine personalisierte Begrüßungsnachricht.
**Beispiel:**
```typescript
const service: GreetingService = ...;
const greeting = service.createGreeting('Welt');
console.log(greeting); // "Hallo, Welt!"
## Lizenz
MIT