<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Open Source on Xianpeng Shen</title><link>https://shenxianpeng.dev/en/tags/open-source/</link><description>Recent content in Open Source on Xianpeng Shen</description><generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>xianpeng.shen@gmail.com (Xianpeng Shen)</managingEditor><webMaster>xianpeng.shen@gmail.com (Xianpeng Shen)</webMaster><copyright>Copyright © 2017–2026 Xianpeng Shen. All rights reserved.</copyright><lastBuildDate>Thu, 13 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://shenxianpeng.dev/en/tags/open-source/index.xml" rel="self" type="application/rss+xml"/><item><title>mkdocs-ng v1.8.0 Released — Upstream Issues Fixed, Builds ~14% Faster</title><link>https://shenxianpeng.dev/en/posts/2026/mkdocs-ng-1.8/</link><pubDate>Thu, 13 Aug 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (Xianpeng Shen)</author><guid>https://shenxianpeng.dev/en/posts/2026/mkdocs-ng-1.8/</guid><description>mkdocs-ng v1.8.0 is out, the first feature release since the fork. Built-in themes no longer copy the entire highlight.js distribution, making clean builds ~14% faster with ~440 fewer files per site. Search finally finds programming keywords like while and if. The next release will bring incremental builds to mkdocs serve.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.dev/posts/2026/mkdocs-ng-1.8/featured.jpg"/></item><item><title>Open Delivery Spec update: AI code shouldn't just pass the gate — it should leave evidence</title><link>https://shenxianpeng.dev/en/posts/2026/open-delivery-spec-update/</link><pubDate>Sat, 08 Aug 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (Xianpeng Shen)</author><guid>https://shenxianpeng.dev/en/posts/2026/open-delivery-spec-update/</guid><description>Three weeks ago I introduced Open Delivery Spec (ODS), my side project for governing AI-assisted code in CI. Since then the CLI has shipped 5 releases and grown two new pillars: deterministic merge-confidence signals that answer &amp;ldquo;is this AI PR safe to merge?&amp;rdquo;, and an auto-generated, standards-based evidence document on every PR. As always, this post sticks to what actually ships — no hype.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.dev/posts/2026/open-delivery-spec-update/featured.jpg"/></item><item><title>Open Delivery Spec—I Built a CI Quality Gate for AI-Generated Code</title><link>https://shenxianpeng.dev/en/posts/2026/open-delivery-spec/</link><pubDate>Fri, 17 Jul 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (Xianpeng Shen)</author><guid>https://shenxianpeng.dev/en/posts/2026/open-delivery-spec/</guid><description>Over the past few months, I&amp;rsquo;ve been working on an open-source organization called Open Delivery Spec (ODS) in my spare time. The initiative stemmed from the increasing volume of AI-generated code and the lack of reliable governance mechanisms within teams. This article records the thought process, progress, and boundaries based on the project&amp;rsquo;s real-world status, without any exaggeration.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.dev/posts/2026/open-delivery-spec/featured.jpg"/></item><item><title>Jenkinsfile Lint 1.5.0 Released— Standalone Mode Without a Jenkins Server</title><link>https://shenxianpeng.dev/en/posts/2026/jenkinsfilelint-standalone/</link><pubDate>Sun, 12 Jul 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (Xianpeng Shen)</author><guid>https://shenxianpeng.dev/en/posts/2026/jenkinsfilelint-standalone/</guid><description>Previously, jenkinsfilelint required connecting to an available Jenkins server for syntax validation. Now, v1.5.0 introduces a new standalone mode. With just Docker, you can launch a minimal Jenkins environment locally to validate Jenkinsfile syntax. This article details the implementation idea and usage of this mode.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.dev/posts/2026/jenkinsfilelint-standalone/featured.jpg"/></item><item><title>Originally Just Wanted to Propose a Doc PR, Ended Up Moving the Project to the Official Jenkins Organization</title><link>https://shenxianpeng.dev/en/posts/2026/jenkinsfilelint/</link><pubDate>Tue, 09 Jun 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (Xianpeng Shen)</author><guid>https://shenxianpeng.dev/en/posts/2026/jenkinsfilelint/</guid><description>I wrote a small tool to validate Jenkinsfiles, initially just wanting it to appear in Jenkins&amp;rsquo; official list of development tools. However, a Jenkins maintainer suggested: why not just transfer the project directly into the jenkinsci organization? This article records the complete process from PR to transfer to an official blog post, including an interesting pitfall encountered along the way.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.dev/posts/2026/jenkinsfilelint/featured.jpg"/></item><item><title>Conventional Branch Now Has Its Own Domain—conventionalbranch.org</title><link>https://shenxianpeng.dev/en/posts/2026/conventional-branch-domain/</link><pubDate>Sun, 31 May 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (Xianpeng Shen)</author><guid>https://shenxianpeng.dev/en/posts/2026/conventional-branch-domain/</guid><description>The Conventional Branch project website has officially migrated from conventional-branch.github.io to conventionalbranch.org. From last year&amp;rsquo;s user suggestion to this year&amp;rsquo;s final implementation, let&amp;rsquo;s talk about the hesitations, pitfalls, and reflections behind the domain migration.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.dev/posts/2026/conventional-branch-domain/featured.jpg"/></item><item><title>cpp-linter-hooks: The Most Complete pre-commit Solution for C/C++ Projects</title><link>https://shenxianpeng.dev/en/posts/2026/cpp-linter-hooks/</link><pubDate>Wed, 20 May 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (Xianpeng Shen)</author><guid>https://shenxianpeng.dev/en/posts/2026/cpp-linter-hooks/</guid><description>C/C++ tooling in the pre-commit ecosystem has long been limited. cpp-linter-hooks is currently the only pre-commit hook that supports both clang-format and clang-tidy, with built-in compilation database auto-detection, version pinning, and auto-fix capabilities.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.dev/posts/2026/cpp-linter-hooks/featured.jpg"/></item><item><title>Conventional Branch Official Skill Is Here—Install with One Command</title><link>https://shenxianpeng.dev/en/posts/2026/conventional-branch-skill/</link><pubDate>Sun, 17 May 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (Xianpeng Shen)</author><guid>https://shenxianpeng.dev/en/posts/2026/conventional-branch-skill/</guid><description>A user opened an issue hoping Conventional Branch could provide an official Agent Skill, which I thought was a very reasonable request. I implemented it the same day, and now it can be downloaded and used with a single &lt;code&gt;npx skills add&lt;/code&gt; command. Coincidentally, the project also surpassed 100 Stars this week, so I&amp;rsquo;ll talk about that too.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.dev/posts/2026/conventional-branch-skill/featured.jpg"/></item><item><title>mkdocs-ng Maintenance Progress — v1.7.x Fix Summary and Next Steps</title><link>https://shenxianpeng.dev/en/posts/2026/mkdocs-ng-update/</link><pubDate>Thu, 14 May 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (Xianpeng Shen)</author><guid>https://shenxianpeng.dev/en/posts/2026/mkdocs-ng-update/</guid><description>Since taking over mkdocs-ng maintenance, four versions have been released, over a dozen bugs fixed, and the mergedeep dependency removed. The upcoming v1.8.0 will be a feature release, planning to drop support for older Python versions, remove CDN dependencies from built-in themes, and provide a stable Python API.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.dev/posts/2026/mkdocs-ng-update/featured.jpg"/></item><item><title>RepoKeeper After a hundred commits in ten days, it can now develop itself</title><link>https://shenxianpeng.dev/en/posts/2026/repokeeper/</link><pubDate>Sun, 10 May 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (Xianpeng Shen)</author><guid>https://shenxianpeng.dev/en/posts/2026/repokeeper/</guid><description>Over the past ten days, I&amp;rsquo;ve made over a hundred commits to RepoKeeper, evolving it from a proof-of-concept to v1.2.0. It now boasts six modules, two backends, supports DeepSeek/OpenAI/Claude, and can even develop itself—this post will explain what it has evolved into.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.dev/posts/2026/repokeeper/featured.jpg"/></item><item><title>Counter-intuitive Designs in the pi project — From AGENTS.md to "Just Close Your PR First"</title><link>https://shenxianpeng.dev/en/posts/2026/pi-contributing-philosophy/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (Xianpeng Shen)</author><guid>https://shenxianpeng.dev/en/posts/2026/pi-contributing-philosophy/</guid><description>After reading Mario Zechner&amp;rsquo;s &amp;ldquo;I&amp;rsquo;ve sold out&amp;rdquo; and then reviewing AGENTS.md and CONTRIBUTING.md in the pi repository, I found that this project differs from common open-source collaboration methods in many ways. New contributors&amp;rsquo; issues and PRs are closed by default, no reviews on weekends, and don&amp;rsquo;t submit PRs if you don&amp;rsquo;t understand the code. It seems tough, but behind it is a serious attempt to address a problem: how open-source projects can avoid being bogged down by low-quality contributions in the AI era.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.dev/posts/2026/pi-contributing-philosophy/featured.jpg"/></item><item><title>Four Years of Open Source —— Three Unexpected Rewards</title><link>https://shenxianpeng.dev/en/posts/2025/why-open-source/</link><pubDate>Fri, 22 Aug 2025 00:00:00 +0000</pubDate><author>xianpeng.shen@gmail.com (Xianpeng Shen)</author><guid>https://shenxianpeng.dev/en/posts/2025/why-open-source/</guid><description>Some say open source is useless, yielding neither profit nor time savings. But through four years of dedication, I&amp;rsquo;ve discovered three unexpected rewards: increased visibility for my work, connections with exceptional people and projects, and the accumulation of long-term value. These rewards are applicable to every developer.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://shenxianpeng.dev/posts/2025/why-open-source/featured.jpg"/></item></channel></rss>