资讯详情

资讯详情

awesomo 贡献指南:如何为「按语言分类的开源项目精选列表」提交高质量条目

文档【免费下载链接】awesomoCool open source projects. Choose your project and get involved in Open Source development now.项目地址https://gitcode.com/gh_mirrors/aw/awesomo点击查看免费下载awesomo 是一个面向开源社区的项目精选仓库它按编程语言将「有趣、活跃、值得参与」的开源项目组织成多份独立列表帮助开发者找到合适的项目并投身开源开发。本文以仓库根目录的 CONTRIBUTING.md 为骨架完整讲解向 awesomo 提交新项目条目的链接格式规范、逐条提交流程细则、以及 mammoths shit 质量门槛的具体含义读完你将掌握一套可直接照做的贡献实操流程并能对照仓库内 languages 目录下的真实条目格式完成一次合规的 Pull Request。awesomo 是什么贡献指南的上下文在动手提交之前先理解这份贡献指南所服务的仓库形态。根据 README.md 的说明awesomo 的定位是 Cool open source projects. Choose your project and get involved in Open Source development now.——即一个按语言分类的开源项目精选清单服务于两类读者想参与开源贡献的开发者从清单中挑选项目与想推荐项目的贡献者向清单提交新条目。仓库的核心实体是 languages 目录下的多份语言列表文件每份文件对应一种编程语言如 languages/PYTHON.md、languages/GOLANG.md、languages/RUST.md、languages/JAVASCRIPT.md 等覆盖从 C、C、Clojure 到 Rust、Swift、TypeScript 的数十种语言。README 同时明确了两条维护红线其一we dont acceptmammoths shit. Only active and interesting projects with good documentation are added其二Dead and abandoned projects will be removed——即列表只收活跃且有良好文档的项目已死/废弃项目会被移除。CONTRIBUTING.md 正是把这两条红线落成可执行细则的官方贡献规范全文围绕一个链接怎么加、一个 PR 怎么提、什么样的项目不该加展开。完整贡献流程从 Fork 到合并根据 README.md 中 Want to add an interesting project? 一节贡献一个新项目条目的主流程为三步Fork 本仓库将仓库复制到自己的账号下获得可编辑的副本按既有格式添加项目在对应语言列表文件中参照其他项目的格式写入新条目发起 Pull Request提交一个包含新增链接的 PR等待维护者审阅合并。其中第 2 步的既有格式与第 3 步的 PR 规范正是 CONTRIBUTING.md 的 Guidelines 部分要解决的核心问题。需要说明的是contributing 规范要求每个 PR 只含一个提交、每个提交只加一个链接详见下文因此整个流程应保持小而精切忌在单个 PR 中批量塞入多个项目。条目链接格式规范唯一指定的模板CONTRIBUTING.md 对新增链接给出了唯一的格式模板- [**project-name**](http://example.com/) - The description ends with a period.逐段拆解该模板的含义-条目以 Markdown 无序列表项-开头[**project-name**]项目名用加粗包裹在链接文本位置即[**项目名**]这是 awesomo 列表中最醒目的视觉特征(http://example.com/)链接指向项目官方地址实际提交时替换为该项目真实的官网或代码仓库地址此处的http://example.com/仅为格式占位示例- The description ends with a period.紧随链接之后写一条项目描述描述必须以英文句号.结尾The description ends with a period 本身就是对规则的自述。注意模板中描述与链接之间还有一个连字符-作为分隔。对照仓库内真实条目可以验证该模板的实际应用。例如 languages/GOLANG.md 中的条目[**Apache DevLake**](https://github.com/apache/incubator-devlake) — is an open-source dev data platform to ingest, analyze, and visualize the fragmented data from DevOps toolswhich can distill insights to improve engineering productivity.又如 languages/PYTHON.md 中的条目[**Apache Airflow**](https://github.com/apache/airflow) is a platform to programmatically author, schedule, and monitor workflows可以看到项目名加粗 链接 描述是仓库实际采用的统一模式个别条目在链接与描述之间会使用—em dash或直接空格分隔但加粗项目名与描述性文字的核心结构保持一致。因此贡献者在新增条目时最稳妥的做法是复制相邻已有条目后修改项目名、链接与描述而非凭记忆重写格式。七条核心提交细则CONTRIBUTING.md 的 Guidelines 部分给出了七条提交细则它们是 PR 能否被接受的关键逐条展开如下。1. 每个提交只添加一个链接Add one link per commit一次 commit 内只应包含为某个项目新增一条链接这一件事。好处有二其一单个提交的 diff 极小便于维护者快速 review其二如果某条链接有问题可以精确定位到对应提交无需在多个提交中翻找。这与 Git 提交应保持原子性atomic commits的通用实践完全一致。2. 每个 Pull Request 只含一个提交Add one commit per Pull Request与上一条衔接一次 PR 的提交历史应只包含一个 commit即这个 PR 只为引入一个新项目条目而存在。这意味着不要在同一次 PR 里夹带其他修改如顺带调整既有条目的措辞、重排列表顺序、修改 README 等任何与新增链接无关的改动都应拆分为独立的 PR。3. 新增前先搜索避免重复条目Search previous suggestions first在提交一个新项目之前务必先在对应的语言列表文件中搜索该项目是否已被收录。由于 awesomo 的列表规模较大如 languages/PYTHON.md 全文达 852 行收录条目众多项目重复收录是提交中最常见的问题之一。搜索时建议以项目名称为关键词兼顾大小写与常见的别名写法。4. 检查拼写与语法Check your spelling and grammar条目中的描述文字直接面向列表读者拼写错误与语法问题会拉低整个列表的专业度。提交前应仔细检查项目名拼写、描述句子的语法与标点尤其是描述结尾的句号是否到位。5. 移除行尾空白Remove any trailing whitespace每个条目所在行不应包含行尾空白字符空格、Tab。行尾空白虽然肉眼难以察觉但会造成 diff 噪音、影响部分工具的格式检查。建议在编辑器中开启显示空白字符或保存时去除行尾空白功能。6. 在 PR 中说明这个库为什么有趣Send a PR with the reason why the library is really interesting这是 awesomo 贡献规范中极具特色的一条提交 PR 时除了 diff 本身还应在 PR 描述中写出推荐理由——这个项目解决了什么问题、有什么独到之处、为什么值得被收录进精选列表。这不仅帮助维护者判断是否收录也是 awesomo 维持列表质量的关键机制只有真正有趣的项目才应该被推荐进来。7. 确保添加的不是 mammoths shitNot a mammoths shit这是 awesomo 独有的质量门槛详见下一节。简言之提交前必须核实项目仍处于活跃维护状态不接受早已停更的僵尸项目。质量门槛什么是 mammoths shitCONTRIBUTING.md 以独立小节 What is mammoths shit? 给出了这个专有名词的官方定义Is old and unsupported projects where last commit was one or more years ago.即最后一次提交距今一年或一年以上的、老旧且无人维护的项目被称为 mammoths shit直译为猛犸的粪便即化石级别的陈年垃圾这类项目一律不得收录。这一门槛在 README.md 中也有呼应——we dont acceptmammoths shit. Only active and interesting projects with good documentation are added并且已收录的项目若后续停止维护也会被移除Dead and abandoned projects will be removed。由此可以推断 awesomo 的维护策略列表是动态的、有生命力的收录标准同时包含活跃性与文档质量两个维度。实操上贡献者判断一个项目是否为 mammoths shit 时应关注项目最后一次 commit 的时间是否距今超过一年项目是否仍有人在维护issue 是否有人回复、PR 是否有人合入项目是否拥有良好、完整的文档good documentation 是 README 明确提到的收录前提。从源码结构看mammoths shit 是 awesomo 社区贡献文化的核心过滤器——它把贡献指南从怎么写格式提升到什么样的项目值得出现在这份精选列表里的价值判断层面这也是该仓库与其他通用 awesomelist 项目最显著的区别之一。从仓库源码看条目的实际排版惯例除 CONTRIBUTING.md 明文规定的格式模板外从 languages 目录各语言文件的源码结构还可以观察到一些约定俗成的排版惯例贡献者遵循这些惯例能让新条目与既有列表融为一体按字母顺序分组各语言文件以## A、## B、## C……这样的二级标题按项目名首字母分组新条目应插入到对应字母组内。例如 languages/PYTHON.md 以## A开头收纳 Apache Airflow、albumentations、attrs 等首字母为 A 的项目languages/GOLANG.md 中 Blackfriday、Caddy、cobra 则分别归属于 B、C 组条目间用br分隔多数条目之间以空行加br标签隔开如 languages/PYTHON.md 所示以增强长列表在网页渲染时的可读性描述采用以小写动词开头的一句话风格大多数条目的描述以is a ...、is the ...等小写is开头与模板中的 The description ends with a period 共同形成统一语感可选的附加标注部分文件会为条目补充额外信息例如 languages/PYTHON.md 中 astropy 条目下方标注了Supported: *Python 2/3*这类标注属于锦上添花并非硬性要求。提交前检查清单综合 CONTRIBUTING.md 全部规则与 README.md 的提交流程一份可逐项勾选的贡献前检查清单如下已在对应语言的列表文件中搜索确认该项目未被收录无重复项目不是 mammoths shit——最后一次 commit 距今不足一年仍在活跃维护且有良好文档条目格式符合- **project-name** - description.模板项目名加粗、链接正确、描述以句号结尾条目已插入正确的字母分组位置并与相邻条目保持一致的排版含br分隔等惯例拼写与语法无误无行尾空白一次 commit 只添加这一个链接一次 PR 只包含这一个 commitPR 描述中写明了该项目值得收录的理由。完成以上全部检查后即可按 README.md 的流程 fork 仓库、提交修改并发起 Pull Request。严格遵循 CONTRIBUTING.md 的规则既能提高 PR 被合并的效率也是在为 awesomo 这份开源精选列表的长期质量负责——因为每一个被收录的条目都直接影响着后来者能否通过这份列表找到真正值得投入的开源项目。赞分享文档【免费下载链接】awesomoCool open source projects. Choose your project and get involved in Open Source development now.项目地址https://gitcode.com/gh_mirrors/aw/awesomo点击查看免费下载相关推荐awesome-react-components 贡献指南向精选 React 组件与库列表提交高质量条目awesome react components 贡献指南向精选 React 组件与库列表提交高质量条目 导读 本指南基于仓库根目录下的 CONTRIBUTI文档知识库Tailblocks贡献指南如何为开源项目提交高质量PRTailblocks贡献指南如何为开源项目提交高质量PR 你是否曾想为开源项目贡献力量但因不知从何入手而却步本文将以Tailblocks项目为例带你掌握UI组件前端开发工具LTMorphingLabel贡献指南如何为开源项目提交高质量PRLTMorphingLabel贡献指南如何为开源项目提交高质量PR 你是否曾想为开源项目贡献代码却因不知从何入手而却步本文将以LTMorphingLabeUI组件上一篇终极分屏神器Nucleus Co-op如何让你在一台电脑上玩转本地多人游戏下一篇无需训练的AI换脸神器roop-unleashed终极使用指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →