Check the status of generated content and offer options for modified or stale files.
Flags
Flag
Description
--dry-run
Preview sync status report without interactive prompts or file modifications
Purpose
:
Detect when generated skills/commands have been manually modified
Detect when source PRDs have changed (making generated content stale)
Offer appropriate actions: regenerate, promote to custom, or keep as-is
Steps
:
Read manifest
:
cat
docs/blueprint/manifest.json
Extract
generated.rules
section
If no generated content, report "Nothing to sync"
Check each generated rule
:
For each rule in
manifest.generated.rules
:
a.
Verify file exists
:
test
-f
.claude/rules/
{
name
}
.md
b.
Hash current content
:
sha256sum .claude/rules/
{
name
}
.md
|
cut
-d
' '
-f1
c.
Compare hashes
:
If
content_hash
matches → status:
current
If
content_hash
differs → status:
modified
d.
Check source freshness
(for rules from PRDs):
Hash current PRD content
Compare with
source_hash
in manifest
If differs → status:
stale
Display sync report
:
Generated Content Sync Status
Rules (.claude/rules/):
✅ architecture-patterns.md: Current
⚠️ testing-strategies.md: Modified locally
🔄 implementation-guides.md: Stale (PRDs changed)
✅ quality-standards.md: Current
Summary:
- Current: 3 files
- Modified: 1 file (user edited)
- Stale: 1 file (source changed)
If
--dry-run
Output the sync report from Step 3 and exit. Skip all remaining steps.
For modified content
, offer options:
question: "{name} has been modified locally. What would you like to do?"
options:
- label: "Keep modifications"
description: "Mark as acknowledged, preserve your changes"
- label: "Discard modifications (regenerate)"
description: "Overwrite with fresh generation from PRDs"
- label: "View diff"
description: "See what changed before deciding"
- label: "Skip this file"
description: "Leave as-is for now"
Based on selection:
"Keep modifications" → Update
content_hash
to current, mark as acknowledged
"Regenerate" → Regenerate this rule from PRDs
"View diff" → Show diff then re-ask
"Skip" → Continue to next file
For stale content
, offer options:
question: "{name} is stale (PRDs have changed). What would you like to do?"
options:
- label: "Regenerate from PRDs (Recommended)"
description: "Update with latest patterns from docs/prds/"
- label: "Keep current version"
description: "Mark as current without regenerating"
- label: "View what changed in PRDs"
description: "See PRD changes before deciding"
- label: "Skip this file"
description: "Leave stale for now"
Based on selection:
"Regenerate" → Regenerate this rule from PRDs
"Keep" → Update
source_hash
to current, mark as current
"View" → Show PRD diff then re-ask
"Skip" → Continue to next file
Update manifest
after changes:
Update
content_hash
for regenerated files
Update
source_hash
if PRD changes acknowledged
Update
status
field appropriately
Final report
:
Sync Complete
Actions taken:
- testing-strategies.md: Modifications acknowledged
- implementation-guides.md: Regenerated from PRDs
Current state:
- 4 generated rules (all current)
Manifest updated.
Tips
:
Run
/blueprint:sync
periodically to check for drift
Acknowledge modifications you want to keep
Regenerating will overwrite local changes
Stale content still works, but may miss new patterns from PRDs