- Add frontend/ at root (customer's own React app, all pages) - Add customers/tianpu/devices.json (17 devices, 375kW PV) - Add customers/tianpu/pricing.json (Beijing TOU 4-tier) - Add customers/tianpu/hooks/__init__.py - Add .githooks/pre-commit to block core/ modifications - Add CLAUDE.md, .gitignore - Update docker-compose.override.yml frontend -> ./frontend - Pin bcrypt==4.0.1 in requirements.txt Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1.1 KiB
1.1 KiB
TP-EMS (天普大兴园区) Development Guidelines
Overview
Customer project for Tianpu Daxing Zero-Carbon Park. Uses ems-core via git subtree in core/.
CRITICAL: Do NOT modify core/ directly
The core/ directory is a git subtree from ems-core. All core changes must be made in the ems-core repository first, then pulled via:
git subtree pull --prefix=core ems-core main --squash
Project Structure
core/— git subtree from ems-core (READ-ONLY in this repo)customers/tianpu/— Customer configuration (config.yaml, devices.json, pricing.json, hooks/)scripts/— Seeding and admin toolsdocker-compose.override.yml— Customer-specific Docker overrides
Commit Conventions
- Follow Conventional Commits:
<type>(<scope>): <description> - Scopes: config, docker, dashboard, monitoring, alarm, hooks
Deployment
cp .env.example .env # Edit settings
docker compose -f core/docker-compose.yml -f docker-compose.override.yml up -d
docker compose -f core/docker-compose.yml -f docker-compose.override.yml exec backend python scripts/seed_data.py
Default Login
- admin / admin123