Reference
Package Manifest
Extension manifest schema — name, version, tools, capabilities, and entry point.
Package Manifest
Every Dhara extension requires a manifest.json file at the package root. This file declares metadata, tool definitions, and required capabilities.
Schema
{
"$schema": "https://dhara.zosma.ai/schemas/manifest.json",
"type": "object",
"required": ["name", "version", "main"],
"properties": {
"name": { "type": "string" },
"version": { "type": "string" },
"description": { "type": "string" },
"main": { "type": "string" },
"author": { "type": "string" },
"license": { "type": "string" },
"repository": { "type": "string" },
"engines": { "type": "object" },
"capabilities": {
"type": "array",
"items": { "type": "string" }
},
"tools": {
"type": "array",
"items": { "$ref": "#/definitions/toolDefinition" }
},
"dependencies": {
"type": "object",
"additionalProperties": { "type": "string" }
}
}
}Required Fields
name
Package name (lowercase, hyphens allowed):
{ "name": "web-tools" }version
Semantic version:
{ "version": "1.2.3" }main
Entry point — path to the executable script or binary:
{ "main": "dist/index.js" }Or for compiled binaries:
{ "main": "./bin/my-extension" }Optional Fields
description
Short description shown in registry listings:
{ "description": "Web scraping and search tools for AI agents" }author
Package author (used for trusted author matching):
{ "author": "zosmaai" }license
SPDX license identifier:
{ "license": "MIT" }repository
Git repository URL:
{ "repository": "https://github.com/zosmaai/dhara-web-tools" }engines
Runtime requirements:
{
"engines": {
"node": ">=18.0.0",
"python": ">=3.10"
}
}capabilities
Declared capabilities (security permissions):
{
"capabilities": [
"network:fetch",
"network:dns",
"filesystem:read"
]
}tools
Static tool definitions (alternative to dynamic discovery via initialize):
{
"tools": [
{
"name": "fetch_url",
"description": "Fetch a URL and extract readable content",
"inputSchema": {
"type": "object",
"properties": {
"url": { "type": "string" }
},
"required": ["url"]
}
}
]
}dependencies
Other Dhara extensions required:
{
"dependencies": {
"filesystem-tools": "^1.0.0"
}
}Complete Example
{
"name": "web-tools",
"version": "2.1.0",
"description": "Web scraping and search tools for AI agents",
"main": "dist/index.js",
"author": "zosmaai",
"license": "MIT",
"repository": "https://github.com/zosmaai/dhara-web-tools",
"engines": {
"node": ">=18.0.0"
},
"capabilities": [
"network:fetch",
"network:dns"
],
"tools": [
{
"name": "fetch_url",
"description": "Fetch URL and extract markdown content",
"inputSchema": {
"type": "object",
"properties": {
"url": { "type": "string" },
"maxTokens": { "type": "integer" }
},
"required": ["url"]
}
},
{
"name": "web_search",
"description": "Search the web using multiple engines",
"inputSchema": {
"type": "object",
"properties": {
"query": { "type": "string" },
"maxResults": { "type": "integer", "default": 5 }
},
"required": ["query"]
}
}
]
}Validation
Validate your manifest:
dhara doctor --verify-extensionsOr validate a specific file:
dhara doctor --validate-manifest ./manifest.json