You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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>
Copy file name to clipboardExpand all lines: docs/src/pages/guide.astro
+36-19Lines changed: 36 additions & 19 deletions
Original file line number
Diff line number
Diff line change
@@ -267,21 +267,50 @@ All 24 tests passing."</pre>
267
267
268
268
<h2>Syncing with GitHub</h2>
269
269
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>
271
271
272
272
<h3>Why Sync?</h3>
273
273
274
+
<p><strong>For permanent records:</strong></p>
274
275
<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>
279
279
</ul>
280
280
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>
<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
+
281
299
<h3>Enabling Sync</h3>
282
300
283
301
<p>Configure your repository in <ahref="/config#github-sync">config</a>. Dex authenticates via the <code>gh</code> CLI or <code>GITHUB_TOKEN</code> environment variable.</p>
284
302
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>
<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>
316
345
317
346
<pclass="example-label">Why this matters:</p>
318
347
<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.
<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>
336
365
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>
0 commit comments