<?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: Grayson Heim</title>
    <description>The latest articles on DEV Community by Grayson Heim (@graybird13).</description>
    <link>https://dev.to/graybird13</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%2F4023332%2F4a2f93ef-df08-4b00-9d12-30d2f17eae3c.png</url>
      <title>DEV Community: Grayson Heim</title>
      <link>https://dev.to/graybird13</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/graybird13"/>
    <language>en</language>
    <item>
      <title>I'm Building Claude Basecamp — an Open-Source OS for Everything Claude Code (and I Need Help)</title>
      <dc:creator>Grayson Heim</dc:creator>
      <pubDate>Fri, 10 Jul 2026 00:49:58 +0000</pubDate>
      <link>https://dev.to/graybird13/im-building-claude-basecamp-an-open-source-os-for-everything-claude-code-and-i-need-help-2ejc</link>
      <guid>https://dev.to/graybird13/im-building-claude-basecamp-an-open-source-os-for-everything-claude-code-and-i-need-help-2ejc</guid>
      <description>&lt;p&gt;Quick confession: this started as "let me stop babysitting my tests and just make them stay green," and it turned into something a lot bigger. I want to be upfront about where I'm actually trying to take it.&lt;/p&gt;

&lt;p&gt;I built Claude Basecamp, and as of today it's open source. The reconciliation loop (declare "tests always green," it holds that true) is the part you'll notice first, but it's not really the point. The point is I want this to become the operating system for everything you do with Claude Code, one place that knows about every repo, every session, every routine, every connector, every skill, and every mistake it's ever made, instead of all of that living scattered across terminal windows and dead transcripts.&lt;/p&gt;

&lt;p&gt;Right now it already covers a decent chunk of that:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx claude-basecamp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No install, no config. It finds the projects Claude Code already knows about and opens at &lt;a href="http://localhost:4747" rel="noopener noreferrer"&gt;http://localhost:4747&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Standing checks&lt;/strong&gt;, the reconciliation loop. "Tests always green," "dependencies current," "the README documents every CLI flag" — say it once, Basecamp keeps it true, dispatches a fix run when it drifts, and only bugs you for the decisions that actually need a human.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reflexes.&lt;/strong&gt; It goes back through your old transcripts, finds every time you said "no, don't do that," and turns it into a standing memory that every Claude Code session on your machine checks before touching Bash, Write, or Edit. A mistake made once doesn't get to happen a third time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Session Rescue.&lt;/strong&gt; Resumes the actual dead session, same session ID, full context, when Claude Code dies mid-task, instead of starting over from scratch.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A manager for every repo&lt;/strong&gt; you just talk to: "keep the tests green," "track this goal," "what's the state of this repo?" Plus routines, background runs, an activity feed, stats, GitHub issue and PR hooks, notifications, webhooks, and a one-click catalog for connectors and skills.&lt;/p&gt;

&lt;p&gt;That's where it is today. What I actually want it to become is the default place you open whenever you're working with Claude on your machine, across every repo and every workflow, instead of a pile of disconnected tools and tabs. That's a much bigger project than one person building alone in a corner, which is exactly why I'm putting this out now instead of polishing it quietly for another six months.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why I'm comfortable running this unattended:&lt;/strong&gt; zero dependencies, about 4,000 lines of plain Node you can read in an evening. Everything's local, binds to 127.0.0.1, no telemetry, nothing phones home. Read-only on your Claude data except one explicit, confirmed, backed-up write path. Sandboxed by whatever permission mode you already run Claude Code in. Public domain under the Unlicense, so there's nothing to negotiate if you want to fork it or vendor it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Where I need help:&lt;/strong&gt; pretty much everywhere past this first slice. A resource governor for token budgets across repos, cost guardrails, more routine templates, more catalog entries, and honestly just people running it against their own weird repo setups and telling me what breaks or what's missing. If the idea of an open-source OS for Claude resonates with you at all, I'd love collaborators, not just users.&lt;/p&gt;

&lt;p&gt;Repo: &lt;a href="https://github.com/graybyrd13/claude-basecamp" rel="noopener noreferrer"&gt;https://github.com/graybyrd13/claude-basecamp&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;npx claude-basecamp&lt;/code&gt; to try it, &lt;code&gt;npm test&lt;/code&gt; if you want to dig into the code. Issues and PRs both genuinely welcome, let's see how big we can make this.&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>ai</category>
      <category>node</category>
      <category>opensourcecontrib</category>
    </item>
    <item>
      <title>I Open-Sourced Claude Basecamp — Come Help Me Build a Reconciliation Loop for Claude Code</title>
      <dc:creator>Grayson Heim</dc:creator>
      <pubDate>Fri, 10 Jul 2026 00:42:11 +0000</pubDate>
      <link>https://dev.to/graybird13/i-open-sourced-claude-basecamp-come-help-me-build-a-reconciliation-loop-for-claude-code-1k36</link>
      <guid>https://dev.to/graybird13/i-open-sourced-claude-basecamp-come-help-me-build-a-reconciliation-loop-for-claude-code-1k36</guid>
      <description>&lt;p&gt;Kubernetes changed infrastructure forever with one idea: you declare desired state, and the system continuously reconciles reality to match it. I wanted that for my codebase, so I built Claude Basecamp and I'm open-sourcing it today. If you're running Claude Code across more than one repo, I'd genuinely love for you to try it, break it, and help me build it out.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it in one command
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx claude-basecamp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No install, no database, no config. It discovers the projects Claude Code already knows about and opens at &lt;a href="http://localhost:4747" rel="noopener noreferrer"&gt;http://localhost:4747&lt;/a&gt;. Runs on macOS, Linux, and Windows.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it does
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Standing checks, the reconciliation loop.&lt;/strong&gt; Declare what must always be true, and Basecamp holds it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;tests always green          -&amp;gt; runs your suite on a cadence; failures dispatch a fix run that commits
dependencies current        -&amp;gt; npm outdated; safe updates applied, majors escalated to you
issue backlog triaged       -&amp;gt; gh-powered labeling and stale-closing
anything in plain English   -&amp;gt; "the README documents every CLI flag" checked read-only, fixed on drift
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Checks run against deterministic local facts (your real test suite, real npm outdated) wherever possible, zero tokens spent checking. Drift launches a bounded, budgeted, approval-gated convergence run. Repeated failure escalates to a decision card on Home instead of retrying forever.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reflexes, an immune system for your AI.&lt;/strong&gt; Basecamp mines every transcript for the moments you pushed back (interruptions, "no, don't", permission denials) and turns each into an antibody. Once armed, every Claude Code session on your machine consults that memory before every Bash/Write/Edit action, so a mistake made twice gets blocked machine-wide before it happens a third time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Session Rescue.&lt;/strong&gt; Notices when a Claude Code session died mid-task and lets you resume the actual dead session, same session ID, full context, as a background run that finishes the job and commits.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A persistent manager for every repo.&lt;/strong&gt; Each project gets an agent with full Claude Code tools plus control over Basecamp itself:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Keep the tests green from now on." -&amp;gt; creates a standing check&lt;br&gt;
"Our goal is to ship v1 by end of month, track it." -&amp;gt; records the goal&lt;br&gt;
"What's the state of this repo?" -&amp;gt; reads the code and tells you&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Plus routines, background runs, an updates feed, goals, git-aware repo cards, stats, a command palette, an approval queue, notifications, incoming webhooks, GitHub issue and PR integration, and a one-click connector and skill catalog.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why it's safe to run unattended
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Zero dependencies, about 4,000 lines of plain Node and vanilla JS, auditable in one sitting&lt;/li&gt;
&lt;li&gt;Local only, binds to 127.0.0.1, nothing leaves your machine, no telemetry&lt;/li&gt;
&lt;li&gt;Read-only on Claude's data, except explicit, confirmed, backed-up connector edits&lt;/li&gt;
&lt;li&gt;CSRF-guarded endpoints, webhooks use unguessable per-routine tokens&lt;/li&gt;
&lt;li&gt;Sandboxed by Claude Code's own permission modes&lt;/li&gt;
&lt;li&gt;Public domain (Unlicense), fork it, audit it, vendor it, no license gymnastics&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Come build this with me
&lt;/h2&gt;

&lt;p&gt;This is genuinely early, and I'd rather it grow from real usage than my own guesses. A few places I'd especially love a hand:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cross-repo resource governor, global token and attention budgeting across all checks&lt;/li&gt;
&lt;li&gt;Cost guardrails, per-routine monthly budgets&lt;/li&gt;
&lt;li&gt;One-click graphify export for token-heavy sessions&lt;/li&gt;
&lt;li&gt;More routine templates, more catalog entries, more edge cases from running this against your own repos&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The repo is here: &lt;a href="https://github.com/graybyrd13/claude-basecamp" rel="noopener noreferrer"&gt;https://github.com/graybyrd13/claude-basecamp&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clone it, run npm test, poke around the code, open an issue, send a PR. All contributions are welcome, from typo fixes to entirely new features. And if you just want to kick the tires, npx claude-basecamp is all it takes. Let me know what breaks!&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>ai</category>
      <category>node</category>
      <category>opensourcecontrib</category>
    </item>
  </channel>
</rss>
