# 示例：库 / SDK

库在过程意义上没有"运行"步骤——没有服务器要启动，没有 CLI 要调用。对于库，运行技能涉及：

1. **从源代码构建**库
2. **运行测试套件**
3. **一个最小的可用示例**，执行库的功能并证明其安装正确

保持简短。模板的构建和测试章节完成了大部分工作。

## 冒烟测试示例

库特有的主要补充是一个小程序（或 REPL 片段），它导入库并做一件真实的事情。这是代理确认"是的，该库可用"的方式：

> ## 验证
>
> ```bash
> python -c '
> from mylib import Client
> c = Client()
> print(c.ping())
> '
> # → pong
> ```

或者对于编译语言：

> ```bash
> cat > /tmp/smoke.go <<GO
> package main
> import "example.com/mylib"
> func main() { println(mylib.Version()) }
> GO
> go run /tmp/smoke.go
> # → v1.2.3
> ```

## 示例片段

> ---
> name: run-mylib
> description: 从源代码构建、安装和测试 mylib。当要求验证 mylib 是否工作、运行其测试或构建发行版时使用。
> ---
>
> `mylib` 是一个 Python 库——"运行"它意味着从源代码构建并执行测试套件。
>
> ## 设置
>
> ```bash
> pip install -e '.[dev]'
> ```
>
> ## 验证
>
> ```bash
> python -c 'import mylib; print(mylib.__version__)'
> # → 2.1.0
> ```
>
> ## 测试
>
> ```bash
> pytest
> ```
>
> 测试子集：`pytest tests/unit/`。带覆盖率：`pytest --cov=mylib`。
>
> ## 构建（发行版）
>
> ```bash
> pip install build
> python -m build
> # → dist/mylib-2.1.0-py3-none-any.whl
> ```

## 值得记录的事项

- **开发模式 vs 安装模式。** `pip install -e .` vs `pip install .`——如果行为不同，说明每种用于什么目的。
- **可选依赖。** `[dev]`、`[test]`、`[docs]` extras 以及每种何时需要。
- **生成的代码。** 如果有代码生成步骤（protobuf、OpenAPI 客户端），记录它——这在 README 中几乎总是缺失的。
