Loading project...
# nvrmnd-bot
**Status:** š¢ Active
**Phase:** Deployed to Slack
**Last Activity:** 2026-02-01
---
## Linear Metadata
**Project ID:** `61a02bbb-fec9-4414-856f-55bdcf940c69`
**Team ID:** `96b685fe-2252-47c5-97ee-273d8c484942`
**Last Synced:** `2026-02-06T13:21:39.187Z`
## Overview
A Slack bot for the NVRMND team that can:
- Answer questions about documents in NVRMND Central (Google Drive)
- Create new documents and sheets in NVRMND Central
- **Cannot** edit, delete, or do anything outside that scope
- Randomly (1 in 5 times) says something ridiculous and nice about John R, John G, Louis, Noah, or Danny
**Confirmed Decisions:**
- Auth: Using existing Google MCP (John's account via OAuth)
- Slack Workspace: `nvrmnd-group`
- Shared Drive ID: `0AEKvqTBXqb6XUk9PVA`
- Folder Selection: Bot chooses based on content/context
---
## Progress
## Code Implementation
### New Files Created
| File | Purpose |
|------|---------|
| `src/types/index.ts` | TypeScript type definitions |
| `src/utils/compliments.ts` | Compliment generator (20% trigger, templates, facts) |
| `src/services/drive.ts` | Drive MCP tool call generators |
| `src/services/message-handler.ts` | Intent detection, message routing |
| `src/services/slack-bot.ts` | Slack Bolt integration (standalone mode) |
| `src/index.ts` | Main entry point |
| `package.json` | Node.js dependencies |
| `tsconfig.json` | TypeScript configuration |
| `openclaw.json` | OpenClaw agent configuration |
| `README.md` | Setup and usage documentation |
### Compliment System
- **Config:** `config/compliments.json` with templates, facts for each team member
- **Implementation:** `src/utils/compliments.ts`
- **Test:** `npm run test:compliments`
- **Trigger rate:** 20% (1 in 5 responses)
### Drive Service
- **Config:** `config/drive-config.json` with folder IDs
- **Implementation:** `src/services/drive.ts`
- **Features:**
- MCP tool call generators for search, read, create
- Folder suggestion based on document content
- All folder IDs mapped
### Message Handler
- **Implementation:** `src/services/message-handler.ts`
- **Features:**
- Intent detection (help, search, create, summarize)
- Pattern matching for commands
- Proactive participation logic
- Response formatting with optional compliments
---
## ā
Slack Configuration (Completed 2026-02-01)
**Config applied:**
- `dm.policy: "open"` ā Anyone in workspace can DM the bot
- `dm.allowFrom: ["*"]` ā No pairing required
- `groupPolicy: "open"` ā Bot responds in any channel it's invited to
- Agent binding: `nvrmnd-bot` ā `slack:nvrmnd`
**Testing:**
## ā
Internal Project Access (Added 2026-02-01)
**Read-only access to:**
1. **NVRBot Scraper** (`/projects/nvrbot-scraper/`)
- Competitive intelligence scraper for wellness studios
- Can report on which studios are working, recent fixes, backlog
2. **NVRMND Knowledge Base** (`/projects/nvrmnd-knowledge-base/`)
- Partner onboarding knowledge base
- Can report on current phase, what's done, what's waiting (JR/DD docs)
Bot reads STATUS.md files to answer project status questions.
---
## Architecture
```
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā Slack ā
ā User sends message ā Slack Bot receives ā
āāāāāāāāāāāāāāāāāāāāāāā¬āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā
ā¼
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā OpenClaw Agent ā
ā - Agent: nvrmnd-bot ā
ā - Workspace: projects/nvrmnd-bot/agent-workspace ā
ā - Receives Slack events ā
ā - Processes with LLM ā
ā - Enforces capability boundaries (prompt-based) ā
ā - ~20% chance includes ridiculous compliment ā
āāāāāāāāāāāāāāāāāāāāāāā¬āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā
ā¼
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā Google Drive MCP ā
ā ā
Read files (permitted by prompt) ā
ā ā
Create files (permitted by prompt) ā
ā ā Edit/Delete (blocked by prompt - tools exist but unused)|
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
```
---
## Key Files
| File | Purpose |
|------|---------|
| `docs/SPEC.md` | Full specification |
| `docs/SLACK-SETUP.md` | Slack app setup guide |
| `config/system-prompt.md` | Bot system prompt |
| `config/compliments.json` | Compliment database |
| `config/drive-config.json` | Folder IDs for NVRMND Central |
| `agent-workspace/AGENTS.md` | Agent system prompt |
| `src/` | TypeScript implementation |
| `openclaw.json` | Agent configuration |
| `README.md` | Setup and usage guide |
---
*Last updated: 2026-02-01*