# Target Registry for Tools Ecosystem
# Centralized metadata for all installable binaries across Tools projects
# Last updated: 2025-11-13

[metadata]
version = "1.0.0"
description = "Registry of all installable targets (binaries) in Tools ecosystem"
total_binaries = 10
excluded_libraries = 9  # Libraries like tracking-core, tracking-tui, etc. are NOT in this registry

# =============================================================================
# DEPENDENCY-MANAGER (2 crates: 1 binary + 1 library)
# Purpose: Manage and synchronize dependencies across workspaces
# =============================================================================

[[binary]]
name = "dependency-manager"
binary_name = "dependency-manager"
crate = "dependency-manager-cli"
workspace = "dependency-manager"
workspace_path = "/Users/Akasha/Tools/dependency-manager"
category = "cli"
subcategory = "devops"
description = "CLI for dependency management and synchronization across workspaces"
long_description = """
Dependency management and synchronization tool for Rust workspaces:
- Detect version mismatches against canonical registry
- Interactive and batch synchronization modes
- Git pre-commit hook integration
- CI/CD pipeline ready (exit codes: 0=pass, 1=fail)
- Workspace inheritance support
- Organization-wide standards enforcement
- Three-tier dependency classification (Critical/Important/Stable)
"""
requires_runtime = []
optional_companion = []
recommended_for = ["minimal", "developer", "full"]
dependencies = []
installation_command = "cargo install --path /Users/Akasha/Tools/dependency-manager/crates/dependency-manager-cli"
test_command = "dependency-manager --help"

# =============================================================================
# TRACKING-MANAGER (4 crates: 2 binaries + 2 libraries)
# Purpose: Change and TODO tracking across projects
# =============================================================================

[[binary]]
name = "tracking"
binary_name = "tracking"
crate = "tracking-cli"
workspace = "tracking-manager"
workspace_path = "/Users/Akasha/Tools/tracking-manager"
category = "cli"
subcategory = "tracking"
description = "CLI for change and TODO tracking (add, list, search, update status)"
long_description = """
Unified change and TODO tracking tool. Track:
- Changes (with impact levels, breaking changes, file count)
- TODOs (with priority, estimates, status tracking)
- Full-text search with FTS5 (40-200x faster)
- SQLite backend with async operations
"""
requires_runtime = []
optional_companion = ["tracking-api"]
recommended_for = ["minimal", "developer", "full"]
dependencies = ["sqlite (bundled)"]
installation_command = "cargo install --path /Users/Akasha/Tools/tracking-manager/crates/tracking-cli"
test_command = "tracking --help"

[[binary]]
name = "tracking-api"
binary_name = "tracking-api"
crate = "tracking-api"
workspace = "tracking-manager"
workspace_path = "/Users/Akasha/Tools/tracking-manager"
category = "api-server"
subcategory = "tracking"
description = "REST API server for tracking with WebSocket real-time updates"
long_description = """
REST API server for change and TODO tracking:
- HTTP REST endpoints for CRUD operations
- WebSocket support for real-time updates
- GraphQL interface (feature-gated)
- Prometheus metrics at /metrics
- Health check at /health
- Default port: 8080
"""
requires_runtime = ["sqlite (bundled)", "port 8080 available"]
optional_companion = ["tracking"]
recommended_for = ["developer", "full"]
dependencies = ["axum", "tokio-tungstenite"]
port = 8080
installation_command = "cargo install --path /Users/Akasha/Tools/tracking-manager/crates/tracking-api"
test_command = "tracking-api --help"

# =============================================================================
# DOC-LIFECYCLE-MANAGER (5 crates: 2 binaries + 3 libraries)
# Purpose: Documentation lifecycle management with classification & semantic search
# =============================================================================

[[binary]]
name = "doc-lifecycle"
binary_name = "doc-lifecycle"
crate = "doc-syntaxis-cli"
workspace = "doc-syntaxis"
workspace_path = "/Users/Akasha/Tools/doc-syntaxis"
category = "cli"
subcategory = "documentation"
description = "CLI for documentation lifecycle (classify, consolidate, generate mdBook)"
long_description = """
Documentation lifecycle management tool:
- Auto-classify docs (vision, design, specs, ADR, guides, testing, archive)
- Duplicate detection with similarity scoring
- Semantic search via RAG + embeddings
- Generate mdBook documentation sites
- SurrealDB support (feature-gated)
"""
requires_runtime = []
optional_companion = ["doc-syntaxis-mcp"]
recommended_for = ["minimal", "developer", "full"]
dependencies = ["sqlite (bundled)"]
installation_command = "cargo install --path /Users/Akasha/Tools/doc-syntaxis/crates/doc-syntaxis-cli"
test_command = "doc-lifecycle --help"

[[binary]]
name = "doc-syntaxis-mcp"
binary_name = "doc-syntaxis-mcp"
crate = "doc-syntaxis-mcp"
workspace = "doc-syntaxis"
workspace_path = "/Users/Akasha/Tools/doc-syntaxis"
category = "mcp-server"
subcategory = "documentation"
description = "MCP (Model Context Protocol) server for AI integration with documentation"
long_description = """
MCP server for AI/Claude integration with documentation:
- Provide documentation context to Claude via MCP
- Semantic search through RAG embeddings
- Real-time documentation updates
- GraphQL API for AI agents
- Used in multi-agent workflows with VAPORA
"""
requires_runtime = []
optional_companion = ["doc-lifecycle"]
recommended_for = ["developer", "full"]
dependencies = []
installation_command = "cargo install --path /Users/Akasha/Tools/doc-syntaxis/crates/doc-syntaxis-mcp"
test_command = "doc-syntaxis-mcp --help"
note = "Optional: only needed if using Claude/AI integration with documentation"

# =============================================================================
# PRESENTATION-GENERATOR (2 crates: 1 binary + 1 library)
# Purpose: AI-assisted modular Slidev presentation generation
# =============================================================================

[[binary]]
name = "presgen"
binary_name = "presgen"
crate = "presgen"
workspace = "none"  # Not a workspace - standalone project
workspace_path = "/Users/Akasha/Tools/presentation-generator/cli"
category = "cli"
subcategory = "presentation"
description = "AI-assisted Slidev presentation generator with design validation"
long_description = """
Generate professional Slidev presentations:
- AI-assisted content generation
- Design validation (14 presentation design rules)
- Accessibility validation (WCAG AA/AAA)
- Color-blind safe palette validator
- Multi-format export (PDF, HTML, PPTX)
- Profile system (pitch, talk, workshop, lightning)
- Declarative TOML configuration
"""
requires_runtime = []
optional_companion = []
recommended_for = ["minimal", "developer", "full"]
dependencies = ["node.js (for Slidev)", "pdflatex (for PDF export)"]
installation_command = "cargo install --path /Users/Akasha/Tools/presentation-generator/cli"
test_command = "presgen --help"

# =============================================================================
# PROJECT-LIFECYCLE-MANAGER (6 crates: 4 binaries + 2 libraries)
# Purpose: Orchestrate complete software syntaxis
# =============================================================================

[[binary]]
name = "syntaxis"
binary_name = "syntaxis"
crate = "syntaxis-cli"
workspace = "syntaxis"
workspace_path = "/Users/Akasha/Tools/syntaxis"
category = "cli"
subcategory = "project-management"
description = "CLI for syntaxis orchestration (create, update, review, publish, archive)"
long_description = """
Comprehensive syntaxis management:
- Phase management (7+ phases with validation)
- Tool orchestration (enable/disable tools per phase)
- Checklist system & template engine
- TOML-based configuration
- Multi-language support
- Project templates
"""
requires_runtime = []
optional_companion = ["syntaxis-api", "syntaxis-dashboard", "syntaxis-tui"]
recommended_for = ["minimal", "developer", "full"]
dependencies = ["sqlite (bundled)"]
installation_command = "cargo install --path /Users/Akasha/Tools/syntaxis/crates/syntaxis-cli"
test_command = "syntaxis --help"

[[binary]]
name = "syntaxis-api"
binary_name = "syntaxis-api"
crate = "syntaxis-api"
workspace = "syntaxis"
workspace_path = "/Users/Akasha/Tools/syntaxis"
category = "api-server"
subcategory = "project-management"
description = "REST API server for syntaxis management"
long_description = """
REST API for syntaxis operations:
- HTTP endpoints for lifecycle operations
- Phase transitions with validation
- Tool management endpoints
- Checklist tracking API
- Prometheus metrics
- Health checks
- Default port: 8081
"""
requires_runtime = ["port 8081 available"]
optional_companion = ["syntaxis", "syntaxis-dashboard"]
recommended_for = ["developer", "full"]
dependencies = ["axum"]
port = 8081
installation_command = "cargo install --path /Users/Akasha/Tools/syntaxis/crates/syntaxis-api"
test_command = "syntaxis-api --help"

[[binary]]
name = "syntaxis-dashboard"
binary_name = "syntaxis-dashboard"
crate = "syntaxis-dashboard"
workspace = "syntaxis"
workspace_path = "/Users/Akasha/Tools/syntaxis"
category = "web-dashboard"
subcategory = "project-management"
description = "Web dashboard for syntaxis visualization"
long_description = """
Web UI dashboard for syntaxis:
- Visual project status
- Phase progress tracking
- Interactive checklist management
- Tool status overview
- Real-time updates
- Responsive design
- Default port: 3000
"""
requires_runtime = ["port 3000 available", "syntaxis-api (recommended)"]
optional_companion = ["syntaxis-api"]
recommended_for = ["full"]
dependencies = ["node.js (for web server)"]
port = 3000
installation_command = "cargo install --path /Users/Akasha/Tools/syntaxis/crates/syntaxis-dashboard"
test_command = "syntaxis-dashboard --help"
note = "Recommended: install with syntaxis-api for full functionality"

[[binary]]
name = "syntaxis-tui"
binary_name = "syntaxis-tui"
crate = "syntaxis-tui"
workspace = "syntaxis"
workspace_path = "/Users/Akasha/Tools/syntaxis"
category = "tui"
subcategory = "project-management"
description = "Terminal UI for interactive syntaxis management"
long_description = """
Terminal UI (ratatui) for syntaxis:
- Interactive phase navigation
- Real-time checklist updates
- Visual status display
- Keyboard shortcuts
- Mouse support
- Color-coded phases
- Full keyboard navigation
"""
requires_runtime = []
optional_companion = ["syntaxis", "syntaxis-api"]
recommended_for = ["developer", "full"]
dependencies = ["ratatui", "crossterm"]
installation_command = "cargo install --path /Users/Akasha/Tools/syntaxis/crates/syntaxis-tui"
test_command = "syntaxis-tui --help"

# =============================================================================
# LIBRARY CRATES (NOT INSTALLABLE - for reference only)
# =============================================================================

[libraries]
note = "Library crates are NOT included in installation targets. They are compiled into binaries."

libraries_to_exclude = [
  "syntaxis-core",   # Core logic for syntaxis
  "vapora-syntaxis", # VAPORA adapter for syntaxis
  "tracking-core",            # Core logic for tracking-manager
  "tracking-tui",             # TUI components library (no binary)
  "doc-syntaxis-core",       # Core logic for doc-syntaxis
  "doc-syntaxis-tui",        # TUI components library (no binary)
  "vapora-doc-lifecycle",     # VAPORA adapter for doc-syntaxis
  "presgen-tui",              # TUI components library (no binary)
]

# =============================================================================
# CATEGORIES AND DESCRIPTIONS
# =============================================================================

[categories]

[categories.cli]
description = "Command-line tools for direct user interaction"
examples = ["tracking", "doc-lifecycle", "presgen", "syntaxis"]
use_case = "Local operations, scripting, CI/CD integration"

[categories.api-server]
description = "REST API servers for programmatic access"
examples = ["tracking-api", "syntaxis-api"]
use_case = "Server deployments, remote access, integrations"

[categories.tui]
description = "Terminal User Interface applications"
examples = ["syntaxis-tui"]
use_case = "Interactive terminal work, no GUI needed"

[categories.web-dashboard]
description = "Web-based dashboards and UIs"
examples = ["syntaxis-dashboard"]
use_case = "Visual monitoring, remote team access"

[categories.mcp-server]
description = "Model Context Protocol servers for AI integration"
examples = ["doc-syntaxis-mcp"]
use_case = "Claude integration, multi-agent workflows"

# =============================================================================
# INSTALLATION HELP
# =============================================================================

[installation_help]
workspace_format = """
# Installing from workspace:
cd /Users/Akasha/Tools/{workspace_name}
cargo install --path crates/{crate_name}

# Or directly:
cargo install --path /Users/Akasha/Tools/{workspace_name}/crates/{crate_name}
"""

non_workspace_format = """
# Installing standalone project:
cargo install --path /Users/Akasha/Tools/{project_path}
"""

verify_command = "which {binary_name}  # Check if installed"
list_all_binaries = "ls ~/.cargo/bin/ | grep -E 'tracking|doc-lifecycle|presgen|lifecycle|project'"
