<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: lee lee</title>
    <description>The latest articles on DEV Community by lee lee (@lee_lee_29d46f591d71f8cef).</description>
    <link>https://dev.to/lee_lee_29d46f591d71f8cef</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4072339%2Ff42d4e9f-4252-4be2-82a9-baa3a5160e9a.png</url>
      <title>DEV Community: lee lee</title>
      <link>https://dev.to/lee_lee_29d46f591d71f8cef</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/lee_lee_29d46f591d71f8cef"/>
    <language>en</language>
    <item>
      <title>Why I kept an open-source maintenance evidence collector local-first</title>
      <dc:creator>lee lee</dc:creator>
      <pubDate>Tue, 11 Aug 2026 05:36:27 +0000</pubDate>
      <link>https://dev.to/lee_lee_29d46f591d71f8cef/why-i-kept-an-open-source-maintenance-evidence-collector-local-first-21bl</link>
      <guid>https://dev.to/lee_lee_29d46f591d71f8cef/why-i-kept-an-open-source-maintenance-evidence-collector-local-first-21bl</guid>
      <description>&lt;p&gt;Maintainers are often asked to explain whether a project is active, reproducible, and ready for outside contribution. The easy answer is to point at a dashboard or copy a few repository metrics. The harder question is: which signals can someone else reproduce, and what information should never leave the maintainer's machine?&lt;/p&gt;

&lt;p&gt;I built a small Python CLI to explore that boundary:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/5166li-beep/compassing-oss-maintainer-kit" rel="noopener noreferrer"&gt;https://github.com/5166li-beep/compassing-oss-maintainer-kit&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  The problem is not “more metrics”
&lt;/h3&gt;

&lt;p&gt;For a small open-source project, a useful maintenance snapshot may include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;commits, active days, authors, and recent tags over a stated time window;&lt;/li&gt;
&lt;li&gt;whether expected project documents exist, such as a README, license, contributing guide, security policy, and changelog;&lt;/li&gt;
&lt;li&gt;whether the repository has workflow files and a test directory;&lt;/li&gt;
&lt;li&gt;enough provenance that another person can understand when and how the snapshot was produced.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Those signals are incomplete. They do not prove quality, eligibility, popularity, or future maintenance. The tool therefore calls its output evidence, not a score.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why local-first?
&lt;/h3&gt;

&lt;p&gt;The collector reads a local Git checkout. By default it does not call GitHub, upload repository contents, or require an API token. This keeps the collection boundary easy to inspect and makes it usable for repositories whose history should not be sent to a third-party service.&lt;/p&gt;

&lt;p&gt;The trade-off is intentional: a local report cannot claim public GitHub statistics unless those statistics are fetched separately and recorded with their source and timestamp. Mixing those two kinds of data would make the report look more complete while making it harder to audit.&lt;/p&gt;

&lt;h3&gt;
  
  
  A small privacy boundary
&lt;/h3&gt;

&lt;p&gt;Git history can contain author names and commit subjects. The command supports author redaction, but redaction is not a magic privacy guarantee. Generated JSON and Markdown files still need a human review before they are shared.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;python -m pip install .
maintainer-evidence --repo /path/to/your/repo --out evidence --redact-authors
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;The project currently targets Python 3.10+, has no runtime dependencies, and writes evidence/evidence.json plus evidence/evidence.md.&lt;/p&gt;

&lt;h3&gt;
  
  
  What this is not
&lt;/h3&gt;

&lt;p&gt;It is not a hosted analytics dashboard, an eligibility checker, a GitHub permission verifier, or a replacement for project governance. It does not invent stars, downloads, users, or maintainer permissions. It is also not a claim that a report makes an application more likely to succeed.&lt;/p&gt;

&lt;h3&gt;
  
  
  What I need to learn
&lt;/h3&gt;

&lt;p&gt;This is an early v0.1.0 / Alpha release. The repository has local tests and a read-only GitHub Actions workflow, but it has just been published and has no verifiable external users, external issues, or external pull requests yet.&lt;/p&gt;

&lt;p&gt;The most useful feedback would be a reproducible run on a different Python 3.10+ environment or repository, especially if it exposes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a misleading counting rule;&lt;/li&gt;
&lt;li&gt;a missing maintenance signal;&lt;/li&gt;
&lt;li&gt;a redaction edge case;&lt;/li&gt;
&lt;li&gt;an installation or cross-platform problem.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Please use a GitHub Issue for a reproducible bug or design proposal:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/5166li-beep/compassing-oss-maintainer-kit/issues" rel="noopener noreferrer"&gt;https://github.com/5166li-beep/compassing-oss-maintainer-kit/issues&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Disclosure: this draft was prepared with AI assistance and must be reviewed and adapted by the maintainer before publication.&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>python</category>
      <category>git</category>
      <category>privacy</category>
    </item>
  </channel>
</rss>
