Thank you for your interest in contributing to agent-twitter-client-mcp! This document provides guidelines and instructions for contributing to this project.
By participating in this project, you agree to maintain a respectful and inclusive environment for everyone.
If you find a bug, please create an issue on GitHub with the following information:
- A clear, descriptive title
- A detailed description of the issue
- Steps to reproduce the bug
- Expected behavior
- Actual behavior
- Screenshots (if applicable)
- Environment information (OS, Node.js version, etc.)
If you have an idea for an enhancement, please create an issue on GitHub with the following information:
- A clear, descriptive title
- A detailed description of the enhancement
- The motivation behind the enhancement
- Any potential implementation details
- Fork the repository
- Create a new branch (
git checkout -b feature/your-feature-name
) - Make your changes
- Run tests (
npm test
) - Run linting (
npm run lint
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin feature/your-feature-name
) - Create a new Pull Request
- Clone the repository
git clone https://github.com/ryanmac/agent-twitter-client-mcp.git
cd agent-twitter-client-mcp
- Install dependencies
npm install
-
Create a
.env
file with your Twitter credentials (see README.md for details) -
Build the project
npm run build
- Run tests
npm test
agent-twitter-client-mcp/
├── src/ # Source code
│ ├── index.ts # Main entry point
│ ├── types.ts # Type definitions
│ ├── authentication.ts # Authentication manager
│ ├── twitter-client.ts # Twitter client wrapper
│ ├── health.ts # Health check functionality
│ ├── test-interface.ts # Interactive testing interface
│ ├── tools/ # MCP tool implementations
│ └── utils/ # Utility functions
├── docs/ # Documentation
├── tests/ # Tests
└── build/ # Compiled output (generated)
- Use TypeScript for all code
- Follow the existing code style
- Write tests for new features
- Document new features in the appropriate documentation files
- Use meaningful commit messages
- Run
npm test
to run all tests - Run
npm run lint
to check for linting issues - Run
npm run test:interface
to test the interactive interface
- Update documentation when adding or changing features
- Follow the existing documentation style
- Keep documentation clear and concise
- Update the version in package.json
- Update the CHANGELOG.md file
- Commit the changes
- Create a new tag (
git tag v1.0.0
) - Push the changes and tags (
git push && git push --tags
) - Create a new release on GitHub
- Publish to npm (
npm publish
)
If you have any questions, please create an issue on GitHub or reach out to the maintainers directly.
Thank you for contributing to agent-twitter-client-mcp!