Files
fusion/plugins/examples/fusion-plugin-auto-label/README.md
gsxdsm 749babf522 feat(FN-1114): merge fusion/fn-1114 (auto-resolved)
- feat(FN-1114): complete all steps — plugin examples, docs, and scaffold command
2026-04-09 19:04:12 -07:00

100 lines
2.3 KiB
Markdown

# Auto-Label Plugin
Automatically labels tasks based on their description content using keyword matching. Also provides an AI agent tool for manual text classification.
## Features
- **Automatic Classification**: Labels tasks as they're created based on keywords in the description
- **Multiple Categories**: Supports bug, feature, documentation, testing, refactor, and performance labels
- **AI Agent Tool**: Provides `auto_label_classify` tool for AI agents to classify text
- **Event Emission**: Emits `auto-label:classified` events for integration with other plugins
## Installation
### Option 1: Copy to plugins directory
```bash
cp -r fusion-plugin-auto-label ~/.fusion/plugins/
```
### Option 2: Install via CLI
```bash
fn plugin install /path/to/fusion-plugin-auto-label
```
## Categories
The plugin classifies text into the following categories:
| Category | Keywords |
|---------|----------|
| `bug` | bug, fix, broken, crash, error |
| `feature` | feature, add, new, implement |
| `documentation` | docs, documentation, readme, guide |
| `testing` | test, testing, spec, coverage |
| `refactor` | refactor, cleanup, clean up, reorganize |
| `performance` | perf, performance, optimize, slow |
## How It Works
### Automatic Classification (onTaskCreated hook)
When a task is created, the plugin:
1. Scans the task description for keywords
2. Matches against category rules
3. Logs the matched labels
4. Emits an `auto-label:classified` event with the task ID and labels
### AI Agent Tool
The plugin provides an `auto_label_classify` tool that AI agents can use:
```javascript
{
name: "auto_label_classify",
description: "Classify a text description into categories...",
parameters: {
type: "object",
properties: {
text: { type: "string", description: "The text to classify" }
},
required: ["text"]
}
}
```
Example usage:
```
Use auto_label_classify with text: "Fix the login bug"
```
## Configuration
This plugin has no required settings. It works out of the box with its built-in keyword rules.
## Events
The plugin emits the following events:
| Event | Data | Description |
|-------|------|-------------|
| `auto-label:classified` | `{ taskId, labels }` | Emitted when a task is classified |
## Development
```bash
# Install dependencies
pnpm install
# Run tests
pnpm test
# Build
pnpm build
```
## License
MIT