Skip to content
/ ccpm Public
forked from automazeio/ccpm

Project management system for Claude Code using GitHub Issues and Git worktrees for parallel agent execution.

License

Notifications You must be signed in to change notification settings

m407/ccpm

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Opencode PM

Follow on Mattermost

Opencode Gitlab Issues   MIT License   Star this repo

Opencode рабочий процесс для поставки быстрее лучше с использованием разработки на основе спецификаций, Gitlab Issues, Git worktrees и множества параллельно работающих AI агентов.

Перестаньте терять контекст. Перестаньте блокироваться на задачах. Перестаньте поставлять баги. Эта проверенная в боях система превращает PRD в эпики, эпики в Gitlab Issues, а задачи в рабочий код - с полной прослеживаемостью на каждом этапе.

Opencode PM

Содержание

Подоплёка

Каждая команда сталкивается с одними и теми же проблемами:

  • Контекст испаряется между сессиями, заставляя постоянно переоткрывать заново
  • Параллельная работа создает конфликты когда несколько разработчиков работают с одним и тем же кодом
  • Требования изменяются когда устные решения перекрывают письменные спецификации
  • Прогресс становится невидимым до самого конца

Эта система решает всё это.

Рабочий процесс

graph LR
    A[Создание PRD] --> B[Планирование эпика]
    B --> C[Декомпозиция задач]
    C --> D[Синхронизация с Gitlab]
    D --> E[Параллельное выполнение]
Loading

Посмотрите как это работает (60 секунд)

# Создайте комплексный PRD через управляемый мозговой штурм
/pm-prd-new memory-system

# Преобразуйте PRD в технический эпик с разбивкой задач
/pm-prd-parse memory-system

# Отправьте в Gitlab и начните параллельное выполнение
/pm-epic-oneshot memory-system
/pm-issue-start 1235

Что делает это особенным?

Традиционная разработка Система Opencode PM
Контекст теряется между сессиями Постоянный контекст во всей работе
Последовательное выполнение задач Параллельные агенты над независимыми задачами
"Кодинг наобум" из памяти На основе спецификаций с полной прослеживаемостью
Прогресс скрыт в ветках Прозрачная аудиторская цепочка в Gitlab
Ручная координация задач Интеллектуальный приоритет с /pm-next

Почему Gitlab Issues?

Большинство рабочих процессов Opencode работают изолированно - один разработчик работает с AI в своей локальной среде. Это создает фундаментальную проблему: AI-помощь в разработке становится изолированной.

Используя Gitlab Issues в качестве нашей базы данных, мы разблокируем что-то мощное:

🤝 Настоящее командное сотрудничество

  • Множество экземпляров Claude могут работать над одним проектом одновременно
  • Человеческие разработчики видят прогресс AI в реальном времени через комментарии к задачам
  • Члены команды могут включиться в любое время - контекст всегда виден
  • Менеджеры получают прозрачность без прерывания потока

🔄 Бесшовная передача между человеком и AI

  • AI может начать задачу, человек может закончить (или наоборот)
  • Обновления прогресса видны всем, не скрыты в логах чата
  • Код-ревью происходит естественно через комментарии к PR
  • Никаких "что делал AI?" встреч

📈 Масштабируемость за пределами индивидуальной работы

  • Добавление членов команды без трения при адаптации
  • Множество AI агентов работают параллельно над разными задачами
  • Распределенные команды остаются синхронизированными автоматически
  • Работает с существующими Gitlab рабочими процессами и инструментами

🎯 Единый источник истины

  • Нет отдельных баз данных или инструментов управления проектами
  • Состояние задачи - это состояние проекта
  • Комментарии - это аудиторская цепочка
  • Метки обеспечивают организацию

Это не просто система управления проектами - это протокол сотрудничества, который позволяет человеку и AI агентам работать вместе в масштабе, используя инфраструктуру, которой ваша команда уже доверяет.

Основной принцип: Никакого кодинга наобум

Каждая строка кода должна быть связана со спецификацией.

Мы следуем строгой 5-фазной дисциплине:

  1. 🧠 Мозговой штурм - Думаем глубже, чем комфортно
  2. 📝 Документация - Пишем спецификации, которые не оставляют места для интерпретации
  3. 📐 Планирование - Проектируем с явными техническими решениями
  4. ⚡ Выполнение - Строим точно то, что было указано
  5. 📊 Отслеживание - Поддерживаем прозрачный прогресс на каждом этапе

Никаких ярлыков. Никаких предположений. Никаких сожалений.

Архитектура системы

.opencode/
├── AGENTS.md          # Всегда включенные инструкции (скопируйте содержимое в файл AGENTS.md вашего проекта)
├── agents/            # Ориентированные на задачи агенты (для сохранения контекста)
├── commands/          # Определения команд
│   ├── context/       # Создание, обновление и подготовка контекста
│   ├── pm/            # ← Команды управления проектом (эта система)
│   └── testing/       # Подготовка и выполнение тестов (отредактируйте это)
├── context/           # Файлы контекста для всего проекта
├── epics/             # ← Локальное рабочее пространство PM (разместите в .gitignore)
│   └── [epic-name]/   # Эпик и связанные задачи
│       ├── epic.md    # План реализации
│       ├── [#].md     # Файлы отдельных задач
│       └── updates/   # Обновления в процессе работы
├── prds/              # ← PRD файлы PM
├── rules/             # Разместите здесь любые файлы правил, на которые вы хотите ссылаться
└── scripts/           # Разместите здесь любые файлы скриптов, которые вы хотите использовать

Фазы рабочего процесса

1. Фаза планирования продукта

/pm-prd-new feature-name

Запускает комплексный мозговой штурм для создания Документа Требований Продукта, охватывающего видение, пользовательские истории, критерии успеха и ограничения.

Вывод: .opencode/prds/feature-name.md

2. Фаза планирования реализации

/pm-prd-parse feature-name

Преобразует PRD в технический план реализации с архитектурными решениями, техническим подходом и маппингом зависимостей.

Вывод: .opencode/epics/feature-name/epic.md

3. Фаза декомпозиции задач

/pm-epic-decompose feature-name

Разбивает эпик на конкретные, выполнимые задачи с критериями приемки, оценками усилий и флагами параллелизации.

Вывод: .opencode/epics/feature-name/[task].md

4. Синхронизация с Gitlab

/pm-epic-sync feature-name
# Или для уверенных рабочих процессов:
/pm-epic-oneshot feature-name

Отправляет эпик и задачи в Gitlab как задачи с соответствующими метками и отношениями.

5. Фаза выполнения

/pm-issue-start 1234  # Запуск специализированного агента
/pm-issue-sync 1234   # Отправка обновлений прогресса
/pm-next             # Получение следующей приоритетной задачи

Специализированные агенты реализуют задачи, сохраняя обновления прогресса и аудиторскую цепочку.

Справочник команд

Tip

Введите /pm-help для краткого сводного руководства по командам

Начальная настройка

  • /pm-init - Установка зависимостей и настройка Gitlab

Команды PRD

  • /pm-prd-new - Запуск мозгового штурма для новых требований продукта
  • /pm-prd-parse - Преобразование PRD в реализационный эпик
  • /pm-prd-list - Список всех PRD
  • /pm-prd-edit - Редактирование существующего PRD
  • /pm-prd-status - Показ статуса реализации PRD

Команды эпика

  • /pm-epic-decompose - Разбиение эпика на файлы задач
  • /pm-epic-sync - Отправка эпика и задач в Gitlab
  • /pm-epic-oneshot - Декомпозиция и синхронизация в одной команде
  • /pm-epic-list - Список всех эпиков
  • /pm-epic-show - Отображение эпика и его задач
  • /pm-epic-close - Пометка эпика как завершенного
  • /pm-epic-edit - Редактирование деталей эпика
  • /pm-epic-refresh - Обновление прогресса эпика из задач

Команды задач

  • /pm-issue-show - Отображение задачи и подзадач
  • /pm-issue-status - Проверка статуса задачи
  • /pm-issue-start - Начало работы со специализированным агентом
  • /pm-issue-sync - Отправка обновлений в Gitlab
  • /pm-issue-close - Пометка задачи как завершенной
  • /pm-issue-reopen - Переоткрытие закрытой задачи
  • /pm-issue-edit - Редактирование деталей задачи

Команды рабочего процесса

  • /pm-next - Показ следующей приоритетной задачи с контекстом эпика
  • /pm-status - Общая панель управления проектом
  • /pm-standup - Отчет ежедневного стендапа
  • /pm-blocked - Показ заблокированных задач
  • /pm-in-progress - Список задач в работе

Команды синхронизации

  • /pm-sync - Полная двусторонняя синхронизация с Gitlab
  • /pm-import - Импорт существующих Gitlab Issues

Команды обслуживания

  • /pm-validate - Проверка целостности системы
  • /pm-clean - Архивирование завершенной работы
  • /pm-search - Поиск по всему содержимому

Система параллельного выполнения

Задачи не являются атомарными

Традиционное мышление: Одна задача = Один разработчик = Одна задача

Реальность: Одна задача = Множество параллельных потоков работы

Одна задача "Реализовать аутентификацию пользователя" - это не одна задача. Это...

  • Агент 1: Таблицы базы данных и миграции
  • Агент 2: Слой сервиса и бизнес-логика
  • Агент 3: API эндпоинты и middleware
  • Агент 4: UI компоненты и формы
  • Агент 5: Тестовые наборы и документация

Все работает одновременно в одном worktree.

Математика скорости

Традиционный подход:

  • Эпик с 3 задачами
  • Последовательное выполнение

Эта система:

  • Тот же эпик с 3 задачами
  • Каждая задача разделяется на ~4 параллельных потока
  • 12 агентов работают одновременно

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

Оптимизация контекста

Традиционный однопоточный подход:

  • Главный разговор несет ВСЕ детали реализации
  • Контекстное окно заполняется схемами базы данных, API кодом, UI компонентами
  • В конечном итоге достигает пределов контекста и теряет согласованность

Подход с параллельными агентами:

  • Главный поток остается чистым и стратегическим
  • Каждый агент обрабатывает свой контекст изолированно
  • Детали реализации никогда не загрязняют главный разговор
  • Главный поток сохраняет обзор без утопания в коде

Ваш главный разговор становится дирижером, а не оркестром.

Gitlab vs Локально: Идеальное разделение

Что видит Gitlab:

  • Чистые, простые задачи
  • Обновления прогресса
  • Статус завершения

Что происходит на самом деле локально:

  • Задача #1234 распадается на 5 параллельных агентов
  • Агенты координируются через Git коммиты
  • Сложная оркестровка скрыта от взгляда

Gitlab не нужно знать КАК работа была выполнена - важно только то, что она ВЫПОЛНЕНА.

Поток команд

# Анализ того, что можно параллелизировать
/pm-issue-analyze 1234

# Запуск роя
/pm-epic-start memory-system

# Наблюдение за магией
# 12 агентов работают над 3 задачами
# Все в: ../epic-memory-system/

# Одно чистое слияние по завершении
/pm-epic-merge memory-system

Ключевые особенности и преимущества

🧠 Сохранение контекста

Никогда больше не теряйте состояние проекта. Каждый эпик сохраняет свой контекст, агенты читают из .opencode/context/ и обновляются локально перед синхронизацией.

Параллельное выполнение

Поставляйте быстрее с множеством агентов, работающих одновременно. Задачи с пометкой parallel: true позволяют конфликтно-свободную параллельную разработку.

🔗 Gitlab Native

Работает с инструментами, которыми ваша команда уже пользуется. Задачи - это источник истины, комментарии обеспечивают историю, и нет зависимости от Projects API.

🤖 Специализация агентов

Правильный инструмент для каждой работы. Разные агенты для UI, API и базы данных. Каждый читает требования и автоматически публикует обновления.

📊 Полная прослеживаемость

Каждое решение задокументировано. PRD → Эпик → Задача → Issue → Код → Коммит. Полная аудиторская цепочка от идеи до производства.

🚀 Производительность разработчика

Сфокусируйтесь на создании, а не на управлении. Интеллектуальный приоритет, автоматическая загрузка контекста и инкрементальная синхронизация по готовности.

Доказанные результаты

Команды, использующие эту систему, сообщают:

  • 89% меньше времени, потерянного на переключение контекста - вы будете использовать /compact и /clear намного меньше
  • 5-8 параллельных задач вместо 1 ранее - редактирование/тестирование нескольких файлов одновременно
  • 75% снижение количества багов - благодаря разбиению функций на детальные задачи
  • До 3х раз быстрее поставка функций - в зависимости от размера и сложности функции

Пример потока

# Начать новую функцию
/pm-prd-new memory-system

# Просмотр и доработка PRD...

# Создать план реализации
/pm-prd-parse memory-system

# Просмотр эпика...

# Разбить на задачи и отправить в Gitlab
/pm-epic-oneshot memory-system
# Создает задачи: #1234 (эпик), #1235, #1236 (задачи)

# Начать разработку задачи
/pm-issue-start 1235
# Агент начинает работу, сохраняет локальный прогресс

# Синхронизировать прогресс с Gitlab
/pm-issue-sync 1235
# Обновления публикуются как комментарии к задаче

# Проверить общий статус
/pm-epic-show memory-system

Начало работы

Быстрая настройка (2 минуты)

  1. Установите этот репозиторий в ваш проект:

    Unix/Linux/macOS

    cd path/to/your/project/
    curl -sSL https://gitlabci.my-org.ru/factoring/sandboxes/opencode-pm/-/raw/main/install/ccpm.sh?ref_type=heads | bash
    # или: wget -qO- https://gitlabci.my-org.ru/factoring/sandboxes/opencode-pm/-/raw/main/install/ccpm.sh?ref_type=heads | bash

    Windows (PowerShell)

    cd path/to/your/project/
    iwr -useb https://gitlabci.my-org.ru/factoring/sandboxes/opencode-pm/-/raw/main/install/ccpm.bat?ref_type=heads | iex

    ⚠️ ВАЖНО: Если у вас уже есть директория .opencode, клонируйте этот репозиторий в другую директорию и скопируйте содержимое клонированной директории .opencode в директорию .opencode вашего проекта.

    Смотрите полные/другие варианты установки в руководстве по установке ›

  2. Инициализируйте систему PM:

    /pm-init

    Эта команда выполнит:

    • Установит Gitlab CLI (если необходимо)
    • Аутентифицирует с Gitlab
    • Создаст необходимые директории
    • Обновит .gitignore
  3. Создайте AGENTS.md с информацией о вашем репозитории

    /init include rules from .opencode/AGENTS.md

    Если у вас уже есть файл AGENTS.md, выполните: /re-init чтобы обновить его с важными правилами из .opencode/AGENTS.md.

  4. Подготовьте систему:

    /context-create

Начните свою первую функцию

/pm-prd-new your-feature-name

Наблюдайте, как структурированное планирование превращается в рабочий код.

Локально vs Удаленно

Операция Локально Gitlab
Создание PRD
Планирование реализации
Разбиение задач ✅ (синхронизация)
Выполнение
Обновления статуса ✅ (синхронизация)
Финальные результаты

Технические заметки

Интеграция с Gitlab

  • Возвращается к спискам задач, если расширение не установлено
  • Задачи-эпики автоматически отслеживают завершение подзадач
  • Метки обеспечивают дополнительную организацию (epic:feature, task:feature)

Соглашение об именовании файлов

  • Задачи начинаются как 001.md, 002.md во время декомпозиции
  • После синхронизации с Gitlab переименовываются в {issue-id}.md (например, 1234.md)
  • Упрощает навигацию: задача #1234 = файл 1234.md

Дизайн-решения

  • Намеренно избегает сложности Gitlab Projects API
  • Все команды сначала работают с локальными файлами для скорости
  • Синхронизация с Gitlab явная и контролируемая
  • Worktrees обеспечивают чистую git-изоляцию для параллельной работы
  • Gitlab Projects могут быть добавлены отдельно для визуализации

Поддержите этот проект

Opencode PM был разработан на основе automazeio ccpm для разработчиков, которые поставляют, от разработчиков, которые поставляют.

Если Opencode PM помогает вашей команде поставлять лучшее программное обеспечение:

About

Project management system for Claude Code using GitHub Issues and Git worktrees for parallel agent execution.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 98.7%
  • Batchfile 1.3%