slackhive 0.2.3 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Pelago Labs
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
  # SlackHive
6
6
 
7
7
  ### Build your AI-first company on Slack
8
- #### Deploy and orchestrate Claude Code agents as your teammates
8
+ #### A Karpathy-inspired team of humans and AI specialists, powered by Claude Code
9
9
 
10
10
  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
11
11
  [![npm](https://img.shields.io/npm/v/slackhive?color=cb3837&logo=npm&logoColor=white)](https://www.npmjs.com/package/slackhive)
@@ -24,14 +24,16 @@
24
24
 
25
25
  ## Why SlackHive?
26
26
 
27
- Your Slack workspace is where your team already lives. Every question, decision, and escalation happens there. SlackHive makes that workspace a mix of **people and agents** side by side, in the same channels, in the same threads.
27
+ Andrej Karpathy made two observations that changed how we think about AI systems: LLMs read **wikis** better than file dumps, and **specialists beat generalists**. SlackHive is what fell out when we took both seriously.
28
28
 
29
- These aren't chatbots you switch to. They're colleagues you @mention. Each agent connects to the tools your team already uses — Notion, Jira, GitHub, Figma, your database, your analytics stack. **Anyone on the team can create one.** No engineers, no platform team if you can describe what you need, you can deploy it in minutes.
29
+ One agent per role. Each with its own Karpathy-style wiki, its own tools, its own memory. A Boss agent that delegates instead of cramming everything into one context window. And all of it living in the workspace your team already uses - Slack.
30
+
31
+ These aren't chatbots you switch to. They're **colleagues you @mention** - side by side with your people, in the same channels, in the same threads. Each agent connects to the tools your team already uses - Notion, Jira, GitHub, Figma, your database, your analytics stack. **Anyone on the team can create one.** No engineers, no platform team - if you can describe what you need, you can deploy it in minutes.
30
32
 
31
33
  ```
32
34
  CEO: @data-analyst revenue is down 8% this week, can you dig in?
33
35
  DataBot: [queries Redshift across 6 dimensions]
34
- Found it enterprise churn spiked Tuesday after the pricing change.
36
+ Found it - enterprise churn spiked Tuesday after the pricing change.
35
37
  3 accounts, $42k ARR at risk.
36
38
 
37
39
  Engineer: @devops the checkout service is throwing 500s
@@ -40,18 +42,18 @@ DevOps: [reads logs, identifies root cause, opens PR]
40
42
 
41
43
  PM: @designer mock up a simpler onboarding flow
42
44
  Designer: [creates Figma frames via MCP]
43
- Done 3 variants in Figma. Which direction do you want to take?
45
+ Done - 3 variants in Figma. Which direction do you want to take?
44
46
  ```
45
47
 
46
- Tag a specialist directly when you know who to ask. Or tag `@boss` when you're not sure Boss finds the right specialist, delegates, and summarizes the result:
48
+ Tag a specialist directly when you know who to ask. Or tag `@boss` when you're not sure - Boss finds the right specialist, delegates, and summarizes the result:
47
49
 
48
50
  ```
49
51
  You: @boss can you analyze last week's conversion funnel?
50
52
  Boss: That's right up @data-analyst's alley 👇
51
- @data-analyst conversion funnel analysis for last week.
53
+ @data-analyst - conversion funnel analysis for last week.
52
54
  When you're done, please tag @boss.
53
- DataBot: Conversions up 12% WoW, checkout completion jumped 3×. @boss done!
54
- Boss: Conversions are up 12% WoW. The win was checkout 3× completion rate.
55
+ DataBot: Conversions up 12% WoW, checkout completion jumped 3×. @boss - done!
56
+ Boss: Conversions are up 12% WoW. The win was checkout - 3× completion rate.
55
57
  Want me to pull a channel or cohort breakdown?
56
58
  ```
57
59
 
@@ -63,6 +65,9 @@ Boss: Conversions are up 12% WoW. The win was checkout — 3× completion
63
65
 
64
66
  ```bash
65
67
  npm install -g slackhive
68
+ ```
69
+
70
+ ```bash
66
71
  slackhive init
67
72
  ```
68
73
 
@@ -71,10 +76,24 @@ The CLI will:
71
76
  2. Clone the repository
72
77
  3. Auto-detect your Claude installation (cross-platform compatible)
73
78
  4. Walk you through configuration (API key or subscription, admin credentials)
74
- 5. Build and start the services natively no Docker required
79
+ 5. Build and start the services natively - no Docker required
75
80
 
76
81
  Open `http://localhost:3001` and create your first agent.
77
82
 
83
+ #### Hit `EACCES: permission denied` on install?
84
+
85
+ If you installed Node from nodejs.org on macOS/Linux, `/usr/local/lib/node_modules` is root-owned and `npm install -g` fails without sudo. Point npm at a user-owned prefix once - no sudo needed again:
86
+
87
+ ```bash
88
+ mkdir -p ~/.npm-global
89
+ npm config set prefix '~/.npm-global'
90
+ echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.zshrc # or ~/.bashrc
91
+ source ~/.zshrc
92
+ npm install -g slackhive
93
+ ```
94
+
95
+ Installing Node via [nvm](https://github.com/nvm-sh/nvm) or Homebrew (`brew install node`) puts it in a user-writable location by default and avoids this entirely. If you'd rather skip global install, `npx slackhive init` works too - just prefix every command with `npx`.
96
+
78
97
  ### CLI Commands
79
98
 
80
99
  | Command | Description |
@@ -104,7 +123,7 @@ ADMIN_USERNAME=admin
104
123
  ADMIN_PASSWORD=<strong-random-password>
105
124
  AUTH_SECRET= # generate: openssl rand -hex 32
106
125
  ENV_SECRET_KEY= # generate: openssl rand -hex 32
107
- DATABASE_TYPE=sqlite # embedded no external DB needed
126
+ DATABASE_TYPE=sqlite # embedded - no external DB needed
108
127
  ```
109
128
 
110
129
  ```bash
@@ -123,18 +142,18 @@ Open `http://localhost:3001`, log in, and create your first agent.
123
142
 
124
143
  ## ✨ Features
125
144
 
126
- ### 🤖 Real AI Agents Not Chatbots
145
+ ### 🤖 Real AI Agents - Not Chatbots
127
146
 
128
- Every agent is a full **Claude Code** agent with tools, memory, identity, and instructions. When you @mention one in Slack, you're running a real AI agent that can use tools, take action, and get smarter over time.
147
+ Every agent is a full **Claude Code** agent - with tools, memory, identity, and instructions. When you @mention one in Slack, you're running a real AI agent that can use tools, take action, and get smarter over time.
129
148
 
130
149
  | | |
131
150
  |---|---|
132
- | 🧠 **Persistent Memory** | Agents write memories during conversations feedback, user context, project state. Synced to SQLite, injected on next start. They don't forget. |
133
- | 🔌 **MCP Tool Integration** | Connect any MCP server (Redshift, GitHub, Notion, Figma, custom APIs) stdio, SSE, or HTTP transports. |
134
- | 📝 **Inline TypeScript MCPs** | Paste TypeScript source directly into the UI no deployment needed. The runner compiles and executes it. |
135
- | 🧵 **Full Thread Context** | Agents fetch the entire Slack thread on every invocation zero context lost in handoffs. |
151
+ | 🧠 **Persistent Memory** | Agents write memories during conversations - feedback, user context, project state. Synced to SQLite, injected on next start. They don't forget. |
152
+ | 🔌 **MCP Tool Integration** | Connect any MCP server (Redshift, GitHub, Notion, Figma, custom APIs) - stdio, SSE, or HTTP transports. |
153
+ | 📝 **Inline TypeScript MCPs** | Paste TypeScript source directly into the UI - no deployment needed. The runner compiles and executes it. |
154
+ | 🧵 **Full Thread Context** | Agents fetch the entire Slack thread on every invocation - zero context lost in handoffs. |
136
155
  | 💾 **Session Continuity** | Slack thread ↔ Claude session mapping survives restarts. Pick up exactly where you left off. |
137
- | 🔐 **Encrypted Secret Store** | API keys encrypted at rest (AES-256). MCPs reference secrets by name raw values never touch the API or UI. |
156
+ | 🔐 **Encrypted Secret Store** | API keys encrypted at rest (AES-256). MCPs reference secrets by name - raw values never touch the API or UI. |
138
157
  | 🔁 **Hot Reload** | Edit instructions, skills, or tools and the agent picks up changes within seconds. No restart needed. |
139
158
 
140
159
  ### 👑 Boss + Specialist Hierarchy
@@ -145,7 +164,7 @@ Every agent is a full **Claude Code** agent — with tools, memory, identity, an
145
164
  | 🏢 **Multi-Boss Support** | Run multiple Boss agents for different domains (engineering, data, support). Specialists can report to more than one boss. |
146
165
  | 📋 **Auto-Generated Registries** | Every Boss gets a live team roster auto-regenerated whenever the team changes. No manual maintenance. |
147
166
  | 🛠 **Skills** | Markdown files deployed as Claude Code slash commands. Give agents SQL rules, writing guidelines, or domain playbooks. |
148
- | ⏰ **Scheduled Jobs** | Cron-based recurring tasks daily reports, weekly digests, monitoring alerts posted to any Slack channel or DM. |
167
+ | ⏰ **Scheduled Jobs** | Cron-based recurring tasks - daily reports, weekly digests, monitoring alerts - posted to any Slack channel or DM. |
149
168
 
150
169
  ### ⚙️ Platform
151
170
 
@@ -153,10 +172,12 @@ Every agent is a full **Claude Code** agent — with tools, memory, identity, an
153
172
  |---|---|
154
173
  | 🧙 **Onboarding Wizard** | 5-step guided setup: identity → Slack app → credentials → tools & skills → review. |
155
174
  | 🕓 **Version Control** | Every save auto-snapshots the full agent state. Browse history with line-level diffs, restore any version in one click. |
156
- | 🔒 **Auth & RBAC** | 4 roles (superadmin / admin / editor / viewer), HMAC-signed sessions, per-agent write access grants. No external auth provider needed. |
175
+ | 🔒 **Auth & RBAC** | 4 roles (superadmin / admin / editor / viewer), HMAC-signed sessions, per-agent access grants (View or Edit). Agents are hidden by default — admins grant access explicitly. No external auth provider needed. |
157
176
  | 🚦 **Channel Restrictions** | Lock agents to specific Slack channels. Bot auto-leaves uninvited channels with a notice. |
158
- | 📊 **Live Logs** | SSE-streamed log output per agent with level filters and search. |
159
- | 🧠 **Memory Viewer** | Browse, inspect, and delete agent memories by type feedback, user, project, reference. |
177
+ | 📊 **Live Logs** | SSE-streamed log output per agent - with level filters and search. |
178
+ | 🧠 **Memory Viewer** | Browse, inspect, and delete agent memories by type - feedback, user, project, reference. |
179
+ | 📡 **Activity Dashboard** | Live kanban of every task your agents are working on - Active, Completed, Errors - with drill-down to every tool call. A superadmin-only **Usage** tab breaks down token consumption per agent and ranks power users by tasks started. Admins see everything; editors see only agents they own or are granted access to; viewers are blocked. |
180
+ | 🌐 **Multi-Workspace** | Connect multiple Slack workspaces to a single SlackHive instance. Each workspace gets its own agents and configurations. |
160
181
 
161
182
  ---
162
183
 
@@ -167,7 +188,7 @@ Slack Workspace (@boss, @data-bot, @writer, ...)
167
188
  │ Socket Mode (Bolt)
168
189
 
169
190
  ┌──────────────────────────────────────────────────┐
170
- │ Local host two Node.js processes │
191
+ │ Local host - two Node.js processes │
171
192
  │ │
172
193
  │ Web (Next.js :3001) ──HTTP──► Runner (:3002) │
173
194
  │ │ │ │
@@ -178,9 +199,9 @@ Slack Workspace (@boss, @data-bot, @writer, ...)
178
199
 
179
200
  | Service | Description |
180
201
  |---------|-------------|
181
- | **Web** (Next.js 15) | Dashboard create agents, edit skills, view logs, manage users |
202
+ | **Web** (Next.js 15) | Dashboard - create agents, edit skills, view logs, manage users |
182
203
  | **Runner** (Node.js) | Hosts all agent processes and Slack connections |
183
- | **SQLite** | Embedded stores agents, memories, skills, sessions, users, history. No external DB to install |
204
+ | **SQLite** | Embedded - stores agents, memories, skills, sessions, users, history. No external DB to install |
184
205
  | **Event bus** | Web posts to the runner's internal HTTP port to deliver hot-reload events |
185
206
 
186
207
  **How a message flows:**
@@ -196,19 +217,37 @@ Slack Workspace (@boss, @data-bot, @writer, ...)
196
217
 
197
218
  ## 🔑 Claude Code Authentication
198
219
 
199
- Two options use whichever fits your setup:
220
+ Two options - use whichever fits your setup:
200
221
 
201
- **Option A API Key**
222
+ **Option A - API Key**
202
223
  ```env
203
224
  ANTHROPIC_API_KEY=sk-ant-api03-...
204
225
  ```
205
226
  Billed per token via the Anthropic API. Best for teams and production.
206
227
 
207
- **Option B Claude Pro or Max Subscription**
228
+ **Option B - Claude Pro or Max Subscription**
229
+
230
+ First, install Claude Code on your host machine:
231
+
232
+ > **Note:** Do not install via `npm` - the npm package is deprecated and incompatible with SlackHive.
233
+
234
+ MacOS/Linux (Recommended):
235
+ ```bash
236
+ curl -fsSL https://claude.ai/install.sh | bash
237
+ ```
238
+
239
+ Homebrew (macOS/Linux):
240
+ ```bash
241
+ brew install --cask claude-code
242
+ ```
243
+
244
+ For more installation options, uninstall steps, and troubleshooting, see the [setup documentation](https://docs.anthropic.com/en/docs/claude-code/setup).
245
+
246
+ Then log in:
208
247
  ```bash
209
248
  claude login # saves credentials to your system keychain / ~/.claude/
210
249
  ```
211
- Leave `ANTHROPIC_API_KEY` unset the runner picks up credentials from the system keychain automatically. Best for individual developers.
250
+ Leave `ANTHROPIC_API_KEY` unset - the runner picks up credentials from the system keychain automatically. Best for individual developers.
212
251
 
213
252
  > Full guide → [slackhive.mintlify.app/configuration/env-vars](https://slackhive.mintlify.app/configuration/env-vars)
214
253
 
@@ -228,7 +267,7 @@ Leave `ANTHROPIC_API_KEY` unset — the runner picks up credentials from the sys
228
267
  - [ ] Analytics dashboard
229
268
  - [ ] Custom tool builder (no MCP server needed)
230
269
  - [ ] Agent templates marketplace
231
- - [ ] RAG integration connect agents to document stores
270
+ - [ ] RAG integration - connect agents to document stores
232
271
 
233
272
  Have an idea? [Open an issue](https://github.com/pelago-labs/slackhive/issues)
234
273
 
@@ -243,7 +282,7 @@ cd slackhive && npm install
243
282
  # Configure
244
283
  cp .env.example .env # then fill in ADMIN_PASSWORD, AUTH_SECRET, ENV_SECRET_KEY
245
284
 
246
- # Run locally (SQLite no external services required)
285
+ # Run locally (SQLite - no external services required)
247
286
  cd apps/web && npm run dev # http://localhost:3000
248
287
  cd apps/runner && npm run dev # http://localhost:3002
249
288
  ```
@@ -274,7 +313,7 @@ Open an issue before submitting large PRs so we can align on the approach.
274
313
 
275
314
  ## 🔒 Security
276
315
 
277
- Use [GitHub's private vulnerability reporting](https://github.com/pelago-labs/slackhive/security/advisories/new) click **"Report a vulnerability"** on the Security tab. Please don't open public issues for security bugs. We respond within 48 hours.
316
+ Use [GitHub's private vulnerability reporting](https://github.com/pelago-labs/slackhive/security/advisories/new) - click **"Report a vulnerability"** on the Security tab. Please don't open public issues for security bugs. We respond within 48 hours.
278
317
 
279
318
  ---
280
319
 
package/cli/README.md ADDED
@@ -0,0 +1,287 @@
1
+ <div align="center">
2
+
3
+ <img src="https://raw.githubusercontent.com/pelago-labs/slackhive/main/apps/web/public/logo.svg" alt="SlackHive" width="80" />
4
+
5
+ # SlackHive
6
+
7
+ ### Build your AI-first company on Slack
8
+ #### Deploy and orchestrate Claude Code agents as your teammates
9
+
10
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
11
+ [![npm](https://img.shields.io/npm/v/slackhive?color=cb3837&logo=npm&logoColor=white)](https://www.npmjs.com/package/slackhive)
12
+ [![npm downloads](https://img.shields.io/npm/dt/slackhive?color=cb3837&logo=npm&logoColor=white&label=installs)](https://www.npmjs.com/package/slackhive)
13
+ [![Node.js](https://img.shields.io/badge/Node.js-≥20-339933?logo=node.js&logoColor=white)](https://nodejs.org)
14
+ [![TypeScript](https://img.shields.io/badge/TypeScript-5.x-3178c6?logo=typescript&logoColor=white)](https://www.typescriptlang.org)
15
+ [![SQLite](https://img.shields.io/badge/SQLite-embedded-003B57?logo=sqlite&logoColor=white)](https://sqlite.org)
16
+ [![Documentation](https://img.shields.io/badge/docs-slackhive.mintlify.app-D97757?logo=gitbook&logoColor=white)](https://slackhive.mintlify.app)
17
+ [![Security Audit](https://github.com/pelago-labs/slackhive/actions/workflows/audit.yml/badge.svg)](https://github.com/pelago-labs/slackhive/actions/workflows/audit.yml)
18
+
19
+ [**Documentation**](https://slackhive.mintlify.app) · [Quick Start](#-quick-start) · [Features](#-features) · [Architecture](#-architecture) · [Contributing](#-contributing)
20
+
21
+ </div>
22
+
23
+ ---
24
+
25
+ ## Why SlackHive?
26
+
27
+ Your Slack workspace is where your team already lives. Every question, decision, and escalation happens there. SlackHive makes that workspace a mix of **people and agents** — side by side, in the same channels, in the same threads.
28
+
29
+ These aren't chatbots you switch to. They're colleagues you @mention. Each agent connects to the tools your team already uses — Notion, Jira, GitHub, Figma, your database, your analytics stack. **Anyone on the team can create one.** No engineers, no platform team — if you can describe what you need, you can deploy it in minutes.
30
+
31
+ ```
32
+ CEO: @data-analyst revenue is down 8% this week, can you dig in?
33
+ DataBot: [queries Redshift across 6 dimensions]
34
+ Found it — enterprise churn spiked Tuesday after the pricing change.
35
+ 3 accounts, $42k ARR at risk.
36
+
37
+ Engineer: @devops the checkout service is throwing 500s
38
+ DevOps: [reads logs, identifies root cause, opens PR]
39
+ Memory leak in the payment processor pool. PR #847 is up with the fix.
40
+
41
+ PM: @designer mock up a simpler onboarding flow
42
+ Designer: [creates Figma frames via MCP]
43
+ Done — 3 variants in Figma. Which direction do you want to take?
44
+ ```
45
+
46
+ Tag a specialist directly when you know who to ask. Or tag `@boss` when you're not sure — Boss finds the right specialist, delegates, and summarizes the result:
47
+
48
+ ```
49
+ You: @boss can you analyze last week's conversion funnel?
50
+ Boss: That's right up @data-analyst's alley 👇
51
+ @data-analyst — conversion funnel analysis for last week.
52
+ When you're done, please tag @boss.
53
+ DataBot: Conversions up 12% WoW, checkout completion jumped 3×. @boss — done!
54
+ Boss: Conversions are up 12% WoW. The win was checkout — 3× completion rate.
55
+ Want me to pull a channel or cohort breakdown?
56
+ ```
57
+
58
+ ---
59
+
60
+ ## 🚀 Quick Start
61
+
62
+ ### Option A: One-command install (recommended)
63
+
64
+ ```bash
65
+ npm install -g slackhive
66
+ slackhive init
67
+ ```
68
+
69
+ The CLI will:
70
+ 1. Check prerequisites (Git, Node.js ≥ 20, Claude Code)
71
+ 2. Clone the repository
72
+ 3. Auto-detect your Claude installation (cross-platform compatible)
73
+ 4. Walk you through configuration (API key or subscription, admin credentials)
74
+ 5. Build and start the services natively — no Docker required
75
+
76
+ Open `http://localhost:3001` and create your first agent.
77
+
78
+ ### CLI Commands
79
+
80
+ | Command | Description |
81
+ |---------|-------------|
82
+ | `slackhive init` | Clone, configure, and start SlackHive |
83
+ | `slackhive start` | Start all services |
84
+ | `slackhive stop` | Stop all services (and any orphaned runner processes) |
85
+ | `slackhive status` | Show running services + ports |
86
+ | `slackhive logs` | Tail runner logs |
87
+ | `slackhive update` | Pull latest changes and rebuild |
88
+
89
+ ### Option B: Manual setup
90
+
91
+ **Prerequisites:** Node.js ≥ 20, Git, [Claude Code](https://docs.anthropic.com/en/docs/claude-code/setup) on your PATH
92
+
93
+ ```bash
94
+ git clone https://github.com/pelago-labs/slackhive.git
95
+ cd slackhive
96
+ cp .env.example .env
97
+ ```
98
+
99
+ Edit `.env` with your credentials:
100
+
101
+ ```env
102
+ ANTHROPIC_API_KEY=sk-ant-... # or use Claude Pro/Max subscription
103
+ ADMIN_USERNAME=admin
104
+ ADMIN_PASSWORD=<strong-random-password>
105
+ AUTH_SECRET= # generate: openssl rand -hex 32
106
+ ENV_SECRET_KEY= # generate: openssl rand -hex 32
107
+ DATABASE_TYPE=sqlite # embedded — no external DB needed
108
+ ```
109
+
110
+ ```bash
111
+ npm install
112
+ npm run build
113
+
114
+ # Start the stack (web on :3001, runner on :3002)
115
+ npx slackhive start
116
+ ```
117
+
118
+ Open `http://localhost:3001`, log in, and create your first agent.
119
+
120
+ > Full setup guide → [slackhive.mintlify.app/quickstart](https://slackhive.mintlify.app/quickstart)
121
+
122
+ ---
123
+
124
+ ## ✨ Features
125
+
126
+ ### 🤖 Real AI Agents — Not Chatbots
127
+
128
+ Every agent is a full **Claude Code** agent — with tools, memory, identity, and instructions. When you @mention one in Slack, you're running a real AI agent that can use tools, take action, and get smarter over time.
129
+
130
+ | | |
131
+ |---|---|
132
+ | 🧠 **Persistent Memory** | Agents write memories during conversations — feedback, user context, project state. Synced to SQLite, injected on next start. They don't forget. |
133
+ | 🔌 **MCP Tool Integration** | Connect any MCP server (Redshift, GitHub, Notion, Figma, custom APIs) — stdio, SSE, or HTTP transports. |
134
+ | 📝 **Inline TypeScript MCPs** | Paste TypeScript source directly into the UI — no deployment needed. The runner compiles and executes it. |
135
+ | 🧵 **Full Thread Context** | Agents fetch the entire Slack thread on every invocation — zero context lost in handoffs. |
136
+ | 💾 **Session Continuity** | Slack thread ↔ Claude session mapping survives restarts. Pick up exactly where you left off. |
137
+ | 🔐 **Encrypted Secret Store** | API keys encrypted at rest (AES-256). MCPs reference secrets by name — raw values never touch the API or UI. |
138
+ | 🔁 **Hot Reload** | Edit instructions, skills, or tools and the agent picks up changes within seconds. No restart needed. |
139
+
140
+ ### 👑 Boss + Specialist Hierarchy
141
+
142
+ | | |
143
+ |---|---|
144
+ | 👑 **Boss Orchestration** | Boss reads your message, finds the right specialist, delegates by @mention in the same thread, and summarizes the result. |
145
+ | 🏢 **Multi-Boss Support** | Run multiple Boss agents for different domains (engineering, data, support). Specialists can report to more than one boss. |
146
+ | 📋 **Auto-Generated Registries** | Every Boss gets a live team roster auto-regenerated whenever the team changes. No manual maintenance. |
147
+ | 🛠 **Skills** | Markdown files deployed as Claude Code slash commands. Give agents SQL rules, writing guidelines, or domain playbooks. |
148
+ | ⏰ **Scheduled Jobs** | Cron-based recurring tasks — daily reports, weekly digests, monitoring alerts — posted to any Slack channel or DM. |
149
+
150
+ ### ⚙️ Platform
151
+
152
+ | | |
153
+ |---|---|
154
+ | 🧙 **Onboarding Wizard** | 5-step guided setup: identity → Slack app → credentials → tools & skills → review. |
155
+ | 🕓 **Version Control** | Every save auto-snapshots the full agent state. Browse history with line-level diffs, restore any version in one click. |
156
+ | 🔒 **Auth & RBAC** | 4 roles (superadmin / admin / editor / viewer), HMAC-signed sessions, per-agent write access grants. No external auth provider needed. |
157
+ | 🚦 **Channel Restrictions** | Lock agents to specific Slack channels. Bot auto-leaves uninvited channels with a notice. |
158
+ | 📊 **Live Logs** | SSE-streamed log output per agent — with level filters and search. |
159
+ | 🧠 **Memory Viewer** | Browse, inspect, and delete agent memories by type — feedback, user, project, reference. |
160
+
161
+ ---
162
+
163
+ ## 🏗 Architecture
164
+
165
+ ```
166
+ Slack Workspace (@boss, @data-bot, @writer, ...)
167
+ │ Socket Mode (Bolt)
168
+
169
+ ┌──────────────────────────────────────────────────┐
170
+ │ Local host — two Node.js processes │
171
+ │ │
172
+ │ Web (Next.js :3001) ──HTTP──► Runner (:3002) │
173
+ │ │ │ │
174
+ │ └───── SQLite file ──────┘ │
175
+ │ (./data/slackhive.db) │
176
+ └──────────────────────────────────────────────────┘
177
+ ```
178
+
179
+ | Service | Description |
180
+ |---------|-------------|
181
+ | **Web** (Next.js 15) | Dashboard — create agents, edit skills, view logs, manage users |
182
+ | **Runner** (Node.js) | Hosts all agent processes and Slack connections |
183
+ | **SQLite** | Embedded — stores agents, memories, skills, sessions, users, history. No external DB to install |
184
+ | **Event bus** | Web posts to the runner's internal HTTP port to deliver hot-reload events |
185
+
186
+ **How a message flows:**
187
+ 1. User @mentions an agent in Slack
188
+ 2. Runner receives the event via Bolt Socket Mode
189
+ 3. Claude Code processes the message with the agent's compiled `CLAUDE.md`
190
+ 4. Agent uses MCP tools if needed (Redshift, GitHub, Notion, etc.)
191
+ 5. Response is formatted as Slack Block Kit and posted to the thread
192
+ 6. Memory files written during the session are synced to SQLite
193
+ 7. Next conversation starts with all accumulated knowledge
194
+
195
+ ---
196
+
197
+ ## 🔑 Claude Code Authentication
198
+
199
+ Two options — use whichever fits your setup:
200
+
201
+ **Option A — API Key**
202
+ ```env
203
+ ANTHROPIC_API_KEY=sk-ant-api03-...
204
+ ```
205
+ Billed per token via the Anthropic API. Best for teams and production.
206
+
207
+ **Option B — Claude Pro or Max Subscription**
208
+ ```bash
209
+ claude login # saves credentials to your system keychain / ~/.claude/
210
+ ```
211
+ Leave `ANTHROPIC_API_KEY` unset — the runner picks up credentials from the system keychain automatically. Best for individual developers.
212
+
213
+ > Full guide → [slackhive.mintlify.app/configuration/env-vars](https://slackhive.mintlify.app/configuration/env-vars)
214
+
215
+ ---
216
+
217
+ ## 🔮 Roadmap
218
+
219
+ - [x] Boss orchestration + auto-generated team registries
220
+ - [x] Persistent memory system
221
+ - [x] Scheduled jobs
222
+ - [x] Version control with diff view
223
+ - [x] Encrypted environment variables
224
+ - [x] Channel restrictions
225
+ - [x] Multi-workspace support
226
+ - [ ] Webhook triggers (GitHub, Jira, PagerDuty → agent actions)
227
+ - [ ] Agent-to-agent direct messaging
228
+ - [ ] Analytics dashboard
229
+ - [ ] Custom tool builder (no MCP server needed)
230
+ - [ ] Agent templates marketplace
231
+ - [ ] RAG integration — connect agents to document stores
232
+
233
+ Have an idea? [Open an issue](https://github.com/pelago-labs/slackhive/issues)
234
+
235
+ ---
236
+
237
+ ## 🤝 Contributing
238
+
239
+ ```bash
240
+ git clone https://github.com/pelago-labs/slackhive.git
241
+ cd slackhive && npm install
242
+
243
+ # Configure
244
+ cp .env.example .env # then fill in ADMIN_PASSWORD, AUTH_SECRET, ENV_SECRET_KEY
245
+
246
+ # Run locally (SQLite — no external services required)
247
+ cd apps/web && npm run dev # http://localhost:3000
248
+ cd apps/runner && npm run dev # http://localhost:3002
249
+ ```
250
+
251
+ Open an issue before submitting large PRs so we can align on the approach.
252
+
253
+ ---
254
+
255
+ ## 👥 Contributors
256
+
257
+ <a href="https://github.com/pelago-labs/slackhive/graphs/contributors">
258
+ <img src="https://contrib.rocks/image?repo=pelago-labs/slackhive" alt="Contributors" />
259
+ </a>
260
+
261
+ ---
262
+
263
+ ## ⭐ Star History
264
+
265
+ <a href="https://star-history.com/#pelago-labs/slackhive&Date">
266
+ <picture>
267
+ <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=pelago-labs/slackhive&type=Date&theme=dark" />
268
+ <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=pelago-labs/slackhive&type=Date" />
269
+ <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=pelago-labs/slackhive&type=Date" width="600" />
270
+ </picture>
271
+ </a>
272
+
273
+ ---
274
+
275
+ ## 🔒 Security
276
+
277
+ Use [GitHub's private vulnerability reporting](https://github.com/pelago-labs/slackhive/security/advisories/new) — click **"Report a vulnerability"** on the Security tab. Please don't open public issues for security bugs. We respond within 48 hours.
278
+
279
+ ---
280
+
281
+ ## 📄 License
282
+
283
+ MIT © 2026 [Pelago Labs](https://github.com/pelago-labs)
284
+
285
+ <div align="center">
286
+ <sub>Built with Claude Code, Slack Bolt, and a lot of ☕</sub>
287
+ </div>
@@ -15578,7 +15578,7 @@ var require_package = __commonJS({
15578
15578
  "package.json"(exports2, module2) {
15579
15579
  module2.exports = {
15580
15580
  name: "slackhive",
15581
- version: "0.2.3",
15581
+ version: "0.2.5",
15582
15582
  description: "CLI to install and manage SlackHive \u2014 AI agent teams on Slack",
15583
15583
  bin: {
15584
15584
  slackhive: "./dist/index.js"
package/package.json CHANGED
@@ -1,45 +1,47 @@
1
1
  {
2
2
  "name": "slackhive",
3
- "version": "0.2.3",
4
- "description": "CLI to install and manage SlackHive — AI agent teams on Slack",
3
+ "version": "0.2.5",
4
+ "private": false,
5
+ "description": "Open-source platform for managing teams of Claude Code Slack agents with a boss agent orchestrator",
6
+ "workspaces": [
7
+ "apps/*",
8
+ "packages/*",
9
+ "cli"
10
+ ],
5
11
  "bin": {
6
- "slackhive": "./dist/index.js"
12
+ "slackhive": "cli/dist/index.js"
7
13
  },
8
14
  "scripts": {
9
- "build": "esbuild src/index.ts --bundle --platform=node --outfile=dist/index.js",
10
- "dev": "ts-node src/index.ts"
15
+ "dev": "sh scripts/dev.sh",
16
+ "build": "npm run build -w packages/shared && npm run build --workspaces --if-present",
17
+ "prepare": "npm run build -w cli"
11
18
  },
12
- "keywords": [
13
- "slack",
14
- "ai",
15
- "agents",
16
- "claude",
17
- "claude-code",
18
- "slackhive"
19
+ "files": [
20
+ "cli/dist",
21
+ "README.md"
19
22
  ],
20
- "author": "Aman Srivastava",
21
- "license": "MIT",
22
- "repository": {
23
- "type": "git",
24
- "url": "https://github.com/pelago-labs/slackhive"
23
+ "engines": {
24
+ "node": ">=20.0.0"
25
25
  },
26
+ "license": "MIT",
26
27
  "dependencies": {
27
- "chalk": "^4.1.2",
28
- "commander": "^12.0.0",
29
- "ora": "^5.4.1",
30
- "prompts": "^2.4.2"
28
+ "@anthropic-ai/claude-agent-sdk": "^0.2.118",
29
+ "@anthropic-ai/claude-code": "^2.1.118",
30
+ "@elastic/elasticsearch": "^9.3.4",
31
+ "@mozilla/readability": "^0.6.0",
32
+ "linkedom": "^0.18.12",
33
+ "pg": "^8.20.0",
34
+ "turndown": "^7.2.4"
31
35
  },
32
- "devDependencies": {
33
- "@types/node": "^20.0.0",
34
- "@types/prompts": "^2.4.9",
35
- "esbuild": "^0.28.0",
36
- "typescript": "^5.3.0"
37
- },
38
- "engines": {
39
- "node": ">=18.0.0"
36
+ "overrides": {
37
+ "dompurify": "^3.4.0",
38
+ "vite": "^6.4.2",
39
+ "axios": "^1.15.0",
40
+ "hono": "^4.12.14",
41
+ "@hono/node-server": "^1.19.13",
42
+ "follow-redirects": "^1.15.12"
40
43
  },
41
- "files": [
42
- "dist",
43
- "README.md"
44
- ]
44
+ "devDependencies": {
45
+ "@types/turndown": "^5.0.6"
46
+ }
45
47
  }