Skip to content

Commit 960a364

Browse files
mstrivensclaude
andcommitted
Add README with project documentation
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 89295dd commit 960a364

1 file changed

Lines changed: 156 additions & 0 deletions

File tree

README.md

Lines changed: 156 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,156 @@
1+
# StackDash
2+
3+
AI-powered customer support issue triage and task management dashboard for StackOne. Automatically analyzes incoming support issues from Pylon, prioritizes them using Claude AI, generates actionable tasks, and provides team visibility into support workload.
4+
5+
## Features
6+
7+
- **AI Issue Triage** - Claude AI analyzes and prioritizes incoming issues (high/medium/low) with confidence scores
8+
- **Webhook Integration** - Receives issues from Pylon with HMAC signature verification
9+
- **Task Generation** - Creates actionable todos from triaged issues with investigation steps
10+
- **Meeting Actions** - Extracts action items from Fireflies meeting transcripts
11+
- **Claude Code Prompts** - Generates investigation prompts for debugging customer issues
12+
- **Response Drafting** - AI-generated customer response templates
13+
- **Team Management** - Assignee tracking with filtering by team member
14+
- **Real-time Dashboard** - Live statistics and issue tracking with polling updates
15+
16+
## Tech Stack
17+
18+
- **Frontend**: React 19, TypeScript
19+
- **Backend**: Hono (web framework), Bun (local dev), Cloudflare Workers (production)
20+
- **Database**: Cloudflare D1 (SQLite), KV storage
21+
- **AI**: Anthropic Claude API
22+
- **Auth**: Google OAuth 2.0 (domain-restricted to @stackone.com)
23+
- **Integrations**: StackOne MCP (Pylon, Fireflies)
24+
25+
## Prerequisites
26+
27+
- [Bun](https://bun.sh/) runtime
28+
- [Wrangler CLI](https://developers.cloudflare.com/workers/wrangler/) for Cloudflare deployment
29+
- Anthropic API key
30+
- Google OAuth credentials (for production auth)
31+
- StackOne API credentials
32+
33+
## Setup
34+
35+
1. Clone the repository:
36+
```bash
37+
git clone <repository-url>
38+
cd stackdash
39+
```
40+
41+
2. Install dependencies:
42+
```bash
43+
bun install
44+
```
45+
46+
3. Copy the environment template and configure:
47+
```bash
48+
cp .env.example .env
49+
```
50+
51+
4. Configure environment variables (see [Environment Variables](#environment-variables))
52+
53+
## Environment Variables
54+
55+
| Variable | Description |
56+
|----------|-------------|
57+
| `ANTHROPIC_API_KEY` | Claude API key for AI features |
58+
| `PYLON_WEBHOOK_SECRET` | HMAC secret for webhook verification |
59+
| `STACKONE_MCP_URL` | StackOne MCP endpoint |
60+
| `STACKONE_API_KEY` | StackOne API key |
61+
| `STACKONE_ACCOUNT_ID` | Pylon account ID |
62+
| `GOOGLE_CLIENT_ID` | Google OAuth client ID |
63+
| `GOOGLE_CLIENT_SECRET` | Google OAuth client secret |
64+
| `AUTH_REDIRECT_URI` | OAuth callback URL |
65+
| `COOKIE_SECRET` | Secret for signing session cookies |
66+
| `PORT` | Server port (default: 3000) |
67+
68+
## Development
69+
70+
Run the local development server with hot reload:
71+
72+
```bash
73+
bun run dev
74+
```
75+
76+
Or use Cloudflare Workers local environment:
77+
78+
```bash
79+
bun run cf:dev
80+
```
81+
82+
## Deployment
83+
84+
Build and deploy to Cloudflare Workers:
85+
86+
```bash
87+
bun run deploy
88+
```
89+
90+
This builds the React frontend, bundles assets, and deploys via Wrangler.
91+
92+
### Database Migrations
93+
94+
Apply D1 database migrations:
95+
96+
```bash
97+
wrangler d1 migrations apply stackdash-db
98+
```
99+
100+
## API Endpoints
101+
102+
### Issues
103+
- `GET /api/issues` - Fetch all triaged issues with stats
104+
- `GET /api/issues/:id` - Get single issue
105+
- `GET /api/issues/assignees` - Get unique assignees
106+
- `DELETE /api/issues/:id` - Delete issue
107+
108+
### Todos
109+
- `POST /api/todos/generate` - Generate todo from issue
110+
111+
### Generation
112+
- `POST /api/generate/prompt` - Generate Claude Code investigation prompt
113+
- `POST /api/generate/response` - Generate customer response draft
114+
115+
### Meetings
116+
- `POST /api/meetings/import-actions` - Import Fireflies action items
117+
118+
### Users
119+
- `GET /api/users` - Fetch SE team members
120+
121+
### Webhooks
122+
- `POST /api/pylon/webhook` - Receive Pylon issues
123+
124+
### Auth
125+
- `GET /auth/login` - Initiate OAuth flow
126+
- `GET /auth/callback` - OAuth redirect
127+
- `GET /auth/logout` - Clear session
128+
129+
### Health
130+
- `GET /health` - Health check
131+
132+
## Project Structure
133+
134+
```
135+
stackdash/
136+
├── src/
137+
│ ├── index.ts # Bun local dev entry
138+
│ ├── worker.ts # Cloudflare Workers entry
139+
│ ├── frontend/ # React UI
140+
│ │ ├── App.tsx
141+
│ │ ├── components/ # Dashboard, IssueCard, TodoCard, etc.
142+
│ │ └── hooks/ # useIssues, useTodos
143+
│ ├── api/ # API route handlers
144+
│ ├── agent/ # Claude AI logic
145+
│ ├── auth/ # Google OAuth
146+
│ ├── mcp/ # StackOne MCP client
147+
│ ├── pylon/ # Webhook handling
148+
│ └── store/ # Data persistence (D1, KV)
149+
├── migrations/ # D1 database migrations
150+
├── wrangler.toml # Cloudflare Workers config
151+
└── package.json
152+
```
153+
154+
## License
155+
156+
Proprietary - StackOne

0 commit comments

Comments
 (0)