feat(FN-1114): merge fusion/fn-1114 (auto-resolved)
- feat(FN-1114): complete all steps — plugin examples, docs, and scaffold command
This commit is contained in:
99
plugins/examples/fusion-plugin-auto-label/README.md
Normal file
99
plugins/examples/fusion-plugin-auto-label/README.md
Normal file
@@ -0,0 +1,99 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user