Get the FREE Ultimate OpenClaw Setup Guide →

devteam-config

npx machina-cli add skill michael-harris/devteam/devteam-config --openclaw
Files (1)
SKILL.md
6.1 KB

DevTeam Config Command

Command: /devteam:config [action] [key] [value]

View and modify DevTeam configuration settings.

Usage

/devteam:config                           # Show current configuration
/devteam:config show                      # Same as above
/devteam:config get eco.enabled           # Get specific setting
/devteam:config set eco.enabled true      # Set specific setting
/devteam:config reset                     # Reset to defaults
/devteam:config init                      # Initialize configuration

Actions

ActionDescription
showDisplay all configuration (default)
get <key>Get a specific setting
set <key> <value>Set a specific setting
resetReset all settings to defaults
initInitialize configuration for new project

Configuration Options

Execution Settings

KeyTypeDefaultDescription
execution.modestringnormalDefault mode: normal, eco
execution.max_iterationsint10Max Task Loop iterations
execution.parallel_gatesbooltrueRun quality gates in parallel

Model Settings

KeyTypeDefaultDescription
models.escalation_thresholdint2Failures before escalation
models.eco_thresholdint4Escalation threshold in eco mode

Quality Gates

KeyTypeDefaultDescription
gates.tests.enabledbooltrueRun tests
gates.tests.commandstringautoTest command (auto-detect)
gates.lint.enabledbooltrueRun linting
gates.typecheck.enabledbooltrueRun type checking
gates.security.enabledboolfalseRun security scan

Interview Settings

KeyTypeDefaultDescription
interview.enabledbooltrueEnable interview phase
interview.max_questionsint5Max questions per interview
interview.skip_for_plansbooltrueSkip for planned tasks

Research Settings

KeyTypeDefaultDescription
research.enabledbooltrueEnable research phase
research.timeout_minutesint5Research timeout

Your Process

Step 1: Load Configuration

const configPath = '.devteam/config.yaml'

function loadConfig() {
    if (existsSync(configPath)) {
        return yaml.parse(readFileSync(configPath))
    }
    return getDefaultConfig()
}

Step 2: Handle Actions

switch (action) {
    case 'show':
        displayConfig(config)
        break

    case 'get':
        const value = getNestedValue(config, key)
        console.log(`${key}: ${value}`)
        break

    case 'set':
        setNestedValue(config, key, parseValue(value))
        saveConfig(config)
        console.log(`Set ${key} = ${value}`)
        break

    case 'reset':
        const defaults = getDefaultConfig()
        saveConfig(defaults)
        console.log('Configuration reset to defaults')
        break

    case 'init':
        await initializeConfig()
        break
}

Step 3: Display Configuration

DevTeam Configuration

Execution
  mode:              normal
  max_iterations:    10
  parallel_gates:    true

Models
  escalation_threshold:  2
  eco_threshold:         4

Quality Gates
  tests:      enabled (npm test)
  lint:       enabled (npm run lint)
  typecheck:  enabled (npm run typecheck)
  security:   disabled

Interview
  enabled:           true
  max_questions:     5
  skip_for_plans:    true

Research
  enabled:           true
  timeout_minutes:   5

Config file: .devteam/config.yaml
Edit: /devteam:config set <key> <value>

Step 4: Initialize Configuration

async function initializeConfig() {
    // Detect project type
    const projectType = await detectProjectType()

    // Ask configuration questions
    const answers = await interview([
        {
            key: 'execution.mode',
            question: 'Default execution mode?',
            options: ['normal', 'eco'],
            default: 'normal'
        },
        {
            key: 'gates.security.enabled',
            question: 'Enable security scanning?',
            type: 'boolean',
            default: false
        }
    ])

    // Generate config based on project
    const config = {
        ...getDefaultConfig(),
        ...answers,
        project: {
            type: projectType.type,
            language: projectType.language,
            detected: new Date().toISOString()
        }
    }

    // Save configuration
    mkdirSync('.devteam', { recursive: true })
    saveConfig(config)

    console.log(`
Configuration initialized

  Project type: ${projectType.type}
  Language: ${projectType.language}
  Config file: .devteam/config.yaml

Edit settings: /devteam:config set <key> <value>
View settings: /devteam:config show
`)
}

Examples

# Enable eco mode by default
/devteam:config set execution.mode eco

# Increase max iterations
/devteam:config set execution.max_iterations 15

# Disable security scanning
/devteam:config set gates.security.enabled false

# Change escalation threshold
/devteam:config set models.escalation_threshold 3

Config File Location

Configuration is stored in .devteam/config.yaml:

version: "3.0"

execution:
  mode: normal
  max_iterations: 10
  parallel_gates: true

models:
  default_tier: auto
  escalation_threshold: 2
  eco_threshold: 4

gates:
  tests:
    enabled: true
    command: auto
  lint:
    enabled: true
  typecheck:
    enabled: true
  security:
    enabled: false

interview:
  enabled: true
  max_questions: 5
  skip_for_plans: true

research:
  enabled: true
  timeout_minutes: 5

See Also

  • /devteam:status - View system status
  • /devteam:reset - Reset system state

Source

git clone https://github.com/michael-harris/devteam/blob/main/skills/devteam-config/SKILL.mdView on GitHub

Overview

DevTeam-config provides a CLI to view and modify DevTeam configuration. It supports actions like show, get, set, reset, and init, covering execution, model, quality gates, interview and research settings. This helps ensure consistent behavior across projects and pipelines.

How This Skill Works

The tool reads the config from .devteam/config.yaml (or defaults if missing) and performs actions such as show, get, set, reset, or init. It updates nested keys as specified and persists changes back to the config file, with a structured display of sections like Execution, Models, Quality Gates, Interview, and Research.

When to Use It

  • You want to view the full current configuration with a single command.
  • You need to query a specific setting, e.g., get eco.enabled.
  • You want to update a setting, e.g., set execution.max_iterations 20.
  • You want to reset all settings to defaults.
  • You are starting a new project and need to initialize a fresh configuration.

Quick Start

  1. Step 1: Ensure the config file exists at .devteam/config.yaml (or defaults will be used).
  2. Step 2: Run an action like show, get, or set to inspect or modify settings.
  3. Step 3: Save and verify changes by running show again.

Best Practices

  • Audit current settings with show before making changes.
  • Verify a value with get before applying set.
  • Back up the existing config before reset.
  • Use init when starting a new project to load defaults.
  • Document and standardize keys for consistency across environments.

Example Use Cases

  • /devteam:config show
  • /devteam:config get execution.mode
  • /devteam:config set execution.max_iterations 20
  • /devteam:config reset
  • /devteam:config init

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers