Thank you for your interest in contributing to the Android UI Assist MCP Server! This document provides guidelines and instructions for contributors.
This project follows a standard code of conduct. Please be respectful and inclusive in all interactions.
If you find a bug, please create an issue on GitHub with the following information:
- A clear and descriptive title
- Steps to reproduce the bug
- Expected behavior
- Actual behavior
- Environment information (OS, Node.js version, ADB version)
- Any relevant error messages or screenshots
To suggest a new feature, please create an issue on GitHub with:
- A clear and descriptive title
- A detailed description of the proposed feature
- The use case or problem it would solve
- Any potential implementation ideas
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Add tests for new functionality
- Ensure all tests pass (
npm test) - Run linting and formatting (
npm run lintandnpm run format) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a pull request
-
Clone the repository:
git clone https://github.com/your-username/android-ui-assist-mcp.git cd android-ui-assist-mcp -
Install dependencies:
npm install
-
Run the setup script:
npm run setup
-
Build the project:
npm run build
-
Run tests:
npm test
- Use TypeScript for all new code
- Follow the existing TypeScript configuration
- Use strict type checking
- Avoid
anytypes whenever possible
- Follow the ESLint configuration
- Use Prettier for code formatting
- Run
npm run lintandnpm run formatbefore committing
- Use camelCase for variables and functions
- Use PascalCase for classes and interfaces
- Use UPPER_CASE for constants
- Use descriptive names that clearly indicate purpose
- Add JSDoc comments for all public functions and classes
- Include parameter descriptions and return types
- Add inline comments for complex logic
- Write unit tests for all new utility functions
- Use Jest for testing
- Mock external dependencies
- Aim for high code coverage
- Write integration tests for new MCP tools
- Test the full request/response cycle
- Mock ADB commands for consistent testing
- Maintain at least 80% code coverage
- Use
.nycrcconfiguration for coverage reporting - Check coverage reports in the
coveragedirectory
- Keep pull requests focused on a single feature or fix
- Include a clear description of changes
- Reference any related issues
- Update documentation as needed
- Ensure all tests pass
- Follow the coding standards
- Update version in
package.json - Update
CHANGELOG.md - Run tests and ensure they pass
- Build the project (
npm run build) - Create a release on GitHub
- Publish to npm (
cd package && npm publish)
If you need help with contributing, please:
- Check the documentation
- Search existing issues and discussions
- Create a new issue with the "question" label
Thank you for contributing to the Android UI Assist MCP Server!