ЗАДАЧА: Создать локальное Windows-приложение — аналог GForge (однопользовательская версия)

Ты — эксперт по разработке десктоп-приложений для Windows. Перед тобой стоит задача спроектировать и подготовить инструкцию по созданию программы, которая является локальным (портабельным) аналогом GForge — платформы для управления проектами и разработкой.

ИСХОДНЫЕ ДАННЫЕ

Ссылка на официальную документацию GForge (для изучения полного функционала):

https://gforge.com/ask-ai/ — здесь можно скачать полное руководство GForge Complete Manual в формате Markdown [citation:1]

Ключевые особенности GForge, которые нужно воспроизвести [citation:2][citation:5]:

  1. Управление проектами — поддержка Agile, Scrum, Kanban, традиционных методологий
  2. Трекинг задач (Task Tracking) — задачи, приоритеты, статусы, спринты
  3. Управление ошибками (Bug Tracking)
  4. При интеграции ИИ ассистента или ИИ оркестранта Встроенный чат/обсуждения (Discuss) — с архивацией и поиском
  5. Wiki для документации
  6. Управление версиями и релизами (Releases) — milestones, привязка задач к релизам
  7. Поддержка Git-репозиториев (локальных, так как это однопользовательская версия)
  8. CI/CD интеграция (упрощенная — отслеживание статусов сборок)
  9. Панель управления проектами — дашборды, отчеты
  10. Модульная архитектура — возможность включать/отключать модули [citation:6]
  11. Единый интерфейс — всё в одном окне, без переключения между разными программами

ТЕХНИЧЕСКИЕ ТРЕБОВАНИЯ К ПРИЛОЖЕНИЮ

Платформа и развертывание

  • Целевая ОС: Windows 11 (совместимость с Windows 10)
  • Тип приложения: Портабельное (portable) — один EXE-файл, который можно запустить с флешки или из любой папки без установки
  • Сборка: Автоматизированный скрипт build.bat, который:
    • Проверяет наличие необходимых зависимостей (Node.js, Python, Git и т.д. — в зависимости от выбранного стека)
    • Скачивает/обновляет необходимые модули с GitHub
    • Компилирует/собирает приложение в один EXE-файл
    • Помещает EXE в папку dist с названием GForgeLocal.exe

Архитектура

  • Бэкенд: Локальный сервер, встроенный в EXE (например, на Node.js (Electron), Python (PyInstaller + local server), Go (Wails) или C#)
  • Фронтенд: Современный веб-интерфейс (React/Vue/Svelte), встроенный в приложение (через WebView2 или аналоги)
  • База данных: SQLite (портабельная, не требует отдельного сервера) для хранения:
    • Проектов
    • Задач
    • Багов
    • Настроек
    • Истории изменений
  • Файловое хранилище:
    • Git-репозитории хранятся в подпапке /repos рядом с EXE
    • Wiki хранятся как Markdown-файлы в структурированной папке /wiki
    • Вложения — в папке /uploads

Пользовательский интерфейс

  • Современный, минималистичный дизайн (аналогично современным версиям GForge, Jira, Linear)
  • Темная и светлая темы
  • Адаптивная верстка — чтобы можно было изменять размер окна
  • Навигация: Левое боковое меню с разделами:
    • Дашборд
    • Проекты (список/сетка)
    • Задачи (все задачи по всем проектам)
    • Баги (все ошибки)
    • Календарь/Спринты
    • Настройки
  • Для каждого проекта: отдельный интерфейс с вкладками:
    • Обзор (статистика, последние изменения)
    • Задачи (Kanban-доска или список)
    • Баги
    • Wiki
    • Репозиторий (просмотр коммитов, веток)
    • Релизы
    • Настройки проекта

Функциональные модули (копируем GForge)

Модуль 1: Управление проектами (Projects) [citation:6]

  • Создание/редактирование/удаление проектов
  • Поля: название, описание, статус (активен/архивирован), дата создания
  • Возможность группировки проектов по тегам/категориям
  • Шаблоны проектов (для быстрого создания однотипных)

Модуль 2: Трекинг задач (Task Tracking) [citation:6]

  • Для каждого проекта — отдельный трекер задач
  • Поля задачи: заголовок, описание, статус (To Do, In Progress, Review, Done), приоритет (Critical, High, Medium, Low), исполнитель (один пользователь), оценка времени (часы), дедлайн, теги, связанные задачи
  • Комментарии к задачам
  • История изменений задачи
  • Возможность прикреплять файлы
  • Kanban-доска (перетаскивание задач между статусами)
  • Спринты (группировка задач по версиям/периодам)

Модуль 3: Баг-трекинг (Bug Tracking)

  • Аналогично задачам, но отдельный трекер
  • Статусы багов: New, Confirmed, In Progress, Fixed, Verified, Closed
  • Приоритеты: Blocker, Critical, Major, Minor, Trivial
  • Возможность прикреплять скриншоты/логи

Модуль 4: Wiki [citation:6]

  • Markdown-редактор с предпросмотром
  • Иерархия страниц (папки/подстраницы)
  • История изменений страниц
  • Поиск по wiki
  • Экспорт в PDF/HTML

Модуль 5: Обсуждения (Discuss/Forum) [citation:6]

  • Для каждого проекта — отдельный форум/чат
  • Темы, сообщения
  • Упоминания (@username) — хотя пользователь один, но для будущего расширения
  • Уведомления

Модуль 6: Репозиторий (Code Repository) [citation:6]

  • Поддержка Git (локальные репозитории)
  • Просмотр коммитов (история, автор, дата, сообщение)
  • Просмотр веток
  • Привязка коммитов к задачам/багам (через ключевые слова в сообщении коммита, например "Fixes #123")
  • Возможность клонировать репозиторий по протоколу file:// или запустить легковесный Git-сервер на локальном порту

Модуль 7: Релизы (Releases) [citation:6]

  • Создание milestone/вех
  • Привязка задач к релизам
  • Отслеживание прогресса выполнения задач в релизе
  • Генерация Release Notes из задач/багов, закрытых в этом релизе

Модуль 8: CI/CD интеграция (Builds) [citation:6]

  • Упрощенный вариант: возможность добавить статус сборки вручную
  • Или интеграция с локальными CI-инструментами (например, отслеживание папки с результатами сборки)
  • Отображение статуса сборки на дашборде проекта

Модуль 9: Дашборды и отчеты

  • Главный дашборд: сводка по всем проектам (количество задач, багов, прогресс)
  • Графики: сгорание задач (burndown), статистика по статусам
  • Отчеты: экспорт в CSV/Excel

Модуль 10: Поиск

  • Глобальный поиск по всем проектам, задачам, багам, wiki, комментариям
  • Расширенный поиск с фильтрами

Технологический стек (рекомендуемый)

Для максимальной производительности и простоты портабельной сборки рекомендую использовать:

Вариант A (Electron + React + SQLite):

  • Electron (упаковывает веб-приложение в EXE)
  • React + TypeScript (фронтенд)
  • Node.js (бэкенд внутри Electron)
  • better-sqlite3 (работа с SQLite)
  • isomorphic-git (работа с Git-репозиториями из Node.js)
  • Express (локальный API для общения фронтенда с бэкендом)

Вариант B (Wails — Go + React):

  • Wails (Go + фронтенд, нативный EXE, меньше размер)
  • Go (бэкенд)
  • React/Svelte/Vue (фронтенд)
  • go-sqlite3
  • go-git

Плюсы Electron: огромное сообщество, множество готовых модулей, проще найти разработчиков.
Плюсы Wails: нативный EXE без лишнего веса Chromium, меньше потребление памяти.

Я рекомендую Electron, так как для AI-генерации кода проще использовать JavaScript/TypeScript, и для интеграции готовых модулей с GitHub будет больше готовых решений.

Готовые модули с GitHub (чтобы не изобретать велосипед)

Вот компоненты, которые можно использовать в проекте:

  1. Для Git-операций:
    • isomorphic-git — работает в браузере и Node.js
    • nodegit — но сложнее в сборке
  2. Для Markdown-редактора:
  3. Для Kanban-досок:
  4. Для графиков и отчетов:
  5. Для UI-компонентов:
  6. Для работы с SQLite в Electron:
    • better-sqlite3 — синхронный API, простой
    • knex.js — query builder (опционально)
  7. Для уведомлений:
  8. Для портабельности:
    • electron-builder — сборка в EXE, настройка portable режима

Скрипт сборки (build.bat)

Нужно создать build.bat, который делает следующее:

```batch
@echo off
echo === GForge Local Builder for Windows ===

:: Проверка наличия Node.js
node --version >nul 2>&1
if errorlevel 1 (
echo [ERROR] Node.js не найден. Установите Node.js с сайта https://nodejs.org/
exit /b 1
)

:: Установка зависимостей
echo [1/5] Установка зависимостей...
call npm install

:: Клонирование/обновление необходимых модулей (если используем git-субмодули или прямые зависимости)
echo [2/5] Проверка Git-модулей...
if not exist "modules/isomorphic-git" (
git clone https://github.com/isomorphic-git/isomorphic-git.git modules/isomorphic-git
)

:: Сборка фронтенда
echo [3/5] Сборка фронтенда...
call npm run build

:: Упаковка в портабельный EXE
echo [4/5] Упаковка приложения...
call npm run dist

:: Проверка результата
echo [5/5] Проверка...
if exist "dist/GForgeLocal.exe" (
echo ✅ Готово! EXE-файл создан: dist/GForgeLocal.exe
) else (
echo ❌ Ошибка: EXE-файл не найден!
)

pause

СТРУКТУРА ПРОЕКТА
gforge-local/
├── package.json
├── build.bat
├── electron.js # Главный процесс Electron
├── preload.js # Preload-скрипт
├── src/
│ ├── main/ # Бэкенд (Node.js)
│ │ ├── db/ # Работа с SQLite
│ │ │ ├── schema.sql # Схема БД
│ │ │ └── db.js
│ │ ├── git/ # Работа с репозиториями
│ │ │ └── git-service.js
│ │ └── api/ # Локальный API
│ │ └── routes.js
│ ├── renderer/ # Фронтенд (React)
│ │ ├── index.html
│ │ ├── index.js
│ │ ├── App.jsx
│ │ ├── components/
│ │ ├── pages/
│ │ └── styles/
│ └── preload.js
├── modules/ # Сторонние модули (клонированные)
├── resources/ # Иконки, ресурсы
└── dist/ # Готовая сборка (создаётся при сборке)
└── GForgeLocal.exe

Детали реализации (критически важные моменты)

  1. Инициализация при первом запуске
    При первом запуске EXE должно:

Создать папки data, repos, wiki, uploads рядом с EXE

Инициализировать SQLite-базу с таблицами

Создать пользователя по умолчанию (или просто работать без логина)

Открыть главное окно

  1. Работа с Git-репозиториями
    При создании проекта с Git-репозиторием:

Создаётся папка repos/[project-id].git — bare-репозиторий

Настраивается hook для обновления информации о коммитах

При первом клонировании или пуше извне — обновляется информация в БД

Интерфейс показывает историю коммитов, ветки

  1. Привязка задач к коммитам
    В настройках проекта можно задать паттерн (например, #(\d+))

При обнаружении такого паттерна в сообщении коммита — создаётся связь с задачей

В карточке задачи отображаются связанные коммиты

  1. Модульность (как в GForge)
    При создании проекта пользователь выбирает модули:

✅ Task Tracking (по умолчанию)

✅ Code Repository (по умолчанию) — с выбором Git/SVN (только Git)

✅ Discuss (по умолчанию)

⬜ Project Wiki

⬜ Docs (документы/файлы)

⬜ Builds (CI/CD статусы)

⬜ Releases

Модули можно включать/отключать в любой момент. Данные при отключении не теряются, а только скрываются .

  1. Интерфейс и UX
    Все операции должны быть максимально быстрыми (без задержек)

При переключении между проектами — плавные переходы

Автосохранение в формах

Горячие клавиши (Ctrl+S — сохранить, Ctrl+F — поиск и т.д.)

Вопросы для уточнения (если AI их задаст)
Нужна ли полная изоляция данных между проектами или возможны перекрестные ссылки? (Лучше: возможны, но с подтверждением)

Требуется ли поддержка нескольких пользователей в будущем? (Нет, только один)

Нужна ли синхронизация с облаком? (Нет, только локально)

Какой объем данных ожидается? (До 13 проектов, до 5000 задач/багов, до 10 ГБ репозиториев)

ЧТО ДОЛЖЕН СДЕЛАТЬ AI
Спроектировать архитектуру приложения с учетом всех требований

Написать полный код:

Бэкенд (Node.js/Electron)

Фронтенд (React с компонентами)

SQL-схему для SQLite

Скрипт сборки build.bat

Подготовить инструкцию по сборке и запуску

Учесть все модули GForge, перечисленные выше

Использовать готовые модули с GitHub, где это возможно, чтобы ускорить разработку

ОГРАНИЧЕНИЯ И УСЛОВИЯ
Приложение должно работать полностью офлайн, без доступа в интернет (кроме скачивания модулей при сборке)

Все данные хранятся локально, никакой телеметрии

EXE-файл должен быть не более 150-200 МБ (из-за встроенного Chromium в Electron)

Приложение должно запускаться на "чистой" Windows 11 без предустановленного софта (кроме Git, если требуется для работы с репозиториями — но Git можно встроить или предложить установить отдельно)

ФОРМАТ ОТВЕТА
AI должен предоставить:

Подробное описание архитектуры

Полный код всех файлов (с комментариями)

SQL-скрипты для создания БД

build.bat для автоматической сборки

Инструкцию по запуску для пользователя

Список зависимостей (что нужно установить на систему)


Этот промпт содержит ВСЁ, что нужно AI для генерации полноценного приложения. Отправляйте его ассистенту вместе со скачанным файлом gforge-complete-manual.md с официального сайта [citation:1] — так AI сможет максимально точно воспроизвести функционал.

Edit

Pub: 24 Feb 2026 23:37 UTC

Views: 12