Files
wehub-resource-sync 23f7624596
ADR-166 MCP Bridge Security Lock / Static-source security lock (push) Failing after 0s
ADR-166 MCP Bridge Security Lock / Compose default binds loopback + Mongo has auth (push) Failing after 2s
CodeQL Advanced / Analyze (rust) (push) Failing after 0s
ADR-166 MCP Bridge Security Lock / plugin-agent-federation bindHost default (push) Failing after 1s
ADR-166 MCP Bridge Security Lock / Runtime behavior — 401 + terminal gate + fail-closed (push) Failing after 4s
business-pods-smoke / smoke (push) Failing after 1s
all-plugins-smoke / smoke-all (push) Failing after 2s
CI/CD Pipeline / Security & Code Quality (push) Failing after 1s
CI/CD Pipeline / Test Suite (ubuntu-latest) (push) Failing after 1s
CI/CD Pipeline / Build & Package (macos-latest) (push) Has been skipped
CI/CD Pipeline / Build & Package (ubuntu-latest) (push) Has been skipped
CI/CD Pipeline / Build & Package (windows-latest) (push) Has been skipped
CI/CD Pipeline / Documentation & Examples (push) Failing after 1s
Clone Tracker (14-day rolling) / Snapshot clones for ruflo ecosystem (push) Failing after 1s
CodeQL Advanced / Analyze (actions) (push) Failing after 1s
CodeQL Advanced / Analyze (javascript-typescript) (push) Failing after 1s
federation-peer-rust / stable-noop (push) Failing after 1s
metaharness-ci / score (push) Failing after 1s
metaharness-ci / router-compat (push) Failing after 0s
metaharness-ci / similarity-tests (push) Failing after 0s
no-agentbbs-smoke / smoke-without-agentbbs (push) Failing after 1s
V3 CI/CD Pipeline / Build V3 (windows-latest) (push) Has been skipped
codex-integration-audit / Codex integration audit (push) Failing after 1s
helpers-manifest-guard / guard (push) Failing after 1s
🔗 Cross-Agent Integration Tests / 🤝 Agent Coordination Tests (push) Has been skipped
🔗 Cross-Agent Integration Tests / 🧠 Memory Sharing Integration (push) Has been skipped
🔗 Cross-Agent Integration Tests / 🛡️ Fault Tolerance Tests (push) Has been skipped
🔗 Cross-Agent Integration Tests / ⚡ Performance Integration Tests (push) Has been skipped
metaharness-ci / mcp-scan (push) Failing after 1s
metaharness-ci / eject-dryrun (push) Failing after 1s
metaharness-ci / metaharness-real-data (push) Failing after 0s
no-cli-optdep-bloat-2561 / guard (push) Failing after 1s
no-metaharness-smoke / smoke-without-metaharness (push) Failing after 1s
no-phantom-agentic-flow-subpath / guard (push) Failing after 1s
🔄 Automated Rollback Manager / 🚨 Failure Detection (push) Failing after 1s
V3 CI/CD Pipeline / Plugin hooks smoke / ubuntu-latest / Node 22 (push) Failing after 1s
V3 CI/CD Pipeline / ruflo-graph-intelligence build + test smoke (#2044, ADR-123) (push) Failing after 1s
CVE Audit Gate / Audit root (critical-blocking) (push) Failing after 2s
cost-tracker-smoke / smoke (push) Failing after 3s
oia-audit-weekly / audit (push) Failing after 2s
ruflo-agent-smoke / ruflo-agent structural smoke (push) Failing after 1s
📊 Status Badges Update / 📊 Update Status Badges (push) Failing after 1s
V3 CI/CD Pipeline / Static regression guards (#2267 YAML + (push) Failing after 1s
V3 CI/CD Pipeline / Test V3 Packages (push) Failing after 0s
V3 CI/CD Pipeline / agent_execute provider routing smoke (#2042) (push) Failing after 0s
CVE Audit Gate / Audit v3 (critical-blocking) (push) Failing after 1s
federation-peer-rust / stable-native (push) Failing after 2s
🔗 Cross-Agent Integration Tests / 🚀 Integration Test Setup (push) Failing after 2s
neural-trader-smoke / runtime-smoke (push) Failing after 1s
V3 CI/CD Pipeline / Build V3 (macos-latest) (push) Has been skipped
V3 CI/CD Pipeline / Build V3 (ubuntu-latest) (push) Has been skipped
V3 CI/CD Pipeline / Type Check V3 (push) Failing after 1s
V3 CI/CD Pipeline / Smoke (no better-sqlite3) / ubuntu-latest / Node 24 (push) Failing after 1s
V3 CI/CD Pipeline / Smoke (no better-sqlite3) / ubuntu-latest / Node 22 (push) Failing after 2s
V3 CI/CD Pipeline / browser rvf create flag smoke (#2015) (push) Failing after 0s
V3 CI/CD Pipeline / Dependency review (#2046) (push) Has been skipped
V3 CI/CD Pipeline / Supply-chain audit (#2046) (push) Failing after 0s
V3 CI/CD Pipeline / witness marker drift smoke (#2021) (push) Failing after 1s
V3 CI/CD Pipeline / neural-trader portfolio CG smoke (#2068, ADR-126 Phase 3) (push) Failing after 1s
V3 CI/CD Pipeline / neural-trader backtest signing smoke (#2068, ADR-126 Phase 4) (push) Failing after 1s
V3 CI/CD Pipeline / kg-extract type-import classification smoke (#2049) (push) Failing after 0s
V3 CI/CD Pipeline / witness verify precondition smoke (#1880) (push) Failing after 2s
V3 CI/CD Pipeline / neural-trader pipeline risk-gate smoke (#2068, ADR-126 Phase 5) (push) Failing after 0s
V3 CI/CD Pipeline / neural-trader feature attribution smoke (#2068, ADR-126 Phase 6) (push) Failing after 0s
V3 CI/CD Pipeline / plugin-registry signature verification smoke (#1922, CWE-347) (push) Failing after 4s
V3 CI/CD Pipeline / memory stats legacy-DB smoke (#2120) (push) Failing after 4s
V3 CI/CD Pipeline / github deprecated actions smoke (#2089, ADR-127 Phase 3) (push) Failing after 1s
V3 CI/CD Pipeline / graph query + pathfinder smoke (ADR-130 P2+P5) (push) Has been skipped
V3 CI/CD Pipeline / graph trajectory hooks smoke (ADR-130 P3) (push) Has been skipped
V3 CI/CD Pipeline / graph plugin adapter smoke (ADR-130 P4) (push) Has been skipped
V3 CI/CD Pipeline / graph benchmark (ADR-130 P6) (push) Has been skipped
V3 CI/CD Pipeline / statusline generator delegation smoke (#2195) (push) Failing after 1s
V3 CI/CD Pipeline / wizard init regression guard (#2206 (push) Failing after 1s
V3 CI/CD Pipeline / memory no-stray-db smoke (ADR-125 P7) (push) Failing after 1s
V3 CI/CD Pipeline / github-safe injection smoke (#2089, ADR-127 Phase 1) (push) Failing after 1s
V3 CI/CD Pipeline / github actions pin smoke (#2089, ADR-127 Phase 1) (push) Failing after 1s
V3 CI/CD Pipeline / github attribution opt-in smoke (#2089, ADR-127 Phase 4) (push) Failing after 1s
V3 CI/CD Pipeline / pre-bash hook safety smoke (#2017) (push) Failing after 1s
V3 CI/CD Pipeline / Memory import smoke / ubuntu-latest (push) Failing after 0s
V3 CI/CD Pipeline / MCP protocol smoke / ubuntu-latest (push) Failing after 2s
V3 CI/CD Pipeline / ruvllm WASM auto-init smoke (#2086) (push) Failing after 4s
V3 CI/CD Pipeline / MCP paired-tool round-trip smoke (#1889) (push) Failing after 1s
V3 CI/CD Pipeline / Plugin package install-safety (#1902/#1903/#1904) (push) Failing after 1s
V3 CI/CD Pipeline / Tool description discoverability (ADR-112) (push) Failing after 3s
V3 CI/CD Pipeline / CLI npx-install smoke (#1147 / (22) (push) Failing after 1s
V3 CI/CD Pipeline / CLI npx-install smoke (#1147 / (24) (push) Failing after 1s
V3 CI/CD Pipeline / Windows hook shim smoke (#2132) / ubuntu-latest (push) Failing after 2s
V3 CI/CD Pipeline / Windows hook execution smoke (#2132) / ubuntu-latest (push) Failing after 1s
V3 CI/CD Pipeline / Windows init hooks smoke (#2132) / ubuntu-latest (push) Failing after 1s
V3 CI/CD Pipeline / Vector-index dimension audit (#1947) (push) Failing after 0s
V3 CI/CD Pipeline / Hook-command install safety (#1921) (push) Failing after 1s
V3 CI/CD Pipeline / ToolOutputGuardrail smoke (ADR-131, (push) Failing after 1s
V3 CI/CD Pipeline / init-bundle invariants smoke (#2095, ADR-128 Phase 5) (push) Failing after 1s
V3 CI/CD Pipeline / wasm provider bridge smoke (ADR-129 P1) (push) Failing after 2s
V3 CI/CD Pipeline / wasm gallery CRUD smoke (ADR-129 P3) (push) Failing after 1s
V3 CI/CD Pipeline / wasm plugin bridge smoke (ADR-129 P4) (push) Failing after 0s
V3 CI/CD Pipeline / wasm compose smoke (ADR-129 P2) (push) Failing after 4s
V3 CI/CD Pipeline / graph schema smoke (ADR-130 P1) (push) Failing after 0s
Validate Marketplace / validate (push) Failing after 1s
🔍 Verification Pipeline / 🚀 Setup Verification (push) Failing after 1s
🔍 Verification Pipeline / 🛡️ Security Verification (push) Has been skipped
🔍 Verification Pipeline / 📝 Code Quality (push) Has been skipped
🔍 Verification Pipeline / 🧪 Test Verification (${{ matrix.os }}, Node ${{ matrix.node }}) (push) Has been skipped
🔍 Verification Pipeline / 🏗️ Build Verification (push) Has been skipped
🔍 Verification Pipeline / 📚 Documentation Verification (push) Has been skipped
CVE Audit Gate / High-severity report (warn only) (push) Has been cancelled
🔄 Automated Rollback Manager / 🔄 Execute Rollback (push) Has been cancelled
🔄 Automated Rollback Manager / ✅ Post-Rollback Verification (push) Has been cancelled
🔄 Automated Rollback Manager / 📊 Rollback Monitoring (push) Has been cancelled
V3 CI/CD Pipeline / Windows init hooks smoke (#2132) / windows-latest (push) Has been cancelled
V3 CI/CD Pipeline / Windows hook execution smoke (#2132) / macos-latest (push) Has been cancelled
V3 CI/CD Pipeline / Windows hook execution smoke (#2132) / windows-latest (push) Has been cancelled
🔄 Automated Rollback Manager / ⏳ Manual Rollback Approval (push) Has been cancelled
V3 CI/CD Pipeline / MCP protocol smoke / macos-latest (push) Has been cancelled
V3 CI/CD Pipeline / Memory import smoke / macos-latest (push) Has been cancelled
V3 CI/CD Pipeline / Windows hook shim smoke (#2132) / macos-latest (push) Has been cancelled
V3 CI/CD Pipeline / Windows hook shim smoke (#2132) / windows-latest (push) Has been cancelled
V3 CI/CD Pipeline / Windows init hooks smoke (#2132) / macos-latest (push) Has been cancelled
V3 CI/CD Pipeline / Witness verify (signed manifest) / macos-latest (push) Has been cancelled
V3 CI/CD Pipeline / Witness verify (signed manifest) / ubuntu-latest (push) Has been cancelled
V3 CI/CD Pipeline / Witness verify (signed manifest) / windows-latest (push) Has been cancelled
V3 CI/CD Pipeline / Publish to npm (alpha) (push) Has been cancelled
V3 CI/CD Pipeline / Smoke (no better-sqlite3) / macos-latest / Node 22 (push) Has been cancelled
V3 CI/CD Pipeline / Plugin hooks smoke / macos-latest / Node 22 (push) Has been cancelled
CI/CD Pipeline / Deploy & Release (push) Has been cancelled
CI/CD Pipeline / CI Status (push) Has been cancelled
🔗 Cross-Agent Integration Tests / 📊 Integration Test Report (push) Has been cancelled
🔄 Automated Rollback Manager / 🔍 Pre-Rollback Validation (push) Has been cancelled
🔍 Verification Pipeline / ⚡ Performance Verification (push) Has been cancelled
🔍 Verification Pipeline / 📊 Verification Report (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:02:19 +08:00

14 KiB

Hooks System Migration Guide

Migrating from V2 Self-Learning Hooks to V3 ReasoningBank-Based Hooks

Overview

V2 has an extensive hooks system with 42+ hook types across CLI, shell scripts, and agentic-flow integrations. V3 consolidates this into a ReasoningBank-based system with 13 core hooks, but many V2 hooks need migration.

Architecture Comparison

V2 Hooks Architecture

v2/
├── hooks/                          # Shell hooks
│   ├── bash-hook.sh               # Bash safety
│   ├── file-hook.sh               # File operations
│   └── git-commit-hook.sh         # Git formatting
├── bin/hooks.js                   # CLI hooks (14 types)
└── src/
    ├── hooks/
    │   ├── hook-matchers.ts       # Pattern matching
    │   └── redaction-hook.ts      # Secret redaction
    ├── services/agentic-flow-hooks/
    │   ├── hook-manager.ts        # Hook orchestration
    │   ├── llm-hooks.ts          # LLM operations
    │   ├── memory-hooks.ts       # Memory operations
    │   ├── neural-hooks.ts       # Neural training
    │   ├── performance-hooks.ts  # Performance
    │   └── workflow-hooks.ts     # Workflow lifecycle
    └── verification/hooks.ts      # Verification

V3 Hooks Architecture

v3/
├── @claude-flow/shared/src/hooks/
│   ├── registry.ts               # Hook registration
│   └── executor.ts               # Hook execution
├── @claude-flow/cli/src/commands/
│   └── hooks.ts                  # CLI commands
└── mcp/tools/hooks-tools.ts      # MCP tools (9 hooks)

Hook Migration Status

Core Hooks - Implemented

Hook V2 V3 Notes
pre-edit bin/hooks.js hooks-tools.ts ReasoningBank integration
post-edit bin/hooks.js hooks-tools.ts Trajectory recording
pre-command bin/hooks.js hooks-tools.ts Risk assessment
post-command bin/hooks.js hooks-tools.ts Outcome learning
route New in V3 hooks-tools.ts Pattern-based routing
explain New in V3 hooks-tools.ts Decision transparency
pretrain CLAUDE.md hooks-tools.ts Repository bootstrap
metrics CLAUDE.md hooks-tools.ts Learning dashboard
list New in V3 hooks-tools.ts Hook listing

CLI Hooks - Missing

Hook V2 Location Priority V3 Migration Path
pre-task bin/hooks.js HIGH Add to hooks-tools.ts
post-task bin/hooks.js HIGH Add to hooks-tools.ts
session-end bin/hooks.js HIGH Add session management
session-restore bin/hooks.js HIGH Add session management
post-search bin/hooks.js MEDIUM Add search caching
mcp-initialized bin/hooks.js LOW MCP internal
agent-spawned bin/hooks.js LOW Event-based
task-orchestrated bin/hooks.js LOW Event-based
neural-trained bin/hooks.js MEDIUM Add to neural module
notify bin/hooks.js LOW Add notification system

Shell Hooks - Missing

These need TypeScript conversions:

bash-hook.sh → bash-safety.ts

// V2: hooks/bash-hook.sh
// Features:
// - Add -i flag to rm commands
// - Alias ll -> ls -lah
// - Redirect test files to /tmp
// - Warn about secrets in commands
// - Warn about missing dependencies

// V3 Migration:
export class BashSafetyHook {
  private dangerousPatterns = [
    /rm\s+-rf\s+\//,
    /dd\s+if=/,
    /mkfs\./,
    />\s*\/dev\/sd/
  ];

  private secretPatterns = [
    /password\s*=/i,
    /api[_-]?key\s*=/i,
    /secret\s*=/i,
    /token\s*=/i
  ];

  async preCommand(command: string): Promise<HookResult> {
    // Check for dangerous commands
    for (const pattern of this.dangerousPatterns) {
      if (pattern.test(command)) {
        return { blocked: true, reason: 'Dangerous command detected' };
      }
    }

    // Check for secrets
    for (const pattern of this.secretPatterns) {
      if (pattern.test(command)) {
        return { warning: 'Potential secret in command', redacted: this.redact(command) };
      }
    }

    // Add safety flags
    let modified = command;
    if (command.includes('rm ') && !command.includes('-i')) {
      modified = command.replace(/rm\s+/, 'rm -i ');
    }

    return { modified, warnings: [] };
  }
}

file-hook.sh → file-organization.ts

// V2: hooks/file-hook.sh
// Features:
// - Block writes to root folder
// - Move test files to /tests/
// - Move source to /src/
// - Suggest formatters (Prettier, Black, gofmt)
// - Suggest linter configs

// V3 Migration:
export class FileOrganizationHook {
  private rootBlockedPatterns = [
    /^[^\/]+\.(ts|js|py|go|rs)$/,  // Source files
    /^[^\/]+\.test\.(ts|js)$/,     // Test files
    /^[^\/]+\.spec\.(ts|js)$/      // Spec files
  ];

  private directoryMappings = {
    'test': 'tests/',
    'spec': 'tests/',
    'src': 'src/'
  };

  async preEdit(filePath: string, operation: string): Promise<HookResult> {
    const fileName = path.basename(filePath);
    const dirName = path.dirname(filePath);

    // Block root folder writes
    if (dirName === '.' || dirName === '') {
      for (const pattern of this.rootBlockedPatterns) {
        if (pattern.test(fileName)) {
          const suggested = this.suggestDirectory(fileName);
          return {
            blocked: true,
            reason: `Don't write to root. Suggested: ${suggested}`
          };
        }
      }
    }

    // Suggest formatters
    const formatter = this.suggestFormatter(filePath);

    return {
      warnings: formatter ? [`Consider running ${formatter}`] : []
    };
  }

  private suggestFormatter(filePath: string): string | null {
    const ext = path.extname(filePath);
    const formatters = {
      '.ts': 'prettier --write',
      '.js': 'prettier --write',
      '.py': 'black',
      '.go': 'gofmt -w',
      '.rs': 'rustfmt'
    };
    return formatters[ext] || null;
  }
}

git-commit-hook.sh → git-commit.ts

// V2: hooks/git-commit-hook.sh
// Features:
// - Conventional commit prefixes
// - JIRA ticket extraction from branch
// - Co-Authored-By addition
// - Heredoc formatting

// V3 Migration:
export class GitCommitHook {
  private commitTypes = {
    feat: /^(add|implement|create|new)/i,
    fix: /^(fix|resolve|repair|patch)/i,
    docs: /^(doc|readme|comment)/i,
    refactor: /^(refactor|restructure|reorganize)/i,
    test: /^(test|spec|coverage)/i,
    chore: /^(chore|update|upgrade|bump)/i
  };

  async preCommit(message: string, branchName: string): Promise<HookResult> {
    let modified = message;

    // Detect commit type
    const type = this.detectType(message);
    if (type && !message.startsWith(`${type}:`)) {
      modified = `${type}: ${message}`;
    }

    // Extract JIRA ticket
    const ticket = this.extractTicket(branchName);
    if (ticket && !modified.includes(ticket)) {
      modified = `${modified}\n\nRefs: ${ticket}`;
    }

    // Add co-author
    modified += '\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude <noreply@anthropic.com>';

    return { modified };
  }

  private detectType(message: string): string | null {
    for (const [type, pattern] of Object.entries(this.commitTypes)) {
      if (pattern.test(message)) return type;
    }
    return null;
  }

  private extractTicket(branch: string): string | null {
    const match = branch.match(/([A-Z]+-\d+)/);
    return match ? match[1] : null;
  }
}

Agentic Flow Hooks - Missing

LLM Hooks (5 missing)

// V2: src/services/agentic-flow-hooks/llm-hooks.ts
// Need to implement:
export interface LLMHooks {
  preLLMCall(request: LLMRequest): Promise<LLMRequest>;
  postLLMCall(response: LLMResponse): Promise<LLMResponse>;
  llmError(error: Error): Promise<ErrorHandler>;
  llmRetry(attempt: number): Promise<RetryConfig>;
  llmFallback(provider: string): Promise<string>;
}

Memory Hooks (5 missing)

// V2: src/services/agentic-flow-hooks/memory-hooks.ts
// Need to implement:
export interface MemoryHooks {
  preMemoryStore(entry: MemoryEntry): Promise<MemoryEntry>;
  postMemoryStore(entry: MemoryEntry): Promise<void>;
  memorySync(entries: MemoryEntry[]): Promise<SyncResult>;
  memoryPersist(): Promise<PersistResult>;
  memoryExpire(expired: MemoryEntry[]): Promise<void>;
}

Neural Hooks (3 missing)

// V2: src/services/agentic-flow-hooks/neural-hooks.ts
// Need to implement:
export interface NeuralHooks {
  preNeuralTrain(data: TrainingData): Promise<TrainingData>;
  postNeuralTrain(result: TrainingResult): Promise<void>;
  patternDetected(pattern: Pattern): Promise<void>;
}

Performance Hooks (4 missing)

// V2: src/services/agentic-flow-hooks/performance-hooks.ts
// Need to implement:
export interface PerformanceHooks {
  performanceMetric(metric: Metric): Promise<void>;
  performanceBottleneck(bottleneck: Bottleneck): Promise<Optimization[]>;
  performanceOptimization(optimization: Optimization): Promise<ApplyResult>;
  performanceThreshold(threshold: Threshold): Promise<ThresholdAdjustment>;
}

Workflow Hooks (5 missing)

// V2: src/services/agentic-flow-hooks/workflow-hooks.ts
// Need to implement:
export interface WorkflowHooks {
  workflowStart(workflow: Workflow): Promise<void>;
  workflowStep(step: WorkflowStep): Promise<StepOptimization>;
  workflowDecision(decision: Decision): Promise<DecisionEnhancement>;
  workflowComplete(workflow: Workflow): Promise<LearningExtraction>;
  workflowError(error: WorkflowError): Promise<RecoveryStrategy>;
}

Verification Hooks - Missing

// V2: src/verification/hooks.ts
// Need to implement:
export interface VerificationHooks {
  verificationPreTask(task: Task): Promise<VerificationResult>;
  verificationPostTask(task: Task, result: TaskResult): Promise<ValidationResult>;
  verificationIntegrationTest(suite: TestSuite): Promise<TestResult>;
  verificationTruthTelemetry(data: any): Promise<TruthScore>;
  verificationRollbackTrigger(error: Error): Promise<RollbackPlan>;
}

Hook Registration

V2 Hook Manager

// V2: src/services/agentic-flow-hooks/hook-manager.ts
class AgenticHookManager {
  private hooks: Map<HookType, HookRegistration[]>;

  register(type: HookType, hook: Hook, options: HookOptions): void;
  execute(type: HookType, context: HookContext): Promise<HookResult>;
  unregister(type: HookType, hookId: string): void;
}

V3 Hook Registry

// V3: @claude-flow/shared/src/hooks/registry.ts
class HookRegistry {
  register(hook: HookDefinition): void;
  getHook(name: string): HookDefinition | undefined;
  listHooks(): HookDefinition[];
  enable(name: string): void;
  disable(name: string): void;
}

Migration Path

// Migration: Adapt V2 hook manager to V3 registry
import { HookRegistry } from '@claude-flow/shared/hooks';

const registry = new HookRegistry();

// Register V2-style hooks
registry.register({
  name: 'pre-task',
  type: 'pre',
  category: 'task',
  priority: 'high',
  handler: async (context) => {
    // V2 pre-task logic
    await storeTaskData(context.taskId, context.description);
    if (context.autoSpawnAgents) {
      await spawnRequiredAgents(context);
    }
    return { proceed: true };
  }
});

CLI Commands

V2 Hooks CLI

# V2 Commands
npx claude-flow hooks pre-task --description "Task" --task-id ID
npx claude-flow hooks post-task --task-id ID
npx claude-flow hooks pre-edit --file path
npx claude-flow hooks post-edit --file path --success true
npx claude-flow hooks pre-command --command "npm test"
npx claude-flow hooks post-command --command "npm test" --success true
npx claude-flow hooks session-end
npx claude-flow hooks session-restore --session-id latest
npx claude-flow hooks notify --message "Done" --level success

V3 Hooks CLI

# V3 Commands (implemented)
npx claude-flow hooks pre-edit <filePath>
npx claude-flow hooks post-edit <filePath> --success true
npx claude-flow hooks pre-command "<command>"
npx claude-flow hooks post-command "<command>" --success true
npx claude-flow hooks route "<task description>"
npx claude-flow hooks explain "<task description>"
npx claude-flow hooks pretrain
npx claude-flow hooks metrics

# Missing V3 commands:
# - hooks pre-task
# - hooks post-task
# - hooks session-end
# - hooks session-restore
# - hooks notify
# - hooks build-agents
# - hooks transfer
# - hooks intelligence

MCP Tools

V3 Hooks MCP Tools (Implemented)

// v3/mcp/tools/hooks-tools.ts
const hooksTools = [
  'hooks/pre-edit',
  'hooks/post-edit',
  'hooks/pre-command',
  'hooks/post-command',
  'hooks/route',
  'hooks/explain',
  'hooks/pretrain',
  'hooks/metrics',
  'hooks/list'
];

Missing MCP Tools

// Need to add:
const missingTools = [
  'hooks/pre-task',
  'hooks/post-task',
  'hooks/session-start',
  'hooks/session-end',
  'hooks/session-restore',
  'hooks/build-agents',
  'hooks/transfer',
  'hooks/intelligence'
];

Implementation Priorities

Priority 1 - HIGH (Week 1-2)

  1. pre-task / post-task - Task lifecycle hooks
  2. session-end / session-restore - Session management
  3. bash-safety.ts - Convert bash-hook.sh
  4. file-organization.ts - Convert file-hook.sh

Priority 2 - MEDIUM (Week 3-4)

  1. workflow hooks - Workflow lifecycle
  2. git-commit.ts - Convert git-commit-hook.sh
  3. verification hooks - Task verification
  4. build-agents - Agent config generation

Priority 3 - LOW (Week 5+)

  1. LLM hooks - LLM integration
  2. memory hooks - Memory lifecycle
  3. neural hooks - Neural training
  4. performance hooks - Performance optimization