Skip to content

Commit 508ecc3

Browse files
dcramerclaude
andcommitted
docs: Reframe GitHub sync section to emphasize permanence
Restructure the "Syncing with GitHub" documentation to better convey the value proposition: local tasks are ephemeral working notes, while GitHub Issues create permanent records tied to shipped code. - Rewrite intro to emphasize permanence over team visibility - Reorganize "Why Sync?" into three benefit categories - Add "Task IDs vs Issue Numbers" subsection (moved from standalone section) - Add "What Gets Synced" subsection explaining the mapping - Reframe "Sync-on-Push" to emphasize reliable records - Remove standalone "Tasks are Ephemeral" section (content integrated above) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 53fe6bd commit 508ecc3

1 file changed

Lines changed: 36 additions & 19 deletions

File tree

docs/src/pages/guide.astro

Lines changed: 36 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -267,21 +267,50 @@ All 24 tests passing."</pre>
267267

268268
<h2>Syncing with GitHub</h2>
269269

270-
<p>Dex can sync tasks to GitHub Issues, giving your team visibility into AI-assisted work without requiring everyone to use Claude Code.</p>
270+
<p>Local dex tasks are ephemeral—working notes that evolve and get deleted as you go. When you sync to GitHub Issues, you create a <strong>permanent record</strong> of the work: what was planned, how it was broken down, and what was actually done.</p>
271271

272272
<h3>Why Sync?</h3>
273273

274+
<p><strong>For permanent records:</strong></p>
274275
<ul>
275-
<li>Share progress with team members who don't use Claude Code</li>
276-
<li>Create a paper trail for completed work</li>
277-
<li>Get GitHub's notification system for task updates</li>
278-
<li>Back up task context outside your local machine</li>
276+
<li>Local tasks get deleted as work evolves; GitHub Issues persist indefinitely</li>
277+
<li>Context, decisions, and results are preserved in a searchable history</li>
278+
<li>Commit metadata embeds in closed issues, tying work to actual code</li>
279279
</ul>
280280

281+
<p><strong>For large or long-running work:</strong></p>
282+
<ul>
283+
<li>GitHub Issues survive repo clones, machine changes, and team transitions</li>
284+
<li>Use GitHub's project boards and milestones for higher-level organization</li>
285+
</ul>
286+
287+
<p><strong>For team visibility:</strong></p>
288+
<ul>
289+
<li>Team members see progress without using Claude Code</li>
290+
<li>GitHub notifications keep everyone informed</li>
291+
</ul>
292+
293+
<h3>Task IDs vs Issue Numbers</h3>
294+
295+
<p>Dex task IDs (<code>abc123</code>) are ephemeral—they change, get deleted, and become meaningless. <strong>Never put task IDs in commits, PRs, or documentation.</strong></p>
296+
297+
<p>GitHub issue numbers (<code>#42</code>) are permanent. Once synced, reference the issue number in your commits and PRs, not the dex task ID.</p>
298+
281299
<h3>Enabling Sync</h3>
282300

283301
<p>Configure your repository in <a href="/config#github-sync">config</a>. Dex authenticates via the <code>gh</code> CLI or <code>GITHUB_TOKEN</code> environment variable.</p>
284302

303+
<h3>What Gets Synced</h3>
304+
305+
<p>When you sync a task:</p>
306+
<ul>
307+
<li>Task description → issue title</li>
308+
<li>Task context → issue body</li>
309+
<li>Subtasks → expandable checklists with context and results</li>
310+
<li>Completion result → comment when the issue closes</li>
311+
<li>Commit metadata (SHA, branch, URL) → embedded in closed tasks</li>
312+
</ul>
313+
285314
<h3>Manual Sync</h3>
286315

287316
<p>Push local tasks to GitHub Issues:</p>
@@ -312,11 +341,11 @@ Imported issue #42 as task xyz789: "Add password reset flow"
312341

313342
<h3>Sync-on-Push</h3>
314343

315-
<p>Completed tasks only close their GitHub Issues when the completion has been pushed to the remote. This prevents issues from closing before the actual code lands.</p>
344+
<p>Issues only close when their completion commits reach the remote. This creates a reliable record: a closed GitHub Issue means the work is <strong>actually shipped</strong>, not just marked done locally.</p>
316345

317346
<p class="example-label">Why this matters:</p>
318347
<blockquote>
319-
You complete a task locally, but your branch isn't merged yet. Without sync-on-push, the issue would close immediately—confusing teammates who see a "closed" issue with no merged PR. With sync-on-push, the issue stays open until your work is actually in the repository.
348+
You complete a task locally, but your branch isn't merged yet. Without sync-on-push, the issue would close immediately—a "closed" issue with no shipped code. With sync-on-push, the GitHub record accurately reflects reality: the issue closes only when your work is actually in the repository.
320349
</blockquote>
321350

322351
<Terminal>
@@ -334,18 +363,6 @@ Synced 1 task(s) <span class="cli-dim">(issue now closed)</span></pre>
334363

335364
<p><strong>Note:</strong> If <code>.dex/</code> is in your <code>.gitignore</code>, sync-on-push detection is disabled since dex can't determine push status.</p>
336365

337-
<h2>Important: Tasks are Ephemeral</h2>
338-
339-
<p>Dex tasks are coordination tools, not permanent records. <strong>Never put task IDs in:</strong></p>
340-
341-
<ul>
342-
<li>Commit messages</li>
343-
<li>Pull request descriptions</li>
344-
<li>Documentation</li>
345-
</ul>
346-
347-
<p>Task IDs become meaningless once work is complete. Describe the work itself in commits and PRs.</p>
348-
349366
<h2>Behavior Notes</h2>
350367

351368
<p>A few behaviors to be aware of:</p>

0 commit comments

Comments
 (0)