Diffinery

codician/diffinerypublic

Open-source, agent-first GitHub and GitHub Actions alternative that runs on your own Cloudflare account: git hosting, pull requests, code review and drop-in GitHub Actions YAML on Workers, Durable Objects, R2 and Containers.

Compare changes

Choose two branches to see what changed or to start a new pull request.

base:←compare:1 commit ahead, 4 behind main
3 files changed+18−17
modifiedscripts/awesome-lists.mjs+4−0View file
@@ -108,6 +108,10 @@
108108 return;
109109 }
110110 const upstream = await rest("GET", `/repos/${entry.repo}`);
111+ if (upstream.archived) {
112+ report(entry.id, "archived", "the list is read-only now, so drop it from awesome-lists/lists.mjs");
113+ return;
114+ }
111115 const base = upstream.default_branch;
112116
113117 // A pull request from our fork, in any state: open means done, closed means the maintainers said no.
modifiedscripts/awesome-lists/lists.mjs+0−15View file
@@ -39,21 +39,6 @@
3939 This pull request was opened by an automated agent for the Codician team, which builds Diffinery.`,
4040 },
4141 {
42- id: "appcypher-mcp-servers",
43- repo: "appcypher/awesome-mcp-servers",
44- file: "README.md",
45- section: '## 🔄 <a name="version-control"></a>Version Control',
46- item: /^- /,
47- place: "end",
48- line: `- <img src="https://diffinery.com/favicon.svg" height="14"/> [Diffinery](${REPO}) - MCP server built into Diffinery, an open-source git forge on Cloudflare: files and commits, pull requests and reviews, issues, CI runs and job logs, sandboxes and agent tasks`,
49- title: "Add Diffinery to Version Control",
50- body: `Adds [Diffinery](${REPO}) at the bottom of **Version Control**.
51-
52-Diffinery is an open-source (Apache-2.0) git forge with GitHub Actions compatible CI that you deploy to your own Cloudflare account. Every instance serves an MCP server at \`/mcp\` with tools for files and commits, pull requests and reviews, issues, workflow runs and job logs, sandboxes and agent tasks. Docs: https://diffinery.com/docs/agents/mcp
53-
54-Opened by an automated agent for the Codician team, which builds Diffinery.`,
55- },
56- {
5742 id: "awesome-git",
5843 repo: "dictcp/awesome-git",
5944 file: "README.md",
modifiedscripts/github-community.mjs+14−2View file
@@ -162,8 +162,20 @@
162162 report("Roadmap issue", "failed", why(e, "Issues: Read and write"));
163163 return;
164164 }
165- if (issue) report("Roadmap issue", "already there", issue.html_url);
166- else if (DRY) {
165+ if (issue) {
166+ report("Roadmap issue", "already there", issue.html_url);
167+ // GitHub drops labels from a new issue when the token may not label, so add them later.
168+ const missing = ["roadmap", "help wanted"].filter((l) => !issue.labels.some((x) => (x.name ?? x) === l));
169+ if (missing.length && DRY) report("Roadmap issue labels", "would add", missing.join(", "));
170+ else if (missing.length) {
171+ try {
172+ await rest("POST", `/repos/${REPO}/issues/${issue.number}/labels`, { labels: missing });
173+ report("Roadmap issue labels", "added", missing.join(", "));
174+ } catch (e) {
175+ report("Roadmap issue labels", "failed", why(e, "Issues: Read and write"));
176+ }
177+ }
178+ } else if (DRY) {
167179 report("Roadmap issue", "would open");
168180 return;
169181 } else {