description必须是单个纯字符串,用于packagist搜索与首屏展示,应以动词开头说明核心功能,长度控制在120字符内,不支持多语言、markdown或链接,且需手动同步更新。

description 字段必须是纯字符串,不能写成数组或对象
很多人在 composer.json 里误把 description 写成多语言数组(比如 {"en": "xxx", "zh": "yyy"}),这是无效的。Composer 官方只接受单个字符串值,其他格式会被忽略,且不会报错——你改了也白改。
- 正确写法:
"description": "A lightweight HTTP client for PHP with PSR-7 support" - 错误写法:
"description": {"en": "...", "zh": "..."}或"description": ["...", "..."] - 如果需要多语言展示,靠的是 Packagist 网站人工编辑或第三方扩展(非 Composer 原生能力)
description 会影响 Packagist 搜索结果和包页首屏可见性
Packagist 在搜索和包详情页顶部会优先展示 description 的前 120 字左右(含空格),截断后加省略号。它不解析 Markdown,不渲染链接,纯文本展示。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 开头就要说清核心用途,比如以动词开头:“Sends HTTP requests”、“Validates email addresses”、“Generates UUIDs”
- 避免堆砌关键词或写“PHP library for...”,Packagist 已知这是 PHP 包
- 不要写版本号、兼容性(如 “for PHP 8.1+”),这些应放在
require或readme.md中 - 示例差写法:
"description": "My awesome package. It does things. Works with Laravel." - 示例好写法:
"description": "PSR-18 compatible HTTP client with built-in retry, timeout, and JSON request/response handling"
description 和 README.md 不是互斥关系,但职责不同
description 是元数据,用于机器识别和快速扫描;README.md 是给人看的完整文档入口。两者内容可以相关,但绝不应该完全重复。
- 别在
description里写安装命令(composer require vendor/name)、用法示例或配置说明 - 别引用外部链接(如
"See https://example.com/docs"),Packagist 不渲染链接,用户也看不到跳转 - 如果你发现别人搜不到你的包,先检查
description是否包含真实用户会搜的动词+名词组合,比如 “csv parser”、“jwt decoder”、“redis lock”
提交后 description 不会实时更新,需触发 Packagist 同步
修改 composer.json 并 push 到 GitHub 后,Packagist 不会立刻刷新 description —— 它依赖 webhook 或手动 fetch。常见卡点是:你改了,但 Packagist 页面还是旧的。
- 确认 GitHub 仓库已正确绑定 Packagist(在 Packagist 包页点 “Edit” → “GitHub Hooks”)
- 若没启用 webhook,可手动点击 Packagist 包页右上角 “Update” 按钮(需登录并有权限)
- 同步成功后,页面 URL 末尾的 commit hash 会变,且 “Last updated” 时间更新
- 注意:只有 tag 推送或默认分支更新才会触发(取决于你的 Packagist 设置)
description 的处理极其朴素——它不校验长度、不检查语法、不索引标点,只做字符串截取和展示。最容易被忽略的,其实是把它当成 README 的精简版来写,而不是一个独立的、面向搜索与第一眼判断的广告语。










