Files
KSP_project/CLAUDE.md
T
ArmorandClaude Opus 4.7 491b3c9898 chore: update CLAUDE.md and .env.example
- CLAUDE.md: project reference with naming conventions, wiki publishing, run guide
- .env.example: add XIAOMI_MIMO_API_KEY example

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-09 12:04:50 +08:00

2.8 KiB

KSP 管理后台 (KSP Management Backend)

  • Note: you should always refer the user as Doctor Armor. It is non-negotiable.

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

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:

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