Skip to content

Conversation

@tomstockton
Copy link
Member

Summary

This PR implements a complete configuration synchronization system to prevent drift between client configurations across the repository.

New Features

📚 Documentation

  • Detailed sync requirements in CLAUDE.md with critical sync points
  • File-by-file mapping of what needs updates when server changes occur
  • Development workflow guidance for maintaining consistency
  • Common issues troubleshooting guide

🤖 Automation Scripts

  • scripts/generate-cursor-link.js: Regenerates base64-encoded Cursor deeplink when config changes
  • scripts/validate-configs.py: Validates all configurations are synchronized across files
  • Both scripts are executable and integrate into development workflow

🔍 CI Integration

  • Added validation step to GitHub Actions workflow
  • Prevents configuration drift by catching mismatches before merge
  • Ensures long-term consistency across all client setup methods

Problem Solved

Previously, when server paths, commands, or environment variables changed, developers had to manually remember to update:

  • README.md client configurations (Claude Desktop, Cursor manual, Cursor deeplink)
  • add-to-cursor.html step-by-step instructions
  • render.yaml deployment config
  • CLAUDE.md development commands

This often led to:

  • ❌ Stale Cursor deeplinks with outdated base64 config
  • ❌ Mismatched paths causing "file not found" errors
  • ❌ Missing environment variables breaking setup
  • ❌ Inconsistent installation instructions

Solution Benefits

  • Automated validation catches sync issues early in development
  • Clear workflow for developers when making server changes
  • Consistent user experience across all setup methods
  • CI enforcement prevents configuration drift from reaching users

Usage

For Developers

# Before making server changes
python scripts/validate-configs.py

# After changing server config
node scripts/generate-cursor-link.js
python scripts/validate-configs.py

# Commit with confidence
git commit -m "Update server config"

For CI/CD

The validation script now runs automatically in GitHub Actions, ensuring all PRs maintain configuration consistency.

Test Plan

  • Validation script correctly identifies all current configurations
  • Generation script updates Cursor deeplink properly
  • CI workflow includes validation step
  • All configurations currently pass validation
  • Scripts are executable and documented

🤖 Generated with Claude Code

- Configuration sync documentation in CLAUDE.md with critical sync points
- Automated Cursor deeplink generation script (scripts/generate-cursor-link.js)
- Configuration validation script (scripts/validate-configs.py)
- CI integration to catch configuration drift

- Detailed sync requirements and workflow in CLAUDE.md
- File-by-file mapping of what needs updates when
- Common sync issues and troubleshooting guide
- Automation script usage instructions

- **generate-cursor-link.js**: Regenerates base64-encoded Cursor deeplink
- **validate-configs.py**: Validates all configs are synchronized
- Both scripts are executable and ready for development workflow

- Added config validation step to GitHub Actions workflow
- Prevents PRs with mismatched configurations from being merged
- Ensures long-term configuration consistency

- Prevents configuration drift between README, HTML guide, and deeplink
- Automated validation catches sync issues early
- Clear workflow for developers when making server changes
- Maintains consistency across all client setup methods

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@tomstockton tomstockton force-pushed the add-config-sync-automation branch from d9f1769 to 19cb96f Compare June 13, 2025 10:27
- Make regex patterns more robust for different environments
- Use non-greedy matching with .*? for better JSON extraction
- Add MULTILINE flag for better line handling
- Add PyYAML to dev dependencies for render.yaml validation
- Remove debug code after testing

Fixes CI validation failures in GitHub Actions environment.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@tomstockton tomstockton merged commit 916f151 into main Jun 13, 2025
1 check passed
@tomstockton tomstockton deleted the add-config-sync-automation branch June 13, 2025 10:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants