# automotive-code-snapshot **Repository Path**: Beautiful_Man/automotive-code-snapshot ## Basic Information - **Project Name**: automotive-code-snapshot - **Description**: 面向汽车电子嵌入式软件的修改前代码快照 Codex Skill,生成可校验基线并隔离可重复构建输出。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-25 - **Last Updated**: 2026-08-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Automotive Code Snapshot [English](README_EN.md) | 简体中文 一个面向汽车电子嵌入式软件的 Codex Skill:在 AI 或工程人员修改代码之前,生成可独立校验、内容寻址的仓库基线,并将可重复生成的临时构建输出排除在代码完整性证据之外。 > 本项目保存的是“修改前事实”,不负责判断修改是否正确,也不替代编译、测试、静态分析、功能安全流程或人工评审。 ## 为什么需要它 汽车电子仓库常同时包含手写代码、驱动、MCAL/HAL、BSP、供应商代码、生成代码、链接脚本和构建产物。仅依赖 Git 提交无法完整表示脏工作区,直接复制目录又容易混入大量可重建文件。本工具在不改变工作区的前提下记录: - 文件清单、SHA-256 哈希和内容寻址数据块; - Git 分支、HEAD、工作区状态和子模块上下文; - 驱动、启动、链接、Bootloader、安全、AUTOSAR、接口、标定等受保护资产标签; - 计划修改范围、需求编号和变更单编号; - 清单与文件清单的完整性校验值; - 被排除的临时构建输出数量和基线告警。 ## 环境要求 - Python 3.9 或更高版本; - Git(用于记录完整 Git 上下文,推荐安装); - 运行时仅使用 Python 标准库。 ## 安装 作为个人 Codex Skill 安装: ```powershell git clone https://gitee.com/Beautiful_Man/automotive-code-snapshot.git "$env:USERPROFILE\.codex\skills\automotive-code-snapshot" ``` 也可以克隆到任意目录,直接运行 `scripts/create_snapshot.py`,无需 Codex。 ## 快速开始 在 Codex 中,在任何编辑、格式化、代码生成或可能写入源码树的构建之前调用: ```text 使用 $automotive-code-snapshot,为当前仓库创建修改前基线。计划修改 src/diagnostics/**,需求编号 SWE-1234,变更单 CR-0088。 ``` 直接使用命令行: ```bash python scripts/create_snapshot.py \ --repo /path/to/repository \ --intent "修复诊断状态机超时处理" \ --scope "src/diagnostics/**" \ --requirement "SWE-1234" \ --change-ref "CR-0088" ``` 成功后请保存脚本输出的 `SNAPSHOT_ID`、`MANIFEST`、`MANIFEST_SHA256` 和 `INVENTORY_SHA256`。默认输出目录为: ```text <仓库>/.automotive-snapshots/<快照编号>/ ``` 随后把原始 `manifest.json` 交给配套的 [automotive-code-compare](https://gitee.com/Beautiful_Man/automotive-code-compare) 完成修改后比较。 ## 配置 仓库级策略文件默认为 `<仓库>/.automotive-code-snapshot.json`,也可通过 `--config` 指定。配置可增加仓库专属的受保护路径、构建输出模式、内容捕获规则和阈值。完整字段与约束见 [references/configuration.md](references/configuration.md)。 如果真实源码位于 `Debug`、`Release`、`.build` 等默认构建目录中,必须通过 `additional_protected_patterns` 显式保护,避免其被当作临时输出排除。 ## 安全与边界 - 工具不会执行 `clean`、`reset`、`checkout`、`stash`、`stage` 或 `commit`。 - 脏工作区可以成为有效基线,已有未提交内容不会被清理。 - 疑似密钥文件默认只记录哈希,不捕获内容;快照仍可能包含专有源代码,应作为敏感工程证据保存。 - 快照不是自动恢复源,也不表示项目通过构建或测试。 - 本工具不宣称符合或通过 ISO 26262、Automotive SPICE、ISO/SAE 21434、MISRA、AUTOSAR 或任何工具资格认证。 ## 项目结构 ```text agents/openai.yaml Codex 展示信息与默认提示词 references/ 格式、配置和工程流程说明 scripts/create_snapshot.py 快照创建与自校验脚本 scripts/test_create_snapshot.py 单元测试 SKILL.md Skill 工作流与强制约束 ``` ## 测试 ```bash python -m unittest discover -s scripts -p "test_*.py" -v ``` ## 许可证 本项目采用 [Apache License 2.0](LICENSE) 开源。