/** * Hive — Lightweight Feature Tracker for AI Coding Agents * * Pi extension that provides the full Hive workflow: * /hive:spec — Create or edit features.md (scout → planner → reviewer chain) * /hive:map-codebase — Analyze codebase → .hive/ * /hive:to-features-md — Convert .hive/ analysis → features.md * /hive:run — Sequential feature implementation * /hive:status — Show progress * /hive:next — Show next feature * /hive:q — Read-only project exploration * /hive:worktree-split — Split into N zero-conflict worktrees * /hive:worktree-merge — Merge completed worktree back */ import type { ExtensionAPI } from "@mariozechner/pi-coding-agent"; // Commands import { registerStatusCommand } from "./commands/status.js"; import { registerNextCommand } from "./commands/next.js"; import { registerQCommand } from "./commands/q.js"; import { registerRunCommand } from "./commands/run.js"; import { registerSpecCommand } from "./commands/spec.js"; import { registerMapCodebaseCommand } from "./commands/map-codebase.js"; import { registerToFeaturesMdCommand } from "./commands/to-features-md.js"; import { registerWorktreeSplitCommand } from "./commands/worktree-split.js"; import { registerWorktreeMergeCommand } from "./commands/worktree-merge.js"; // Tools import { registerWorktreeSplitTool } from "./tools/worktree-split.js"; import { registerWorktreeMergeTool } from "./tools/worktree-merge.js"; // Hooks import { registerValidationHooks } from "./hooks/validation.js"; import { registerSessionHooks } from "./hooks/session.js"; export default function hive(pi: ExtensionAPI) { // ── CLI Flags ────────────────────────────────────────────────── pi.registerFlag("auto-approve", { description: "Skip all confirmation prompts in Hive commands", type: "boolean", default: false, }); pi.registerFlag("warp", { description: "Use Warp Terminal for worktree-split (generates launch config)", type: "boolean", default: false, }); // ── Commands ─────────────────────────────────────────────────── registerStatusCommand(pi); registerNextCommand(pi); registerQCommand(pi); registerRunCommand(pi); registerSpecCommand(pi); registerMapCodebaseCommand(pi); registerToFeaturesMdCommand(pi); registerWorktreeSplitCommand(pi); registerWorktreeMergeCommand(pi); // ── Tools (LLM-callable) ────────────────────────────────────── registerWorktreeSplitTool(pi); registerWorktreeMergeTool(pi); // ── Event Hooks ─────────────────────────────────────────────── registerValidationHooks(pi); registerSessionHooks(pi); }