Hammer 797396497a
Some checks failed
CI/CD / test (push) Has been cancelled
CI/CD / deploy (push) Has been cancelled
feat: add OWASP API Security Top 10 audit for all 4 APIs
- Real code audit of Hammer Dashboard, Network App, Todo App, and nKode APIs
- Each API assessed against all 10 OWASP API Security risks with actual findings
- Frontend: OWASP scorecard component with visual grid showing pass/warn/critical
- Scorecard displayed prominently above regular category cards in project detail view
- Each finding has description, status, recommendation, and Create Fix Task support
- Added 'OWASP API Top 10' as category option in Add Audit modal
- Dark mode support throughout
2026-01-30 14:57:52 +00:00

🔨 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 task
  • PATCH /api/tasks/:id - Update task (status, priority, etc.)
  • POST /api/tasks/:id/notes - Add progress note
  • PATCH /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
Task queue dashboard for Hammer AI assistant
Readme 1.3 MiB
Languages
TypeScript 92.8%
Shell 6.9%