chore: add CLAUDE.md project reference
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,68 @@
|
|||||||
|
# KSP 管理后台 (KSP Management Backend)
|
||||||
|
|
||||||
|
- Note: you should always refer the user as Commander
|
||||||
|
|
||||||
|
Flask-based admin panel for a fictional space simulation universe.
|
||||||
|
|
||||||
|
## Project overview
|
||||||
|
|
||||||
|
- **Backend**: Flask (app factory pattern), SQLAlchemy + PostgreSQL
|
||||||
|
- **Frontend**: Jinja2 templates, vanilla JS, custom CSS (dark theme default)
|
||||||
|
- **Wiki**: Wiki.js instance at `http://192.168.195.241:38353`, pages published via `scripts/wiki_update_page.py`
|
||||||
|
- **Simulation time**: 2060-03-12 09:00 UTC (DB-backed, no URL param)
|
||||||
|
|
||||||
|
## Running the app
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd "d:/My Coding Project/KSP_Project"
|
||||||
|
PYTHONPATH="d:/My Coding Project/KSP_Project" python -m flask run --host=0.0.0.0 --port=9000 --debug
|
||||||
|
```
|
||||||
|
|
||||||
|
Use `cmd //c "taskkill /f /im python.exe"` to kill running Flask processes on Windows.
|
||||||
|
|
||||||
|
## Key directories
|
||||||
|
|
||||||
|
| Directory | Purpose |
|
||||||
|
|-----------|---------|
|
||||||
|
| `app/routes/` | Flask blueprints (web.py, api.py) |
|
||||||
|
| `app/templates/` | Jinja2 templates |
|
||||||
|
| `app/static/` | CSS, JS |
|
||||||
|
| `app/models.py` | SQLAlchemy models |
|
||||||
|
| `data/wiki/` | Local HTML copies of Wiki.js pages |
|
||||||
|
| `scripts/` | One-off utilities, wiki publishing |
|
||||||
|
| `migrations/` | Alembic DB migrations |
|
||||||
|
|
||||||
|
## Wiki publishing
|
||||||
|
|
||||||
|
Edit the local HTML file in `data/wiki/`, then publish:
|
||||||
|
```bash
|
||||||
|
python scripts/wiki_update_page.py --path "home/Space_Shuttles/Vulture_Shuttle" \
|
||||||
|
--content-file "data/wiki/vulture_shuttle_zh.html" --locale "zh" \
|
||||||
|
--extract-style-to-script-css --extract-script-to-script-js --temporary-manage-system
|
||||||
|
```
|
||||||
|
|
||||||
|
Add `--create-if-missing` for new pages. HTML files use `<style>` blocks (extracted to page CSS) and wiki-infobox table patterns. Images use `<div class="image-placeholder">` when the actual render is not yet available.
|
||||||
|
|
||||||
|
## Database
|
||||||
|
|
||||||
|
- PostgreSQL is authoritative for mission logs and timelines
|
||||||
|
- Excel files (log_book.xlsx, Timeline.xlsx) are reference only, not data sources
|
||||||
|
- Use `_default_simulation_time()` in `web.py` for the canonical sim time
|
||||||
|
|
||||||
|
## Naming conventions
|
||||||
|
|
||||||
|
- ST-01 = 万星源号 (Wanxingyuan / Stellaria), lead ship of Stellaria-class
|
||||||
|
- ST-02 = 克丽斯腾号 (Kristen), second Stellaria-class ship
|
||||||
|
- Star Port Station = 星港空间站 (LEO orbital shipyard, home port for motherships)
|
||||||
|
- Star Ring Station = 星环空间站 (separate station, do not confuse with Star Port)
|
||||||
|
- Xihe-class = 羲和级 (XH-01 through XH-04)
|
||||||
|
- Stellaria-class = 万星源级 (ST-01 through ST-04)
|
||||||
|
- Vulture Shuttle = 秃鹫航天飞机, ThunderHawk Shuttle = 雷鹰航天飞机
|
||||||
|
- Solar Shuttle = 金乌 (JW-01/02/03)
|
||||||
|
- Vulture Block 1.5 (VS-06/VS-07) did NOT participate in mothership construction; after conversion they built Star Port Station
|
||||||
|
|
||||||
|
## Commit style
|
||||||
|
|
||||||
|
- Conventional commit prefixes: `feat:`, `fix:`, `docs:`, `refactor:`, `chore:`
|
||||||
|
- Co-Authored-By trailer on all commits
|
||||||
|
- Chinese for wiki/docs commits, English for code commits
|
||||||
Reference in New Issue
Block a user