@voodocs/cli 2.2.2 → 2.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/lib/cli/init.py +38 -9
  2. package/package.json +1 -1
package/lib/cli/init.py CHANGED
@@ -153,10 +153,10 @@ def init(non_interactive, upgrade):
153
153
  setup_ai = click.confirm('Update AI instructions?', default=False)
154
154
  if setup_ai:
155
155
  ai_choice = click.prompt(
156
- 'Which AI assistant?',
157
- type=click.Choice(['cursor', 'claude', 'default'], case_sensitive=False),
158
- default=detected_ai or 'cursor'
159
- )
156
+ 'Which AI assistant?',
157
+ type=click.Choice(['cursor', 'claude', 'copilot', 'windsurf', 'cline', 'all'], case_sensitive=False),
158
+ default=detected_ai or 'cursor'
159
+ )
160
160
  else:
161
161
  ai_choice = None
162
162
  else:
@@ -173,10 +173,10 @@ def init(non_interactive, upgrade):
173
173
  setup_ai = click.confirm('Generate AI instructions for your coding assistant?', default=True)
174
174
  if setup_ai:
175
175
  ai_choice = click.prompt(
176
- 'Which AI assistant?',
177
- type=click.Choice(['cursor', 'claude', 'default'], case_sensitive=False),
178
- default=detected_ai or 'cursor'
179
- )
176
+ 'Which AI assistant?',
177
+ type=click.Choice(['cursor', 'claude', 'copilot', 'windsurf', 'cline', 'all'], case_sensitive=False),
178
+ default=detected_ai or 'cursor'
179
+ )
180
180
  else:
181
181
  ai_choice = None
182
182
 
@@ -411,7 +411,12 @@ def _check_ai_instructions(cwd: Path) -> bool:
411
411
  """Check if AI instructions exist."""
412
412
  return (
413
413
  (cwd / '.cursorrules').exists() or
414
+ (cwd / '.cursor' / 'rules').exists() or
414
415
  (cwd / '.claude' / 'instructions.md').exists() or
416
+ (cwd / '.claude' / 'skills').exists() or
417
+ (cwd / '.github' / 'copilot-instructions.md').exists() or
418
+ (cwd / '.windsurfrules').exists() or
419
+ (cwd / '.clinerules').exists() or
415
420
  (cwd / 'AI_INSTRUCTIONS.md').exists()
416
421
  )
417
422
 
@@ -421,8 +426,18 @@ def _get_ai_file_status(cwd: Path) -> str:
421
426
  files = []
422
427
  if (cwd / '.cursorrules').exists():
423
428
  files.append('.cursorrules')
429
+ if (cwd / '.cursor' / 'rules').exists():
430
+ files.append('.cursor/rules/')
424
431
  if (cwd / '.claude' / 'instructions.md').exists():
425
432
  files.append('.claude/instructions.md')
433
+ if (cwd / '.claude' / 'skills').exists():
434
+ files.append('.claude/skills/')
435
+ if (cwd / '.github' / 'copilot-instructions.md').exists():
436
+ files.append('.github/copilot-instructions.md')
437
+ if (cwd / '.windsurfrules').exists():
438
+ files.append('.windsurfrules')
439
+ if (cwd / '.clinerules').exists():
440
+ files.append('.clinerules')
426
441
  if (cwd / 'AI_INSTRUCTIONS.md').exists():
427
442
  files.append('AI_INSTRUCTIONS.md')
428
443
 
@@ -510,12 +525,26 @@ def _detect_repository(cwd: Path) -> Optional[str]:
510
525
 
511
526
  def _detect_ai_environment() -> Optional[str]:
512
527
  """Detect which AI environment is being used."""
513
- if os.environ.get('CURSOR_USER') or Path('.cursorrules').exists():
528
+ # Check for Cursor
529
+ if os.environ.get('CURSOR_USER') or Path('.cursorrules').exists() or Path('.cursor').exists():
514
530
  return 'cursor'
515
531
 
532
+ # Check for Claude Code
516
533
  if os.environ.get('CLAUDE_API_KEY') or Path('.claude').exists():
517
534
  return 'claude'
518
535
 
536
+ # Check for Windsurf
537
+ if Path('.windsurfrules').exists():
538
+ return 'windsurf'
539
+
540
+ # Check for Cline
541
+ if Path('.clinerules').exists():
542
+ return 'cline'
543
+
544
+ # Check for GitHub Copilot (less reliable, check last)
545
+ if Path('.github/copilot-instructions.md').exists():
546
+ return 'copilot'
547
+
519
548
  return None
520
549
 
521
550
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voodocs/cli",
3
- "version": "2.2.2",
3
+ "version": "2.2.3",
4
4
  "description": "AI-Native Symbolic Documentation System - The world's first documentation tool using mathematical notation with semantic validation",
5
5
  "main": "voodocs_cli.py",
6
6
  "bin": {