Skip to content

Latest commit

Β 

History

History
293 lines (198 loc) Β· 6.79 KB

File metadata and controls

293 lines (198 loc) Β· 6.79 KB

Contributing to OpenClaw Command Center

"Join the Swarm. Evolve together."

First off, thank you for considering contributing to OpenClaw Command Center! This project thrives on community involvement.

πŸ“‹ Table of Contents

πŸ“œ Code of Conduct

This project adheres to our Code of Conduct. By participating, you're expected to uphold this code. Please report unacceptable behavior to the maintainers.

πŸš€ Getting Started

Prerequisites

  • Node.js v20 or higher
  • npm v10 or higher
  • Git

Development Setup

  1. Fork the repository

    Click the "Fork" button on GitHub to create your own copy.

  2. Clone your fork

    git clone https://github.com/YOUR_USERNAME/openclaw-command-center.git
    cd openclaw-command-center
  3. Add upstream remote

    git remote add upstream https://github.com/jontsai/openclaw-command-center.git
  4. Install dependencies

    npm install
  5. Create configuration

    cp config/dashboard.example.json config/dashboard.json
  6. Install pre-commit hooks

    make install-hooks

    This enforces project rules automatically on each commit.

  7. Start development server

    npm run dev

πŸ› οΈ Making Contributions

Types of Contributions

We welcome:

  • πŸ› Bug fixes
  • ✨ New features
  • πŸ“š Documentation improvements
  • πŸ§ͺ Test coverage
  • 🎨 UI/UX enhancements
  • πŸ”§ Performance optimizations

Before You Start

  1. Check existing issues β€” Someone might already be working on it
  2. Open an issue first β€” For major changes, discuss before implementing
  3. Keep scope focused β€” One feature/fix per PR

Branch Naming

Use descriptive branch names:

feat/add-session-filtering
fix/overlord-connection-timeout
docs/update-api-reference
refactor/simplify-creep-cache

πŸ“€ Pull Request Process

1. Create Your Branch

git checkout main
git pull upstream main
git checkout -b feat/your-feature-name

2. Make Your Changes

  • Write clean, documented code
  • Add tests for new functionality
  • Update documentation if needed
  • Follow the style guidelines

3. Test Your Changes

npm test
npm run lint

4. Commit Your Changes

Follow Conventional Commits:

git commit -m "feat: add overlord heartbeat indicator"
git commit -m "fix: resolve session timeout on reconnect"
git commit -m "docs: clarify API authentication flow"

5. Push and Create PR

git push origin feat/your-feature-name

Then open a Pull Request on GitHub.

6. PR Review

  • Maintainers will review your PR
  • Address any requested changes
  • Once approved, a maintainer will merge

PR Checklist

Before submitting, ensure:

  • Code follows project style guidelines
  • Tests pass locally (npm test)
  • Lint passes (npm run lint)
  • Documentation updated if needed
  • Commit messages follow convention
  • PR description explains the change

🎨 Style Guidelines

Code Style

  • Use ESLint configuration provided
  • Use Prettier for formatting
  • Prefer const over let, avoid var
  • Use meaningful variable names
  • Add JSDoc comments for public functions

Thematic Naming

Embrace the Starcraft theme when naming:

// Good
const overlordStatus = await checkEssence();
const creepCache = new CreepLayer();

// Less thematic
const monitorStatus = await healthCheck();
const cacheLayer = new CacheService();

Documentation

  • Use clear, concise language
  • Include code examples where helpful
  • Keep README and docs in sync with code
  • Add inline comments for complex logic

πŸ“¦ Publishing to ClawHub

This skill is distributed via ClawHub. After changes are merged to main, maintainers publish updates to the registry.

Prerequisites

# Install clawhub CLI (if not already installed)
# See https://clawhub.ai for installation instructions

# Authenticate
clawhub login
clawhub whoami   # verify

Publishing a New Version

  1. Bump the version in package.json

  2. Tag the release (see Git Tags for Releases)

  3. Publish:

    clawhub publish . --registry https://www.clawhub.ai \
      --slug command-center --version <new-version> \
      --changelog "Description of changes"

Note: The --registry flag is required until the upstream .well-known redirect is fixed. You can also set export CLAWHUB_REGISTRY=https://www.clawhub.ai to avoid passing it each time.

Git Tags for Releases

Tag each release so the release workflow can generate GitHub Releases automatically:

# Tag the current commit
git tag -a v<version> -m "v<version> β€” short description"

# Push tags
git push origin --tags

Version Bumping

Follow semver:

Change type Bump Example
Bug fixes, minor tweaks patch 0.1.0 β†’ 0.1.1
New features, backward compat minor 0.1.0 β†’ 0.2.0
Breaking changes major 0.1.0 β†’ 1.0.0

⚠️ Important: When bumping version, update both files:

  • package.json β€” "version": "X.Y.Z"
  • SKILL.md β€” version: X.Y.Z (in frontmatter)

The pre-commit hook will block commits if these versions don't match.

Verifying a Publish

# Check the published version
clawhub inspect command-center

# Install into a workspace to test
clawhub install command-center

πŸ€– For AI Contributors

AI agents are welcome contributors! If you're an AI working on this project:

  1. Read the context files first

  2. Follow the same PR process as human contributors

  3. Document your changes thoroughly β€” Future AI (and humans) will thank you

  4. When in doubt, ask β€” Open an issue to discuss before major changes

πŸ’¬ Getting Help

  • Questions? Open a GitHub Discussion
  • Found a bug? Open an Issue
  • Security concern? Email maintainers directly (don't open public issue)

πŸ™ Recognition

Contributors will be recognized in:

  • GitHub Contributors list
  • Release notes for significant contributions
  • Our eternal gratitude πŸ›

"The Swarm welcomes all who serve the greater purpose."