Overview

The HoxCore CLI (hxc) provides a comprehensive command-line interface for managing your project registry. All commands follow a consistent pattern and support both interactive and non-interactive modes.

Command Structure

hxc [global-options] <command> [command-options] [arguments]

Getting Help

# General help
hxc --help

# Command-specific help
hxc <command> --help

# Show version
hxc --version

💡 Tab Completion

HoxCore supports shell tab completion for commands and options. Enable it by running:

# Bash
eval "$(hxc completion bash)"

# Zsh
eval "$(hxc completion zsh)"

Global Options

These options can be used with any command:

Option Description
--registry PATH Specify registry path (overrides default)
--verbose, -v Enable verbose output
--quiet, -q Suppress non-error output
--no-color Disable colored output
--format FORMAT Output format: text, json, yaml (default: text)
--help, -h Show help information
--version Show version information

Examples

# Use specific registry
hxc --registry /path/to/registry list projects

# JSON output
hxc --format json show P-001

# Verbose mode
hxc -v create project --title "New Project"

init

Initialize a new HoxCore registry.

Syntax

hxc init [PATH] [options]

Arguments

Argument Description Default
PATH Directory path for the registry Current directory

Options

Option Description
--name NAME Registry name
--description DESC Registry description
--no-git Skip Git initialization
--template TEMPLATE Use a registry template
--force, -f Overwrite existing registry

Examples

# Initialize in current directory
hxc init .

# Initialize in new directory
hxc init my-registry

# Initialize with name and description
hxc init my-registry \
  --name "My Projects" \
  --description "Personal project registry"

# Initialize without Git
hxc init my-registry --no-git

# Force overwrite existing registry
hxc init my-registry --force

Output

✅ Registry initialized at: /path/to/my-registry
📁 Created directory structure
🔧 Initialized Git repository
📝 Created config.yml
✨ Registry ready to use!

create

Create a new entity (program, project, mission, or action).

Syntax

hxc create <type> [options]

Entity Types

  • program - Abstract container grouping related initiatives
  • project - Object-like effort with concrete outputs
  • mission - Event-like effort with clear culmination
  • action - Ongoing activity without defined end

Common Options

Option Description Required
--title TITLE Entity title Yes
--description DESC Entity description No
--id ID Human-defined ID No
--category CATEGORY Entity category No
--tags TAG1,TAG2 Comma-separated tags No
--status STATUS Initial status (default: active) No
--parent UID Parent entity UID No
--start-date DATE Start date (YYYY-MM-DD) No
--due-date DATE Due date (YYYY-MM-DD) No
--duration DURATION Duration estimate (e.g., 90d, 3w) No
--template TEMPLATE Template to use for scaffolding No
--interactive, -i Interactive mode No
--no-commit Skip Git commit No

Examples

# Basic project creation
hxc create project --title "My Project"

# Project with full details
hxc create project \
  --title "AI-Powered CLI Tool" \
  --description "Building an intelligent CLI" \
  --id P-001 \
  --category software.dev/cli-tool \
  --tags cli,ai,python \
  --start-date 2024-01-01 \
  --due-date 2024-12-31

# Create with template
hxc create project \
  --title "Python CLI Tool" \
  --template software.dev/cli-tool.python

# Create with parent
hxc create project \
  --title "Backend API" \
  --parent prog_abc123def456

# Interactive creation
hxc create project --interactive

# Create program
hxc create program \
  --title "Digital Transformation" \
  --description "Company-wide digital initiative"

# Create mission
hxc create mission \
  --title "Product Launch" \
  --due-date 2024-06-30

# Create action
hxc create action \
  --title "Weekly Team Meeting" \
  --description "Recurring team sync"

Output

✅ Project created successfully!
UID: proj_abc123def456
ID: P-001
Title: AI-Powered CLI Tool
Location: /path/to/registry/projects/proj_abc123def456.yml

📝 Entity definition saved
🔧 Template applied (if specified)
✨ Ready to use!

list

List entities in the registry.

Syntax

hxc list [type] [options]

Entity Types

  • programs - List all programs
  • projects - List all projects
  • missions - List all missions
  • actions - List all actions
  • all - List all entities (default)

Options

Option Description
--status STATUS Filter by status
--category CATEGORY Filter by category
--tags TAG1,TAG2 Filter by tags (AND logic)
--parent UID Filter by parent entity
--sort FIELD Sort by field (title, created, modified, due_date)
--reverse, -r Reverse sort order
--limit N Limit number of results
--long, -l Show detailed information
--tree Show hierarchical tree view

Examples

# List all projects
hxc list projects

# List active projects
hxc list projects --status active

# List by category
hxc list projects --category software.dev

# List by tags
hxc list projects --tags ai,cli

# List with sorting
hxc list projects --sort due_date

# List with limit
hxc list projects --limit 10

# Detailed list
hxc list projects --long

# Tree view
hxc list all --tree

# List children of a program
hxc list projects --parent prog_abc123def456

Output

UID                    ID      Title                    Status    Category
proj_abc123def456      P-001   AI-Powered CLI Tool      active    software.dev/cli-tool
proj_xyz789ghi012      P-002   Backend API              active    software.dev/api
proj_mno345pqr678      P-003   Frontend App             on-hold   software.dev/web

Total: 3 projects

Tree View Output

Program: Digital Transformation (prog_abc123)
├── Project: AI-Powered CLI Tool (proj_def456)
│   ├── Mission: Launch v1.0 (miss_ghi789)
│   └── Action: Weekly Standup (act_jkl012)
└── Project: Backend API (proj_mno345)
    └── Mission: API v2 Release (miss_pqr678)

show

Display detailed information about an entity.

Syntax

hxc show <identifier> [options]

Arguments

Argument Description
identifier Entity UID or ID

Options

Option Description
--raw Show raw YAML content
--history Show Git history
--relationships Show related entities
--path Show file path only

Examples

# Show by UID
hxc show proj_abc123def456

# Show by ID
hxc show P-001

# Show raw YAML
hxc show P-001 --raw

# Show with history
hxc show P-001 --history

# Show with relationships
hxc show P-001 --relationships

# Show file path
hxc show P-001 --path

Output

═══════════════════════════════════════════════════════════
Entity Details
═══════════════════════════════════════════════════════════

UID:          proj_abc123def456
ID:           P-001
Type:         project
Title:        AI-Powered CLI Tool
Description:  Building an intelligent command-line interface
              with LLM integration and declarative templates.

Status:       active
Category:     software.dev/cli-tool
Tags:         cli, ai, python, tools

Dates:
  Created:    2024-01-01T10:00:00Z
  Modified:   2024-01-15T14:30:00Z
  Start:      2024-01-01
  Due:        2024-12-31

Hierarchy:
  Parent:     prog_xyz789ghi012 (Digital Transformation)
  Children:   2 entities

Integrations:
  Repositories:
    - github: https://github.com/user/repo
  
  Tools:
    - github-projects: https://github.com/user/repo/projects/1
  
  Models:
    - assistant (openwebui)

Location: /path/to/registry/projects/proj_abc123def456.yml

update

Update an existing entity.

Syntax

hxc update <identifier> [options]

Arguments

Argument Description
identifier Entity UID or ID

Options

Option Description
--title TITLE Update title
--description DESC Update description
--id ID Update human-defined ID
--status STATUS Update status
--category CATEGORY Update category
--add-tags TAG1,TAG2 Add tags
--remove-tags TAG1,TAG2 Remove tags
--set-tags TAG1,TAG2 Replace all tags
--parent UID Update parent entity
--start-date DATE Update start date
--due-date DATE Update due date
--completion-date DATE Set completion date
--edit, -e Open in text editor
--no-commit Skip Git commit

Examples

# Update status
hxc update P-001 --status completed

# Update title
hxc update P-001 --title "Updated Project Title"

# Update multiple fields
hxc update P-001 \
  --status completed \
  --completion-date 2024-06-30 \
  --add-tags finished,successful

# Add tags
hxc update P-001 --add-tags production,deployed

# Remove tags
hxc update P-001 --remove-tags experimental

# Replace all tags
hxc update P-001 --set-tags production,stable,v1.0

# Update parent
hxc update P-001 --parent prog_xyz789

# Edit in text editor
hxc update P-001 --edit

# Update without committing
hxc update P-001 --status on-hold --no-commit

Output

✅ Entity updated successfully!
UID: proj_abc123def456
ID: P-001

Changes:
  status: active → completed
  completion_date: null → 2024-06-30
  tags: +finished, +successful

📝 Changes saved
🔧 Git commit created
✨ Update complete!

delete

Delete an entity from the registry.

Syntax

hxc delete <identifier> [options]

Arguments

Argument Description
identifier Entity UID or ID

Options

Option Description
--force, -f Skip confirmation prompt
--recursive, -r Delete children entities
--no-commit Skip Git commit

Examples

# Delete with confirmation
hxc delete P-001

# Delete without confirmation
hxc delete P-001 --force

# Delete with children
hxc delete prog_abc123 --recursive

# Delete without committing
hxc delete P-001 --no-commit

Output

⚠️  Warning: You are about to delete the following entity:

UID:   proj_abc123def456
ID:    P-001
Title: AI-Powered CLI Tool
Type:  project

This action cannot be undone (unless you restore from Git history).

Are you sure? [y/N]: y

✅ Entity deleted successfully!
📝 File removed
🔧 Git commit created
✨ Deletion complete!

⚠️ Deletion Warning

Deleting an entity removes it from the registry. However, the entity can be restored from Git history if needed. Use --recursive carefully as it will delete all child entities.

query

Perform advanced searches across the registry.

Syntax

hxc query [type] [options]

Options

Option Description
--search TEXT Full-text search in title and description
--tags TAG1,TAG2 Filter by tags (AND logic)
--any-tags TAG1,TAG2 Filter by tags (OR logic)
--status STATUS Filter by status
--category CATEGORY Filter by category (supports wildcards)
--start-after DATE Start date after specified date
--start-before DATE Start date before specified date
--due-after DATE Due date after specified date
--due-before DATE Due date before specified date
--created-after DATE Created after specified date
--modified-after DATE Modified after specified date
--has-parent Has a parent entity
--no-parent Has no parent entity
--has-children Has child entities
--sort FIELD Sort results
--limit N Limit number of results

Examples

# Full-text search
hxc query --search "machine learning"

# Search by tags (AND)
hxc query --tags ai,cli,python

# Search by tags (OR)
hxc query --any-tags ai,ml,data

# Complex query
hxc query projects \
  --status active \
  --category software.dev \
  --tags ai \
  --due-before 2024-12-31

# Date range query
hxc query projects \
  --start-after 2024-01-01 \
  --due-before 2024-12-31

# Category wildcard
hxc query --category "software.*"

# Top-level entities only
hxc query --no-parent

# Entities with children
hxc query --has-children

# Recent modifications
hxc query --modified-after 2024-01-01 --sort modified

# Overdue projects
hxc query projects \
  --status active \
  --due-before $(date +%Y-%m-%d)

Output

Query Results (5 matches)
═══════════════════════════════════════════════════════════

UID                    ID      Title                    Status    Category
proj_abc123def456      P-001   AI-Powered CLI Tool      active    software.dev/cli-tool
proj_xyz789ghi012      P-002   ML Pipeline              active    software.dev/ml
proj_mno345pqr678      P-003   Data Analysis Tool       active    software.dev/data

Total: 3 projects matching query

registry

Manage registry locations and settings.

Subcommands

  • path - Get or set the registry path
  • list - List all known registries
  • info - Show registry information
  • validate - Validate registry structure

registry path

# Get current registry path
hxc registry path

# Set registry path
hxc registry path --set /path/to/registry

registry list

# List all known registries
hxc registry list

registry info

# Show registry information
hxc registry info

# Show info for specific registry
hxc registry info --registry /path/to/registry

registry validate

# Validate current registry
hxc registry validate

# Validate specific registry
hxc registry validate --registry /path/to/registry

Examples

# Set default registry
hxc registry path --set ~/projects/my-registry

# View current registry
hxc registry path

# Show registry info
hxc registry info

# Validate registry
hxc registry validate

Output (registry info)

Registry Information
═══════════════════════════════════════════════════════════

Name:        my-registry
Version:     0.1.0
Path:        /home/user/projects/my-registry
Created:     2024-01-01T00:00:00Z

Statistics:
  Programs:  5
  Projects:  23
  Missions:  8
  Actions:   12
  Total:     48 entities

Git:
  Branch:    main
  Commits:   156
  Remote:    origin (https://github.com/user/my-registry.git)

Last Modified: 2024-01-15T14:30:00Z

template

Manage templates for entity scaffolding.

Subcommands

  • list - List available templates
  • show - Show template details
  • create - Create a new template
  • validate - Validate a template

template list

# List all templates
hxc template list

# List templates by category
hxc template list --category software.dev

template show

# Show template details
hxc template show software.dev/cli-tool.python

template create

# Create new template
hxc template create my-template \
  --category software.dev/custom \
  --description "My custom template"

template validate

# Validate template
hxc template validate my-template

Examples

# List all templates
hxc template list

# Show Python CLI template
hxc template show software.dev/cli-tool.python

# Create custom template
hxc template create my-cli-template \
  --category software.dev/cli-tool.custom

# Validate template
hxc template validate my-cli-template

export

Export entities to various formats.

Syntax

hxc export [options]

Options

Option Description
--format FORMAT Export format: json, yaml, csv, markdown
--output FILE Output file path
--type TYPE Entity type to export
--filter QUERY Filter entities (same as query options)
--include-children Include child entities

Examples

# Export all to JSON
hxc export --format json --output registry.json

# Export projects to CSV
hxc export --type projects --format csv --output projects.csv

# Export active projects to Markdown
hxc export \
  --type projects \
  --filter "--status active" \
  --format markdown \
  --output active-projects.md

# Export with children
hxc export \
  --type programs \
  --include-children \
  --format yaml \
  --output programs-full.yml

import

Import entities from external sources.

Syntax

hxc import <file> [options]

Arguments

Argument Description
file File to import (json, yaml, csv)

Options

Option Description
--format FORMAT Input format (auto-detected if not specified)
--dry-run Preview import without making changes
--update-existing Update existing entities
--skip-validation Skip validation checks

Examples

# Import from JSON
hxc import projects.json

# Import with dry run
hxc import projects.json --dry-run

# Import and update existing
hxc import projects.json --update-existing

# Import from CSV
hxc import projects.csv --format csv

validate

Validate entity definitions and registry structure.

Syntax

hxc validate [identifier] [options]

Options

Option Description
--all Validate all entities
--type TYPE Validate specific entity type
--strict Enable strict validation
--fix Attempt to fix validation errors

Examples

# Validate single entity
hxc validate P-001

# Validate all entities
hxc validate --all

# Validate all projects
hxc validate --type projects

# Strict validation
hxc validate --all --strict

# Validate and fix
hxc validate --all --fix

Output

Validation Results
═══════════════════════════════════════════════════════════

✅ proj_abc123def456 (P-001): Valid
⚠️  proj_xyz789ghi012 (P-002): Warning - Missing due_date
❌ proj_mno345pqr678 (P-003): Error - Invalid category format

Summary:
  Valid:    1
  Warnings: 1
  Errors:   1
  Total:    3 entities validated

config

Manage HoxCore configuration settings.

Subcommands

  • get - Get configuration value
  • set - Set configuration value
  • list - List all configuration
  • reset - Reset to defaults

config get

# Get specific value
hxc config get registry_path

# Get all values
hxc config get --all

config set

# Set value
hxc config set registry_path /path/to/registry

# Set multiple values
hxc config set auto_commit true
hxc config set default_category software.dev

config list

# List all configuration
hxc config list

config reset

# Reset all to defaults
hxc config reset

# Reset specific key
hxc config reset registry_path

Examples

# View current registry path
hxc config get registry_path

# Set auto-commit
hxc config set auto_commit true

# List all settings
hxc config list

# Reset to defaults
hxc config reset

Common Configuration Keys

Key Description Default
registry_path Default registry path None
auto_commit Auto-commit changes true
default_category Default entity category general
editor Text editor for --edit $EDITOR
color_output Enable colored output true

Exit Codes

HoxCore uses standard exit codes to indicate command success or failure:

Code Meaning
0 Success
1 General error
2 Invalid arguments
3 Entity not found
4 Validation error
5 Registry error

Environment Variables

HoxCore respects the following environment variables:

Variable Description
HXC_REGISTRY Default registry path
HXC_CONFIG Configuration file path
EDITOR Text editor for --edit flag
NO_COLOR Disable colored output (if set)

Examples

# Set default registry
export HXC_REGISTRY=/path/to/registry

# Set editor
export EDITOR=vim

# Disable colors
export NO_COLOR=1

Next Steps

Now that you're familiar with the CLI commands, explore more advanced features:

📝 Templates

Learn how to create and use templates for project scaffolding.

Explore Templates →

🔌 Integrations

Connect HoxCore with GitHub, Azure DevOps, and other tools.

Setup Integrations →

🤖 AI Features

Integrate LLM models and knowledge bases with your projects.

Discover AI Features →

📚 Core Concepts

Understand the fundamental concepts behind HoxCore's design.

Learn Core Concepts →