Hermes Kanban Telegram Mini App
Find a file
kisskin d405f71673
Some checks failed
CI / contracts (push) Failing after 42s
CI / bridge (push) Has been skipped
CI / frontend (push) Has been skipped
feat: M5 deployment-ready — Makefile, README (EN/RU), CI workflows, fixes
- Add Makefile with dev/build/test/docker/ci commands
- Rewrite README.md with architecture, quickstart, env vars (EN + RU)
- Add Forgejo CI workflow (.forgejo/workflows/test.yml)
- Update GitHub CI workflow for pnpm monorepo structure
- Fix unused imports in bridge test file (typecheck)
- Add test/ci scripts to root package.json
- Docker compose build verified (bridge + frontend images)
- Full local CI passes: typecheck → test (16/16) → build
2026-07-10 15:14:50 +03:00
.forgejo/workflows feat: M5 deployment-ready — Makefile, README (EN/RU), CI workflows, fixes 2026-07-10 15:14:50 +03:00
.github/workflows feat: M5 deployment-ready — Makefile, README (EN/RU), CI workflows, fixes 2026-07-10 15:14:50 +03:00
backend feat: M4 docker deployment - bridge + frontend containers 2026-07-10 14:58:20 +03:00
docs feat: M4 docker deployment - bridge + frontend containers 2026-07-10 14:58:20 +03:00
frontend feat: M4 docker deployment - bridge + frontend containers 2026-07-10 14:58:20 +03:00
packages feat: M5 deployment-ready — Makefile, README (EN/RU), CI workflows, fixes 2026-07-10 15:14:50 +03:00
.dockerignore feat: M4 docker deployment - bridge + frontend containers 2026-07-10 14:58:20 +03:00
.env.example feat: M4 docker deployment - bridge + frontend containers 2026-07-10 14:58:20 +03:00
.gitignore feat(contracts): M1 shared TypeScript contracts and bridge skeleton 2026-07-10 10:16:39 +03:00
CONTRIBUTING.md Initial Hermes Kanban Mini App 2026-07-09 17:19:33 +03:00
docker-compose.yml feat: M4 docker deployment - bridge + frontend containers 2026-07-10 14:58:20 +03:00
Dockerfile feat: M4 docker deployment - bridge + frontend containers 2026-07-10 14:58:20 +03:00
LICENSE Initial Hermes Kanban Mini App 2026-07-09 17:19:33 +03:00
Makefile feat: M5 deployment-ready — Makefile, README (EN/RU), CI workflows, fixes 2026-07-10 15:14:50 +03:00
package.json feat: M5 deployment-ready — Makefile, README (EN/RU), CI workflows, fixes 2026-07-10 15:14:50 +03:00
pnpm-lock.yaml feat: M4 docker deployment - bridge + frontend containers 2026-07-10 14:58:20 +03:00
pnpm-workspace.yaml feat: M4 docker deployment - bridge + frontend containers 2026-07-10 14:58:20 +03:00
README.md feat: M5 deployment-ready — Makefile, README (EN/RU), CI workflows, fixes 2026-07-10 15:14:50 +03:00
SECURITY.md Initial Hermes Kanban Mini App 2026-07-09 17:19:33 +03:00

Hermes Kanban Mini App

Telegram Mini App and web dashboard for Hermes Agent Kanban boards. View, create, and manage tasks from mobile or desktop.

Русская версия

What it does

  • Board view: Kanban columns — triage, todo, ready, running, blocked, done, archived
  • Task details: body, events, runs, log tail, comments
  • Task actions: create, assign, promote, block/unblock, archive, dispatch, comment
  • Telegram integration: Mini App theme variables, initData auth, haptic feedback
  • Secure bridge: execFile with shell: false, command allowlist, token auth

Architecture

Telegram Mini App / Browser
        │
        │  HTTPS / Vite proxy in dev
        ▼
React + TypeScript + Vite frontend  (port 5173 dev / 80 nginx)
        │
        │  /bridge/v1/*  (X-Bridge-Token or dev mode)
        ▼
Express Bridge  (port 3456)
        │
        │  hermes kanban ... --json  (execFile, shell: false)
        ▼
Hermes Kanban board (SQLite)

Monorepo structure (pnpm workspace):

  • packages/contracts — shared TypeScript types + Zod schemas
  • packages/bridge — Express API server, CLI wrapper
  • frontend — React + Vite SPA with Tailwind CSS

Quick start

Prerequisites

  • Node.js ≥ 18
  • pnpm 9.x (corepack enable)
  • Hermes Agent installed with Kanban enabled

Local development

git clone https://github.com/Kisskin-Mister/hermes-kanban-miniapp.git
cd hermes-kanban-miniapp
cp .env.example .env          # edit as needed
pnpm install
make dev                       # starts bridge + frontend

Docker Compose

cp .env.example .env           # edit HERMES_HOME, BRIDGE_TOKEN, etc.
make docker-build              # or: docker compose build
make up                        # or: docker compose up -d

Production

make build                     # build TypeScript
make docker-build              # build images
make up                        # start containers

The docker-compose.yml mounts ~/.hermes read-only into the bridge container. Configure HERMES_HOME in .env.

Environment variables

Bridge (.env)

Variable Default Description
BRIDGE_HOST 127.0.0.1 Bridge bind address
BRIDGE_PORT 8787 Bridge port
BRIDGE_TOKEN Auth token (X-Bridge-Token header)
AUTH_MODE token token (validate header) or dev (bypass auth)
BRIDGE_ALLOWED_BOARDS default Comma-separated board slugs or *
COMMAND_TIMEOUT_SECONDS 30 Per-command timeout
LOG_TAIL_MAX_LINES 500 Max log lines returned
HERMES_BIN hermes Path to hermes executable
HERMES_HOME Hermes profile directory
TELEGRAM_BOT_TOKEN For initData validation (optional)

Docker Compose

Variable Default Description
HERMES_HOME /home/kisskin/.hermes Mounted into bridge container

Makefile commands

make install       — pnpm install
make dev           — run bridge + frontend in dev mode
make build         — build all TypeScript packages
make typecheck     — run TypeScript type checking
make test          — run bridge tests
make ci            — install + typecheck + test + build
make docker-build  — build Docker images
make up            — docker compose up -d
make down          — docker compose down
make logs          — follow service logs
make clean         — remove build artifacts

Telegram Mini App setup

  1. Create a bot with BotFather
  2. Set the Mini App domain: /setdomain → your HTTPS domain
  3. Configure .env:
    AUTH_MODE=token
    BRIDGE_TOKEN=<generate-a-strong-token>
    TELEGRAM_BOT_TOKEN=<your-bot-token>
    
  4. Deploy with HTTPS (Caddy, Nginx, Traefik, or Cloudflare Tunnel)

CI

Forgejo CI workflow (.forgejo/workflows/test.yml) runs on push to main:

  • Typecheck contracts, bridge, frontend
  • Run bridge unit tests (vitest)
  • Build frontend

License

MIT — see LICENSE.


Hermes Kanban Mini App / На русском

Telegram Mini App и веб-панель для управления задачами Hermes Agent. Просматривайте, создавайте и управляйте задачами с мобильного или десктопа.

Что это

  • Доска с колонками: triage, todo, ready, running, blocked, done, archived
  • Детали задачи: описание, события, запуски, логи, комментарии
  • Действия: создание, назначение, продвижение, блокировка/разблокировка, архивация, диспетчеризация
  • Интеграция с Telegram: темы Mini App, авторизация initData, тактильная обратная связь

Быстрый старт

Локальная разработка

git clone https://github.com/Kisskin-Mister/hermes-kanban-miniapp.git
cd hermes-kanban-miniapp
cp .env.example .env
pnpm install
make dev

Docker Compose

cp .env.example .env
# Отредактируйте HERMES_HOME, BRIDGE_TOKEN и другие переменные
make docker-build
make up

Предварительные требования

  • Node.js ≥ 18
  • pnpm 9.x (corepack enable)
  • Hermes Agent с включённым Kanban

Переменные окружения

Смотрите таблицу выше или файл .env.example.

Команды Makefile

Команда Описание
make dev Запуск bridge + frontend в режиме разработки
make build Сборка всех TypeScript пакетов
make test Запуск тестов bridge
make docker-build Сборка Docker образов
make up Запуск сервисов через docker compose
make down Остановка сервисов
make ci Полный CI-пайплайн локально

Установка Telegram Mini App

  1. Создайте бота через BotFather
  2. Установите домен Mini App: /setdomain → ваш HTTPS домен
  3. Настройте .env с AUTH_MODE=token, BRIDGE_TOKEN и TELEGRAM_BOT_TOKEN
  4. Разверните с HTTPS (Caddy, Nginx, Traefik, Cloudflare Tunnel)

Лицензия

MIT — см. LICENSE.