> ## Documentation Index
> Fetch the complete documentation index at: https://labs.prompthon.io/llms.txt
> Use this file to discover all available pages before exploring further.

# 来源项目指南

<div className="not-prose my-4 rounded-md border border-gray-200 bg-gray-50 p-2 text-sm dark:border-gray-800 dark:bg-gray-900/40">
  <div className="mb-2 px-1 text-xs font-semibold uppercase tracking-wide text-gray-500 dark:text-gray-400">需要帮助？</div>

  <div className="flex flex-wrap gap-2">
    <a className="inline-flex items-center gap-2 rounded-md border border-gray-200 bg-white px-3 py-1.5 font-medium text-gray-700 no-underline shadow-sm hover:border-gray-300 hover:bg-gray-50 dark:border-gray-800 dark:bg-gray-950/60 dark:text-gray-200 dark:hover:bg-gray-900" href="https://discord.gg/sDE2HhGTg4" target="_blank" rel="noreferrer">
      <Icon icon="discord" iconType="brands" size={14} />

      <span>在 Discord 提问</span>
    </a>

    <a className="inline-flex items-center gap-2 rounded-md border border-gray-200 bg-white px-3 py-1.5 font-medium text-gray-700 no-underline shadow-sm hover:border-gray-300 hover:bg-gray-50 dark:border-gray-800 dark:bg-gray-950/60 dark:text-gray-200 dark:hover:bg-gray-900" href="https://github.com/Prompthon-IO/agent-systems-handbook/issues/new/choose" target="_blank" rel="noreferrer">
      <Icon icon="github" iconType="brands" size={14} />

      <span>提交 GitHub Issue</span>
    </a>

    <a className="inline-flex items-center gap-2 rounded-md border border-gray-200 bg-white px-3 py-1.5 font-medium text-gray-700 no-underline shadow-sm hover:border-gray-300 hover:bg-gray-50 dark:border-gray-800 dark:bg-gray-950/60 dark:text-gray-200 dark:hover:bg-gray-900" href="https://github.com/Prompthon-IO/agent-systems-handbook/blob/main/zh-Hans/SUPPORT.md" target="_blank" rel="noreferrer">
      <Icon icon="life-ring" size={14} />

      <span>支持指南</span>
    </a>
  </div>
</div>

Source project 是仓库自有的 example、starter 或 case-study project，用来帮助读者通过具体结构练习一个手册概念。它不是代码堆放区。好的 source project 会展示一个 agent-system 概念如何变成小而可检查的实现表面。

当贡献需要文件、文件夹、可运行片段、配置或项目 walkthrough，而不只是文字说明时，使用这个贡献类型。

## 来源项目应放在哪里

来源项目仅放在 lane 本地的示例文件夹中，路径格式为 `<lane>/examples/`。

| Lane           | 内容范围                             | 示例项目                                                             |
| -------------- | -------------------------------- | ---------------------------------------------------------------- |
| `patterns`     | 可复用 agent-system patterns 的小型实现。 | memory retrieval starter、planning loop starter                   |
| `systems`      | 基础设施、协议、evaluation 或 runtime 示例。 | weather MCP server starter、observability trace starter           |
| `ecosystem`    | 与框架、平台、工具或集成表面相关的示例。             | LangGraph starter、messaging assistant starter                    |
| `case-studies` | 支撑具体 case-study 页面的一组应用项目。       | deep research agent starter、customer support email agent starter |

在 v1 中，不要在 `foundations/` 下创建 `examples/`。

## Issue 和 review 流程

在构建项目之前，先创建 GitHub issue。使用 `Source Project Proposal` 表单，让 lane、folder name、scope、source lineage 和 review criteria 在开工前可见。

核心团队会先 review issue。他们可能批准 scope、请求修改，或拒绝 proposal。issue 被批准或确认之后，贡献者可以 fork 仓库并开始修改。

核心团队会再单独 review pull request。他们可能批准、请求修改，或拒绝 PR。如果 issue 或 PR 被拒绝，贡献者仍然可以保留自己的 fork，并在仓库外继续使用这些改动。

## 项目命名

* 项目 slug 使用全小写的 kebab-case。
* 按主题和行为命名，而不是按贡献者姓名命名。

示例：

* `agent-memory-retrieval-starter`
* `weather-mcp-server-starter`
* `langgraph-starter`
* `deep-research-agent-starter`

## 必需的文件夹结构

从 [Source Project Template](/zh-Hans/contributor-kit/templates/source-project-template) 开始。

每个项目都必须包含：

* `index.mdx`

在相关时可选添加：

* `src/`
* `assets/`
* 依赖清单
* notebooks 或配置文件

## 必需的项目状态

每个项目 README 都必须声明一种状态：

* `starter`
* `partial`
* `runnable`

除非项目已经实质完成并有文档说明，否则使用 `starter`。

## 工作规则

* 将项目与 lab 保持关联。每个 starter 都应指向一个相关页面或 lane README。
* 不要复制上游 README 文本或大段代码块。
* 只添加与该示例直接相关的运行时文件。
* 如果项目尚不可运行，请明确说明。
* 如果项目包含可执行的 starter 代码，请在 `scripts/verify_example_projects.py` 中添加或更新覆盖。

## 完成标准

当一个来源项目满足以下条件时，即可进入评审：

* 位于正确的 lane 本地文件夹中
* 使用了必需文件
* 清晰声明了状态
* 说明了它演示什么
* 说明了仓库原生范围和后续扩展点
