> ## 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.

# Source Project Guidelines

<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">Need help?</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>Ask in 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>Open a 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/SUPPORT.md" target="_blank" rel="noreferrer">
      <Icon icon="life-ring" size={14} />

      <span>Support guide</span>
    </a>
  </div>
</div>

Source projects are repo-owned examples, starters, or case-study projects that
let readers practice a handbook idea with concrete structure. They are not code
dumps. A good source project shows how an agent-system concept can become a
small, inspectable implementation surface.

Use this contribution type when the work needs files, folders, runnable snippets,
configuration, or a project walkthrough rather than only prose.

## Where source projects belong

Source projects live only in lane-local example folders using
`<lane>/examples/`.

| Lane           | What it covers                                                          | Example projects                                                  |
| -------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------- |
| `patterns`     | Small implementations of reusable agent-system patterns.                | memory retrieval starter, planning loop starter                   |
| `systems`      | Infrastructure, protocol, evaluation, or runtime examples.              | weather MCP server starter, observability trace starter           |
| `ecosystem`    | Examples tied to frameworks, platforms, tools, or integration surfaces. | LangGraph starter, messaging assistant starter                    |
| `case-studies` | Applied projects that support a concrete case-study page.               | deep research agent starter, customer support email agent starter |

Do not create `examples/` under `foundations/` in v1.

## Issue and review flow

Create a GitHub issue before building the project. Use the `Source Project
Proposal` form so the lane, folder name, scope, source lineage, and review
criteria are visible before work begins.

The core team reviews the issue first. They may approve the scope, ask for
changes, or decline the proposal. After the issue is approved or acknowledged,
the contributor can fork the repository and make the change.

The core team then reviews the pull request separately. They may approve it,
request revisions, or decline the PR. If the issue or PR is declined, the
contributor can still keep their fork and reuse the work outside this repository.

## Project naming

* Use lowercase kebab-case for the project slug.
* Name by topic and behavior, not by contributor name.

Examples:

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

## Required folder shape

Start from [Source Project Template](/contributor-kit/templates/source-project-template).

Every project must include:

* `index.mdx`

Optional additions when relevant:

* `src/`
* `assets/`
* dependency manifests
* notebooks or config files

## Required project status

Each project README must declare one status:

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

Use `starter` unless the project is meaningfully complete and documented.

## Working rules

* Keep the project linked to the lab. Every starter should point back to a
  related page or lane README.
* Do not copy upstream README text or large code blocks.
* Only add runtime files that are directly relevant to the example.
* If the project is not runnable yet, say so clearly.
* If a project has executable starter code, add or update coverage in
  `scripts/verify_example_projects.py`.

## Completion standard

A source project is ready for review when it:

* sits in the correct lane-local folder
* uses the required files
* declares status clearly
* explains what it demonstrates
* describes its repo-native scope and intended extension points
