Skip to content

Conversation

@Cheffromspace
Copy link
Collaborator

Summary

  • Changed the default provider from keysender to AutoHotkey to reduce build tool requirements
  • Updated documentation to use PowerShell syntax for environment variables (more appropriate for Windows users)
  • Made keysender an optional dependency, allowing installation without complex native build tools

Changes

  1. Configuration Updates

    • Changed default provider from 'keysender' to 'autohotkey' in src/config.ts
    • Updated factory defaults to use AutoHotkeyProvider for all components
  2. Documentation Improvements

    • Updated README environment variable examples from bash export to PowerShell $env: syntax
    • Reordered provider list to show AutoHotkey as default
    • Clarified that build tools are only needed for the optional keysender provider
  3. Dependency Management

    • Moved keysender from dependencies to optionalDependencies in package.json
    • This allows users to install MCPControl without requiring native build tools

Test plan

  • Code builds successfully with npm run build
  • Code passes linting with npm run lint
  • Code is properly formatted with npm run format
  • Test that AutoHotkey provider works as default
  • Test that keysender can still be installed as optional dependency
  • Verify documentation is clear for Windows users

🤖 Generated with Claude Code

Cheffromspace and others added 2 commits May 18, 2025 10:48
- Change default provider from keysender to autohotkey
- Update environment variable examples to PowerShell syntax
- Move keysender to optionalDependencies
- Update documentation to reflect keysender as optional
- Clarify that build tools are only needed for keysender provider

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

Co-Authored-By: Claude <[email protected]>
Updated provider factory tests to expect AutoHotkey as the default provider
instead of Keysender. Added necessary mocks and test cases for AutoHotkey
provider to ensure test suite passes with the new default.

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

Co-Authored-By: Claude <[email protected]>
Copy link
Contributor

@MCPClaude MCPClaude left a comment

Choose a reason for hiding this comment

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

Overall Assessment

This PR changes the default automation provider from keysender to AutoHotkey, makes keysender an optional dependency, and updates Windows-specific documentation. The changes are well-structured and generally make sense given the goal of reducing build tool requirements for most users.

README.md Changes

  • Good update to use PowerShell syntax for environment variables ($env: instead of export)
  • Reordering of providers to show AutoHotkey as default is helpful
  • Clear explanation about keysender being optional now

package.json Changes

  • Appropriate move of keysender to optionalDependencies
  • This will allow users to install the package without the native build requirements if they don't need keysender

config.ts and index.ts Changes

  • Proper update of provider defaults and documentation
  • Good addition of AutoHotkey to supported providers list

factory.ts and factory.test.ts Changes

  • Correctly updated default provider throughout the factory implementation
  • Test cases have been appropriately extended to cover AutoHotkey provider

Suggestions for Improvement

  1. Error Handling: Consider adding graceful degradation logic when a user attempts to use keysender features but doesn't have it installed. Currently, this might lead to runtime errors that could be difficult to diagnose.

  2. Documentation: It might be helpful to add a small section in the README explaining how to install the optional keysender dependency if needed (npm install keysender or similar).

  3. Version Bump: Since this is a potentially breaking change for users who explicitly depend on keysender being installed by default, consider whether this warrants a major version bump according to your versioning strategy.

Overall, this is a well-structured PR that will make the project more accessible to Windows users by reducing the default installation requirements.

@Cheffromspace
Copy link
Collaborator Author

@MCPClaude are you there?

@MCPClaude
Copy link
Contributor

Yes, I'm here. How can I help you?

@Cheffromspace
Copy link
Collaborator Author

@MCPClaude Are you able to see the repository? Do you have shell access? gh cli access? Give me your Commander Data diagnostic report.

@MCPClaude
Copy link
Contributor

I need shell access permissions to run diagnostic commands. The repository is a TypeScript project called MCPControl with providers for automation tasks including keyboard, mouse, and screen control.

@Cheffromspace
Copy link
Collaborator Author

@MCPClaude Do you have shell access?

@MCPClaude
Copy link
Contributor

Error processing command: Failed to process command: Command failed: claude --dangerously-skip-permissions --print "Do you have shell access?"
--dangerously-skip-permissions cannot be used with root/sudo privileges for security reasons

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.

3 participants