39fe248f9f
- 新增 .claude/skills/new-project/SKILL.md(标准 skill 格式) - install-skill.sh 安装时组装 SKILL.md + verify.sh,单一源无重复 - verify.sh 改用索引数组替代 declare -A,兼容 macOS bash 3.2 - log_pass/log_skip 显式 return 0,避免 set -e 下非 verbose 误退出 - README 改为 skill 优先;补全 copier.yml/scripts/template 入库
1.5 KiB
1.5 KiB
配置管理
.env 规约 + 命名映射坑 + API 文档开关。每个服务用
.env注入配置,不硬编码、不提交密钥。
{服务}/.env.example提交 git(模板);{服务}/.envgitignore(含密钥)- backend/agent:
pydantic-settings读.env,启动即校验类型,fail-fast - frontend:Vite 读
.env,仅VITE_前缀变量注入浏览器 - 优先级:环境变量 >
.env文件 > 代码默认值
命名映射(关键坑 —— 无需自定义 alias_generator)
.env 用 SCREAMING_SNAKE_CASE(AGENT_WS_URL);Settings 字段用 snake_case(agent_ws_url)。字段已是 snake_case,agent_ws_url ↔ AGENT_WS_URL 正是 pydantic-settings 默认映射。不要引入任何自定义 alias_generator —— 旧版 to_screaming_snake 桥接函数已删除。
class Settings(BaseSettings):
agent_ws_url: str = "ws://localhost:8001"
enable_api_docs: bool = True # dev 默认开,prod 关
model_config = SettingsConfigDict(env_file=".env", env_file_encoding="utf-8")
# 无 alias_generator:AGENT_WS_URL → agent_ws_url 为默认行为
API 文档(Swagger / OpenAPI)
- FastAPI 由
.env的ENABLE_API_DOCS控制/docs/redoc/openapi.json:dev true,prod false(关闭时三者设None) - 主要用于 backend;agent 内部 WS 服务可直接关
- 外部可替换依赖(LLM CLI 命令、skill 来源/路径)也经
.env注入,不硬编码(见architecture.md、agent.md)