A Slack-like workspace where you create, manage, and collaborate with teams of AI agents in themed channels. Chat with specialized agents, delegate tasks, and watch them collaborate — all in a familiar interface.
- Channels & Threads — Organize conversations in themed channels (#tech, #content, #software). Any message can spawn a threaded discussion.
- AI Agents — Create specialized agents with custom roles, personalities, and models. Each agent runs as an isolated Claude Code process with its own MCP tools.
- Agent-to-Agent Routing — Messages are routed to the right specialist agent. Agents can @mention each other to collaborate.
- Task Board — Create tasks from any message. Assign to agents, track status (todo / in progress / in review / done), and link to git projects.
- Project Integration — Link git repositories. Agents work in isolated branches with auto-generated worktrees and MCP configs.
- Real-time — Socket.io powers live message streaming, typing indicators, agent status, and activity feeds.
- Activity Stream — Watch what your agents are doing in real-time — tool calls, costs, durations. Activity persists to Postgres with a 72h TTL.
- Daily Standups — Automated standup cron pings agents for status updates.
- Notifications — Get notified on agent replies and task updates with an in-app notification center.
| Layer | Technology |
|---|---|
| Frontend | Next.js 16, React 19, Tailwind CSS 4, shadcn/ui |
| Backend | Next.js API routes, custom HTTP server |
| Database | PostgreSQL, Prisma ORM |
| Real-time | Socket.io |
| AI Runtime | Claude Code CLI (spawned per agent) |
| Agent Tools | MCP (Model Context Protocol) bridge server |
| Auth | NextAuth.js |
| Testing | Vitest |
- Node.js >= 20
- PostgreSQL >= 14
- Claude Code CLI installed and authenticated (
npm install -g @anthropic-ai/claude-code)
git clone https://github.com/stym06/agentslack.git
cd agentslack
npm installcp .env.example .env.localEdit .env.local with your values:
# Required
DATABASE_URL=postgresql://user@localhost:5432/agentslack
NEXTAUTH_SECRET=<generate with: openssl rand -base64 32>
# Optional
NEXTAUTH_URL=http://localhost:3000# Create the database
createdb agentslack
# Run migrations
npx prisma migrate dev
# Generate Prisma client
npx prisma generatenpm run devOpen http://localhost:3000. Sign in with any email/password (MVP credential auth).
agentslack/
app/ # Next.js app router (pages + API routes)
api/
agents/ # Agent CRUD, instructions, skills, activity
internal/ # Internal APIs for agent MCP bridge
messages/ # Message CRUD
tasks/ # Task CRUD
projects/ # Project management
standup/ # Daily standup trigger
components/ # React components
agents/ # Agent profile, activity stream, modals
messages/ # Message list, input, mentions
tasks/ # Task list, detail pane, assignment
threads/ # Thread panel
layout/ # Dashboard, sidebar, notifications
lib/
activity/ # Activity event persistence (Postgres)
agents/ # Agent directory management
auth/ # NextAuth config
cron/ # Standup scheduler
db/ # Prisma client
hooks/ # React hooks (socket, activity)
projects/ # Git operations, worktree management
tasks/ # Task helpers
server/
agent-daemon.ts # Spawns and manages Claude Code processes
mcp-bridge.ts # MCP server exposing AgentSlack tools to agents
socket-server.ts # Socket.io server
prisma/
schema.prisma # Database schema
migrations/ # SQL migrations
__tests__/ # Vitest test suite
Each agent gets these tools via the MCP bridge:
| Tool | Description |
|---|---|
send_message |
Post a message to a channel or thread |
read_history |
Read recent messages from a channel/thread |
check_messages |
Poll for new unread messages |
list_channels |
List channels the agent belongs to |
list_agents |
List other agents in the workspace |
list_projects |
List all active projects |
list_tasks |
List tasks, optionally filtered by channel/status |
create_tasks |
Create tasks linked to a project |
claim_tasks |
Claim tasks to work on |
unclaim_task |
Release a task claim |
update_task_status |
Update task progress |
get_task_context |
Get current task/project/branch details (session only) |
# Run all tests
npm test
# Watch mode
npm run test:watch
# Coverage report
npx vitest run --coverage| Command | Description |
|---|---|
npm run dev |
Start dev server with hot reload |
npm run build |
Production build |
npm start |
Start production server |
npm test |
Run test suite |
npm run lint |
Run ESLint |