diff --git a/AGENTS.md b/AGENTS.md index 8c43dba..58ef04e 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -9,6 +9,8 @@ 3. 同步更新 `CHANGELOG.md` 的 `Unreleased` 段(按 新增 / 修复 / 变更 分类) 4. 推送分支 → 开 PR → 等 `ci.yml` 绿 → rebase 合并并删除分支;**不直接推 main** +> main 已启用分支保护(GitHub 设置):必须走 PR、`build-test` 必须通过且分支最新、禁 force push/删除、强制线性历史——直推 main 会被 GitHub 拒绝,规则在 Settings → Branches 可调。 + ## 提交前必须通过 ```bash diff --git a/CHANGELOG.md b/CHANGELOG.md index 97968ca..b898ceb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,9 @@ ### 新增 - 帧定界基准测试 `bench/StreamFrame.Benchmarks`(BenchmarkDotNet):LengthPrefix/StxEtx 的流式 vs 纯函数编码对比与切帧吞吐,为"流式零拷贝"说法提供可复现数据。 +- 项目 LOGO(`docs/logo/`,SVG 母版 + PNG),README 双语版接入展示、两个 NuGet 包启用包图标(随下个版本发布生效)。 +- README 新增 CI 构建状态徽章;main 分支保护(必须走 PR 且 CI 通过、禁 force push/删除、强制线性历史)。 +- 英文版 README(`README.en.md`,与中文版互链),便于国际用户检索与阅读。 ### 修复 - 暂无 diff --git a/README.en.md b/README.en.md index 67c8a95..542a9e8 100644 --- a/README.en.md +++ b/README.en.md @@ -1,5 +1,10 @@ +

+ StreamFrame logo +

+ # StreamFrame +[![CI](https://github.com/CSJ608/StreamFrame/actions/workflows/ci.yml/badge.svg)](https://github.com/CSJ608/StreamFrame/actions/workflows/ci.yml) [![NuGet](https://img.shields.io/nuget/v/StreamFrame.svg)](https://www.nuget.org/packages/StreamFrame) [![NuGet Downloads](https://img.shields.io/nuget/dt/StreamFrame)](https://www.nuget.org/stats/packages/StreamFrame?groupby=Version) diff --git a/README.md b/README.md index 63d29fa..7926a94 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,10 @@ +

+ StreamFrame logo +

+ # StreamFrame +[![CI](https://github.com/CSJ608/StreamFrame/actions/workflows/ci.yml/badge.svg)](https://github.com/CSJ608/StreamFrame/actions/workflows/ci.yml) [![NuGet](https://img.shields.io/nuget/v/StreamFrame.svg)](https://www.nuget.org/packages/StreamFrame) [![NuGet Downloads](https://img.shields.io/nuget/dt/StreamFrame)](https://www.nuget.org/stats/packages/StreamFrame?groupby=Version) diff --git a/docs/logo/icon-512.png b/docs/logo/icon-512.png new file mode 100644 index 0000000..21eb90d Binary files /dev/null and b/docs/logo/icon-512.png differ diff --git a/docs/logo/icon.png b/docs/logo/icon.png new file mode 100644 index 0000000..b9f07ad Binary files /dev/null and b/docs/logo/icon.png differ diff --git a/docs/logo/streamframe.svg b/docs/logo/streamframe.svg new file mode 100644 index 0000000..0b67040 --- /dev/null +++ b/docs/logo/streamframe.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + diff --git a/src/StreamFrame.Protocols.Xml/StreamFrame.Protocols.Xml.csproj b/src/StreamFrame.Protocols.Xml/StreamFrame.Protocols.Xml.csproj index ae32c56..b10b3c2 100644 --- a/src/StreamFrame.Protocols.Xml/StreamFrame.Protocols.Xml.csproj +++ b/src/StreamFrame.Protocols.Xml/StreamFrame.Protocols.Xml.csproj @@ -6,6 +6,7 @@ + @@ -28,6 +29,7 @@ StreamFrame 的 XML 报文示例驱动:XmlDocumentCodec(XmlSerializer / XmlWriter 编解码)。 Marci MIT + icon.png README.md git https://github.com/CSJ608/StreamFrame diff --git a/src/StreamFrame/StreamFrame.csproj b/src/StreamFrame/StreamFrame.csproj index 6834855..6129063 100644 --- a/src/StreamFrame/StreamFrame.csproj +++ b/src/StreamFrame/StreamFrame.csproj @@ -1,4 +1,4 @@ - + net8.0 @@ -13,6 +13,7 @@ 通用 socket 通讯框架:帧定界(IFramer)与帧内编解码(ICodec<TMessage>)插件化,支持长度前缀 / STX-ETX 定界与 IPv4/IPv6 双栈,可选流式零拷贝发送。 Marci MIT + icon.png README.md git https://github.com/CSJ608/StreamFrame @@ -35,6 +36,7 @@ +