30d1892a7d7c27b370c56ad82eb5b62d7901aed9
🔨 Hammer Queue
Task queue dashboard for Hammer (AI assistant). Lets Donovan see what Hammer is working on, what's queued, and control task ordering.
Stack
- Frontend: React + Vite + TypeScript + Tailwind CSS
- Backend: Elysia + Bun + TypeScript
- Database: PostgreSQL + Drizzle ORM
- Deploy: Docker Compose / Dokploy
Quick Start (Local Dev)
# Start Postgres
docker compose up db -d
# Backend
cd backend
cp .env.example .env
bun install
bun run db:push
bun run dev
# Frontend (separate terminal)
cd frontend
bun install
bun run dev
Docker
docker compose up --build
Frontend: http://localhost:8080 Backend API: http://localhost:3100
API
Public (no auth)
GET /api/tasks- List all tasks (sorted: active → queued → blocked → completed)GET /health- Health check
Authenticated (Bearer token)
POST /api/tasks- Create taskPATCH /api/tasks/:id- Update task (status, priority, etc.)POST /api/tasks/:id/notes- Add progress notePATCH /api/tasks/reorder- Reorder queued tasks{ ids: string[] }DELETE /api/tasks/:id- Delete task
Example: Hammer creates a task
curl -X POST http://localhost:3100/api/tasks \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"title": "Build task queue dashboard", "source": "donovan", "priority": "high"}'
Example: Hammer updates status
curl -X PATCH http://localhost:3100/api/tasks/$TASK_ID \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"status": "active"}'
Example: Add progress note
curl -X POST http://localhost:3100/api/tasks/$TASK_ID/notes \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"note": "Scaffolded backend, working on frontend now"}'
Environment Variables
| Variable | Description | Default |
|---|---|---|
DATABASE_URL |
Postgres connection string | postgres://hammer_queue:hammer_queue@localhost:5432/hammer_queue |
API_BEARER_TOKEN |
Bearer token for write API | hammer-dev-token |
PORT |
Backend port | 3100 |
Description
Languages
TypeScript
99.6%
Dockerfile
0.2%
JavaScript
0.1%