# Repository Guidelines

> 原則：KISS、以 CLI 為先、文件與溝通請使用正體中文（專業術語用 English）。

## Project Structure & Module Organization
- 程式碼：`src/fwauto/`（核心模組、`cli.py`、`graph.py`、`nodes/`、`scripts/`）
- 測試：`tests/`（例如：`tests/test_story_001_*.py`）
- 文件與資產：`docs/` 與 `docs/assets/`
- 其他：`prompts/`（提示詞）、`logs/`（執行日誌，已在 `.gitignore`）

## Build, Test, and Development Commands
- 安裝依賴：`uv sync`
- 執行 CLI：
  - `uv run fwauto`
  - `uv run fwauto build 04`
  - `uv run fwauto deploy`
  - `uv run fwauto log "有任何 error 嗎?"`
- 品質檢查：
  - `uv run lint`（Ruff 自動修復）
  - `uv run format`（Ruff 格式化）
  - `uv run check`（Ruff lint + format check + Pyright）
- 測試：`uv run pytest -q`
- 視覺化流程：`uv run viz`（輸出至 `docs/assets/langgraph.png`）

## Coding Style & Naming Conventions
- Python 3.12、縮排 4 spaces、每行上限 120 chars、字串用 double quotes。
- 使用 Ruff（lint/format）與 Pyright（type checking: standard）。
- 命名：modules/functions/variables 使用 `lower_snake_case`；classes 使用 `PascalCase`；constants 使用 `UPPER_SNAKE_CASE`。
- 先選擇內建功能，避免過度設計；小步驟、易讀、可維護（KISS）。




