Pattern is a multi-agent cognitive support system designed specifically for ADHD brains, inspired by MemGPT's stateful agent architecture.
✅ Working: Agent groups, Bluesky integration, Discord bot, data sources, CLI
🚧 In Progress: MCP client, API server, Discord slash commands
📋 Planned: Task management, MCP server
- Pattern Agent Architecture - Agent framework design
- Database Backend - SurrealDB patterns and entities
- Memory System - MemGPT-style memory blocks
- Tool System - Multi-operation tool architecture
- Context Building - How agent context is constructed
- Data Sources - How to integrate data sources with agents
- Group Coordination - Using agent groups and patterns
- Tool System Guide - Creating and registering tools
- Config Design - Configuration system architecture
- Discord Setup - Discord bot configuration
- Bluesky Integration - ATProto firehose setup
- MCP Integration - Model Context Protocol (planned)
- Database API - Database operations and patterns
- Quick Reference - Common patterns and code snippets
- Known API Issues - Provider-specific workarounds
- Agent Loops - Preventing message loops
- Discord Issues - Discord integration issues
- SurrealDB Patterns - Database gotchas
# Chat with a single agent
pattern-cli chat
# Chat with an agent group
pattern-cli chat --group main
# Use Discord integration
pattern-cli chat --discord
# Manage agent groups
pattern-cli group create MyGroup --description "Test group" --pattern round-robin
pattern-cli group add-member MyGroup agent-name --role member
pattern-cli group status MyGroupuse pattern_core::agent::DatabaseAgent;
let agent = DatabaseAgent::new(
agent_id,
user_id,
agent_type,
name,
system_prompt,
memory,
db.clone(),
model_provider,
tool_registry,
embedding_provider,
heartbeat_sender,
).await?;use pattern_core::data_source::{FileDataSource, FileStorageMode};
let source = FileDataSource::new(
"docs".to_string(),
PathBuf::from("./docs"),
FileStorageMode::Indexed,
Some(embedding_provider),
)?;
coordinator.add_source("docs", source).await?;See CLAUDE.md in the project root for:
- Current development priorities
- Implementation guidelines
- Known issues and workarounds
- Build commands
Groups allow multiple agents to collaborate using coordination patterns:
- Round-robin: Fair distribution
- Dynamic: Capability-based routing
- Pipeline: Sequential processing
- Supervisor: Hierarchical delegation
- Voting: Consensus decisions
- Sleeptime: Background monitoring
MemGPT-style memory with:
- Core memory: Always in context (persona, human)
- Archival memory: Searchable long-term storage
- Conversation history: Recent messages
- Thread-safe with Arc
Flexible data ingestion:
- File watching with indexing
- Discord message streams
- Bluesky firehose
- Custom sources via trait implementation