Wenlan
Wenlan is a source-backed AI knowledge base and LLM wiki for AI work: organize documents and decisions into pages you can find, inspect, and review.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
Loading the full README. The saved excerpt is shown below.
Задачи прямо из Telegram-чата. Бот ставит задачу командой в группе, а доска внутри Telegram (Mini App) показывает их в колонках Todo / In progress / Done, с карточками, комментариями и аналитикой.Read the full README ↗
Задачи прямо из Telegram-чата. Бот ставит задачу командой в группе, а доска внутри Telegram (Mini App) показывает их в колонках Todo / In progress / Done, с карточками, комментариями и аналитикой.
/task @user текст задачи — или отвечают на любое сообщение /task @user, тогда текстом задачи станет это сообщение.Каждое утро в 09:00 (Алматы) бот присылает исполнителям дайджест: что сегодня в срок и что просрочено.
Открывается иконкой графика в шапке доски. Период — 7, 30 или 90 дней, фильтр — по исполнителю.
Время считается от создания задачи до перевода в Done. Если задачу вернуть из Done, она выпадает из статистики до повторного закрытия.
/admin или раздел внутри Mini App) — для супер-админов: включение групп и выбор постановщиков. Вход по 4-значному коду, который присылает бот.Next.js (App Router, TypeScript) на Vercel · Supabase Postgres через Drizzle · grammY для вызовов Bot API · @dnd-kit · Vitest.
Часовой пояс всей логики дат — Asia/Almaty.
npm install
cp .env.example .env.local # заполнить значения
npm run dev
| Команда | Что делает |
|---|---|
npm test | юнит-тесты (src/domain/**, чистая логика без I/O) |
npm run typecheck | проверка типов |
npm run build | сборка |
npm run db:generate / npm run db:migrate | миграции Drizzle |
npm run webhook:set | установить webhook бота на APP_URL |
npm run bot:profile | описание бота и меню команд |
Переменные окружения (.env.local, в git не попадает):
| Имя | Назначение |
|---|---|
TELEGRAM_BOT_TOKEN | токен бота |
TELEGRAM_BOT_USERNAME | username бота без @ |
TELEGRAM_WEBHOOK_SECRET | секрет заголовка webhook |
TELEGRAM_MINIAPP_SHORT_NAME | short name Mini App из BotFather |
DATABASE_URL | Postgres (transaction pooler) |
MIGRATION_DATABASE_URL | Postgres для миграций (session/direct) |
SUPERADMIN_IDS | Telegram ID супер-админов через запятую |
CRON_SECRET | авторизация вызова дайджеста |
SESSION_SECRET | подпись сессий админки и хеширование кодов входа |
APP_URL | публичный адрес приложения |
Структура:
src/domain/ — бизнес-логика без БД и сети, покрыта тестамиsrc/server/ — работа с БД и правамиsrc/app/api/ — HTTP-эндпоинты (webhook бота, API Mini App, админка, cron)src/miniapp/ — интерфейс Mini Appsrc/telegram/ — тексты и отправка сообщений ботаДизайн и планы — в docs/superpowers/. Скриншоты в README сделаны на демо-данных.