Gastown (Gas Town / gt)
Overview
Системно решать задачи по Gas Town: от установки и ежедневной работы в Town/Rig до внесения изменений в исходники CLI.
Быстрый выбор сценария
- •Использование
gt(операции): пользователь настраивает/использует Gas Town как инструмент (workspace~/gt, роли, convoys, sling, mail, prime). - •Разработка
gastown(код): пользователь меняет репозиторийgithub.com/steveyegge/gastown(команды CLI, шаблоны, тесты, релизные штуки).
Операции: установка и ежедневная работа (gt)
- •
Проверить окружение
- •Нужны: Go (смотри
go.modв репо), Git,bd(beads). - •Опционально: tmux, Claude Code, Codex CLI, OpenCode CLI.
- •Нужны: Go (смотри
- •
Поставить
gtиbd- •
brew install gastownилиgo install github.com/steveyegge/gastown/cmd/gt@latest - •
go install github.com/steveyegge/beads/cmd/bd@latest
- •
- •
Создать Town и первый Rig
- •
gt install ~/gt --git(или без--git, если git-инициализация не нужна) - •
cd ~/gt - •
gt rig add <rig-name> <git-url> - •
gt crew add <you> --rig <rig-name>и перейти в~/gt/<rig>/crew/<you>/rig/
- •
- •
Запустить координацию и работу
- •Mayor:
gt mayor attach - •Трекинг:
gt convoy create ...,gt convoy list,gt convoy show - •Раздача задач:
gt sling <bead-id> <rig-name>
- •Mayor:
- •
Восстановление/инъекция контекста
- •Основная команда:
gt prime(особенно после “новой сессии”, очистки контекста и т.п.). - •Если роль автономная и нужна почта:
gt mail check --inject(когда это уместно для конкретного рантайма/роли).
- •Основная команда:
Codex CLI: как не потерять контекст
- •Предпочитать
gt-codexвместоcodex, чтобы перед стартом автоматически выполнялсяgt prime.- •Установить врапперы:
gt install --wrappers(или совместить сgt install ... --wrappers).
- •Установить врапперы:
- •Если врапперов нет: запускать
gt primeвручную после старта сессии Codex. - •Если Codex не подхватывает роль-инструкции по файлам проекта: настроить
project_doc_fallback_filenames = ["CLAUDE.md"]в~/.codex/config.toml(как рекомендует README проекта).
Диагностика и типовые поломки
- •Запускать
gt doctor(иgt doctor --fix, если это безопасно и ожидаемо). - •При проблемах с маршрутизацией beads: включать
BD_DEBUG_ROUTING=1для командыbd .... - •При “странном” контексте/инструкциях: проверять, что работа идёт внутри Town/Rig-дерева и что применён
gt prime. - •При проблемах со sparse-checkout/изоляцией репо:
gt doctor --fix.
Разработка: вклад в репозиторий gastown
- •
Сборка и тесты
- •
make build(включаетgo generate ./...) - •
make testилиgo test ./...
- •
- •
Карта кода (с чего начинать)
- •Точка входа CLI:
cmd/gt/main.go - •Cobra-команды:
internal/cmd/*.go(обычно “файл = команда/подкоманда”) - •Prime/инъекция контекста:
internal/cmd/prime*.go - •Врапперы для рантаймов:
internal/wrappers/(например,gt-codex) - •Шаблоны контекста/агентов:
templates/ - •Документация:
README.md,docs/overview.md,docs/reference.md,docs/INSTALLING.md
- •Точка входа CLI:
- •
Изменение/добавление CLI-команд
- •Держать UX стабильным: не ломать флаги/форматы вывода без миграции.
- •Добавлять/править тесты рядом в
internal/cmd/*_test.go(по аналогии с существующими). - •Обновлять docs/README, если команда пользовательская.
References (load as needed)
- •Reading map + grep-подсказки:
references/reading-map.md