Manifest Reference¶
The plugin generates a machine-readable manifest for downstream consumption.
Manifest Location¶
- Root:
manifest.json- Generated manifest (gitignored) - Docs:
@docs/data/manifest.json- MkDocs data source (gitignored)
Generation¶
This aggregates:
.claude-plugin/plugin.jsonskills/xc-console/console-navigation-metadata.jsonskills/xc-console/url-sitemap.json- Git metadata
Schema¶
{
"$schema": "https://f5xc-console.github.io/schema/manifest-v1.json",
"manifest_version": "1.0.0",
"generated_at": "2025-12-24T00:00:00Z",
"plugin": {
"name": "xc",
"version": "0.3.0",
"description": "...",
"author": {},
"license": "MIT",
"repository": "...",
"keywords": []
},
"build": {
"commit": "abc123",
"branch": "main",
"tag": "v0.3.0"
},
"console_metadata": {
"version": "2.2.0",
"tenant": "...",
"last_crawled": "...",
"selector_priority": [],
"authentication": {},
"stats": {}
},
"url_sitemap": {
"version": "2.2.0",
"coverage": {},
"workspace_mapping": {},
"resource_shortcuts": {},
"static_route_count": 23,
"dynamic_pattern_count": 9
},
"skills": [],
"workflows": [],
"mcp_tools": [],
"commands": [],
"documentation": {},
"ecosystem": []
}
Using the Manifest¶
In MkDocs¶
The manifest data is available through macros:
!!! info "Plugin Information"
- **Name**: `xc`
- **Version**: `0.9.0`
- **License**: MIT
- **Repository**: [https://github.com/robinmordasiewicz/f5xc-console](https://github.com/robinmordasiewicz/f5xc-console)
| Metric | Value |
|--------|-------|
| Metadata Version | `2.2.0` |
| Pages Crawled | 3 |
| Workspaces Discovered | 22 |
| Form Fields | 25 |
| Static Routes | 23 |
| Dynamic Patterns | 9 |
| Last Crawled | 2025-12-24T21:35:00Z |
| Shortcut | Path |
|----------|------|
| `account` | `/web/workspaces/account-protection` |
| `admin` | `/web/workspaces/administration` |
| `audit` | `/web/workspaces/audit-logs-alerts` |
| `auth` | `/web/workspaces/authentication-intelligence` |
| `bigip` | `/web/workspaces/bigip-utilities` |
| `bot` | `/web/workspaces/bot-defense` |
| `catalog` | `/web/catalog/use-cases` |
| `cdn` | `/web/workspaces/content-delivery-network` |
| `csd` | `/web/workspaces/client-side-defense` |
| `data-intel` | `/web/workspaces/data-intelligence` |
| `ddos` | `/web/workspaces/routed-ddos` |
| `delegated` | `/web/workspaces/delegated-access` |
| `dns` | `/web/workspaces/dns-management` |
| `home` | `/web/home` |
| `mac` | `/web/workspaces/multi-cloud-app-connect` |
| `mcn` | `/web/workspaces/multi-cloud-network-connect` |
| `nginx` | `/web/workspaces/nginx-one` |
| `observe` | `/web/workspaces/observability` |
| `scan` | `/web/workspaces/web-app-scanning` |
| `shared` | `/web/workspaces/shared-configuration` |
| `traffic` | `/web/workspaces/application-traffic-insight` |
| `waap` | `/web/workspaces/web-app-and-api-protection` |
Programmatically¶
import json
from urllib.request import urlopen
manifest_url = "https://robinmordasiewicz.github.io/f5xc-console/data/manifest.json"
manifest = json.loads(urlopen(manifest_url).read())
print(f"Plugin version: {manifest['plugin']['version']}")
print(f"Metadata version: {manifest['console_metadata']['version']}")
In CI/CD¶
- name: Check manifest version
run: |
VERSION=$(jq -r '.plugin.version' manifest.json)
echo "Plugin version: $VERSION"
Data Files¶
Individual data files are also generated:
| File | Contents |
|---|---|
@docs/data/plugin.json |
Plugin identity |
@docs/data/console_metadata.json |
Console crawl stats |
@docs/data/url_sitemap.json |
URL routing |
@docs/data/workflows.json |
Available workflows |