Skip to content

Development Index

Purpose

Central hub for ShadowHound development policies, workflows, and contributor guidelines. This index covers git workflows, DIMOS integration, documentation standards, and development tracking.

Prerequisites

  • Familiarity with git and ROS 2 development workflows
  • Access to the ShadowHound repository
  • Understanding of the project architecture (see Architecture Index)

Active Policies & Workflows

Collaboration & Velocity

Git & Submodule Management

Documentation Standards

Development Tracking

  • TODO List — Active development tasks and priorities

Completed Work

Cleanup Inventories

Key Principles

DIMOS Development

CRITICAL: Never edit DIMOS files in the ShadowHound submodule directory (src/dimos-unitree/). All DIMOS development must happen in a separate clone. See DIMOS Development Policy.

Documentation Standards

  • Use Obsidian-style wikilinks for internal references
  • Include front-matter on all Markdown files (tags, status, related, summary)
  • Follow section structure: Purpose, Prerequisites, Steps, Validation, References
  • Apply hierarchical tags (e.g., development/policy, development/process)
  • Populate "related" fields with 2-5 connected documents
  • Add "See Also" sections for horizontal navigation

Git Workflow

  • Feature branches from dev branch
  • Descriptive commit messages with docs(<area>):, feat(<scope>):, fix(<scope>): prefixes
  • Submodules managed with standard git (not vcstool)
  • Recursive submodule updates: git submodule update --init --recursive

Common Tasks

Setting Up Development Environment

  1. Clone repository with submodules: bash git clone --recursive https://github.com/danmartinez78/shadowhound.git

  2. Update submodules (if already cloned): bash git submodule update --init --recursive

  3. Follow platform-specific setup guides:

  4. ROS 2 Setup
  5. DIMOS Quick Start

Contributing Documentation

  1. Create feature branch: git checkout -b docs/<description>
  2. Follow review plan guidelines
  3. Use PR checklist before submitting
  4. Validate wikilinks: python tools/validate_wikilinks.py --docs docs

Working with DIMOS

  1. Clone DIMOS separately: git clone git@github.com:danmartinez78/dimos-unitree.git
  2. Make changes in separate DIMOS clone
  3. Push changes and create PR in dimos-unitree repo
  4. Update submodule pointer in ShadowHound after merge
  5. See full policy for details

Validation

  • [ ] All active policies reviewed and up-to-date
  • [ ] Documentation standards consistently applied
  • [ ] Git workflows documented and validated
  • [ ] Legacy content archived appropriately

See Also

References

  • Documentation Root
  • Git Submodules Documentation: https://git-scm.com/book/en/v2/Git-Tools-Submodules
  • Obsidian Documentation: https://help.obsidian.md/
  • GitHub Wiki Best Practices