Adding a Tool
Celebr8's tool system is designed to be extended without touching any application code. All you need is a YAML definition file.
Create a Definition File
Create a file at src-tauri/tools/definitions/<tool-id>.yaml:
id: feroxbuster
name: Feroxbuster
description: Recursive content discovery tool written in Rust.
category: Web
binary: feroxbuster
args:
- flag: --url
param: target
required: true
- flag: --wordlist
param: wordlist
default: /usr/share/seclists/Discovery/Web-Content/common.txt
- flag: --threads
param: threads
default: "50"
output:
format: text
parse: lines
Fields Reference
| Field | Required | Description |
|-------|----------|-------------|
| id | Yes | Unique identifier, used in the database |
| name | Yes | Display name shown in the UI |
| binary | Yes | The executable name on PATH |
| args | Yes | List of argument definitions |
| output.format | Yes | text, json, or xml |
Submit to the Marketplace
Once your tool is working locally, open a pull request to the community tools repo with your YAML file. The community reviews and merges it, making it available to all Celebr8 users.