Skip to content

Conversation

@TechNickAI
Copy link
Owner

Summary

  • Reverts the v2 "cross-tool architecture" that made rules/ canonical
  • Returns to standard Cursor architecture where .cursor/rules/ is the canonical location
  • Removes Windsurf support (deprecated after Google acquisition)

Changes

Directory Structure (THIS REPO):

  • Moved rules/.cursor/rules/ (canonical location)
  • Created rules/ symlink → .cursor/rules/ (visibility only)

User Projects:

  • .cursor/rules/ is canonical (no root-level symlink)
  • Simplified bootstrap to create .cursor/rules/ directly
  • Legacy v2 detection suggests migration via /ai-coding-config update

Documentation:

  • Updated /ai-coding-config command with correct architecture
  • Removed all Windsurf references from command and docs
  • Updated AGENTS.md, bootstrap script, and .cursor/rules/README.md

Rationale

The v2 "cross-tool" architecture with rules/ at root was a mistake. Cursor rules belong in .cursor/rules/. This repo has rules/ symlink for visibility at the root level, but user projects should use .cursor/rules/ directly.

Testing

  • Verified directory structure: .cursor/rules/ is real directory, rules/ symlinks to it
  • Checked that @rules/* references still work (symlink resolves correctly)
  • Confirmed bootstrap script creates correct structure

🤖 Generated with Claude Code

Reverts the v2 "cross-tool architecture" that made rules/ canonical.
Returns to standard Cursor architecture where .cursor/rules is the
canonical location.

## Changes

**Directory Structure (THIS REPO):**
- Moved rules/ → .cursor/rules/ (canonical location)
- Created rules/ symlink → .cursor/rules/ (visibility only)

**User Projects:**
- .cursor/rules/ is canonical (no root-level symlink)
- Simplified bootstrap to create .cursor/rules directly
- Legacy v2 detection suggests migration

**Documentation:**
- Updated /ai-coding-config command with correct architecture
- Removed Windsurf support (deprecated after Google acquisition)
- Updated AGENTS.md, bootstrap script, and README

**Rationale:**
The v2 "cross-tool" architecture with rules/ at root was a mistake.
Cursor rules belong in .cursor/rules/. This repo has rules/ symlink
for visibility, but user projects should use .cursor/rules/ directly.

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Copy link

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your free trial has ended. If you'd like to continue receiving code reviews, you can add a payment method here.

@claude
Copy link

claude bot commented Dec 17, 2025

PR Review: Restore .cursor/rules as canonical architecture

Summary

This PR successfully reverts the v2 "cross-tool architecture" and returns to a standard Cursor-first structure. The changes are well-motivated, clearly documented, and properly implemented.

✅ Strengths

Clear Architecture Decision

  • The rationale is sound: Cursor rules belong in .cursor/rules/. The v2 architecture with rules/ at root added unnecessary complexity
  • This repo maintains a rules/ symlink for visibility, but user projects use .cursor/rules/ directly - good balance
  • Removed Windsurf support appropriately (deprecated after Google acquisition)

Implementation Quality

  • Directory structure is correct: .cursor/rules/ is the real directory, rules/ symlinks to it
  • Bootstrap script properly detects legacy architectures and guides users to migrate
  • All documentation (CLAUDE.md, AGENTS.md, README.md) consistently reflects the new architecture

Migration Path

  • The /ai-coding-config update command includes architecture detection for legacy v2 installs
  • Bootstrap script provides clear warning messages for legacy structures
  • No breaking changes for fresh installs

💡 Observations

Documentation Consistency
The documentation is thorough and consistent across:

  • CLAUDE.md - Correctly documents the architecture difference between this repo and user projects (lines 28-29, 87-94)
  • AGENTS.md - Updated to match (lines 28-29, 87-91)
  • plugins/core/commands/ai-coding-config.md - Comprehensive migration guidance (lines 273-295)
  • .cursor/rules/README.md - Usage patterns updated (lines 60-74)
  • scripts/bootstrap.sh - Proper detection and warnings (lines 55-77)

Bootstrap Script Logic
The detection logic at bootstrap.sh:62-77 handles all cases:

  • Fresh install: creates .cursor/rules/
  • Existing .cursor/rules/: preserves it
  • Legacy v2 (symlinked .cursor/rules/): warns about migration
  • Legacy rules/ directory: warns about migration

🔍 Potential Considerations

1. Migration Command Testing
The PR description mentions "verified directory structure" but doesn't show testing of the actual migration path from v2 → v3. Consider:

  • Testing the /ai-coding-config update migration flow with a v2 structure
  • Verifying that @rules/* references continue to work after migration

2. Error Handling in Bootstrap
The bootstrap script at lines 62-77 provides warnings but doesn't prevent proceeding. This is reasonable, but users might be confused about what to do next. The warnings are clear though.

3. Symlink Documentation
The "THIS REPO ONLY" annotation for the root rules/ symlink is well-documented in CLAUDE.md (line 29, 87, 94) and AGENTS.md, but could be even more prominent since this is a key distinction.

🎯 Code Quality

Structure: Clean file moves, proper symlink creation
Documentation: Comprehensive and consistent across all files
Backwards Compatibility: Migration path provided for legacy users
Testing: Manual verification mentioned in PR description

🔒 Security

No security concerns. This is a structural refactoring with no code execution changes.

🚀 Performance

No performance impact. File structure changes only.

📊 Test Coverage

This is primarily a structural change. The PR description mentions:

  • Verified directory structure
  • Checked @rules/* references work
  • Confirmed bootstrap script creates correct structure

Recommendation: Consider adding a test that verifies the symlink structure in CI, especially for this repo vs user projects distinction.

✨ Final Assessment

Recommendation: APPROVE ✅

This PR successfully achieves its goal of simplifying the architecture. The implementation is correct, documentation is thorough, and migration paths are provided. The change makes the codebase easier to understand and maintain.

Minor Suggestions (non-blocking):

  1. Consider adding automated tests for directory structure validation
  2. Maybe add a more prominent callout in README.md about the architecture difference
  3. Test the actual v2 → v3 migration flow if you haven't already

Great work on recognizing that the v2 architecture was a mistake and having the courage to revert it! The new structure is much cleaner.

@TechNickAI TechNickAI merged commit 8eb2d0f into main Dec 17, 2025
4 checks passed
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