- CLAUDE.md project passport - Agent system prompts (architect, developer, reviewer, tester, deployer) - Gitea Actions CI pipeline (lint, test, build) - Docker configuration (Dockerfile, docker-compose.yml) - Canonical directory structure per BRD - Makefile with dev/test/lint/build/deploy targets - Architecture docs skeleton Refs: multi-agent F0-3, F0-5, F0-6, F0-8
2.7 KiB
2.7 KiB
CLAUDE.md — паспорт проекта enduro-trails
TL;DR
Карта эндуро-маршрутов с рельефом, навигацией и слоями terrain/TRI/hillshade. Веб-приложение для планирования офф-роуд маршрутов с учётом сложности рельефа.
Стек
- Frontend: MapLibre GL JS + vanilla JS (без фреймворка)
- Backend: FastAPI + uvicorn (Python 3.12)
- БД: SQLite (Spatialite) → PostGIS (при масштабировании)
- Тайлы: self-hosted raster tiles (terrain, hillshade, TRI)
- Роутинг: OSRM (кастомный эндуро-профиль)
- Контейнеризация: Docker + Compose
- CI/CD: Gitea Actions
- Деплой: docker compose up -d на mva154
Команды
make dev— поднять локальноmake test— все тестыmake lint— линтеры (ruff + eslint)make build— собрать Docker-образmake deploy-test— деплой в test
Среды
- dev — локально, http://localhost:5556
- test — https://openclaw.mva154.duckdns.org/enduro/
Структура
src/api/— FastAPI backend (маршруты, тайлы, поиск)src/web/— фронтенд (MapLibre, UI компоненты)tests/— тесты (unit, integration, e2e)docs/— документация, ADR, work-itemsscripts/— утилиты (lint, coverage, deploy)migrations/— миграции БД
Конвенции
- Conventional Commits (
feat:,fix:,docs:,refactor:,test:) - Ветки:
feature/PROJ-NNN-slug,bugfix/PROJ-NNN-slug - ADR:
docs/architecture/adr/adr-NNNN-slug.md - Work items:
docs/work-items/<plane-id>/
Правила для агентов
- Перед любым действием прочесть этот файл и
docs/architecture/README.md. - Никогда не править артефакты других этапов.
- Никогда не комментировать ТЗ задним числом — если ТЗ не годится, возвращай в Анализ.
- Никогда не закрывать задачу самостоятельно — это делает CI.
- Бюджет токенов на задачу — в
.openclaw/budget.yaml. - Коммиты от имени claude-bot (git config user.name/email уже настроен).
- Не использовать
--no-verifyбез явного одобрения Owner.
Данные
- Terrain tiles: /home/slin/enduro-trails/data/terrain/ (hillshade, TRI, hypso)
- OSM данные: /home/slin/enduro-trails/data/osm/
- OSRM графы: /home/slin/enduro-trails/data/osrm/