server/src/ |
|
server/src/agents/ |
Agent subsystem — types, configuration, and orchestration for coding agents. |
server/src/agents/merge/ |
Merge operations — rebases agent work onto master and runs post-merge validation. |
server/src/agents/merge/squash/ |
Squash-merge orchestration: rebase agent work onto master and run post-merge gates. |
server/src/agents/pool/ |
Agent pool — manages the set of active agents across all pipeline stages. |
server/src/agents/pool/auto_assign/ |
Auto-assign submodules: wires focused sub-files and re-exports public items. |
server/src/agents/pool/auto_assign/watchdog/ |
Watchdog task: detects orphaned agents, enforces turn/budget limits, and triggers auto-assign. |
server/src/agents/pool/auto_assign/watchdog/tests/ |
Shared test helpers for the watchdog module. |
server/src/agents/pool/pipeline/ |
Pipeline operations — stage advancement, completion handling, and merge orchestration. |
server/src/agents/pool/pipeline/advance/ |
Pipeline advance — moves stories forward through pipeline stages after agent completion. |
server/src/agents/pool/pipeline/completion/ |
Agent completion handling — processes exit results and triggers pipeline advancement. |
server/src/agents/pool/start/ |
Agent start — spawns a new agent process in a worktree for a given story. |
server/src/agents/runtime/ |
Agent runtimes — pluggable backends (Claude Code, Gemini, OpenAI) for running agents. |
server/src/chat/ |
Transport abstraction for chat platforms. The [ChatTransport] trait defines a platform-agnostic interface for sending and edit… |
server/src/chat/commands/ |
Bot-level command registry shared by all chat transports. Commands registered here are handled directly by the bot without invok… |
server/src/chat/transport/ |
Chat transports — pluggable backends (Matrix, Slack, WhatsApp, Discord) for bot messaging. |
server/src/chat/transport/discord/ |
Discord Bot integration. Provides: - [DiscordTransport] — a [ChatTransport] that sends messages via the Discord REST API (`/… |
server/src/chat/transport/matrix/ |
Matrix bot integration for Story Kit. When a .huskies/bot.toml file is present with enabled = true, the server spawns a Matr… |
server/src/chat/transport/matrix/bot/ |
Matrix bot — sub-modules for the Matrix chat bot implementation. |
server/src/chat/transport/matrix/bot/messages/ |
Matrix message handler — processes incoming room messages and dispatches commands. |
server/src/chat/transport/matrix/config/ |
Matrix transport configuration — deserialization of bot.toml Matrix settings. |
server/src/chat/transport/slack/ |
Slack Bot API integration. Provides: - [SlackTransport] — a [ChatTransport] that sends messages via the Slack Web API (`api.… |
server/src/chat/transport/slack/commands/ |
Slack incoming message dispatch and slash command handling. |
server/src/chat/transport/whatsapp/ |
WhatsApp Business API integration. Provides: - [WhatsAppTransport] — a [ChatTransport] that sends messages via the Meta Grap… |
server/src/chat/transport/whatsapp/commands/ |
WhatsApp command handling — processes incoming WhatsApp messages as bot commands. |
server/src/config/ |
Project configuration — parses project.toml for agents, components, and server settings. |
server/src/crdt_snapshot/ |
CRDT snapshot compaction with cross-node coordination. This module implements full CRDT state snapshots for compacting the op jo… |
server/src/crdt_state/ |
CRDT state layer — manages pipeline state as a conflict-free replicated document backed by SQLite. The CRDT document is the prim… |
server/src/crdt_sync/ |
CRDT sync — WebSocket-based replication of pipeline state between huskies nodes. WebSocket-based CRDT sync layer for replicating… |
server/src/crdt_sync/server/ |
Server-side /crdt-sync WebSocket handler. |
server/src/db/ |
SQLite storage layer — content store, shadow writes, and CRDT op persistence. |
server/src/http/ |
HTTP server — module declarations for all REST, MCP, WebSocket, and SSE endpoints. |
server/src/http/agents/ |
HTTP agent endpoints — thin adapters over service::agents. Each handler: extracts payload → calls service::agents::X → shape… |
server/src/http/gateway/ |
Gateway HTTP handlers — thin transport shells for the gateway service. Each handler calls service::gateway::* for business log… |
server/src/http/mcp/ |
HTTP MCP server module. |
server/src/http/mcp/agent_tools/ |
MCP agent tools — start, stop, wait, list, and inspect agents via MCP. |
server/src/http/mcp/diagnostics/ |
MCP diagnostic tools — server logs, CRDT dump, version, line counting, story movement. |
server/src/http/mcp/shell_tools/ |
MCP shell tools — run commands, execute tests, and stream output via MCP. This file is a thin adapter: it deserialises MCP paylo… |
server/src/http/mcp/story_tools/ |
MCP story tools — create, update, move, and manage stories, bugs, refactors, and spikes via MCP. This module is a thin adapter:… |
server/src/http/mcp/story_tools/story/ |
Story creation, listing, update, and lifecycle MCP tools. |
server/src/http/mcp/tools_list/ |
tools/list MCP method — returns the static schema for every tool the server exposes. |
server/src/http/workflow/ |
Workflow helpers — shared story/bug file operations used by HTTP and MCP handlers. |
server/src/http/workflow/story_ops/ |
Story operations — creates, updates, and manages acceptance criteria in story files. |
server/src/io/ |
I/O subsystem — filesystem, shell, search, onboarding, and story metadata operations. |
server/src/io/fs/ |
Filesystem I/O — module declarations and re-exports for file operations. |
server/src/io/fs/scaffold/ |
Project scaffolding — creates the .huskies/ directory structure and default files. |
server/src/io/fs/scaffold/detect/ |
Stack detection — inspect the project root for marker files and emit TOML [[component]] entries plus script/build|lint|test… |
server/src/io/watcher/ |
Filesystem watcher for .huskies/project.toml and .huskies/agents.toml. Watches config files for changes and broadcasts a [`W… |
server/src/llm/ |
LLM subsystem — chat orchestration, prompts, OAuth, and provider integrations. |
server/src/llm/chat/ |
LLM chat — orchestrates multi-turn conversations with tool-calling LLM providers. |
server/src/llm/providers/ |
LLM providers — module declarations for Anthropic, Claude Code, and Ollama backends. |
server/src/llm/providers/claude_code/ |
Claude Code provider — runs Claude Code CLI in a PTY and parses structured output. |
server/src/pipeline_state/ |
Typed pipeline state machine (story 520). Replaces the stringly-typed CRDT views with strict Rust enums so that impossible state… |
server/src/service/ |
Service layer — domain logic extracted from HTTP handlers. Each sub-module follows the conventions documented in `docs/architect… |
server/src/service/agents/ |
Agent service — public API for the agent domain. This module orchestrates calls to io.rs (side effects) and the pure topic mod… |
server/src/service/anthropic/ |
Anthropic service — public API for Anthropic API-key management and model listing. Exposes functions to check, store, and use th… |
server/src/service/bot_command/ |
Bot command service — domain logic for dispatching slash commands. Extracted from http/bot_command.rs so that argument parsing… |
server/src/service/common/ |
Shared pure helpers used by multiple service modules. All sub-modules here are pure (no I/O, no side effects). Any helper that d… |
server/src/service/diagnostics/ |
Diagnostics service — server logs, CRDT dump, permission management, and story movement. Extracted from `http/mcp/diagnostics.rs… |
server/src/service/events/ |
Events service — public API for the events domain. This module re-exports the pure buffer types from buffer.rs and the side-ef… |
server/src/service/file_io/ |
File I/O service — public API for filesystem and shell operations. Exposes functions for reading, writing, and listing files sco… |
server/src/service/gateway/ |
Gateway service — domain logic for the multi-project gateway. Follows the conventions in docs/architecture/service-modules.md:… |
server/src/service/git_ops/ |
Git operations service — worktree path validation and git command execution. Extracted from http/mcp/git_tools.rs following th… |
server/src/service/merge/ |
Merge service — domain logic for merging agent work to master. Extracted from http/mcp/merge_tools.rs following the convention… |
server/src/service/notifications/ |
Notifications service — pipeline-event fan-out to chat transports. Subscribes to [WatcherEvent] broadcasts and posts human-rea… |
server/src/service/notifications/io/ |
I/O side of the notifications service. This is the only file inside service/notifications/ that may perform side effects:… |
server/src/service/oauth/ |
OAuth service — domain logic for the Anthropic OAuth 2.0 PKCE flow. Extracts business logic from http/oauth.rs following the c… |
server/src/service/pipeline/ |
Pipeline service — shared pipeline-domain logic. Contains pure functions for parsing and aggregating pipeline status data. Used… |
server/src/service/project/ |
Project service — public API for the project domain. Exposes functions to open, close, query, and manage known projects. HTTP ha… |
server/src/service/qa/ |
QA service — domain logic for requesting, approving, and rejecting QA reviews. Extracted from http/mcp/qa_tools.rs following t… |
server/src/service/settings/ |
Settings service — domain logic for project settings and editor configuration. Extracts business logic from http/settings.rs f… |
server/src/service/shell/ |
Shell service — command safety, path sandboxing, and output helpers. Extracted from http/mcp/shell_tools.rs following the conv… |
server/src/service/status/ |
Status broadcaster — unified pipeline-event fan-out for all consumers. [StatusBroadcaster] lives on the [`crate::services::Ser… |
server/src/service/story/ |
Story service — domain logic for creating, updating, and managing pipeline work items. Extracted from http/mcp/story_tools.rs… |
server/src/service/timer/ |
Timer service — deferred agent start via one-shot timers. Provides [TimerStore] for persisting timers to `.huskies/timers.json… |
server/src/service/wizard/ |
Wizard service — domain logic for the multi-step project setup wizard. Follows the conventions from `docs/architecture/service-m… |
server/src/service/ws/ |
WebSocket service — domain logic for real-time pipeline updates, chat, and permission prompts. This module extracts the business… |
server/src/worktree/ |
Git worktree management — creates, lists, and removes worktrees for agent isolation. |