Overview

HoxCore is a foundational, Git-inspired project registry and initialization system designed to manage any kind of human endeavor, not only software projects. Its core purpose is to provide a single, authoritative source of truth for projects and related activities, expressed through immutable, version-controlled metadata and declarative automation.

πŸ’‘ Key Philosophy

HoxCore treats project management like Git treats source code: with immutability, version control, and a clear separation between data and operations. Every change is tracked, every entity has a unique identity, and the entire system is designed to be both human-readable and machine-intelligible.

What Makes HoxCore Different?

  • Universal Scope: Not limited to softwareβ€”manage academic research, business initiatives, creative projects, and more
  • Declarative First: No executable scripts, only pure YAML definitions
  • Git-Native: Built on Git's proven model of immutability and version control
  • LLM-Ready: Designed for AI integration from the ground up
  • Integration-Focused: Connects with existing tools rather than replacing them

Entity Types

HoxCore manages four fundamental entity types, each representing a different kind of human endeavor:

πŸ“¦

Program

An abstract container grouping related initiatives

Characteristics:

  • Strategic or thematic grouping
  • Contains multiple projects, missions, or actions
  • Long-term or ongoing
  • Portfolio-level management

Examples:

  • Digital Transformation Initiative
  • Research Program in AI Ethics
  • Product Line Development
🎯

Project

An object-like effort with concrete outputs

Characteristics:

  • Defined scope and deliverables
  • Clear completion criteria
  • Tangible outputs or artifacts
  • Time-bound with start and end dates

Examples:

  • Building a CLI Tool
  • Writing a Research Paper
  • Developing a Mobile App
πŸš€

Mission

An event-like or execution-oriented effort with clear culmination

Characteristics:

  • Event-driven or campaign-like
  • Specific goal or milestone
  • Culminates in a specific outcome
  • Often time-critical

Examples:

  • Product Launch Campaign
  • Conference Organization
  • Field Research Expedition
πŸ”„

Action

An ongoing or recurring activity without a defined end

Characteristics:

  • Continuous or recurring
  • No defined completion date
  • Process or operational focus
  • Maintenance or support activities

Examples:

  • Weekly Team Meetings
  • System Maintenance
  • Community Management

πŸ’‘ Unified Definition

All entity types share a single unified YAML definition. They differ only by metadata fields such as type, category, and relationships. This design keeps the system simple while remaining flexible.

Registry Model

The registry is the heart of HoxCoreβ€”a dedicated Git repository containing only metadata (YAML files).

Registry Structure

my-registry/
β”œβ”€β”€ .git/                  # Git repository
β”œβ”€β”€ config.yml             # Registry configuration
β”œβ”€β”€ programs/              # Program definitions
β”‚   β”œβ”€β”€ prog_abc123.yml
β”‚   └── prog_def456.yml
β”œβ”€β”€ projects/              # Project definitions
β”‚   β”œβ”€β”€ proj_ghi789.yml
β”‚   └── proj_jkl012.yml
β”œβ”€β”€ missions/              # Mission definitions
β”‚   └── miss_mno345.yml
β”œβ”€β”€ actions/               # Action definitions
β”‚   └── act_pqr678.yml
β”œβ”€β”€ templates/             # Custom templates
β”‚   └── my-template/
└── .hxc/                  # Internal HoxCore data
    └── index.db           # Entity index

Key Characteristics

  • Git-Based: Every registry is a Git repository, providing version control, history, and collaboration
  • Metadata Only: Contains only YAML definitions, no executable code or large binary files
  • Indexed: Fast querying through an internal index database
  • Scalable: Designed to handle thousands of entities efficiently
  • Portable: Can be cloned, forked, and shared like any Git repository

Registry Configuration

The config.yml file defines registry-wide settings:

registry:
  name: my-registry
  version: 0.1.0
  created: 2024-01-01T00:00:00Z
  description: "My project registry"

settings:
  default_category: general
  auto_commit: true
  index_on_change: true
  uid_prefix: custom

integrations:
  github:
    enabled: true
    default_org: myorg
  azure_devops:
    enabled: false

⚠️ Registry Integrity

The registry should contain only metadata. Large files, binaries, or executable code should be stored in external repositories and referenced via URLs or paths in the entity definitions.

Entity Definition

Every entity in HoxCore is defined by a YAML file with a standardized structure:

Complete Entity Schema

# --- Basic Metadata ---
type: project                # One of: program, project, mission, action
id: P-001                    # Optional: user-defined ID
uid: proj_abc123def456       # Auto-generated by HoxCore
title: "Example Project"     # Human-readable title
description: >               # Optional: purpose or summary
  This project builds an AI-integrated CLI for managing
  modular registries.

# --- Status & Lifecycle ---
status: active               # Options: active, completed, on-hold, canceled
start_date: 2024-01-01       # Optional
due_date: 2024-04-01         # Optional
completion_date: null        # Optional
duration_estimate: 90d       # e.g., 90d, 3w, 6m

# --- Classification & Hierarchy ---
category: software.dev/cli-tool.default
tags: [cli, ai, registry, tools]
parent: prog_xyz789          # Optional parent UID
children: []                 # Optional list of child UIDs
related: []                  # Optional list of related UIDs

# --- Git & Version Control Integrations ---
repositories:
  - name: github
    url: https://github.com/user/repo
  - name: overleaf
    url: https://www.overleaf.com/project/123abc
  - name: local-repo
    path: ./repos/example

# --- Storage Integrations ---
storage:
  - name: gdrive
    provider: google-drive
    url: https://drive.google.com/drive/folders/example
  - name: notion
    provider: notion
    url: https://notion.so/workspace/docs

# --- Database Integrations ---
databases:
  - name: local-sqlite
    type: sqlite
    path: ./data/example.db
  - name: remote-postgres
    type: postgres
    url: postgres://user:pass@host:5432/dbname

# --- Project Management Tools ---
tools:
  - name: azure-devops
    provider: azure
    url: https://dev.azure.com/org/project
  - name: github-projects
    provider: github
    url: https://github.com/user/repo/projects/1

# --- LLM Models & Knowledge Bases ---
models:
  - id: assistant
    provider: openwebui
    url: http://openwebui.local/?models=assistant

knowledge_bases:
  - id: kb-registry-specs
    url: http://openwebui.local/workspace/knowledge/5f0f9cc7...

# --- Template for Scaffolding ---
template: software.dev/cli-tool.default

Field Descriptions

Field Type Required Description
type string Yes Entity type: program, project, mission, or action
uid string Auto Immutable system-generated unique identifier
id string No Optional human-defined identifier (editable)
title string Yes Human-readable title
description string No Detailed description for humans and LLMs
status enum Yes Current status: active, completed, on-hold, canceled
category string No Hierarchical category with optional template variant
tags array No Searchable keywords for subjective meaning
parent string No UID of parent entity
children array No List of child entity UIDs
related array No List of related entity UIDs

Identification System

HoxCore uses a dual identification system to balance machine efficiency with human usability:

UID (Unique Identifier)

System-Generated, Immutable

Every entity receives a unique, immutable UID upon creation:

  • Format: type_randomstring (e.g., proj_abc123def456)
  • Immutable: Cannot be changed after creation
  • Unique: Guaranteed to be unique across the registry
  • Machine-Friendly: Optimized for programmatic access
uid: proj_abc123def456  # Auto-generated, never changes

ID (Human-Defined Identifier)

Optional, Editable

Users can optionally assign a human-readable ID:

  • Format: Any string (e.g., P-001, PROJ-CLI-TOOL)
  • Editable: Can be changed at any time
  • Optional: Not required for entity creation
  • Human-Friendly: Easier to remember and communicate
id: P-001  # Optional, can be changed

Why Two Identifiers?

Aspect UID ID
Purpose System integrity Human convenience
Mutability Immutable Editable
Uniqueness Guaranteed Best effort
Use Case References, relationships Communication, documentation

πŸ’‘ Best Practice

Use UIDs for all programmatic references and relationships. Use IDs for human communication and documentation. Both can be used interchangeably in CLI commands.

Classification & Categories

HoxCore uses a flexible classification system based on categories and tags:

Categories

Categories provide hierarchical, semantic classification:

# Basic category
category: software.dev/cli-tool

# Category with template variant
category: software.dev/cli-tool.python-advanced

# Academic category
category: academic/research-paper.ieee

# Business category
category: business/initiative.strategic

Category Structure

Format: domain.subdomain/type.variant

  • Domain: Top-level classification (e.g., software, academic, business)
  • Subdomain: More specific classification (e.g., dev, research, operations)
  • Type: Specific entity type (e.g., cli-tool, research-paper)
  • Variant: Optional template or style variant (e.g., python-advanced, ieee)

Tags

Tags provide flexible, subjective classification:

tags: [cli, ai, python, tools, automation]

Tags vs Categories

Aspect Categories Tags
Structure Hierarchical Flat
Purpose Semantic classification Subjective meaning
Quantity One per entity Multiple per entity
Template Link Can reference template No template link

πŸ’‘ KISS Principle

Categories are semantic labels only. Subjective meaning is expressed via tags, following the Keep It Simple, Stupid (KISS) principle. This keeps the system flexible and easy to understand.

Relationships

Entities can be related to each other through three types of relationships:

Parent-Child Relationships

Hierarchical relationships representing containment or ownership:

# Parent entity (Program)
type: program
uid: prog_abc123
title: "Digital Transformation"
children:
  - proj_def456
  - proj_ghi789

# Child entity (Project)
type: project
uid: proj_def456
title: "Build CLI Tool"
parent: prog_abc123

Characteristics:

  • One parent per entity (optional)
  • Multiple children per entity
  • Bidirectional references (parent knows children, children know parent)
  • Typically: Programs contain Projects, Projects contain Missions/Actions

Related Entities

Non-hierarchical relationships representing dependencies or associations:

type: project
uid: proj_abc123
title: "Frontend Development"
related:
  - proj_def456  # Backend API project
  - proj_ghi789  # Design system project

Characteristics:

  • Multiple related entities per entity
  • Non-hierarchical (peers)
  • Can be unidirectional or bidirectional
  • Represents dependencies, collaborations, or associations

Relationship Visualization

Program: Digital Transformation (prog_abc123)
β”œβ”€β”€ Project: Build CLI Tool (proj_def456)
β”‚   β”œβ”€β”€ Mission: Launch v1.0 (miss_jkl012)
β”‚   └── Action: Weekly Standup (act_mno345)
└── Project: API Development (proj_ghi789)
    └── Related to: proj_def456 (Frontend)

⚠️ Referential Integrity

Always use UIDs for relationships, not IDs. UIDs are immutable and guarantee referential integrity. HoxCore validates relationships and warns about broken references.

Lifecycle Management

Entities progress through a defined lifecycle with status tracking and date management:

Status Values

active

Entity is currently being worked on

completed

Entity has been successfully finished

on-hold

Entity is temporarily paused

canceled

Entity has been discontinued

Date Fields

start_date: 2024-01-01        # When work began
due_date: 2024-04-01          # Expected completion
completion_date: 2024-03-28   # Actual completion
duration_estimate: 90d        # Estimated duration

Duration Format

Duration estimates support multiple formats:

  • 90d - 90 days
  • 3w - 3 weeks
  • 6m - 6 months
  • 1y - 1 year

Lifecycle Transitions

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Created β”‚
β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”˜
     β”‚
     v
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ active │────>β”‚ on-hold  β”‚
β””β”€β”€β”€β”¬β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜
    β”‚               β”‚
    β”‚<β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
    β”‚
    v
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ completed β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
    β”‚
    v
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ canceled β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ’‘ Automatic Tracking

HoxCore automatically tracks creation and modification timestamps. When status changes to completed, the completion_date is automatically set if not provided.

Git Integration

Every HoxCore registry is a Git repository, providing powerful version control capabilities:

Automatic Git Operations

  • Initialization: hxc init creates a Git repository
  • Commits: Entity changes can be auto-committed (configurable)
  • History: Full audit trail of all changes
  • Branching: Experiment with changes in branches

Git Workflow

# Initialize registry (creates Git repo)
hxc init my-registry

# Create entity (auto-commits if enabled)
hxc create project --title "New Project"

# View Git history
cd my-registry
git log

# Create branch for experiments
git checkout -b experiment

# Make changes
hxc update P-001 --status completed

# Merge back to main
git checkout main
git merge experiment

Benefits of Git Integration

Feature Benefit
Version History Track all changes over time
Branching Experiment without affecting main registry
Collaboration Multiple users can work together
Backup Push to remote repositories for safety
Auditability Complete record of who changed what and when

⚠️ Git Best Practices

While HoxCore can auto-commit changes, consider disabling this for production registries and using manual commits with meaningful messages. This provides better control and clearer history.

Templates

Templates in HoxCore are purely declarative and secureβ€”no executable code, only YAML definitions:

Template Purpose

  • Define folder and file scaffolding
  • Specify file copying and text injection
  • Configure Git repository initialization
  • Set up project structure consistently

Template Structure

# template.yml
name: cli-tool-python
description: "Python CLI tool template"
category: software.dev/cli-tool

scaffolding:
  directories:
    - src/
    - tests/
    - docs/
  
  files:
    - path: README.md
      content: |
        # {{title}}
        {{description}}
    
    - path: src/main.py
      source: templates/cli-tool-python/main.py.template
    
    - path: pyproject.toml
      source: templates/cli-tool-python/pyproject.toml.template

git:
  initialize: true
  initial_commit: true
  gitignore:
    - __pycache__/
    - *.pyc
    - .venv/

Template Variables

Templates support variable substitution using {{variable}} syntax:

  • {{title}} - Entity title
  • {{description}} - Entity description
  • {{uid}} - Entity UID
  • {{id}} - Entity ID (if set)
  • {{category}} - Entity category

Security Model

βœ… Safe by Design

Templates are interpreted by HoxCore itself, not executed as scripts. This ensures:

  • No arbitrary code execution
  • Predictable behavior
  • Easy to audit and understand
  • Safe to share and distribute

For more details, see the Templates documentation.

Integrations

HoxCore integrates with external tools rather than replacing them:

Integration Categories

Version Control

  • GitHub
  • Azure DevOps
  • Gitea
  • Overleaf

Project Management

  • GitHub Projects
  • Azure DevOps Boards
  • OpenProject
  • Trello

Storage

  • Local paths
  • Google Drive
  • Notion
  • Knowledge bases

Databases

  • SQLite
  • PostgreSQL
  • MySQL
  • MongoDB

Integration Definition

# In entity definition
repositories:
  - name: github
    url: https://github.com/user/repo

storage:
  - name: gdrive
    provider: google-drive
    url: https://drive.google.com/drive/folders/example

tools:
  - name: azure-devops
    provider: azure
    url: https://dev.azure.com/org/project

databases:
  - name: local-sqlite
    type: sqlite
    path: ./data/example.db

For detailed integration guides, see the Integrations documentation.

AI Integration

HoxCore is designed to be LLM-native from the ground up:

LLM Model References

Projects can reference one or multiple LLM models:

models:
  - id: assistant
    provider: openwebui
    url: http://openwebui.local/?models=assistant
  
  - id: code-helper
    provider: ollama
    model: codellama
  
  - id: gpt4
    provider: openai
    model: gpt-4-turbo

Knowledge Base Integration

Link knowledge bases for context-aware AI assistance:

knowledge_bases:
  - id: kb-registry-specs
    url: http://openwebui.local/workspace/knowledge/5f0f9cc7...
  
  - id: kb-project-docs
    path: ./docs/knowledge-base/

AI Capabilities

  • Registry Indexing: The entire registry can be indexed as an LLM-accessible knowledge base
  • Global Assistant: AI can reason over all projects, relationships, and metadata
  • Context-Aware Help: AI understands project context and provides relevant assistance
  • Natural Language Queries: Query the registry using natural language

πŸ’‘ Human + Machine Understanding

HoxCore's YAML-based definitions are designed to be understood by both humans and LLMs. This enables powerful AI-assisted project management while maintaining human readability.

For more details, see the AI Features documentation.

Design Principles

HoxCore is built on a foundation of clear, consistent design principles:

πŸ”’ Git-like

Immutable IDs, history, minimal magic

  • UIDs are immutable and unique
  • Every change is tracked in Git history
  • No hidden behavior or magic
  • Predictable and transparent operations

πŸ“‹ Declarative

No scripts, no hidden behavior

  • Pure YAML definitions
  • No executable code in templates
  • What you see is what you get
  • Easy to audit and understand

🌍 Universal

Applicable beyond software development

  • Manage any kind of human endeavor
  • Flexible entity types
  • Domain-agnostic design
  • Adaptable to any workflow

🧩 Composable

Integrates instead of duplicating tools

  • Works with existing tools
  • References external systems
  • Doesn't replace, enhances
  • Modular and extensible

πŸ“ˆ Scalable

Thousands of entities, fast queries

  • Efficient indexing
  • Fast search and queries
  • Handles large registries
  • Performance-focused design

πŸ€– LLM-native

Human + machine understanding

  • AI-readable metadata
  • LLM model integration
  • Knowledge base support
  • Natural language queries

βœ… The HoxCore Philosophy

In short, HoxCore is a universal, declarative, version-controlled project brain, designed to be both human-friendly and AI-intelligible. It provides a single source of truth for all your projects, missions, and actions, with the power of Git and the intelligence of modern AI.

Next Steps

Now that you understand the core concepts, explore specific features:

πŸ“– CLI Reference

Explore all available commands and their options in detail.

View CLI Reference β†’

πŸ“ 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 β†’