Claude Flow Plugin
The Claude Flow plugin provides an AI-assisted development environment that creates isolated Docker containers for development sessions with integrated Vault secret management.
Overview
| Property | Value |
|---|---|
| Package | @internal/plugin-claude-flow |
| Type | Frontend |
| Plugin ID | claude-flow |
| Backend | claude-flow-backend |
| Theme | tool |
Architecture
Components
ClaudeFlowPage
Main page component with session management interface.
<ClaudeFlowPage />
Features:
- Router-based navigation between session views
- Session list and detail views
- Create session interface
SessionList
Displays all user's Claude Flow sessions.
<SessionList onSessionSelect={handleSelect} />
Features:
- List all sessions with status indicators
- Filter by status (running, stopped, error)
- Quick actions (start, stop, delete)
SessionDetail
Detailed view of individual session.
<SessionDetail sessionId={id} />
Features:
- Container logs and output
- Resource usage statistics
- Session configuration
- Start/stop controls
CreateSessionForm
Form for creating new development sessions.
<CreateSessionForm onSubmit={handleCreate} />
Features:
- Repository selection
- Branch selection
- Startup script configuration
- Template-based session creation
API Client
interface ClaudeFlowApi {
// Session operations
listSessions(): Promise<Session[]>;
getSession(sessionId: string): Promise<Session>;
createSession(input: CreateSessionInput): Promise<Session>;
updateSession(sessionId: string, input: UpdateSessionInput): Promise<Session>;
deleteSession(sessionId: string): Promise<void>;
// Container operations
startSession(sessionId: string): Promise<void>;
stopSession(sessionId: string): Promise<void>;
getSessionLogs(sessionId: string): Promise<string>;
getSessionStats(sessionId: string): Promise<ContainerStats>;
// Template operations
listTemplates(): Promise<Template[]>;
createTemplate(input: CreateTemplateInput): Promise<Template>;
// Repository operations
listRepositories(): Promise<Repository[]>;
getRepositoryBranches(repo: string): Promise<Branch[]>;
}
Session Lifecycle
Configuration
The plugin requires backend configuration:
# app-config.yaml
claudeFlow:
docker:
socketPath: /var/run/docker.sock
vault:
address: https://vault.example.com
repositories:
basePath: /data/repos
Related Documentation
- Claude Flow Backend - Backend API and services
- Vault Secrets - Secret management
- Plugins Overview